用途:no-mistakes 是一个本地门禁(local gate),在代码变更到达上游之前,通过一条流水线进行校验,涵盖 intent(意图)、rebase、review(审查)、test(测试)、document(文档)、lint、push、PR 和 CI 等步骤。用户通过 no-mistakes axi 命令族驱动它,标准输出为机器可读的 TOON 格式,进度输出到 stderr。
主要能力与前置条件:待校验的改动必须已提交在分支上,且须位于功能分支而非仓库默认分支;仓库须先用 no-mistakes init 初始化。若条件不满足,axi run 会返回带修复命令的错误。可用 no-mistakes doctor 排查命令本身的问题;用 no-mistakes axi 首页视图查看是否已有活动运行。
使用方式:两种调用模式。一是仅校验(裸 /no-mistakes),改动已提交,直接校验并报告结果;二是任务优先(/no-mistakes <task>),先自行完成并提交任务,再以任务原文作为 --intent 传入校验。运行命令为 no-mistakes axi run --intent "<用户目标>",该命令会阻塞到首个决策点或结束,审查、测试和 CI 步骤可能耗时数分钟,属正常,不应取消或重复发起;可用 no-mistakes axi status 单独查看进度。
决策循环:若输出含 gate: 对象,流水线在等待响应。findings 表中每项含 id、severity、file、description 和 action。action 为 auto-fix 的可自行判断后修复;no-op 无需处理;ask-user 涉及用户意图或产品行为,须原样转达用户后再决定。响应方式包括 no-mistakes axi respond --action approve(接受)、--action fix --findings <id>(修复)或 --action skip(跳过)。--add-finding 可加入自行发现的问题,--step 可指定步骤。最终 outcome 为 checks-passed(CI 通过、PR 未合并)、passed、failed 或 cancelled。ask-user 未获授权时不得自行处理;仅在用户明确要求无人值守时使用 --yes。
状态查看与限制:可用 no-mistakes axi、axi status、axi logs --step <name> --full、axi abort 查看或终止运行。退出码:0 成功或正常决策门,1 失败或取消,2 用法错误。运行期间不要自行编辑代码修复 findings,修复由流水线负责。其余细节暂未提供。