vitali87/code-graph-rag
The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs
Code‑Graph‑RAG – AI駆動のコードベース知識グラフ
何であるか – Tree‑sitter でマルチ言語リポジトリを解析し、抽出された関数、クラス、モジュール、およびそれらの関係を Memgraph 知識グラフに格納するオープンソースツール。自然言語クエリを通じてこのグラフとやり取りできます。AI駆動のコード編集、最適化、不要コード検出、ランタイムトレースオーバーレイもサポートしています。
動作方法
- 解析 – Tree‑sitter がすべてのソースファイル(Python、TS/JS、Rust、Go、Java、C/C++、C#、PHP、Lua、Dart など)を走査し、AST を構築します。
- グラフインジェスト – AST は言語に依存しないスキーマに変換され、Memgraph にロードされます。
- RAG ループ – CLI(
cgr)はユーザーの英語質問を LLM を使って Cypher クエリに変換し、グラフに対して実行して根拠のある回答を返します。同じループで編集用の AST ベースのパッチも生成できます。
主な機能
- 全コードベースに対する自然言語による質疑応答。結果は実際のシンボルに紐づけられます。
- 名前または意図に基づくソースの検索。
- AI駆動の編集:適用前に差分として外科的な AST パッチをプレビューできます。
- ベストプラクティスルールやカスタム基準に基づくコード最適化。
- 呼び出し/参照エッジをたどることで不要コード検出。
ast‑grepパターンを使用した構造的検索と再書き換え。- 動的トレース:eBPF またはテスト実行時のコールグラフを静的グラフにマージし、実行時のディスパッチを可視化。
- MCP サーバー互換性により、Claude Code などのツールが直接グラフをクエリ・編集可能。
インストールと使用方法
cgrCLI を PyPI からfull Tree‑sitterおよびsemantic extrasを含めてインストール(pipxまたはuvを使用)。cgr daemon upでバンドルされた Memgraph + Qdrant スタックを起動(Docker 必須)。- リポジトリのインデックス作成:
cgr start --repo‑path /path/to/repo --update‑graph。 - インタラクティブ CLI または Python SDK を通じてプログラム的にクエリや編集を実行。
なぜ重要なのか
- 数十の言語を混在させるモノレポに対して、単一で言語に依存しないグラフを提供。多くのコード検索ツールが欠いている機能です。
- 静的解析とランタイム情報を橋渡しし、コードの実際の振る舞いをより包括的に把握可能にします。
- AIエージェントが粗雑なテキスト編集ではなく、ASTレベルでの正確な変更を可能にし、コード破損のリスクを低減します。
- オープンソースのコアに加え、エンタープライズグレードのマネージドまたはオフラインデプロイメントもオプションで提供され、規制環境にも適しています。
リソース
- 詳細ドキュメント:インストール手順、クイックスタート、CLIリファレンス、アーキテクチャ、SDK、高度なトピック。
- コミュニティ:CIバッジ、コードカバレッジ、SonarCloud品質ゲート、OpenSSFスコアカード。
- マネージドクラウドまたはオンプレミスホスティングのエンタープライズサービス。
結論 – Code‑Graph‑RAG は、あらゆるコードベースをクエリ可能な知識グラフに変換するフルスタックでAI強化されたプラットフォームであり、自然言語による洞察、安全な自動リファクタリング、そして深層的な静的・動的分析を可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト