Claude Code 使用 Review PR 命令一键完成 PR 自动审查:claude-howto 仓库 pr-review 插件实战指南
2026/9/10 11:07:56 网站建设 项目流程

Claude Code 使用 Review PR 命令一键完成 PR 自动审查:claude-howto 仓库 pr-review 插件实战指南

【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto

导读

本文围绕 claude-howto 仓库中 pr-review 插件 的review-pr命令(日文版文档位于 ja/07-plugins/pr-review/commands/review-pr.md),系统讲解如何用 Claude Code 对拉取请求(Pull Request)执行「安全分析、测试覆盖验证、文档更新、代码质量检查、性能影响评估」五位一体的自动化审查。读者阅读本文后,将掌握该命令的触发方式、内部五步工作流、三个子代理(Subagent)的分工、前置条件配置,以及底层 pre-review 钩子(Hook)与 GitHub MCP 服务器的真实实现细节,可直接在真实仓库中落地一套可复用的 AI 代码评审流程。

命令概览:一条命令启动完整 PR 审查

在 Claude Code 插件体系中,命令(Slash Command)通过 YAML frontmatter 声明名称与用途。review-pr命令的定义位于 07-plugins/pr-review/commands/review-pr.md:

--- name: Review PR description: Start comprehensive PR review with security and testing checks ---

日文版 ja/07-plugins/pr-review/commands/review-pr.md 对这条命令的定位描述得更为直接:「セキュリティチェックとテストチェックを含む包括的な PR レビューを開始する」——即启动一次包含安全检查与测试检查在内的全面 PR 审查

命令的审查范围明确划分为五个维度:

  1. 安全解析(Security analysis)
  2. 测试覆盖率验证(Test coverage verification)
  3. 文档更新(Documentation updates)
  4. 代码质量检查(Code quality checks)
  5. 性能影响评估(Performance impact assessment)

这五个维度并非彼此孤立,而是由同一条命令统一编排、汇总为一份综合审查报告,这正是review-pr与插件中另外两条聚焦型命令(check-securitycheck-tests)的本质区别:前者是「全量审查」,后者是「定向扫描」。

安装与前置条件:让 /review-pr 可运行的最小配置

插件安装

pr-review 插件通过 Claude Code 的插件机制安装,命令如下:

/plugin install pr-review

安装后即可获得三个 Slash Command、三个子代理、一个 MCP 服务器和一个钩子:

类别名称职责
Slash Command/review-pr综合 PR 审查(本文核心)
Slash Command/check-security安全定向审查
Slash Command/check-tests测试覆盖率分析
Subagentsecurity-reviewer安全漏洞检测
Subagenttest-checker测试覆盖分析
Subagentperformance-analyzer性能影响评估
MCP ServerGitHub 集成获取 PR 数据
Hookpre-review.js审查前的条件校验

环境要求

根据 07-plugins/pr-review/README.md 中的 Requirements 一节,运行该插件需要:

  • Claude Code 2.1+
  • GitHub 访问权限(用于拉取 PR 数据)
  • Git 仓库(审查对象必须是受 Git 管理的项目)

GitHub Token 配置

GitHub MCP 服务器需要访问令牌。配置方式:

export GITHUB_TOKEN="your_github_token"

该环境变量会被 github-config.json 中的 MCP 配置读取:

{ "mcpServers": { "github": { "command": "npx", "args": ["@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } }

从配置可以看出:MCP 服务器通过npx启动官方@modelcontextprotocol/server-github,并将GITHUB_TOKEN注入其环境变量。这意味着审查所需的 PR 变更数据、提交记录、文件差异等,全部经由这一 GitHub MCP 通道获取——配置好 Token 是整条审查链路能否打通的第一步

五维审查内容拆解:每一维度到底查什么

review-pr的五维审查并非泛泛而谈,插件为其中三个维度提供了专门的子代理与定向命令,从源码结构上可以清晰看到每一维度的检查重点。

维度一:安全解析(Security analysis)

安全维度由security-reviewer子代理负责,其定义见 07-plugins/pr-review/agents/security-reviewer.md:

--- name: security-reviewer description: Security-focused code review tools: Read, Grep, Bash ---

该子代理被授予ReadGrepBash三个工具,用于在代码库中检索与验证安全问题,重点排查四类风险:

  • 认证/授权问题(Authentication/authorization issues)
  • 数据泄露(Data exposure)
  • 注入攻击(Injection attacks)
  • 不安全配置(Secure configuration)

如果只想针对 PR 单独跑一遍安全审查,可改用聚焦命令/check-security。其检查清单更细,见 check-security.md:

  1. 认证/授权检查
  2. 数据泄露风险
  3. 注入漏洞
  4. 加密弱点
  5. 日志中的敏感数据

维度二:测试覆盖率验证(Test coverage verification)

测试维度由test-checker子代理负责,见 07-plugins/pr-review/agents/test-checker.md:

--- name: test-checker description: Test coverage and quality analysis tools: Read, Bash, Grep ---

与安全子代理相比,test-checker同样具备ReadBashGrep三个工具——其中Bash是运行覆盖率工具(如pytest --covnyc等)的关键能力。其分析范围包括:

  • 覆盖率百分比(Coverage percentage)
  • 缺失的测试用例(Missing test cases)
  • 测试质量评估(Test quality assessment)
  • 边界情况识别(Edge case identification)

定向命令/check-tests(见 check-tests.md)则给出五步执行序列:检查覆盖率百分比 → 定位未测试代码路径 → 审查测试质量 → 建议补充缺失用例 → 验证边界情况覆盖。实际审查中,这些步骤会与仓库中真实的测试体系衔接——例如本仓库就带有 scripts/tests 目录的 pytest 测试套件,可作为覆盖率评估的参照对象。

维度三:文档更新(Documentation updates)

审查 PR 时检查其是否同步更新了相关文档(API 说明、README、注释等),避免「代码改了、文档滞后」的典型问题。这是review-pr独有的维度,不设独立子代理,而是在综合审查阶段由主流程统一核对。

维度四:代码质量检查(Code quality checks)

评估改动代码的整洁度与可维护性,包括命名、结构、重复代码、复杂度等通用质量指标。

维度五:性能影响评估(Performance impact assessment)

性能维度由performance-analyzer子代理负责,见 07-plugins/pr-review/agents/performance-analyzer.md:

--- name: performance-analyzer description: Performance impact analysis tools: Read, Grep, Bash ---

其评估重点是:

  • 算法复杂度(Algorithm complexity)
  • 数据库查询效率(Database query efficiency)
  • 内存使用(Memory usage)
  • 缓存机会(Caching opportunities)

对于涉及高频路径、数据库访问或大数据量的 PR,这一维度能提前拦截潜在的性能回退。

工作流全景:从触发到综合报告的七步执行链

根据 07-plugins/pr-review/README.md 中的 Example Workflow,/review-pr触发后的完整执行链如下:

User: /review-pr Claude: 1. Runs pre-review hook (validates git repo) 2. Fetches PR data via GitHub MCP 3. Delegates security review to security-reviewer subagent 4. Delegates testing to test-checker subagent 5. Delegates performance to performance-analyzer subagent 6. Synthesizes all findings 7. Provides comprehensive review report

逐环节解读:

  1. 前置校验:先执行pre-review.js钩子,确认当前目录是合法 Git 仓库且无阻塞性问题;
  2. 数据获取:通过 GitHub MCP 拉取 PR 的变更数据;
  3. 并行委派:将安全、测试、性能三个维度分别委派给对应子代理,由各子代理在其工具权限内独立执行深度分析;
  4. 汇总综合:主流程收集三个子代理的结论,并结合文档更新、代码质量两个维度的自查结果;
  5. 输出报告:生成涵盖全部五个维度的综合审查报告。

深入源码:pre-review.js 钩子如何守住审查门槛

执行链第一步依赖 pre-review.js。这个约 30 行的 Node.js 脚本负责在审查开始前完成两项硬性校验,从源码可以看到其具体逻辑:

// Check if git repository try { execSync('git rev-parse --git-dir', { stdio: 'pipe' }); } catch (error) { console.error('❌ Not a git repository'); process.exit(1); } // Check for uncommitted changes try { const status = execSync('git status --porcelain', { encoding: 'utf-8' }); if (status.trim()) { console.warn('⚠️ Warning: Uncommitted changes detected'); } } catch (error) { console.error('❌ Failed to check git status'); process.exit(1); }

两个关键设计值得注意:

  • Git 仓库校验(硬失败):通过git rev-parse --git-dir验证仓库存在,失败则输出❌ Not a git repository并以process.exit(1)终止——防止在非 Git 目录中启动无意义的审查;
  • 未提交变更检测(软警告)git status --porcelain有输出时仅打印⚠️ Warning: Uncommitted changes detected而不中断流程,因为带未提交改动的 PR 审查仍有价值,但审查结论需考虑工作区状态这一变量。

通过后输出✅ Pre-review checks passed,审查流程才正式放行。这一「硬校验 + 软警告」的模式,是保证 AI 审查在正确环境中运行的防御性设计。

预期输出与实战要点

一次完整的/review-pr综合审查报告,README.md 给出的输出形态示例为:

Result: ✅ Security: No critical issues found ⚠️ Testing: Coverage is 65%, recommend 80%+ ✅ Performance: No significant impact 📝 Recommendations: Add tests for edge cases

要点提炼:

  • 结果分级:各维度用 ✅/⚠️ 标注健康度,⚠️ 意味着「不阻塞合并但建议改进」(如覆盖率 65% 低于 80% 建议线);
  • 建议可执行:报告末尾的 Recommendations 给出具体改进动作(如补充边界用例),而非抽象结论;
  • 定向复查:当综合报告标记某维度异常时,可继续用/check-security/check-tests深入复查,形成「先全面、后聚焦」的两级审查策略。

限制与适用前提

  • 该插件面向Claude Code 2.1+环境,命令与子代理均依赖 Claude Code 的插件、Slash Command、Subagent 与 Hook 运行时,脱离该环境无法独立运行;
  • 审查质量受 GitHub Token 权限范围影响——Token 至少应具备读取目标仓库 PR 与代码的权限;
  • 本文描述的行为均以当前仓库 pr-review 插件的源码与文档为准,插件未来版本的维度或流程可能调整,使用时请以仓库最新内容为准。

延伸阅读

  • pr-review 插件总览:安装、命令清单、工作流示例
  • 安全定向命令 check-security
  • 测试定向命令 check-tests
  • pre-review 钩子实现
  • GitHub MCP 配置
  • 日文版 review-pr 命令文档
  • 插件体系整体说明

【免费下载链接】claude-howtoA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-howto

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询