standardoc は何をしますか?
コードを、LSPおよびMCP向けのライブASTインデックスを使用して、人間とAIエージェントがクエリ可能なナレッジグラフに変換します。
概要
standardocは、コードベースの静的分析とライブインデックス化を実行し、ナレッジグラフを構築します。このナレッジグラフは、言語サーバープロトコル(LSP)とモデルコンテキストプロトコル(MCP)の両方を介してクエリできます。従来のコード検索とは異なり、シンボル定義、関数の呼び出し関係、型の継承、ファイル間の依存関係などの構造化された関係を理解・クエリできます。
主な機能
- ライブASTインデックス: コードベースの変更を監視し、ASTデータを自動的に再インデックス化して、ナレッジグラフを常に最新の状態に保ちます。
- LSP統合: 標準のLSPクライアント(VS Code、neovimなど)を介して、定義へ移動、参照の検索、ホバー情報の取得などの豊富なコードインテリジェンスを提供します。
- MCP統合: AIエージェント(Claude Code、Cursor、Codexなど)が、コードベースの構造と意味を理解するためのプログラムによるアクセスを可能にします。
- 構造化クエリ: 生テキストの検索ではなく、コードエンティティ間の関係をクエリします。例:「クラスXのすべてのサブクラスを検索」「関数Yからトランスクロージャを経由して呼び出されるすべての関数を検索」。
仕組み
- スキャンと解析: 設定されたソースディレクトリをスキャンし、各ファイルを解析して完全なASTを構築します。
- グラフ構築: シンボル定義、参照、型関係、呼び出しグラフを抽出し、有向グラフとして保存します。
- ライブ更新: ファイルシステム監視を使用して変更を検出し、グラフの関連部分のみを再構築します。
- クエリ提供: LSPエンドポイントとMCPエンドポイントの両方を公開し、開発者とAIエージェントがグラフに対してクエリを実行できるようにします。
対応プラットフォーム
- 任意のLSP準拠エディタ(VS Code、vim/neovim、Emacs、JetBrains IDEなど)
- MCPクライアント(Claude Code、Cursor、Codex、カスタムエージェントなど)
クイックスタート
# グローバルにインストール
npm install -g @standardoc/cli
# プロジェクトのルートで初期化
standardoc init
# スキャンとインデックスを開始
standardoc scan
# 開発サーバーを起動(LSP + MCP)
standardoc serve
詳細な設定オプションとAPIリファレンスについては、ドキュメントを参照してください。
設定
standardoc.toml ファイルでプロジェクトを設定します:
[project]
name = "my-app"
language = "typescript"
root = "./src"
[index]
watch = true
include = ["src/**/*.ts", "src/**/*.tsx"]
exclude = ["node_modules", "dist"]
[lsp]
port = 6009
[mcp]
enabled = true
port = 8000
ライセンス
MIT