コードベースやドキュメントなどから、AIコーディングアシスタント向けの知識グラフをローカルで構築
vitali87/code-graph-rag
多言語コードベースをナレッジグラフ化し、AIエージェントやMCPサーバー経由で自然な英語で検索・編集できます。
- スター
- 5,267
- フォーク
- 702
- 未解決の Issue
- 589
- 最終コミット
- 4 時間前
これは何?
Code-Graph-RAGはTree-sitterでリポジトリを解析し、関数、クラス、メソッド、モジュールとそれらの関係をグラフに抽出します。グラフはデフォルトで組み込みのSQLiteファイルに保存されるため、データベースサーバーは不要です。オプションのバックエンドとしてMemgraphとNeo4jも利用できます。
インデックス作成後は、自然言語で質問すると、ツールがグラフに対するCypherクエリに変換し、関数やクラスの実際のソースコードを取得できます。エージェントは差分プレビュー付きのASTベースの編集、コードの最適化、エントリーポイントからのデッドコード検出、ast-grepによるASTパターン検索や書き換えも行えます。
このプロジェクトはMCPサーバーとしても動作するため、Claude CodeなどのMCPクライアントからコードベースを直接検索・編集できます。インストールにはPython 3.12以上とripgrepが必要で、パッケージはPyPIで公開されています。
主な機能
- 01Python、TypeScript、Rust、Go、Java、C/C++、C#など複数の言語を解析し、共通のグラフスキーマにまとめます。
- 02コードグラフに対するCypherクエリを生成し、自然言語での質問に回答します。
- 03名前や意図を指定して、関数、クラス、メソッドのソースコードを取得します。
- 04変更を書き込む前に差分をプレビューしながら、ASTベースでコードを編集します。
- 05エントリーポイントから呼び出しと参照のエッジをたどり、デッドコードを検出します。
- 06Claude CodeなどのMCPクライアント向けにMCPサーバーとして動作します。
ユースケース
- 大規模なモノレポへのオンボーディング時に、モジュールや関数のつながりを質問する。
- Claude Code上のAIコーディングアシスタントに、構造に基づくコンテキストを与えて作業させる。
- 整理の前に、多言語コードベースで未使用の関数を監査する。
- 複数の言語にまたがってASTパターン検索や書き換えを実行する。
クイックスタート
- 1
uv を使って PyPI から cgr をインストールする
uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic]" - 2
リポジトリをグラフにインデックスする
cgr start --repo-path /path/to/repo --update-graph - 3
エージェントを起動し、インデックス化したリポジトリについて質問する
cgr start --repo-path /path/to/repo
使う前に知っておきたいこと
- Python 3.12 以降と ripgrep のインストールが必要です。
- 完全にサポートされている言語は一部のみです。Ruby、Kotlin、Swift、Elixir、Haskell、Solidity、Bash、Nix は構造解析のみサポートされています。
- クエリと編集には、Cypher を生成してエージェントを操作する AI モデルが必要です。
トピック
よくある質問
- code-graph-rag とは?
- 多言語コードベースをナレッジグラフ化し、AIエージェントやMCPサーバー経由で自然な英語で検索・編集できます。 Code-Graph-RAGはTree-sitterでリポジトリを解析し、関数、クラス、メソッド、モジュールとそれらの関係をグラフに抽出します。グラフはデフォルトで組み込みのSQLiteファイルに保存されるため、データベースサーバーは不要です。オプションのバックエンドとしてMemgraphとNeo4jも利用できます。
- code-graph-rag は無料で使えますか?ライセンスは?
- code-graph-rag は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- code-graph-rag は今もメンテナンスされていますか?
- 活発にメンテナンス中。code-graph-rag の最終コミットは 2026年10月19日 です。
- code-graph-rag は何に使えますか?
- 大規模なモノレポへのオンボーディング時に、モジュールや関数のつながりを質問する。 Claude Code上のAIコーディングアシスタントに、構造に基づくコンテキストを与えて作業させる。 整理の前に、多言語コードベースで未使用の関数を監査する。 複数の言語にまたがってASTパターン検索や書き換えを実行する。
- code-graph-rag のインストール方法は?
- uv を使って PyPI から cgr をインストールする: uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic]" リポジトリをグラフにインデックスする: cgr start --repo-path /path/to/repo --update-graph エージェントを起動し、インデックス化したリポジトリについて質問する: cgr start --repo-path /path/to/repo
- code-graph-rag はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/vitali87/code-graph-rag
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
MCPとCLIでAIコーディングツールに正確なレビュー情報を提供する、ローカルのコード知識グラフ。
質問を計画し、Webやローカルの情報源を集め、任意のLLMプロバイダーで引用付きレポートを作成する自律型リサーチエージェント。
Rustコアを備えたPython製の差分データパイプライン。AIエージェントやRAGアプリ向けに、ベクトルインデックスや知識グラフを更新します。
Unity Editorとゲーム内でAIエージェントやLLMを動かせるプラグイン兼MCPサーバー
コードベースをスキャンしてAI向けの簡潔なコンテキストファイルを生成し、調査に使うトークンを削減するCLI。