← 一覧へ戻る

AI / コード探索

CodeGraphとは何か

要点

  • CodeGraph は、コードベースをローカルで索引化して、エージェントが構造質問へ直接答えやすくするためのコードインテリジェンス基盤です。
  • 価値は「検索できること」だけではなく、MCP ツール経由で symbol、caller、callee、impact、explore をまとめて返せることにあります。
  • README では auto-sync、framework-aware routes、20以上の言語対応を前面に出しており、実装上も `CodeGraph` クラスが抽出、解決、探索、文脈生成、DB を束ねています。

何をするツールか

CodeGraph は、`grep` とファイル読みを何度も繰り返す代わりに、あらかじめ構築したローカル索引からコード構造を返すための仕組みです。README では「semantic code intelligence」「100% local」を打ち出していて、エージェントに MCP server をつなぐ形で使います。

コードベース TypeScript Python / Go / Rust... CodeGraph index reference resolve context build MCP tools codegraph_explore search / callers / impact
コードを前もって索引化し、その結果を MCP ツールとしてエージェントへ返す構造です。

何がうれしいか

探索が短い

構造質問を `codegraph_explore` などで直接引けるので、探索用の grep が減ります。

ローカル完結

README では SQLite ベースの 100% local を前面に出しています。

編集後も追随

watcher と connect-time catch-up により索引の古さを抑えます。

CodeGraphなし find / grep / read 候補を何度も絞る 探索コストが増える CodeGraphあり explore / node / callers 構造化された答えを返す 探索回数を減らせる
価値の中心は「検索が少し速い」ではなく、「構造質問の入口が直接用意される」ことです。

公開されている主なツール面

  • codegraph_explore: 構造質問の主入口
  • codegraph_search: symbol を探す
  • codegraph_callers / codegraph_callees: 呼び出し関係を辿る
  • codegraph_impact: 変更影響をみる
  • codegraph_node: 特定 symbol のソースを引く
  • codegraph_status / codegraph_files: 索引状態や対象ファイルを確認する

内部はどう分かれているか

メモと `src/index.ts` を見る限り、`CodeGraph` クラスが主要コンポーネントを束ねる構造です。説明しやすい分け方は、抽出、参照解決、探索、文脈生成、保存の5つです。

CodeGraph class ExtractionOrchestrator ReferenceResolver GraphQueryManager GraphTraverser ContextBuilder DB
抽出して、参照を解決し、問い合わせや文脈生成に使い、その結果をローカル DB に載せる構造です。

扱うデータの考え方

  • nodes: file、class、function、route、component などのコード要素
  • edges: contains、calls、imports、references などの関係
  • unresolved_refs: まだ解決しきれていない参照

ただの全文索引ではなく、構造化ノードと関係エッジを持つので、caller や impact のような質問に向いています。

使い始める流れ

  1. codegraph install で agent 側の MCP 設定を入れる
  2. 対象リポジトリで codegraph init -i を実行する
  3. `.codegraph/` ができたら、agent から `codegraph_explore` などを使う
  4. 編集後は watcher と connect-time catch-up で索引を追随させる
install init -i explore auto-sync
最初に install と init を済ませると、あとは explore 系を入口にして使い続けやすくなります。

向いている場面

  • 大きめのリポジトリで、毎回 grep と Read を繰り返すのが重いとき
  • call flow、route、impact のような構造質問が多いとき
  • Claude Code、Codex、Cursor など複数 agent に同じ索引を使わせたいとき

まとめ

CodeGraph は、コードをローカルで索引化し、エージェントに構造化された入口を与えるための基盤です。強みは単なる検索速度ではなく、`explore`、`callers`、`impact` のようなコード理解用ツール面と、watcher を含む継続運用のしやすさにあります。

参考URL