用途:在提交拉取请求(PR)前对改动做一次全面校验,避免分支过期、lint/测试失败、破坏不变量或缺少 RFC 等问题。
主要能力与步骤:
- 分支新鲜度(阻塞项):运行 git fetch origin main,再用 git rev-list --count HEAD..origin/main 查看落后的提交数;若大于 0,先执行 git merge origin/main。
- 自动检查:依次运行 bash .claude/hooks/lint.sh(格式与 ruff 检查)、bash .claude/hooks/test.sh(测试)、bash .claude/hooks/check-debug.sh(查找调试代码)。
- 对齐评审:阅读 .claude/docs/PRINCIPLES.md 与 .claude/docs/INVARIANTS.md,对照改动区分 Tier 1(机械性问题)与 Tier 2(设计对齐讨论点)。
- RFC 检查:若改动涉及 src/openenv/core/ 或公共 API 签名变化,需评估 RFC;并与 rfcs/ 中已有 RFC 比对冲突。
- 文档新鲜度:对照仓库结构检查 .claude/docs/REPO_WALKTHROUGH.md;若新增目录、移动文件或结构显著变化,则更新该文档并纳入 PR。
- 汇总输出:以固定报告格式列出分支状态、自动检查、对齐评审、不变量、RFC 状态、文档状态与最终结论。
使用方式:在创建或更新 PR 前按技能指引依次执行上述命令,最后在推送/建 PR 后运行 bash .claude/hooks/post-push-pr.sh,核验 PR 是否开启、有无合并冲突、分支新鲜度、PR 描述质量与 CI 状态。
限制与注意:阻塞项包括分支落后、lint/测试失败、调试语句、违反不变量、应写未写的 RFC;非阻塞项包括 Tier 2 对齐讨论点、可选 RFC、TODO 及 print 语句(核心代码除外)。公开资料未说明其独立安装方式、适用平台与收费情况。