SuperAPI AI 工具集

ship-pr

智能体与模型

查看项目

更新于 10-15 22:37

技能介绍

用途:ship-pr 用于创建拉取请求,并在内容离开分支前强制执行项目标准。

前置条件:任一检查失败即报错退出,包括 gh 已安装(command -v gh)、gh 已认证(gh auth status)、位于 git 仓库内(git rev-parse --is-inside-work-tree)。

主要流程:

  1. 检查:并行运行 git status、git diff --staged、git diff、git log --oneline -10、git rev-parse --abbrev-ref HEAD、git rev-parse --abbrev-ref @{upstream}。基准分支取 $ARGUMENTS,否则为 main,并用 git rev-parse --verify origin/<base> 验证,计算完整差异 git diff origin/<base>...HEAD。
  2. 标准审查(阻断性关卡,不可静默跳过):读取 ~/.claude/CLAUDE.md、仓库根 CLAUDE.md、.claude/CLAUDE.md、AGENTS.md(若存在),提取可执行约定并逐条审查差异。发现不符时停止,展示 findings 表格(File、Standard、Issue、Fix),并提供四个选项:Fix all、Fix some、Proceed anyway、Discuss;用户确认前不继续。无差异则报告“Standards review: all clear”。
  3. 分支:若在 main 或 master 上,不提交到默认分支,询问带约定前缀(feat/、fix/、chore/、refactor/、docs/、test/)的分支名,用 git checkout -b <prefix>/<name> 创建;已在功能分支则继续。
  4. 暂存与提交:用显式路径暂存,禁止 git add -A 或 git add .;无内容可提交则跳过;用 HEREDOC 写约定式提交,默认 type: short description。
  5. 推送:git push -u origin <branch>,远端已最新则跳过并报告。
  6. 创建 PR:读取 references/templates.md,选择最小合适层级(Small、Standard、Complex),用 gh pr create 与 HEREDOC 正文创建,标题不超过 70 字符。
  7. 报告:仅打印 PR URL。

幂等性:创建前用 gh pr list --head <branch> --json url --jq '.[0].url' 检查已有 PR;存在则推送新提交更新并报告原 URL,不重复创建。

参数:$ARGUMENTS 为 PR 基准分支,默认 main。

限制:依赖 gh 与 git 环境;标准审查为强制阻断步骤;具体模板内容与各层级细节需参考仓库内 references/templates.md,资料未提供其全文。