Cranot/roam-code
Local codebase intelligence CLI + MCP server for AI coding agents: SQLite code graph, 28 languages, 287 commands, 246 MCP tools, change-safety gates, audit evidence, zero API keys.
roam-codeは、AIコーディングエージェントにコードベースの再利用可能な理解を与えるために設計されたローカルコード解析ツールキットです。プロジェクトのシンボル、接続、パターンのインデックスを構築し、エージェントが作業中に呼び出せるコマンドやMCPツールとして公開します。
主な機能
- コードのローカルインデックス化:ソースを解析し、関数/クラスを抽出し、参照を解決して、すべてをSQLiteデータベースに保存します。
- すぐに使えるチェック機能(静的解析、パターン検出、影響分析):モデル呼び出しやクラウドサービスを必要とせず、ローカルマシン上で実行されます。
- エージェントとの統合:MCP (Model Context Protocol) またはCLIを介して統合されるため、エージェントはインデックスをクエリし、コードを検査し、分析をゼロから再構築することなく変更を評価できます。
主要コマンド(「コア5」)
roam understand– プロジェクトの概要と読み始めるべき場所の提示。roam context <symbol>– 定義と、それを呼び出しているコード、およびそれが呼び出しているコードを表示。roam retrieve "<task>"– 「ログインフローを追跡する」といった質問に関連するコードを検索。roam preflight <symbol>– 変更が何に影響を与える可能性があるか(関連コード、テスト)を予測。roam critique– 見落としている可能性のある関連コードについてパッチをレビュー(git diffをパイプで渡す)。
仕組み
- ファイルを検出し、解析(tree-sitterを使用)し、シンボルを抽出し、参照を解決して、モデルをSQLiteに保存します。
- グラフ分析、Git履歴、検出ルールがさまざまな種類の観測結果を提供します。
- 静的チェックはローカル計算のみを使用します。エージェントのモデル使用量とは別です。
- コードが変更されたら
roam indexでインデックスを更新します。
統合
- MCP経由で接続(サーバーコマンドは
roam mcp)するか、エージェントに直接CLIを呼び出させます。 - 8つのプリセットにわたる258個のMCPツール(デフォルトの
coreには17個が含まれます)。 - CI設定(GitHub、GitLabなど)を生成し、39個のコマンドに対してSARIF出力を生成可能。
- オプションのClaude Codeフックにより、コンパイル時のコンテキストと編集後の検証を追加可能。
プライバシーとコスト
- 完全にローカルマシン上で実行されます。ソース、インデックス、テレメトリの自動アップロードはありません。
- 無料かつオープンソース (Apache 2.0)。ローカル解析にAPIキーは不要です。
- 有料レイヤー(PR Replay、Roam Review、Roam Cloud)はリクエストベースまたは計画中ですが、無料のCLIは完全に機能し続けます。
制限事項
- 静的解析は不完全な場合があります。結果は手がかりであり、証明ではありません。
- LSP、ripgrep、テストランナーの代替ではなく、それらを補完するものです。
- 抽出の深さは言語によって異なります。認識されたファイル拡張子が完全なセマンティックカバレッジを意味するわけではありません。
最適な用途 エージェントのワークフローにおける、繰り返しのリポジトリ調査、実装の選択、リファクタリング計画、変更チェックに最適です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト