CodeGraphContext について
CodeGraphContextはローカルのリポジトリを検索可能なグラフデータベースにインデックス化し、開発者やAIアシスタントによるコード構造の分析を支援します。単独で使えるCLIツールキットと、コードの関係をコンテキストとして公開するMCPサーバーを備えています。
主な機能
- 01コードをナレッジグラフにインデックス化
- 02呼び出しチェーンとクラス階層の分析
- 03ファイル監視とグラフの更新
- 0423種類のプログラミング言語に対応
- 05複数のグラフデータベースを選択
活用シーン
- 01ファイルをまたいだ呼び出しの追跡
- 02インポートとモジュール境界の把握
- 03デッドコードと依存関係の発見
MCP 対応
MCPサーバーはリポジトリのグラフコンテキストをAIクライアントに提供し、呼び出しチェーンなどの関係を自然言語で問い合わせられます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🏗️ CodeGraphContext (CGC)
コードリポジトリを、AI エージェントがクエリできるグラフに変換します。
🌐 言語:
🌍 GitHub Issues で Issue と PR を作成して、CodeGraphContext の翻訳にご協力ください!
ローカルコードをグラフデータベースにインデックス化し、AI アシスタントや開発者にコンテキストを提供する、強力な MCP サーバー と CLI ツールキット です。包括的なコード分析を行うスタンドアロン CLI として使うことも、お好みの AI IDE に MCP 経由で接続して、AI によるコード理解を実現することもできます。
📍 クイックナビゲーション
- 🚀 クイックスタート
- 📋 前提条件
- 🏃 プロジェクトをローカルで実行する方法
- 🌐 対応プログラミング言語
- 🛠️ CLI ツールキット
- 🤖 MCP サーバー
- 🗄️ データベースの選択肢
- 🔬 SCIP インデックス作成(任意)
✨ CGC を体験する
👨🏻💻 インストールと CLI
pip で数秒でインストールし、強力なコードグラフ分析用 CLI を利用できます。
🛠️ 数秒でインデックスを作成
CLI が tree-sitter ノードをインテリジェントに解析し、グラフを構築します。
🤖 AI アシスタントを支援
MCP を介して自然言語で複雑な呼び出しチェーンを検索できます。
CodeGraphContext を選ぶ理由
CodeGraphContext は、単純なテキスト検索では不十分になったときに役立つように作られています。リポジトリをファイル、シンボル、呼び出し、継承、インポート、関係性のグラフに変換することで、ツールを行き来せずに「これはどこで定義されているか?」から「実際にどのようにつながっているか?」へと理解を深められます。
flowchart LR
A[Source code] --> B[Tree-sitter and SCIP indexers]
B --> C[Graph database]
C --> D[CLI queries]
C --> E[MCP server]
D --> F[Direct analysis]
E --> G[AI assistants with repo context]
比較一覧
| アプローチ | 最適な用途 | トレードオフ |
|---|---|---|
grep / ファイル検索 | 完全一致する文字列の検索 | 関係性やコード構造を見落とす |
| コードチャンクに対する RAG | 自然言語での検索 | シンボルレベルの精度が失われる場合がある |
| CodeGraphContext | リポジトリ全体にわたる推論 | インデックス作成が必要 |
よくあるユースケース
- ファイルやパッケージをまたいで呼び出しチェーンを追跡します。
- クラス階層、インポート、モジュールの境界を理解します。
- デッドコード、ホットスポット、予期しない依存関係を見つけます。
- メンテナーが利用するものと同じ構造的コンテキストを AI アシスタントに提供します。
FAQ
- リモートサービスは必要ですか? いいえ。CGC は埋め込み型バックエンドを使ってローカルで動作します。また、必要に応じて外部グラフデータベースも利用できます。
- 1 つの言語だけに対応していますか? いいえ。幅広い主要言語に対応しており、対応言語は増え続けています。
- AI アシスタントと一緒に使えますか? はい。それが MCP サーバーが存在する主な理由の 1 つです。
プロジェクトの詳細
- バージョン: 0.5.1
- 作成者: Shashank Shekhar Singh [email protected]
- ライセンス: MIT License(詳細は LICENSE を参照)
- ウェブサイト: CodeGraphContext
👨💻 メンテナー
CodeGraphContext は、以下の人物によって作成され、積極的にメンテナンスされています。
Shashank Shekhar Singh
- 📧 メール: [email protected]
- 🐙 GitHub: @Shashankss1205
- 🔗 LinkedIn: Shashank Shekhar Singh
- 🌐 ウェブサイト: codegraphcontext.vercel.app
コントリビューションやフィードバックをいつでも歓迎します!質問、提案、共同作業のご相談があれば、お気軽にご連絡ください。
スター履歴
特長
- コードのインデックス作成: コードを解析し、その構成要素のナレッジグラフを構築します。
- 関係性の分析: 呼び出し元、呼び出し先、クラス階層、呼び出しチェーンなどをクエリできます。
- 事前インデックス済みバンドル:
.cgcバンドルを使って、有名なリポジトリをすぐに読み込めます。インデックス作成は不要です!(詳細はこちら) - ファイルのリアルタイム監視: ディレクトリの変更を監視し、グラフを自動的にリアルタイムで更新します(
cgc watch)。 - 対話式セットアップ: 簡単にセットアップできる、使いやすいコマンドラインウィザードです。
- デュアルモード: 開発者向けのスタンドアロンな CLI ツールキット として、また AI エージェント向けの MCP サーバー として動作します。
- マルチ言語対応: 23 のプログラミング言語を完全にサポートしています。
- 柔軟なデータベースバックエンド: FalkorDB Lite(デフォルト)、KuzuDB、LadybugDB、FalkorDB Remote、Nornic DB、または Neo4j(Docker/ネイティブ経由で全プラットフォームに対応)。
🏗️ アーキテクチャとワークフロー
CodeGraphContext はソースコードを解析し、包括的なナレッジグラフを構築します。このグラフは CLI ツールキットから直接クエリすることも、MCP サーバーを通じて AI アシスタントに公開することもできます。
flowchart TD
A[Code Repository] -->|Parsed by| B[Tree-sitter / SCIP Indexing]
B -->|Generates| C[Knowledge Graph]
C -->|Stored in| D[(Graph Database)]
D -->|Queried via| E[CLI Toolkit]
D -->|Served by| F[MCP Server]
F -->|Provides context to| G[🤖 AI Assistant]
classDef default fill:#1f2937,stroke:#8b5cf6,stroke-width:2px,color:#fff;
classDef db fill:#0f172a,stroke:#3b82f6,stroke-width:2px,color:#fff;
classDef ai fill:#312e81,stroke:#a855f7,stroke-width:2px,color:#fff;
D:::db
G:::ai
対応プログラミング言語
CodeGraphContext は、以下の言語について包括的な解析と分析を提供します。
| 言語 | 言語 | 言語 | |||
|---|---|---|---|---|---|
| 🐍 | Python | 📜 | JavaScript | 🔷 | TypeScript |
| ☕ | Java | 🔵 | C | ➕ | C++ |
| #️⃣ | C# | 🐹 | Go | 🦀 | Rust |
| 💎 | Ruby | 🐘 | PHP | 🍎 | Swift |
| 🎨 | Kotlin | 🎯 | Dart | 🐪 | Perl |
| 🌙 | Lua | 🚀 | Scala | λ | Haskell |
| 💧 | Elixir | 📜 | Emacs Lisp (elisp) | 🌐 | HTML |
| 🎨 | CSS | ⚛️ | TSX | ⛓️ | Solidity |
| 🏗️ | HCL (Terraform/Terragrunt) |
各言語のパーサーは、関数、クラス、メソッド、パラメーター、継承関係、関数呼び出し、インポートを抽出し、包括的なコードグラフを構築します。
HCL に関する注記: .tf、.tfvars、.hcl は Terraform、OpenTofu、Terragrunt に対応しています。HCL は呼び出しではなく宣言を行うため、ブロック、変数、設定間のインポートを取り込みますが、関数呼び出しは取り込みません。詳しくは docs/docs/contributing_languages.md の § HCL を参照してください。
Solidity に関する注記: .sol は tree-sitter-language-pack 経由で Tree-sitter を使用します(SCIP は不要です)。Foundry のリマッピング、修飾子の呼び出し、using Lib for T、および emit/カスタムエラーの revert を CALLS としてサポートしています。詳しくは docs/docs/contributing_languages.md の § Solidity を参照してください。
Kotlin に関する注記: アノテーションは関数とクラスの decorators として記録され、その引数も保持されます(@Preview(showBackground = true))。これにより、find_dead_code の exclude_decorated_with を Kotlin および Android のコードベースで使用できます。たとえば、Composable、Preview、Test、Provides を除外できます。このフィルターは関数を対象とするため、クラスレベルのアノテーションは影響しません。インターフェース、オブジェクト、コンストラクター、パラメーター、プロパティのアノテーションは、まだ記録されません。
データベースの選択肢
CodeGraphContext は、環境に合わせて複数のグラフデータベースバックエンドをサポートしています。
| 特徴 | KuzuDB | LadybugDB | FalkorDB Lite | Neo4j / Nornic DB |
|---|---|---|---|---|
| 一般的なデフォルト | FalkorDB Lite が利用できない場合のクロスプラットフォーム対応の代替 | 任意の組み込みバックエンド | Unix でのデフォルト(Python 3.12 以降で、falkordblite がインストールされている場合) | cgc config db で明示的に設定した場合 |
| セットアップ | 設定不要/組み込み | 設定不要/組み込み | 設定不要/プロセス内 | Docker/外部 |
| プラットフォーム | すべて(Windows ネイティブ、macOS、Linux) | すべて(Windows ネイティブ、macOS、Linux) | Unix のみ(Linux/macOS/WSL) | すべてのプラットフォーム |
| 用途 | デスクトップ、IDE、ローカル開発 | カスタム研究プロジェクト | Unix に特化した開発 | エンタープライズ、大規模グラフ |
| 要件 | pip install kuzu | pip install ladybug | pip install falkordblite | Neo4j Server/Docker/Nornic Cloud |
| 速度 | ⚡ 非常に高速 | ⚡ 高速 | 🚀 スケーラブル | 🌐 ネットワークに依存 |
| 永続化 | はい(ディスク上) | はい(ディスク上) | はい(ディスク上) | はい(サーバー側) |
組み込みの KuzuDB/LadybugDB は、デフォルトで 4 GiB のバッファープール(CGC_EMBEDDED_BUFFER_POOL_MB)を使用します。この環境変数に別の MiB 値を設定するか、ライブラリのデフォルト値(システム RAM の約 80%)を使う場合は 0 を設定してください。
SCIP インデックス作成(任意)
CGC 設定(~/.codegraphcontext/.env)で SCIP_INDEXER=true にすると、一部の言語では外部の SCIP インデクサーを使用し、Tree-sitter のヒューリスティックだけを使う場合より正確な呼び出し関係と継承関係を取得できます。
C と C++ では scip-clang を使用します。実際のコンパイラーコマンド(インクルードパス、-D 定義、-std など)を含む、翻訳単位ごとに 1 エントリーの compile_commands.json ファイル(JSON compilation database)が必要です。このファイルがないと scip-clang は実行できません。そのリポジトリでは CGC が警告をログに記録し、Tree-sitter にフォールバックします。このファイルを生成する一般的な方法は、-DCMAKE_EXPORT_COMPILE_COMMANDS=ON を指定して CMake を使う方法、または実際のビルドを Bear でラップする方法です(例:bear -- make)。CGC は build/ および cmake-build-*/ の下も検索します。
C# では scip-dotnet(Roslyn)を使用します。通常の .csproj/.sln と、正常に完了した restore が必要です。compile_commands.json は不要です。
SCIP は、使用するグラフデータベースの種類(Kuzu、Neo4j など)とは独立しています。同じフラグがすべてのバックエンドに適用されます。
利用例
CodeGraphContext は、すでに開発者やプロジェクトで次のような用途で活用が検討されています。
- AI アシスタントでの静的コード解析
- グラフベースのプロジェクト可視化
- デッドコードと複雑度の検出
プロジェクトで CodeGraphContext を使用している場合は、ぜひ PR を作成してここに追加してください! 🚀
依存関係
neo4j>=5.15.0watchdog>=3.0.0stdlibs>=2023.11.18typer>=0.9.0rich>=13.7.0inquirerpy>=0.3.4python-dotenv>=1.0.0tree-sitter>=0.24.0,<0.26.0tree-sitter-language-pack>=1.6,<2.0pyyamlpathspec>=0.12.1falkordb>=1.0,<1.6falkordblite>=0.7,<0.10(Unix のみ、Python 3.12 以降)kuzu(KuzuDB エンジン)fastapi>=0.100.0uvicorn>=0.22.0requests>=2.28.0protobuf>=3.20,<3.21
注記: Python 3.10~3.14 をサポートしています。
🚀 インストールとクイックスタート
-
ツールキットをインストールします:
pip install codegraphcontext -
トラブルシューティング(コマンドが見つからない場合):
codegraphcontextコマンドが見つからない場合は、次のワンライナーを実行して修正してください:curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash -
データベースのセットアップ(自動): CodeGraphContext は、デフォルトで組み込みグラフデータベースを使用します。
- FalkorDB Lite: デフォルトのバックエンドです。
- KuzuDB: クロスプラットフォーム対応の組み込みバックエンドです。
- Neo4j: 外部サーバーを使用するには、
codegraphcontext neo4j setupを実行します。
🧪 ローカル開発環境のセットアップ
ローカルにクローンしたリポジトリから CodeGraphContext を実行して変更に貢献する場合は、編集可能インストールを使用してください。
git clone https://github.com/CodeGraphContext/CodeGraphContext.git
cd CodeGraphContext
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
次に、インストールを確認し、ローカルコマンドを試してください。
cgc --help
cgc doctor
cgc index .
cgc analyze callers main
MCP サーバーの開発を行う場合は、次のコマンドでセットアップを完了してください。
cgc mcp setup
cgc mcp start
公開パッケージをインストールするだけの場合は、pip install codegraphcontext で十分です。パーサーを多用する機能を開発し、オプションのパーサー用追加パッケージもインストールする場合は、pip install -e ".[dev,parsing]" を実行してください。
🐳 Docker(Python 不要)
Python をインストールせずに CodeGraphContext を実行できます。イメージをプルして、インデックス作成を開始してください。
クイックスタート
# Pull the latest image
docker pull codegraphcontext/codegraphcontext:latest
# Index your current directory
docker run --rm -v "$(pwd):/workspace" codegraphcontext/codegraphcontext cgc index .
# List indexed repos
docker run --rm -v cgc-data:/home/cgc/.codegraphcontext \
codegraphcontext/codegraphcontext cgc list
# Interactive shell
docker run -it --rm -v "$(pwd):/workspace" \
-v cgc-data:/home/cgc/.codegraphcontext \
codegraphcontext/codegraphcontext bash
Docker Compose
# Clone the repo and start with Docker Compose
git clone https://github.com/CodeGraphContext/CodeGraphContext.git
cd CodeGraphContext
# Start with embedded DB
docker compose run --rm cgc index .
# Start with external FalkorDB
docker compose --profile falkordb up -d
# Start with visualization server
docker compose --profile viz up -d
# Open http://localhost:8080
利用可能な Docker タグ
| タグ | 説明 |
|---|---|
latest | 最新の安定版リリース |
edge | main ブランチの最新バージョン(不安定な場合があります) |
0.4.19 | 特定のバージョン |
0.4 | 0.4.x 系の最新パッチ |
MCP サーバーの実行や外部データベースへの接続など、より高度な Docker の使い方については、Docker 総合ガイドをご覧ください。
📋 前提条件
CodeGraphContext をインストールする前に、次の環境があることを確認してください。
- Python 3.10 以降
- pip パッケージマネージャー
- Git(任意、リポジトリのクローンに使用)
Python のインストールを確認します。
python --version
🚀 ステップバイステップのセットアップガイド
ステップ 1:CodeGraphContext をインストールする
pip install codegraphcontext # Installs CodeGraphContext and required dependencies
このコマンドは CodeGraphContext と必要な依存関係をすべてインストールします。
ステップ 2:インストールを確認する
codegraphcontext --help
利用可能な CLI コマンドが表示されれば、インストールは成功です。
ステップ 3:データベースをセットアップする
CodeGraphContext はデフォルトで組み込みデータベースを自動的に使用するため、ほとんどのユーザーは追加の設定を必要としません。
🏃 プロジェクトをローカルで実行する方法
リポジトリをインデックス化する
codegraphcontext index . # Scans current directory and builds code graph
現在のプロジェクトをスキャンし、検索可能なコードグラフを作成します。
インデックス化されたリポジトリを表示する
codegraphcontext list
CodeGraphContext によって現在インデックス化されているすべてのリポジトリを表示します。
コードを分析する
codegraphcontext analyze dead-code
インデックス化されたリポジトリ内で、使用されていない可能性のあるコードを見つけます。
✅ すべてが正常に動作することを確認する
リポジトリをインデックス化した後、次を実行してください。
codegraphcontext list # Shows all indexed repositories in the system
コマンドが正常に実行され、インデックス化されたリポジトリが表示されれば、セットアップは完了です。CodeGraphContext を使用する準備が整いました。
CLI ツールキットモードの場合
CLI コマンドですぐに使い始める:
# Index your current directory
codegraphcontext index .
# List all indexed repositories
codegraphcontext list
# Analyze who calls a function
codegraphcontext analyze callers my_function
# Find complex code
codegraphcontext analyze complexity --threshold 10
# Find dead code
codegraphcontext analyze dead-code
# Watch for live changes (optional)
codegraphcontext watch .
# See all commands
codegraphcontext help
利用可能なすべてのコマンドと使用例については、CLI コマンドガイドをご覧ください。
🎨 プレミアムなインタラクティブ可視化
CodeGraphContext は、コードの美しいインタラクティブなナレッジグラフを生成できます。静的な図とは異なり、高品質なウェブベースのエクスプローラーです。
- 洗練されたデザイン:ダークモード、グラスモーフィズム、モダンなタイポグラフィ(Outfit/JetBrains Mono)。
- インタラクティブな調査:ノードをクリックすると、シンボル情報、ファイルパス、コンテキストを含む詳細なサイドパネルが開きます。
- クイック検索:グラフをリアルタイムで検索し、特定のシンボルをすぐに見つけられます。
- インテリジェントなレイアウト:複雑な関係を読みやすく表示する、力学モデルおよび階層型レイアウト。
- 依存関係なしで表示:最新のブラウザーで動作するスタンドアロンの HTML ファイル。
# Visualize function calls
codegraphcontext analyze calls my_function --viz
# Explore class hierarchies
codegraphcontext analyze tree MyClass --viz
# Visualize search results
codegraphcontext find pattern "Auth" --viz
🤖 MCP サーバーモードの場合
CodeGraphContext を使用するように AI アシスタントを設定します:
-
セットアップ: MCP セットアップウィザードを実行して、IDE/AI アシスタントを設定します:
codegraphcontext mcp setupウィザードでは、次のツールを自動的に検出して設定できます:
- VS Code
- Cursor
- Windsurf
- Zed
- Claude
- Gemini CLI
- ChatGPT Codex
- Cline
- RooCode
- Amazon Q Developer
- Kiro
- Goose
- OpenCode
設定が正常に完了すると、
codegraphcontext mcp setupによって必要な設定ファイルが生成され、配置されます:- 参照用に、現在のディレクトリに
mcp.jsonファイルが作成されます。 - データベースの認証情報が
~/.codegraphcontext/.envに安全に保存されます。 - 選択した IDE/CLI の設定ファイル(例:
.claude.jsonまたは VS Code のsettings.json)が更新されます。
-
起動: MCP サーバーを起動します:
codegraphcontext mcp start -
使用: AI アシスタントに自然言語で指示して、コードベースを操作できるようになります!以下の例をご覧ください。
ファイルの無視(.cgcignore)
プロジェクトのルートに .cgcignore ファイルを作成すると、CodeGraphContext に特定のファイルやディレクトリを無視させることができます。このファイルでは .gitignore と同じ構文を使用します。
.cgcignore ファイルの例:
# Ignore build artifacts
/build/
/dist/
# Ignore dependencies
/node_modules/
/vendor/
# Ignore logs
*.log
MCP クライアントの設定
codegraphcontext mcp setup コマンドは、IDE/CLI の自動設定を試みます。自動セットアップを使用しない場合や、お使いのツールがサポートされていない場合は、手動で設定できます。
次のサーバー設定をクライアントの設定ファイル(例:VS Code の settings.json または .claude.json)に追加します:
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": [
"mcp",
"start"
],
"disabled": false,
"alwaysAllow": []
}
}
}
OpenCode の設定
OpenCode で MCP サーバーをインストールして設定する手順については、OpenCode MCP ガイドをご覧ください。
pipx でインストールした場合
pipx を使用して CodeGraphContext をインストールした場合は、代わりに次の設定を使用します:
{
"mcpServers": {
"CodeGraphContext": {
"command": "pipx",
"args": [
"run",
"codegraphcontext",
"mcp",
"start"
],
"env": {
"NEO4J_URI": "YOUR_NEO4J_URI",
"NEO4J_USERNAME": "YOUR_NEO4J_USERNAME",
"NEO4J_PASSWORD": "YOUR_NEO4J_PASSWORD"
},
"disabled": false,
"alwaysAllow": []
}
}
}
トークン最適化出力(GCF)
オプトインの GCF 出力形式を使うと、ツールの応答トークンを約 62% 削減できます:
pip install gcf-python
CGC_OUTPUT_FORMAT=gcf codegraphcontext mcp start
または、MCP クライアントの設定に追加します:
{
"mcpServers": {
"CodeGraphContext": {
"command": "codegraphcontext",
"args": ["mcp", "start"],
"env": {
"CGC_OUTPUT_FORMAT": "gcf"
}
}
}
}
GCF は、位置フィールド(キーを一度だけ宣言し、値をパイプ区切りで指定)を使って構造化データをエンコードします。コードグラフのクエリ結果(シンボル、関係、呼び出し元、複雑度)は、GCF による削減効果が最も高いデータ形式です。すべての最先端モデルで LLM による理解率は 100% です。gcf-python がインストールされていない場合は、JSON にフォールバックします。
自然言語での操作例
サーバーが起動したら、平易な英語を使って AI アシスタントから操作できます。指示の例をいくつか紹介します:
ファイルのインデックス作成と監視
-
新しいプロジェクトのインデックスを作成するには:
- 「
/path/to/my-projectディレクトリのコードをインデックス化してください。」 OR - 「
~/dev/my-other-projectのプロジェクトをコードグラフに追加してください。」
- 「
-
ディレクトリの変更をリアルタイムで監視するには:
- 「
/path/to/my-active-projectディレクトリの変更を監視してください。」 OR - 「
~/dev/main-appにある作業中のプロジェクトについて、コードグラフを最新の状態に保ってください。」
ディレクトリの監視を依頼すると、システムは次の 2 つの処理を同時に実行します:
- そのディレクトリ内のすべてのコードをインデックス化するため、全体スキャンを開始します。この処理はバックグラウンドで実行され、進行状況を追跡するための
job_idが通知されます。 - グラフをリアルタイムで最新の状態に保つため、ファイルの変更を監視し始めます。
つまり、システムにディレクトリの監視を指示するだけで、初回のインデックス作成と継続的な更新の両方が自動的に行われます。
- 「
コードのクエリと理解
-
コードが定義されている場所の検索:
- "
process_payment関数はどこにありますか?" - "
Userクラスを見つけてください。" - "「データベース接続」に関連するコードを表示してください。"
- "
-
関係性と影響の分析:
- "
get_user_by_id関数を呼び出している他の関数はどれですか?" - "
calculate_tax関数を変更した場合、コードの他のどの部分が影響を受けますか?" - "
BaseControllerクラスの継承階層を表示してください。" - "
Orderクラスにはどのようなメソッドがありますか?"
- "
-
依存関係の調査:
- "
requestsライブラリをインポートしているファイルはどれですか?" - "
renderメソッドのすべての実装を見つけてください。"
- "
-
高度な呼び出しチェーンと依存関係の追跡(数百のファイルにまたがる): CodeGraphContext は、広大なコードベースにわたる複雑な実行フローと依存関係の追跡を得意としています。グラフデータベースの力を活用することで、関数が複数の抽象化レイヤーを経由して、あるいは多数のファイルにまたがって呼び出されている場合でも、直接および間接的な呼び出し元と呼び出し先を特定できます。これは以下のような場面で非常に役立ちます:
-
影響分析: 中核となる関数への変更がもたらす全体的な波及効果を理解します。
-
デバッグ: エントリーポイントから特定のバグまでの実行パスを追跡します。
-
コードの理解: 大規模システムのさまざまな部分がどのように相互作用するかを把握します。
-
"
main関数からprocess_dataまでの完全な呼び出しチェーンを表示してください。" -
"
validate_inputを直接的または間接的に呼び出しているすべての関数を見つけてください。" -
"
initialize_systemが最終的に呼び出すすべての関数は何ですか?" -
"
DatabaseManagerモジュールの依存関係を追跡してください。"
-
-
コード品質とメンテナンス:
- "このプロジェクトにデッドコードや未使用のコードはありますか?"
- "
src/utils.pyのprocess_data関数の循環的複雑度を計算してください。" - "コードベースで最も複雑な 5 つの関数を見つけてください。"
-
リポジトリ管理:
- "現在インデックスされているすべてのリポジトリを一覧表示してください。"
- "
/path/to/old-projectにあるインデックス済みリポジトリを削除してください。"
トラブルシューティング
ロックエラー、「インデックス作成が終わらない」ループ、または機能が無反応な状態に遭遇していませんか? docs/TROUBLESHOOTING.md をご覧ください — すべての項目が、 実際に報告された問題をその修正または回避策に対応付けています。
コントリビューション
コントリビューションを歓迎します! 🎉
詳細なガイドラインについては CONTRIBUTING.md をご覧ください。
新機能、統合、または改善に関するアイデアがあれば、issue を作成するか、Pull Request を送信してください。
ディスカッションに参加して、CodeGraphContext の未来を形作りましょう。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。


