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/ ディレクトリから指示を読み込めます。これにより、コンポーネントごとのルール(例:/src/tests のルールを分ける)を設定可能です。
  • 設定ruler.toml ファイルでエージェントの選択、出力パス、Model Context Protocol(MCP)サーバー設定を管理します。
  • 自動化:生成された設定ファイルをバージョン管理から除外するために .gitignore を自動更新できます。

対象ユーザー

複雑なコードベースや monorepo で作業し、1 つまたは複数の AI コーディングアシスタントを利用している開発者やチーム向けです。開発環境全体で AI の挙動を一貫させたい方に最適です。

ハイライト

  • 幅広いエージェントサポート:GitHub Copilot、Claude Code、Cursor、Windsurf、Cline、Aider など多数のツールと互換性があります。
  • MCP 伝搬:Model Context Protocol(MCP)サーバー設定をエージェント間で管理・配布します。
  • 単一真実情報源:複数のエージェント固有設定ファイルを手動で編集する必要がなくなります。
  • コンテキスト対応ルール:ネストされたディレクトリをサポートし、領域別の細かい指示が可能です。
  • 安全機能revert コマンドで変更を元に戻し、バックアップから元ファイルを復元できます。