abhigyanpatwari/GitNexus
GitNexus: The Zero-Server Code Intelligence Engine
GitNexus – 企業向けコードベースの知識グラフエンジン
何であるか – GitNexus は、リポジトリ(または複数のリポジトリ)を 知識グラフ にインデックスする Node.js ツールであり、依存関係、コールチェーン、クラスタ、実行フロー、その他の構造的関係を記述します。このグラフはネイティブの LadybugDB エンジン(またはブラウザ用の WebAssembly バージョン)に保存され、AI ベースのコーディングアシスタント(Claude Code、Cursor、Codex、Antigravity など)が呼び出せる MCP(モデル中心プログラミング)ツール のセットを通じて公開されます。要するに、LLM ベースのエージェントにコードの事前計算されたアーキテクチャビューを提供し、編集生成時に欠落したシンボルを「推測」しなくても済むようにします。
コアコンポーネント
| コンポーネント | 機能 |
|---|---|
CLI(gitnexus) |
analyze はネイティブの tree-sitter 文法でリポジトリを解析し、グラフを構築、MCP ツールをインストール、コンテキストファイル(AGENTS.md、CLAUDE.md)を出力します。setup は、対応するエディタがツールを自動検出できるようにグローバルな MCP 設定を書き込みます。 |
| MCP ツール(19種類の組み込み) | list_repos、query、impact、trace、detect_changes、rename、cypher など。すべて事前計算されたグラフ上で動作し、LLM に即座に利用可能な結果を返します。 |
Web UI(gitnexus.vercel.app) |
ブラウザベースのグラフエクスプローラーとチャットインターフェース。ローカルまたは Render ホスティングされたサーバーと通信します。クイックデモにはインストール不要。 |
サーバー(gitnexus serve) |
LadybugDB ストアと HTTP API(/api/*)を実行。UI はこれにプロキシ接続。CLI はリモートサーバー(ブリッジモード)とも通信可能。 |
| エージェントスキル | .claude/skills/ や .agents/skills/ に配置される自動生成されたスキルバンドル。Claude Code、Codex などのエージェントが MCP ツールを直接呼び出せるようにします。 |
クイックスタート(ローカル)
# インデックスしたいリポジトリのルートから
npx gitnexus analyze # グラフの構築、ツールのインストール
npx gitnexus setup # エディタ用の MCP 設定を書き込み
これにより、対応する AI エディタでは gitnexus impact や gitnexus trace などの新しいコマンドがエディタのチャット/コマンドパレットで利用可能になります。
デプロイオプション
| ターゲット | 動作方法 | コスト(例) |
|---|---|---|
| Render | 2つのサービス:gitnexus-server(プライベート、インデックスを保存)と gitnexus-web(パブリック UI)。UI はシークレットトークンを使って /api/* をサーバーに転送。 |
標準サーバー + スターターWebインスタンス + 10GBディスクで月額約 $35。 |
| RepoCloud | 1クリックデプロイボタン(Render と同様)。 | |
| ローカルのみ | グローバルインストール(npm i -g gitnexus)して gitnexus serve を自分で実行。UI は http://localhost:… で接続可能。 |
知識グラフの重要性
- 信頼性 – グラフはどの関数がどの関数を呼び出しているか、どのAPIが使われているか、どのモジュールが他のモジュールに依存しているかを既に把握しています。LLM は一回のツールコールで 完全な 答えを受け取り、複数のクエリを連続して発行する必要がありません。
- トークン効率 – 数十個の原始的なグラフエッジをモデルに送る必要がなく、ツールは簡潔で信頼度スコア付きの要約を返します。
- モデル非依存 – 低スペックのLLMでも、依存関係解析、クラスタリング、PDG構築などの重い処理はインデックス時にオフラインで行われるため、恩恵を受けられます。
一般的な利用シーン
| シナリオ | GitNexusの役割 |
|---|---|
| 変更前の影響分析 | detect_impact や detect_changes は影響範囲、影響を受けたプロセス、信頼度スコアを返し、誤った破壊を防ぎます。 |
| 大規模コードベースのリファクタリング | rename はグラフを活用して複数ファイルの連携したリネームを実行。trace はシンボル間の最短コールパスを表示。 |
| なじみのないコードの理解 | explore タイプのツール(list_repos、context、cluster)で高レベルなマップを提供。Web UI はクラスタや実行フローを可視化。 |
| 自動PRレビュー | review スキルはグラフベースの監査(タンタ分析、形状チェック)を実行し、欠落した契約や安全でないデータフローを浮き彫りにします。 |
| アーキテクチャドキュメントの生成 | generate_map はMermaid図を生成し、コンポーネント間の関係をグラフから直接抽出します。 |
制限事項と注意点(ドキュメント参照)
- インストールの癖 – npm 11 はクラッシュする可能性あり。README では信頼性のため
pnpmまたはグローバルインストールを推奨。 - オプションのネイティブ文法 – Dart、Proto、Swift、Kotlin 用の tree-sitter バインディングはバンドル済み。無視する(
GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1)とインストールが高速化するが、これらの言語は解析されない。 - ローカル埋め込みはオプトイン – 意味的検索には
gitnexus embeddings installの追加ステップが必要。それ以外は BM25 のみ利用可能。 - メモリ制限付きインデックス – 大きなリポジトリは Render の
standardプランのデフォルト 2GB RAM を超える可能性あり。プランのアップグレードまたはディスクサイズの増加が必要。 - ホスティングデプロイのセキュリティモデル – アクセスはベアラートークン(
GITNEXUS_SERVE_AUTH_TOKEN)のみで制御。トークンを所持する者はすべてのインデックス済みリポジトリを読み取れる。 - ブラウザUIのサイズ制限 – ブラウザ内での WASMバージョンは約 5k ファイルまで対応。より大きなリポジトリにはサーバー駆動モードが必要。
ライセンス
本プロジェクトは PolyForm Non-commercial 1.0.0 ライセンスの下でリリースされており、非営利目的での使用は自由ですが、有料利用には別途商業ライセンスが必要です。
まとめ
GitNexus は、コードベースを豊富で照会可能な知識グラフに変換し、現代のLLMベースのコーディングアシスタントのワークフローに直接接続する本格的なオープンソースツールです。特に、欠落した依存関係がバグの主な原因となる大規模な企業モノレポにおいて非常に有用であり、日常開発用のCLIと、クイックな探索用のホスティング/Web UIの両方を提供しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト