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駆動のコード編集、最適化、不要コード検出、ランタイムトレースオーバーレイもサポートしています。

動作方法

  1. 解析 – Tree‑sitter がすべてのソースファイル(Python、TS/JS、Rust、Go、Java、C/C++、C#、PHP、Lua、Dart など)を走査し、AST を構築します。
  2. グラフインジェスト – AST は言語に依存しないスキーマに変換され、Memgraph にロードされます。
  3. RAG ループ – CLI(cgr)はユーザーの英語質問を LLM を使って Cypher クエリに変換し、グラフに対して実行して根拠のある回答を返します。同じループで編集用の AST ベースのパッチも生成できます。

主な機能

  • 全コードベースに対する自然言語による質疑応答。結果は実際のシンボルに紐づけられます。
  • 名前または意図に基づくソースの検索
  • AI駆動の編集:適用前に差分として外科的な AST パッチをプレビューできます。
  • ベストプラクティスルールやカスタム基準に基づくコード最適化
  • 呼び出し/参照エッジをたどることで不要コード検出
  • ast‑grep パターンを使用した構造的検索と再書き換え
  • 動的トレース:eBPF またはテスト実行時のコールグラフを静的グラフにマージし、実行時のディスパッチを可視化。
  • MCP サーバー互換性により、Claude Code などのツールが直接グラフをクエリ・編集可能。

インストールと使用方法

  • cgr CLI を 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強化されたプラットフォームであり、自然言語による洞察、安全な自動リファクタリング、そして深層的な静的・動的分析を可能にします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト