intellectronica/ruler
Ruler — apply the same rules to all coding agents
它解决了什么问题
Ruler 解决了在多个工具之间管理 AI 编码助理指令的复杂性。当团队使用不同的代理(例如 GitHub Copilot、Claude、Cursor 与 Aider)时,常会遇到指引不一致、维护多个配置文件的工作重复,以及随着项目需求变化而产生的上下文漂移。Ruler 提供单一真相来源,确保所有 AI 代理遵循相同的规则。
它如何工作
Ruler 在 .ruler/ 目录中使用 Markdown 文件集中指令,然后自动将这些规则分发到各支持 AI 代理所需的特定配置文件。
关键机制包括:
- 规则拼接:递归发现
.md文件并将其拼接到目标代理的配置文件中,添加来源标记以便追踪。 - 嵌套规则加载:使用
--nested标志,Ruler 可以从项目层级中的多个.ruler/目录加载指令,允许针对不同组件设置专属规则(例如/src与/tests的规则不同)。 - 配置:
ruler.toml文件管理代理选择、输出路径和 Model Context Protocol(MCP)服务器设置。 - 自动化:可以自动更新
.gitignore,将生成的配置文件排除在版本控制之外。
适用人群
它面向在复杂代码库或 monorepo 中工作的开发者和团队,这些团队使用一个或多个 AI 编码助理,并希望在整个开发环境中保持一致的 AI 行为。
亮点
- 广泛的代理支持:兼容众多工具,包括 GitHub Copilot、Claude Code、Cursor、Windsurf、Cline、Aider 等。
- MCP 传播:管理并分发 Model Context Protocol(MCP)服务器设置至各代理。
- 单一真相来源:无需手动编辑多个代理专属的配置文件。
- 上下文感知规则:支持嵌套目录,以提供细粒度、区域特定的指令。
- 安全特性:包含
revert命令,可撤销更改并从备份恢复原始文件。