Repolode
vitali87

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. 1

    uv を使って PyPI から cgr をインストールする

    uv tool install "code-graph-rag[treesitter-full,ast-grep,semantic]"
  2. 2

    リポジトリをグラフにインデックスする

    cgr start --repo-path /path/to/repo --update-graph
  3. 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 の数値は毎日更新されます。

関連プロジェクト