SuperAPI AI 工具集

pre-pr-greptile

通用与其它

查看项目

更新于 10-15 16:47

技能介绍

用途:在创建拉取请求前做一次预检门禁。Greptile 在其云端审查已提交分支的 diff(约消耗 0 Claude token,免费额度后约每次 1 美元),本技能负责校验、分级并驱动 PR 流程。它是门禁而非盲目自动化:审查输出需先验证,高风险发现项只提出建议,不自动应用。

前置条件:确认在仓库内(git rev-parse --show-toplevel)、CLI 存在(command -v greptile)、已认证(greptile whoami)。不要在智能体或包装 shell 中执行 greptile login,浏览器 OAuth 回调在非交互 shell 中不可靠;未认证时应停止并让用户在原生终端登录。无头环境可用 GREPTILE_API_KEY 环境变量或 echo "$GREPTILE_API_KEY" | greptile login --api-key,切勿把密钥作为命令行参数传入。

主要流程:在已提交工作的功能分支上操作,显式解析基础分支(不要假设 main),用 greptile review -b <base> --json 运行,失败则回退 --agent。随后必须校验审查结果匹配本分支:将审查引用的文件与 git diff <base>...HEAD --name-only 对比,审查文件应是分支 diff 的子集;不重叠或 10 秒内返回(缓存命中)视为过期审查,丢弃并重跑一次,仍不匹配则停止。仅对已验证审查按严重度分级:机械/低风险项可直接修复;涉及认证、加密、注入、数据丢失、并发或任何逻辑行为变更的高风险项须先提出 diff 并获用户明确批准;误报或与意图冲突项不应用,记录理由。修复后重新提交(签名提交)并重跑全新审查,最多 3 次,未通过则不创建 PR。最后确认 gh 账号、推送并 gh pr create --base <base>。

限制:Greptile 没有 --fix/apply 命令,只产出发现项,由智能体应用修复。编辑生产源码可能触发 SDD 门禁钩子而被阻止,不要自动设置 SDD_HOOKS_DISABLED=1。--resume 仅用于恢复中断的审查,不能用于新提交。若 greptile 缺失、未认证、报错或限流,应停止并交由用户决定,绝不挂起或静默开 PR。

常用命令:greptile whoami;greptile review -b testing --json;greptile review -b testing --agent;git diff testing...HEAD --name-only;greptile review show <id>;gh auth switch --user <account>。