ruler
AI编程工具规则中央管理器,一处编写规则自动分发到35+款AI编码助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI编程工具规则中央管理器,一处编写规则自动分发到35+款AI编码助手
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
假设你是一个 10 人开发团队的技术负责人。团队同时使用 Claude Code 做代码审查、Cursor 写前端、GitHub Copilot 补全代码、Aider 处理批量重构——听起来很美好,但现实很残酷:每个工具的配置文件格式完全不同,Claude Code 看 CLAUDE.md,Copilot 读 .github/copilot-instructions.md,Cursor 用 .cursorrules,Aider 依赖 .aider.conf.yml。规则散落在五六种文件里,一旦项目需求变更,你得逐一手动同步,工作量翻倍,出错概率大增。更要命的是,新来的开发者根本不知道该改哪个文件、怎么改。
Ruler 解决的就是这个问题:它是一个「AI 编程工具规则中央管理器」,让团队在同一个地方维护所有 AI 助手的指令规范,然后自动分发到各个工具对应的配置文件中。目前支持 35+ 种 AI 编程工具,覆盖主流的 Claude Code、GitHub Copilot、Cursor、Windsurf、Aider、Codex CLI、Jules、OpenCode、Goose 等。

图1:Ruler 工作流程演示——在 .ruler/ 目录下维护一套规则,自动分发到所有支持的 AI 工具配置
Ruler 由独立开发者 Elias Berger(GitHub @intellectronica)创建,2025 年 5 月上线,至今不到一年已获得 2700+ GitHub Stars,增长速度在同类工具中罕见。项目官网 okigu.com/ruler 提供完整文档,NPM 包 @intellectronica/ruler 目前版本 0.3.42,已发布 40+ 个版本,社区活跃度高。
作者 Elias Berger 同时维护着 Elite AI-Assisted Coding 社区(elite-ai-assisted-coding.dev),该项目 README 动画即由该社区成员 Isaac Flath 制作,社区生态意识很强。
.ruler/ 目录 + 规则分发引擎Ruler 的工作原理分为三层:
1. 规则源(Rule Sources)
团队在项目根目录创建 .ruler/ 目录,放入 Markdown 文件(默认 AGENTS.md)来编写 AI 指令规范。可以按主题拆分成多个文件,如 coding_style.md、api_conventions.md、security_guidelines.md,Ruler 会按字母顺序拼接这些文件内容,并加上来源标记 <!-- Source: .ruler/coding_style.md --> 方便溯源。
2. 分发引擎(Apply Engine)
运行 ruler apply 后,Ruler 读取 .ruler/ 目录下的所有规则,根据 ruler.toml 配置文件中指定的 agent 列表,将规则翻译并写入对应工具的配置文件。例如指定 --agents claude,cursor,copilot,Ruler 就会把规则分别写入:
.claude/ 目录(Claude Code).cursorrules(Cursor).github/copilot-instructions.md(GitHub Copilot)3. 嵌套规则加载(Nested Rule Loading)
这是 Ruler 0.3.x 版本新增的重要特性。使用 --nested 参数时,Ruler 会递归扫描项目各子目录中的 .ruler/ 子目录,允许不同模块或组件有不同的规则集。这对 monorepo 项目特别有价值:主项目有统一规范,但 src/api/ 和 src/frontend/ 可以有不同的 API 设计风格或代码规范,由 Ruler 统一协调分发。
Ruler 是目前支持 AI 编程工具覆盖面最广的规则管理器,详细对照表如下:
| 工具 | 规则文件 | MCP 配置 | Skills 目录 | Subagents |
|---|---|---|---|---|
| Claude Code | CLAUDE.md | .mcp.json | .claude/skills/ | .claude/agents/ |
| GitHub Copilot | AGENTS.md | .vscode/mcp.json | .claude/skills/ | .github/agents/ |
| Cursor | AGENTS.md | .cursor/mcp.json | .cursor/skills/ | .cursor/agents/ |
| Windsurf | AGENTS.md | .windsurf/mcp_config.json | .windsurf/skills/ | - |
| Codex CLI | AGENTS.md | .codex/config.toml | .codex/skills/ | .codex/agents/ |
| Aider | AGENTS.md + .aider.conf.yml | .mcp.json | - | - |
| Cline | .clinerules | - | - | - |
| OpenCode | AGENTS.md | opencode.json | .opencode/skills/ | - |
| Gemini CLI | AGENTS.md | .gemini/settings.json | .gemini/skills/ | - |
| Jules | AGENTS.md | - | - | - |
| OpenHands | .openhands/microagents/repo.md | config.toml | - | - |
| Zed | AGENTS.md | .zed/settings.json | .agents/skills/ | - |
| Trae AI | .trae/rules/project_rules.md | - | - | - |
共计支持 35+ 种工具,且持续新增。
Ruler 0.3.x 版本还支持 MCP(Model Context Protocol)服务器配置的集中管理。在 ruler.toml 中声明 MCP 服务器后,运行 ruler apply --mcp(默认开启)即可自动将 MCP 配置写入各工具的对应文件中,如 .cursor/mcp.json、.windsurf/mcp_config.json、.vscode/mcp.json 等。这解决了 AI 编程工具各自维护 MCP 配置的碎片化问题。
Ruler 是一个纯 CLI 工具,没有 Web 界面,但上手非常容易:
# 全局安装(推荐)
npm install -g @intellectronica/ruler
# 初始化项目
cd your-project
ruler init # 创建 .ruler/ 目录和 ruler.toml
ruler apply # 应用规则到所有支持的 AI 工具
# 指定特定工具
ruler apply --agents claude,cursor
# 启用嵌套规则(monorepo 场景)
ruler apply --nested
安装需要 Node.js 20.19.0 及以上版本,不支持 Node.js 18。
1. 规则文件格式依赖 Markdown,结构化程度有限
Ruler 的规则文件本质上是 Markdown 纯文本,没有 schema 校验。团队如果规则写得不规范(如格式混乱、指令歧义),AI 工具对规则的理解就会出现偏差。没有像 CLAUDE.md 规范那样强制性的结构约束,完全依赖使用者的写作能力。
2. 嵌套规则加载仍是实验性功能
--nested 参数在 0.3.x 版本中标记为实验性(Experimental),官方明确警告可能在下个版本中行为变更。对于生产级 monorepo 项目,这意味着依赖嵌套规则的团队需要密切关注版本更新。
3. 各 AI 工具对规则文件的解析能力参差不齐
Claude Code 原生支持 CLAUDE.md,效果好;但 GitHub Copilot 对 copilot-instructions.md 的支持相对弱一些(Copilot 优先看 .github/ 下的文件)。Ruler 只能分发规则,无法保证每个工具都同等程度地遵守这些规则。
4. 不支持规则的版本化和差异对比
规则变更多少次、分发了多少次、哪个版本被哪个 agent 使用了——Ruler 目前没有提供任何审计或版本追踪能力。对于合规要求较高的企业团队,这是一个缺失。
Ruler 本身的代码质量相当扎实:
npm test:coverage 可输出覆盖率报告dist/lib.js 和 dist/cli/index.js,使用 ts-jest 进行类型化测试--author="AI <ruler+ai@okigu.com>" 提交,标识 AI 生成的 commit,这在开源项目中非常独特npm ci + lint + test + build 全流程Ruler 的出现反映了 2025 年 AI 编程工具爆发的现实:开发者不再只用一款 AI 编程工具,而是根据场景混用多款。Ruler 扮演的角色是「规则统一层」——把团队意图翻译成各工具能理解的格式。
从趋势看,Ruler 的增长契合了三个大趋势:
Ruler 是一个解决"AI 编程工具规则碎片化"痛点的专用工具,适合 2 人以上团队、同时使用多款 AI 编程助手、有统一代码规范要求的场景。纯 CLI 工具、零容器依赖、npm 一键安装,上手门槛极低。代码质量优秀,测试覆盖完善,版本迭代快速,社区活跃。其局限性在于 Markdown 规则缺乏强制结构、嵌套规则仍在实验阶段,且没有规则版本追踪能力。