SuperAPI AI 工具集

create-pr

编程与开发

查看项目

更新于 10-15 08:09

技能介绍

用途

create-pr 是一个用于准备和创建 Pull Request(PR,GitLab 中称为 Merge Request)的技能。它的目标是在创建 PR 之前,帮助开发者系统性地收集改动上下文、运行质量检查、生成描述清晰的标题与正文,并通过平台 CLI 完成提交。一个良好的 PR 应当告诉审查者:改了什么、为什么改、以及如何验证。

主要能力

  1. 提交前发现(Pre-PR Discovery):收集当前分支名、基础分支、本分支上的提交记录、变更文件列表、diff 统计与完整 diff,并检查提交信息或分支名中是否包含关联的 issue 编号(如 #123、JIRA-123)。同时读取项目中可能存在的 PR 模板文件。

  2. 提交前检查(Pre-PR Checks):运行代码质量检查,包括 lint(如 npm run lint、flake8、go vet、rubocop)、格式检查(prettier、black、gofmt)、测试(npm test、pytest、go test、rspec、cargo test 等)、构建(npm run build、go build、cargo build)以及类型检查(tsc、mypy、pyright)。检查结果会以通过/警告/失败的形式报告,若关键检查失败,会在创建 PR 前提示并建议修复。

  3. 生成 PR 标题:遵循约定式提交风格,格式为 <type>(<scope>): <short description>。类型包括 feat、fix、refactor、perf、docs、test、chore、style、security、breaking。标题要求不超过 72 字符、使用祈使语气、结尾不加句号、冒号后小写、描述具体。

  4. 生成 PR 正文:提供标准模板,包含 What、Why、How、Changes、Testing、Screenshots、Checklist、Related 等部分。并针对不同变更类型提供适配模板:Bug 修复(含根因、复现步骤、回归风险)、功能(含用户故事、API 变更、数据库变更、功能开关、后续工作)、重构(含动机、变更内容、未变更内容、验证方式)、依赖更新(含破坏性变更、迁移步骤)、数据库迁移(含 up/down 迁移、数据影响、部署说明)。

  5. 标签与元数据:根据变更内容自动建议标签,如 feature、bug、tests、documentation、ci、dependencies、security、database、breaking-change,以及按改动行数划分的 size/small、size/medium、size/large、size/xl。还可基于文件所有权历史或 CODEOWNERS 文件建议审查者。

  6. 平台特定创建:支持 GitHub(gh CLI)、GitLab(glab CLI)、Bitbucket(无官方 CLI,提供手动创建 URL)、Azure DevOps(az CLI)。可创建普通 PR、草稿 PR,或创建后在浏览器中打开。

  7. 提交前核对清单:在真正创建 PR 前,检查代码是否全部提交、分支是否与基础分支同步、有无合并冲突、有无意外文件、有无调试代码或注释掉的代码、有无硬编码密钥、有无未关联工单的 TODO/FIXME;并确认 lint、测试、构建、类型检查通过,PR 内容完整。

  8. 创建后操作:获取 PR URL、添加补充评论、请求特定文件审查、查看 CI 状态。

使用方式

该技能以结构化流程执行,通常由 AI 助手按步骤调用。整体流程为:先运行发现命令收集上下文,再运行检查命令,然后生成标题与正文预览,向用户确认(yes/no/edit),确认后通过对应平台 CLI 创建 PR,最后输出 PR URL、状态、检查结果、审查者与后续步骤。

适用场景

  • 团队需要统一 PR 标题与正文规范。
  • 希望在创建 PR 前自动运行 lint、测试、构建等检查。
  • 需要根据变更类型生成不同结构的 PR 描述。
  • 使用 GitHub、GitLab、Azure DevOps 等平台并已安装对应 CLI 的开发者。
  • 需要自动建议标签和审查者的工作流。

限制

  • Bitbucket 没有官方 CLI,只能提供手动创建 PR 的 URL。
  • 检查命令依赖项目实际配置的脚本,若项目未定义相应命令则可能无法执行。
  • 自动建议审查者依赖 git 历史或 CODEOWNERS 文件,若不存在则无法准确建议。
  • 该技能本身不包含收费、价格或平台支持范围等额外信息,资料中暂未提供。