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指令,可撤銷變更並從備份還原原始檔案。