SuperAPI AI 工具集

pr-flow

编程与开发

查看项目

更新于 10-18 05:08

技能介绍

概述

pr-flow 是一个面向 modelcontextprotocol/servers 仓库的流程技能,用于将 issue 推进到 PR,并在合并后关闭。它引用了仓库中的 AGENTS.md、/board-ops 和 /issue-create 等规则与操作说明,本文件主要规定 PR 流程中的具体步骤、命令和检查项。

主要能力与使用方式

该技能以步骤形式组织 PR 工作流:

  1. 从 issue 开始:每个 PR 必须关闭一个 issue。先使用 gh issue view <N> --repo modelcontextprotocol/servers --comments 完整阅读 issue 及其评论,然后使用 gh issue edit <N> --repo modelcontextprotocol/servers --add-assignee @me 将 issue 分配给自己。

  2. 创建分支:分支格式为 v2/<type>/<N>-<slug>,从 origin/v2/main 切出,例如 git switch -c v2/fix/4810-filesystem-symlink-escape origin/v2/main。type 根据 issue 标签选择:bug → fix,enhancement → feat,documentation → docs,chore → chore。禁止从 main 切分支。若存在依赖的未合并 PR,可堆叠分支并在 PR 中注明。

  3. DCO 签署:每次提交使用 git commit -s。仓库通过 npm run verify:dco 和 DCO workflow 检查 Signed-off-by trailer,要求名称和邮箱与提交作者或提交者一致。合并提交和机器人提交豁免。若已提交的 commit 缺少签署,可使用 git rebase --signoff <merge-base> 修复,然后 git push --force-with-lease。注意 git config format.signOff true 无效,prepare-commit-msg 钩子需谨慎使用。

  4. 运行质量门禁:先格式化(TypeScript 用 npm run format,Python 用 uv run --frozen ruff format .),然后运行 npm run local:gate; echo "EXIT=$?",根据退出码判断。若改动涉及技能描述或新增技能,还需运行 npm run skills:eval。

  5. 提供客户端证据:在 PR 正文的 “How Has This Been Tested?” 部分提供客户端证据。服务行为变更需记录 Inspector V2 和 LLM 客户端在两种规范版本下的请求与返回;无客户端可观察面的变更需提供针对性探针。

  6. 创建 PR:目标分支为 v2/main(堆叠时为下层分支),标签为 v2,正文首行为 Closes #<N>。正文包含 Description、Server Details、Motivation and Context、How Has This Been Tested?、Breaking Changes、Types of changes、Checklist、Additional context 等部分。使用 --body-file 传递正文,避免 shell 转义问题。由于针对 v2/main 的关闭关键字不会自动关闭 issue,还需通过 GraphQL API 显式关联 issue。

  7. 请求 Copilot 审查:仅能使用 GraphQL 的 requestReviews mutation 并指定 Copilot bot id BOT_kgDOCnlnWA。通常约五分钟返回。可使用提供的轮询脚本等待审查结果,脚本设置 20 分钟截止时间,每 30 秒检查一次,并处理 gh 或 jq 失败。

  8. 回复审查意见:逐条判断审查意见是否属于 PR 新增范围的缺陷。修复缺陷;拒绝范围蔓延并说明原因,必要时另建 issue。每个评论线程单独回复,并额外发布 PR 级别的总结。注意隐藏的 “Suppressed comments” 和无评论 id 的意见。

  9. 继续轮次或停止:仅在推送了修复或上一轮静默时请求下一轮。循环在干净轮次、仅范围外意见、或连续两轮静默时停止。没有轮次上限,靠范围规则控制循环长度。

  10. 合并与关闭:合并由维护者决定。合并后手动关闭 issue。

适用场景

适用于 modelcontextprotocol/servers 仓库中需要从 issue 创建 PR 并完成审查流程的维护工作。也适用于需要了解该仓库 PR 规范、DCO 签署要求、质量门禁和 Copilot 审查流程的贡献者。

限制与注意事项

  • 只有维护者可以创建和合并 PR;写权限不等于授权。
  • 禁止从 main 切分支或向 main 发起 PR。
  • DCO 签署必须真实,不得伪造他人认证。
  • 审查循环中应严格区分 PR 新增缺陷与既有行为,避免接受范围蔓延。
  • 轮询脚本需处理失败情况,避免无限重试。
  • 关于收费、价格、平台支持等信息暂未提供。