SuperAPI AI 工具集

pre-submit-pr

测试与质量

查看项目

更新于 10-16 00:29

技能介绍

用途:在创建或更新 pull request 之前,对改动做一次综合校验,避免分支过期、lint/测试失败、调试代码残留、违反仓库原则与不变量、缺少 RFC 或文档过期等问题。

主要能力与检查项:

  1. 分支新鲜度(阻塞项):运行 git fetch origin main,再用 git rev-list --count HEAD..origin/main 检查落后提交数;若大于 0,需先 git merge origin/main。
  2. 自动化钩子:bash .claude/hooks/lint.sh(含 ruff format 与 ruff check)、bash .claude/hooks/test.sh、bash .claude/hooks/check-debug.sh。
  3. 对齐评审:阅读 .claude/docs/PRINCIPLES.md 与 .claude/docs/INVARIANTS.md,对照改动识别 Tier 1(机械性、阻塞)与 Tier 2(对齐性、供评审讨论)问题。
  4. RFC 检查:改动涉及 src/openenv/core/ 时标记需考虑 RFC;公共 API 签名变化则必须 RFC;并检查 rfcs/ 中已有 RFC 是否冲突。
  5. 文档新鲜度:对照当前仓库结构检查 .claude/docs/REPO_WALKTHROUGH.md;若新增目录、移动文件或结构显著变化,需更新该文档并纳入 PR。触发条件包括 src/、envs/、.claude/、rfcs/ 下新增目录;若公共 API 签名变化,需在 docs/、examples/、README.md 及其他 .py docstring 中查找引用,发现过期引用建议先运行 /update-docs。
  6. 汇总 PR 就绪度:列出阻塞问题、供评审讨论的要点,并给出总体结论。
  7. 推送或创建 PR 后运行 bash .claude/hooks/post-push-pr.sh,验证 PR 已开启、无合并冲突、分支新鲜度、PR 描述质量与 CI 状态。

输出格式:生成“Pre-Submit PR Report”,包含分支新鲜度、自动化检查(lint/测试/调试代码)、对齐评审(Tier 1 阻塞项与 Tier 2 讨论点)、不变量检查、RFC 状态、文档新鲜度、结论(READY FOR PR 或 ISSUES TO ADDRESS)以及供 PR 描述使用的 2-3 句摘要。

阻塞项:分支落后于 main、lint 失败、测试失败、存在调试语句(breakpoint、pdb)、违反不变量、需要 RFC 但未编写。非阻塞项(供评审者注意):Tier 2 对齐讨论点、建议但非必需的 RFC、代码中的 TODO、print 语句(核心代码除外)。

限制:资料未提供该技能的安装方式、依赖版本、支持平台、收费情况或实际效果数据;具体命令与路径均以仓库实际结构为准。