ruler

ruler: それが何であるか、どんな問題を解決するか、そしてなぜ注目を集めているのか

解決する課題

Ruler は、複数のツールにまたがる AI コーディングアシスタントの指示管理の複雑さに対処します。チームが GitHub Copilot、Claude、Cursor、Aider など異なるエージェントを使用すると、指示が一貫せず、複数の設定ファイルを維持するための重複作業が発生し、プロジェクト要件の変化に伴うコンテキストのずれが起こりがちです。Ruler はこれらの指示の単一の真実の情報源を提供し、すべての AI エージェントが同じルールに従うことを保証します。

仕組み

Ruler は .ruler/ ディレクトリ内に Markdown ファイルで指示を集中管理し、これらのルールを各種サポートされている AI エージェントが必要とする具体的な設定ファイルへ自動的に配布します。

主なメカニズムは次のとおりです:

  • Rule Concatenation: ルートの AGENTS.md.ruler/ フォルダ内の他の Markdown ファイルからルールを収集し、トレース可能性のためにソースマーカーを前置します。
  • Nested Rule Loading: --nested フラグを使用すると、Ruler はプロジェクト階層全体で .ruler/ ディレクトリを検出・読み込み、コンポーネントごとの指示(例: /src/tests で異なるルール)を可能にします。
  • Targeted Distribution: ruler.toml ファイルを通じて、対象とするエージェントと出力パスを指定できます。
  • MCP Propagation: Model Context Protocol (MCP) サーバー設定をエージェント間で管理・配布します。
  • Automation: 生成されたエージェント設定をバージョン管理から除外するために .gitignore を自動的に更新します。

対象者

  • 複数の AI コーディングアシスタントを同時に使用している開発者やチーム。
  • モノレポや複雑なプロジェクト構造で、コンポーネントごとに異なる指示が必要なチーム。
  • 開発チーム全体で AI 支援コーディングガイドラインを標準化したい組織。

ハイライト

  • Wide Agent Support: GitHub Copilot、Claude Code、Cursor、Windsurf、Cline、Aider など多数のツールに対応。
  • Single Source of Truth: 複数の .md.json 設定ファイルを手動で同期する必要がなくなります。
  • Nested Configuration: サブディレクトリごとのコンテキスト固有ルールをサポート。
  • MCP Integration: Model Context Protocol サーバー設定の集中管理。
  • CLI-driven: initapplyrevert のシンプルなコマンドで AI 指示のライフサイクルを管理。

Sources