SuperAPI AI 工具集

gitnexus-pr-review

编程与开发

查看项目

更新于 10-15 10:28

技能介绍

用途

GitNexus PR Review 用于在合并前审查拉取请求。当用户想要审查一个 PR、理解 PR 改了什么、评估合并风险,或检查是否缺少测试覆盖时使用。典型触发语句包括:"Review this PR"、"What does PR #42 change?"、"Is this safe to merge?"、"What's the blast radius of this PR?"、"Are there missing tests for this PR?",以及审查他人代码改动。

主要能力

该技能围绕几个核心工具展开:

  • detect_changes:将 PR diff 映射到受影响的执行流程。例如 detect_changes({scope: "compare", base_ref: "main"}) 会输出改动的符号数量、受影响流程(如 CheckoutFlow、RefundFlow、WebhookHandler)以及风险等级。
  • impact:计算每个改动符号的爆炸半径。impact({target: "validatePayment", direction: "upstream"}) 会列出 d=1(WILL BREAK)、d=2(LIKELY AFFECTED)等依赖项及其调用关系与置信度。加上 includeTests: true 可查看覆盖该符号的测试。
  • context:理解某个改动符号的角色,展示其入站调用、出站调用以及所属流程中的步骤位置。
  • 还可读取 gitnexus://repo/{name}/processes 检查受影响的执行流程。

使用方式

工作流如下:

  1. gh pr diff <number> 获取原始 diff
  2. detect_changes({scope: "compare", base_ref: "main"}) 将 diff 映射到受影响流程
  3. 对每个改动符号执行 impact({target: "<symbol>", direction: "upstream"}) 计算爆炸半径
  4. context({name: "<key symbol>"}) 理解调用方与被调用方
  5. 读取 gitnexus://repo/{name}/processes 检查受影响的执行流程
  6. 汇总发现并给出风险评估

若提示 "Index is stale",需先在终端运行 node .gitnexus/run.cjs analyze 再审查。

审查清单包括:获取 PR diff、用 detect_changes 映射流程、对每个非平凡改动符号执行 impact、检查 d=1(WILL BREAK)项的调用方是否已更新、对关键符号执行 context、检查受影响流程是否有测试覆盖、评估整体风险、撰写审查总结。

审查维度

  • 正确性:context 展示调用方,判断它们是否都与改动兼容。
  • 爆炸半径:impact 展示 d=1/d=2/d=3 依赖项,检查是否有遗漏。
  • 完整性:detect_changes 展示所有受影响流程,判断是否都已处理。
  • 测试覆盖:impact({includeTests: true}) 展示哪些测试触及改动代码。
  • 破坏性变更:PR 中未更新的 d=1 上游项即为潜在破坏点。

风险评估

  • 改动触及少于 3 个符号、0-1 个流程:LOW
  • 改动触及 3-10 个符号、2-5 个流程:MEDIUM
  • 改动触及超过 10 个符号或大量流程:HIGH
  • 改动触及认证、支付或数据完整性代码:CRITICAL
  • 存在 PR diff 之外的 d=1 调用方:潜在破坏,需标记

输出格式

审查结果按以下结构组织:标题、风险等级(LOW/MEDIUM/HIGH/CRITICAL)、改动摘要(符号数、文件数、受影响流程数)、发现列表(含严重程度、GitNexus 工具证据、受影响调用方/流程)、缺失覆盖(PR 中未更新的调用方、未测试的流程)、建议(APPROVE / REQUEST CHANGES / NEEDS DISCUSSION)。

适用场景与限制

适用于合并前的代码审查、风险评估与测试覆盖检查。使用前需确保索引为最新,否则需先运行分析命令。具体支持的平台、收费方式与价格信息暂未提供。