ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Ponytail的check-rule-copies机制:如何防止20份规则副本漂移

Ponytail的check-rule-copies机制:如何防止20份规则副本漂移 Ponytail的check-rule-copies机制如何防止20份规则副本漂移【免费下载链接】ponytailMakes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.项目地址: https://gitcode.com/GitHub_Trending/po/ponytailPonytail 是一个让 AI Agent 像最懒的资深开发者一样思考的开源项目——核心理念是最好的代码是你根本没写的那些代码。它的懒资深开发规则要分发到 20 个不同的 Agent 宿主Claude Code、Codex、Cursor、Windsurf、Copilot 等同一段规则文字因此存在 20 份左右副本。多副本最怕的就是漂移改了 A 文件忘了改 B 文件各宿主收到的规则悄悄不一致。Ponytail 用一个不到 76 行的脚本 scripts/check-rule-copies.js 解决了这个问题。为什么需要 20 份规则副本Ponytail 的灵魂是一份紧凑的英文规则文本核心是一张决策阶梯这个功能真的需要存在吗YAGNI代码库里已经有了→ 复用别重写标准库能做→ 用它平台原生功能能覆盖→ 用它已安装的依赖能解决→ 用它一行代码能搞定→ 一行最后才写能工作的最小代码不同 Agent 宿主读取规则的位置和格式各不相同有的读 frontmatter有的读纯 Markdown。Ponytail 把同一份规则正文复制到了各宿主约定的路径下映射关系完整记录在 docs/agent-portability.md宿主规则副本位置Cursor.cursor/rules/ponytail.mdcWindsurf.windsurf/rules/ponytail.mdCline.clinerules/ponytail.md通用 Agent.agents/rules/ponytail.mdQoder.qoder/rules/ponytail.mdGitHub Copilot.github/copilot-instructions.mdKiro.kiro/steering/ponytail.md副本一多手动同步就必然翻车——这就是漂移drift。两道防线字节级对比 关键句金丝雀check-rule-copies.js的检查逻辑分两层设计非常务实第一道完整字节对比compact copies以 AGENTS.md 为唯一基准文本canonical把 7 个紧凑副本逐一对比。对比前会自动做归一化处理统一换行符、去掉各宿主特有的 frontmatter 头如 Cursor 的.mdc元信息、去掉 AGENTS.md 末尾那句玩笑话。只要有任何一个副本与基准不一致脚本立即报错并退出码为 1把哪份文件漂移了直接打印出来。第二道关键句不变量检查invariants canary真正最详尽的规则源头是 skills/ponytail/SKILL.md它比紧凑版长没法逐字节对比。于是脚本换了一种更聪明的办法挑出 9 条承重规则句invariants断言它们必须逐字同时存在于SKILL.md和AGENTS.md中例如in this codebase复用现有代码这条阶梯ONE runnable check非平凡逻辑必须留下一个可运行检查的测试本能input validation at trust boundaries、security、accessibility、prevents data loss四条绝不做懒的安全豁免条款任何一条被改写、删减哪怕只是换了个词检查都会失败。代码注释里写得很直白改变规则措辞会触发它这就是提醒你把它同步到所有地方的提醒。检测到漂移后会怎样运行方式极简README 的开发章节README.md 中 Development 一节给出的标准流程是修改规则文本后运行node scripts/check-rule-copies.js再跑npm test做全量回归输出只有两种结局✅ 全部一致Rule copies match AGENTS.md; 9 rule invariants present...⚠️ 发现漂移逐条打印出xxx drifted from AGENTS.md并提示请更新副本、AGENTS.md 或 SKILL.md让共享规则保持一致这套检查不是孤立的——测试套件里还有配套防线比如 tests/gemini-extension.test.js 断言 Gemini 扩展指向的AGENTS.md必须携带相同的承重规则句tests/qoder-plugin.test.js 复用同一套逻辑校验 Qoder 副本。多道保险共同保证20 个宿主看到的规则永远是同一份。小结一个可复制的防漂移思路这个机制对任何一份内容、多处分发的项目都有借鉴价值核心三招指定唯一基准源AGENTS.md其余都是副本能全量对比就全量对比对比前做好格式归一化不能全量对比时用金丝雀关键句把最重要的规则锚死在多个文件里。脚本不到百行、零依赖、秒级运行——用它守护 20 份副本恰恰是 Ponytail 自己的哲学能用最少代码解决问题就不写多一行。【免费下载链接】ponytailMakes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.项目地址: https://gitcode.com/GitHub_Trending/po/ponytail创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表