code-review-graphは、リポジトリ全体を毎回AIへ読ませる代わりに、コードの構造をグラフ化し、変更の影響範囲と関連ファイルを絞って渡すローカル優先の開発ツールです。大規模リポジトリや複数ファイルにまたがるレビューでは試す価値があります。一方、小さな単一ファイル変更では構造情報の分だけ文脈が増える場合があり、検索精度やフロー検出にも既知の弱点があります。万能なレビュー自動化ではなく、AIへ渡す対象を整理する補助基盤として見るのが妥当です。
この記事はREADME、公式ドキュメント、リリース情報を静的に確認して作成しています。筆者は実機では検証していません。
プロジェクト概要
code-review-graphは、コードベースをTree-sitterで解析し、関数、クラス、インポート、呼び出し、継承、テストとの関係をSQLite上のグラフとして保存するPython製ツールです。AIコーディングツールからはMCPまたはCLI経由で参照します。
対象はClaude Code、Codex、Cursor、Zed、Gemini CLI、GitHub Copilotなどです。初回にコードベースを解析し、その後は変更ファイルと依存関係を差分更新する設計です。GitHub ActionとしてPRレビューへ組み込む方法も用意されています。
ライセンスはMIT、実行環境はPython 3.10以上です。ソースコードを外部サービスへ送らず、グラフをローカルまたはCIランナー上で構築する構成が基本です。
なぜ今、注目候補なのか
2026年7月21日時点でGitHub Trendingの先頭に掲載され、当日の表示では約1,876スター増、累計約2.3万スターでした。これは短期的な関心の強さを示しますが、スター数だけで実用性や安全性が証明されるわけではありません。
開発活動も継続しています。最新Stableリリースはv2.3.7で、2026年7月18日に公開されました。7月21日にもmainブランチへの更新があり、停止状態のリポジトリではありません。v2.3.7ではCLI中心のワークフロー、解析対象言語、テスト影響、リスク評価、MCP並行処理、Windows動作などが更新されています。
記事候補としての評価は、当日スター増加35点、増加率20点、直近30日活動15点、リリースの新しさ10点、ドキュメント10点、実用性10点の合計100点相当と判断しました。ただし、7日間の正確なスター差分履歴は取得できていないため、当日のTrending表示を短期指標として使っています。
何ができるのか
変更の影響範囲をたどる
ファイルが変わったとき、その関数を呼ぶ箇所、依存ファイル、関連テストをグラフから探索します。AIへリポジトリ全体を渡す代わりに、変更と関係が強い範囲を返すのが中心機能です。
PRレビューでは、変更された関数、影響を受ける実行フロー、テスト不足、リスクスコアを整理できます。GitHub Actionでは、PRへ同じコメントを更新し続けるsticky comment形式を採用し、設定次第で高リスク変更をマージ条件にできます。
複数のAIコーディングツールから使う
MCPサーバーとCLIを提供し、複数のエージェント環境へ同じコードグラフを接続できます。ツールごとに個別の説明ファイルやフックを持たせるだけでなく、共通の構造情報を使える点が特徴です。
大規模リポジトリの読み込み量を減らす
公式ベンチマークでは、6つのオープンソースリポジトリに対し、リポジトリ全体を読む場合との比較で質問あたり中央値約82倍のトークン削減と説明されています。最大528倍はfastapiを使った最良ケースであり、代表値ではありません。
この数字は、一般的なAIエージェントが実際に行うgrepやファイル選別との比較ではなく、全コーパスを読む上限寄りの基準です。公式自身も、現実的なエージェント基準を別ベンチマークとして扱い、単純な削減倍率だけで性能を断定しないよう注意しています。
仕組みと構成
処理の流れは、リポジトリ、Tree-sitter解析、SQLiteグラフ、影響範囲計算、AIへ返す最小レビュー集合という順です。
ノードには関数、クラス、ファイルなどが入り、エッジには呼び出し、インポート、継承、テスト対象などの関係が入ります。変更時にはSHA-256による差分確認を行い、変更された部分と依存先を再解析します。
検索はFTS5による全文検索に加え、任意で埋め込み検索を追加できます。埋め込みはローカルモデルのほか、GeminiやOpenAI互換APIなども選べますが、外部APIを選んだ場合は完全なローカル処理ではなくなります。
保存先は通常.code-review-graph/配下のSQLiteです。Neo4jなど外部データベースを必須としないため、試験導入の構成は比較的軽量です。
導入条件
最低条件はPython 3.10以上です。pipまたはpipxで導入でき、公式はuvの利用も案内しています。導入後にインストールコマンドでAIツール側のMCP設定を生成し、対象リポジトリでグラフを構築します。
対応言語はPython、JavaScript、TypeScript、Go、Rust、Java、C/C++、C#、Ruby、Kotlin、Swift、PHP、Vue、Svelte、Astro、Terraform、SQL、Jupyter Notebookなど広範囲です。一方、言語ごとに解析の深さは同じではありません。
CIへ入れる場合は、GitHub Actionsの権限としてリポジトリ内容の読み取りとPRコメントの書き込みが必要です。外部からのfork PRを扱う場合は、トークンやシークレットの露出を避ける設定確認が必要です。
できないこと・注意点
小さな単一ファイル変更では、グラフのメタデータが変更ファイル自体より大きくなり、単純に対象ファイルだけ読むより文脈量が増える場合があります。
公式が示す検索品質のMRRは0.35で、キーワード検索の順位精度には改善余地があります。Expressを使った一部クエリでは0件になる例も記載されています。実行フロー検出の再現率も33%とされ、特にJavaScriptやGoではPythonやPHPより弱いと説明されています。
影響分析は見逃しを減らすため保守的です。そのため、実際には影響しないファイルまで候補に含まれる偽陽性が発生します。リスクスコアや関連候補を、人間のレビュー判断の代替として扱うべきではありません。
ベンチマークの影響再現率1.0は、同じグラフから作った正解データを使う循環的な上限値です。公式も「100%検出」とは扱わず、実際の共同変更履歴を使う別評価を併記しています。
また、インストールコマンドは各ツールの設定ファイルやフックを書き換えます。公式にはアンインストールとdry-runが用意されていますが、業務端末では実行前に変更対象を確認した方が安全です。
類似ツールとの違い
LSPはエディター上の定義ジャンプや診断に強く、コンパイラや言語サーバーが持つ正確な意味情報を利用します。code-review-graphは、複数言語をまたいだ構造マップとレビュー時の影響範囲をAIへ渡す点に寄っています。LSPの置き換えではありません。
RAG型のコード検索は、自然言語との意味的な近さから関連断片を探します。code-review-graphは、呼び出しや依存関係のエッジをたどるため、変更の波及先を探す用途に向きます。任意の埋め込み検索を追加できるため、両者を併用する設計です。
単純なgrepやripgrepは導入が軽く、識別子が分かっている調査では速く確実です。code-review-graphは初期インデックスと保守コストが増える代わりに、呼び出し元、テスト、コミュニティ、実行フローなど複数の関係をまとめて返します。
向いている人
- 数百から数万ファイル規模のリポジトリをAIでレビューしている
- モノレポで変更影響の確認範囲が広い
- 複数のAIコーディングツールへ共通のコード文脈を渡したい
- PRレビュー時に関連テストや依存先の候補を自動で出したい
- ソースコードを外部の専用SaaSへ送らずに解析したい
小規模プロジェクト、単一言語でLSPとgrepだけで十分なチーム、AIレビューをほとんど使わない環境では、導入とインデックス管理の手間が上回る可能性があります。
導入判断
個人開発では、まず既存設定を書き換えないdry-runと、小さめのリポジトリでグラフ構築時間、検索結果、影響候補の精度を確認するのが現実的です。トークン削減倍率だけで採用せず、自分のリポジトリでAIが読むファイル数とレビュー品質がどう変わるかを比較する必要があります。
チーム導入では、GitHub Actionをいきなり必須化せず、レビューコメントの有用性、偽陽性、設定変更の運用負荷を見てから段階的に広げた方が安全です。特に多言語モノレポ、PRごとに読む範囲が広くなりがちなチーム、複数のAIツールを併用している環境なら検討価値があります。逆に、小規模な変更が中心の開発では恩恵が限定的な可能性があります。
参照情報と確認日
- GitHub Repository: https://github.com/tirth8205/code-review-graph (2026-07-21確認)
- Release v2.3.7: https://github.com/tirth8205/code-review-graph/releases/tag/v2.3.7 (2026-07-21確認)
- main branch commits: https://github.com/tirth8205/code-review-graph/commits/main (2026-07-21確認)
- Reproducing benchmark docs: https://github.com/tirth8205/code-review-graph/blob/main/docs/REPRODUCING.md (2026-07-21確認)
- GitHub Action docs: https://github.com/tirth8205/code-review-graph/blob/main/docs/GITHUB_ACTION.md (2026-07-21確認)
- GitHub Trending: https://github.com/trending (2026-07-21確認)