用途:帮助用户创建符合规范的 Pull Request,包含本地验证、Conventional Commits 标题、模板化正文和可选的关联工单。该技能与语言、框架无关,示例中的构建、lint、测试、格式化命令需替换为项目实际命令。
主要能力:
- 前置检查:确认当前分支有相对基线的提交(git log origin/<base-branch>..HEAD --oneline)、分支已推送(git push -u origin HEAD)、无遗漏的未提交改动(git status)。
- 理解改动:并行运行 git log 与 git diff --stat,判断改动模块、变更类型(feat、fix、docs、refactor、test、chore、perf、ci、build、revert)与 scope。
- 本地验证:仅代码改动需要,文档或 markdown 可跳过。从仓库根文件(Makefile、package.json、pyproject.toml、Cargo.toml、go.mod 等)发现命令,按类型检查/编译、lint/格式化、测试等类别运行,并尽量用过滤参数只跑受影响部分。相关时还可运行死代码检查、依赖检查、锁文件同步、代码生成、样式检查、安全扫描。
- 关联工单(可选):询问用户新建、关联已有工单或跳过。
- 标题格式:type(scope): description,scope 为受影响模块/包/服务/目录,跨切面用 monorepo 或 repo,多 scope 可逗号分隔。
- 正文模板:通常含 Description、Related Issue、Potential Risk & Impact、How Has This Been Tested? 四部分。
- 创建 PR:gh pr create --base <base-branch> --head <branch-name> --title "..." --body "...";正文较长时写入临时文件并用 --body-file。
- 返回 PR URL。
适用场景:需要按团队规范提交 PR、希望减少 CI 往返、需要统一标题与正文格式的代码仓库。
限制与注意事项:需已安装并登录 gh;基分支、scope、工单引用等需遵循组织约定;依赖变更后须运行安装命令并提交锁文件;API/schema 变更后须重新生成并提交产物;本地验证命令需按仓库实际配置替换,资料未提供具体项目的固定命令。