【免费下载链接】cavekitFrozen — compressed spec-driven development plugin for Claude Code. Still works; active development moved to JuliusBrussee/caveman.项目地址https://gitcode.com/gh_mirrors/ca/cavekit点击查看免费下载cavekit 是一个为 Claude Code 打造的压缩版规范驱动开发spec-driven development插件它用单个 SPEC.md 文件承载项目规范。其中最有特色的机制是backprop 反射每当测试失败或 bug 出现就按六步协议把根因写入 §B 缺陷表并沉淀为 §V 不变量让同类 bug 永不再犯。本文带你完整理解这套机制的设计逻辑与落地方式。什么是cavekit一个只做值得之事的SDD插件传统 AI 编程采用计划-执行模式代码修好了教训却丢了。cavekit v4 是一次彻底重写从 v3 的 16 个命令、12 个子代理精简到3 个命令 1 个文件 2 个技能组成部分作用/ck:spec规范的唯一写入者创建、修订、backprop/ck:build对照规范做计划与执行失败时自动触发 backprop/ck:check只读漂移报告列出 §V / §I / §T 违规项caveman技能规范编码压缩比纯文本省约 75% tokenbackprop技能bug → 规范的六步协议项目哲学很直接规范是唯一值得它消耗 token 的产物。 详见 README.md 与 LAUNCH-POST.md。为什么需要backprop反射修好代码≠记住教训普通工作流的问题在于遗忘AI 修好 bug、提交代码然后彻底忘记。下次换个上下文、换个会话同一个坑还会再踩一遍。cavekit 的解法是把教训变成一等公民Plan-then-execute fixes the code forgets. SDD fixes the code AND edits spec so recurrence is impossible.也就是说每次修 bug 都顺手修改规范让复发在规范层面变得不可能。这个顺手修改规范的动作就叫 backprop——名字取自神经网络的反向传播损失测试失败沿路径回传修正的却是参数规范本身。完整定义见 skills/backprop/SKILL.md。触发时机什么时候该backprop根据 skills/backprop/SKILL.md 的 WHEN TO BACKPROP 一节四种场景必须触发/ck:build验证阶段测试失败 用户报告 bug 生产事故后的复盘post-mortem⚠️/ck:check报出 VIOLATE 且已找到根因backprop六步协议逐步拆解这是全文核心。六步协议定义了从一个失败的测试到一条永久的规范条目的完整链路。步骤1TRACE 精确定位根因读失败输出或 bug 报告找到错误行为的确切file:line并用一句 caveman 语言命名根因。caveman 是 cavekit 的压缩编码风格丢弃冠词、填充词用符号代替文字→表示导致⊥表示禁止∀表示对所有。规则详见 skills/caveman/SKILL.md 和 FORMAT.md。步骤2ANALYZE 灵魂三问问三个问题决定这次 backprop 的改动范围新增一条 §V 不变量能拦住这类 bug 吗最常见的答案能§I 接口写错了吗——规范承诺的形状代码根本给不了偶尔§T 任务做偏了吗——是不是做错了东西少见但真实存在步骤3PROPOSE 起草规范变更关键纪律§B 永不跳过§V/§I/§T 视情况而定。草稿模板如下§B row: Bnext|date|root cause|VN §V line: Vnext: testable rule that would have caught it官方给出的例子非常直观§B row: B3|2026-04-20|refund job ran twice on retry|V7 §V line: V7: ∀ refund → idempotency key check before charge reversal一行 bug 记录一行防复发的测试规则全部用 caveman 编码——短、可 grep、机器可读。步骤4GENERATE TEST 先写会失败的测试New invariant without test lie.没有测试的不变量就是谎言。先添加一个当前会失败的测试并让测试名直接引用不变量编号例如TestV7_RefundIdempotent。这样测试名本身就是一份活文档。步骤5VERIFY 修复代码并双重验证修复代码运行新测试必须通过再跑完整测试套件不能引入回归。步骤6LOG 一个提交闭环把规范编辑 新测试 代码修复放进同一个 commit提交信息格式固定backprop §B.n §V.N: one-line cause一次提交三件产物历史可追溯。官方强调没有仪表盘没有日志文件——SPEC.md git就是完整历史。什么样的bug值得升级成不变量协议里专门给了两条边界避免规范发炎好不变量的标准WHAT MAKES A GOOD INVARIANT✅ 代码可测能 grep 到或有断言覆盖✅ 作用域锁定行为而非某个文件✅ 尽量正向表述✅ 关联到它适用的 §I 接口面反例对比一目了然差的写法好的写法V8: code should be correctV8: ∀ pg_query ! params interpolated via driver, ⊥ string concat不加 §V 的情况WHEN NOT TO ADD §V纯手滑笔误没有一类可言如一次性脚本里的i写成i--修复只是一次性迁移根因在外部依赖应升级依赖并在 §C 约束中记录注意即便不加 §V§B 条目依然要写。未来再遇到同味道的 bug搜 §B 就能看到这个坑被评估过。backprop如何与三命令协同工作理解了单点协议再看它在整个工作流中的位置就清晰了/ck:build自动触发执行任务时测试失败不允许盲目重试——必须先走 backprop 流程判断是代码 bug还是规范错了规范错了就先更新 §B/§V 再继续。写入策略严格build 只能翻转 §T 状态格其他规范改动一律交给 spec 技能见 skills/build/SKILL.md 的 WRITE POLICY 一节。/ck:spec bug: 描述手动触发规范是唯一 mutatorbackprop 的规范写入全部经由它完成规则见 commands/spec.md 的 BACKPROP 分支。/ck:check兜底巡检只读比对 SPEC.md 与代码对每条 §V 判定 HOLD / VIOLATE / UNVERIFIABLE发现 VIOLATE 且定位根因后又成为一次 backprop 的入口见 commands/check.md。三个命令形成闭环build 产生失败 → backprop 吸收失败 → check 验证吸收效果。快速上手安装cavekit并触发你的第一次backprop安装只需一行通过 skills CLInpx skills add JuliusBrussee/cavekit会在~/.claude/skills/下安装spec、build、check、caveman、backprop五个技能Claude Code 下次启动时按触发上下文自动激活。之后你只需要自然地说出触发词比如build the next task → 触发 build失败自动 backpropbug: token 在过期瞬间被拒绝 → 触发 spec 的 BACKPROP 分支check drift / audit the spec → 触发 check 漂移报告也可以从存量代码起步先跑/ck:spec from-code蒸馏出 SPEC.md再开始积累 §B/§V。小结为什么backprop是cavekit的灵魂回顾整个设计cavekit 把记忆这件事做到了极致克制一个文件§B 表和 §V 表都在仓库根目录的 SPEC.md 里用 pipe 表格承载重复记录格式见 FORMAT.md一个协议六步从 TRACE 到 LOG可重复、可审计一条铁律没有测试的不变量就是谎言没有 §B 记录的 bug 就是遗忘对新手而言最值得记住的一句话是backprop 把修 bug从一次性的体力活变成了给规范充电的仪式。每次测试失败都在让 SPEC.md 变得更强而 SPEC.md 变强又让下一次 build 更不容易失败——这就是每个 bug 都变成规范里的不变量的真正含义。v3 到 v4 的完整演进过程可在 CHANGELOG.md 中查阅。赞分享【免费下载链接】cavekitFrozen — compressed spec-driven development plugin for Claude Code. Still works; active development moved to JuliusBrussee/caveman.项目地址https://gitcode.com/gh_mirrors/ca/cavekit点击查看免费下载相关推荐如何快速掌握Python异步条件变量协议asyncio.Condition完整指南如何快速掌握Python异步条件变量协议asyncio.Condition完整指南 Python异步编程已成为现代应用开发的核心技能而 asyncio.Co示例工程教程Seedance 2.0 反 Slop 提示词工程完全指南让提示词里的每个词都可测量Seedance 2.0 反 Slop 提示词工程完全指南让提示词里的每个词都可测量 导读 本文以 seedance 2.0 仓库归档的 seedancAI 技能AI 评测提示工程人工智能媒体生成BitstromWera 改名始末Nerd Fonts 补丁字体与 OFL 保留字体名选型全解BitstromWera 改名始末Nerd Fonts 补丁字体与 OFL 保留字体名选型全解 Nerd Fonts 是一个字体聚合与打补丁项目把 3,60开发工具CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考