我停止将 lint rules 复制粘贴到 12 个不同的配置文件中
发布: (2026年4月6日 GMT+8 08:29)
2 分钟阅读
原文: Dev.to
Source: Dev.to
问题
我参与的每个项目都有同样的问题:我的 lint / test / build 规则散落在 CI 工作流、pre‑commit 钩子、.cursorrules、AGENTS.md、GEMINI.md 以及许多其他文件中。只要在某处修改了一条规则,其他地方就会出现漂移。
我创建了 crag 来解决这个问题。
功能
你只需编写一个约 20 行的 governance.md。crag 会原子化地将其编译成 12 个下游文件:
.github/workflows/gates.yml(GitHub Actions).husky/pre-commit.pre-commit-config.yamlAGENTS.md(Codex、Aider、Factory).cursor/rules/governance.mdcGEMINI.md.github/copilot-instructions.md.clinerules、.continuerules、.windsurfrules.zed/rules.md.sourcegraph/cody-instructions.md
改动一行,即可重新生成全部文件。
3 秒快速体验
npx @whitehatd/crag demo无需安装。无需配置。无需网络。无需 LLM。约 500 ms 即可得到一个经过验证的 12 目标流水线,并在行内打印确定性 SHA。

背书
- 512 项测试在 Ubuntu、macOS 和 Windows × Node 18/20/22 上全部通过
- 在 101 个 OSS 仓库上进行压力测试(4,400 次调用,0 次崩溃)
- 参考基准:在 ship‑ready governance 中获得 40/40 的 A 级评分
- 确定性:相同输入 → 字节级相同输出,SHA 在 9 台运行器的每次 CI 推送中均得到验证
- 零运行时依赖
GitHub:
npm:
许可证
MIT 许可证。
标签: devtools, opensource, javascript, ai