用途:让审查者快速理解 PR 的意图、关键文件与风险,目标是提升可审查性,且默认不改变代码行为。
主要能力:从用户提供的 URL 或当前分支定位目标 PR;检查提交、diff 大小、改动路径、生成文件与 PR 描述;识别可审查性问题,如提交冗杂、描述过时、无关改动、机械改动与逻辑改动混杂、缺失测试、审查入口不清晰;在重写历史或强推前先提出方案;应用安全改进后校验目录树或 diff 是否仍与预期代码一致。
使用方式:涉及历史清理时仅在用户要求或同意方案后进行。重写前可执行 gh pr view <PR> --json title,headRefName,baseRefName,state,commits、git fetch origin <headRefName> <baseRefName>、ORIGINAL_TREE=$(git rev-parse origin/<headRefName>^{tree})。重写后验证内容一致性:echo "Original tree: $ORIGINAL_TREE"、echo "Current tree: $(git rev-parse HEAD^{tree})"、git diff origin/<headRefName> --stat。若目录树无意改变则不要推送。提交分组通常按依赖顺序:schema/存储或生成的 API 定义、核心逻辑、连接与集成、UI 或表层行为、测试。不改变代码行为时,优先通过 PR 描述和审查说明补充:添加与真实 diff 相符的 TL;DR;区分核心文件与生成或机械文件;标注有风险的行为变更、迁移顺序、发布计划与测试覆盖;链接 issue、看板或设计文档。
限制:不得把有意义的行为变更藏在“清理”中;除非用户明确要求,不绕过钩子;若 PR 过大无法通过说明变得可审查,应建议拆分。官方文本暂未提供。