🌳 Tree-sitter Analyzer

September 16, 2026 · View on GitHub

English | 日本語 | 简䜓䞭文

PyPI Python License Coverage Stars 察応: Claude Code · Cursor · MCP

AI ゚ヌゞェントが信頌できるコヌド むンテリゞェンス — 察応蚀語䞀芧党䜓で正確なクロスランゲヌゞ構造解析、゚ヌゞェントネむティブ蚭蚈MCP + CLI。

TSA は tree-sitter でコヌドベヌスをむンデックスし、コヌル グラフ・シンボル怜玢・構造ク゚リを AI コヌディング ゚ヌゞェントぞ提䟛したす — 8 MCP ツヌル + CLI、完党ロヌカル、テレメトリなし。

なぜ違うのか

  • クロスランゲヌゞ束瞛は蚀語ファミリで門控されたす。 名前の䞀臎だけではクロスランゲヌゞの蟺は生たれたせん。これを匷制するゲヌトは芏玄ではなく実行されるテストです。
  • ゚ヌゞェントネむティブ。 8 MCP ツヌルが構造化 JSON 出力ず verdict ゚ンベロヌプを提䟛し、CLI ずキュレヌション枈みワヌクフロヌからも利甚できたす。
  • 広くか぀正確に分類。 13 蚀語は pipeline_registeredパむプラむン登録枈み、非 E2Eです。これは登録・配線の蚌拠であり、クロスファむル呌び出し解決の怜蚌を意味したせん。詳现は生成された察応深床むンベントリを参照。

v1.x からの移行は docs/MIGRATION.md を参照。


はじめに

Python 3.10 以䞊が必芁です確認: python3 --version。必芁に応じお python.org からむンストヌルしおください。

自動むンストヌル掚奚

curl -fsSL https://raw.githubusercontent.com/aimasteracc/tree-sitter-analyzer/main/install.sh | bash

install.sh は uv の有無を確認しお未むンストヌルなら自動導入し、Claude Desktop / Claude Code / Cursor / VS Code の蚭定ファむルを怜出しお MCP ゚ントリを自動曞き蟌みしたす。セットアップ埌は tree-sitter-analyzer --doctor で蚭定を確認できたす。

ブヌトストラップの信頌性に぀いお: 利䟿性のため、䞊蚘コマンドは uv が未むンストヌルたたは叀い堎合、公匏 uv むンストヌラを TLS 経由でダりンロヌド・実行したす。このむンストヌラは可倉であり content-bound ではありたせん。TSA はダりンロヌド前に譊告を衚瀺し、むンストヌル埌に厳密なバヌゞョン確認を行いたす。この未怜蚌のブヌトストラップを避けたい堎合は、事前に uv >= 0.11.0 を手動でむンストヌルするか、次のセキュアなオプトアりトを䜿甚しおくださいブヌトストラップが必芁な堎合は手動むンストヌル手順を衚瀺しお終了したす:

curl -fsSL https://raw.githubusercontent.com/aimasteracc/tree-sitter-analyzer/main/install.sh \
  | TSA_DISABLE_UNVERIFIED_UV_BOOTSTRAP=1 bash

Claude Code ぞワンラむナヌでむンストヌル:

claude mcp add tree-sitter-analyzer \
  --env TREE_SITTER_PROJECT_ROOT="$PWD" \
  -- uvx --from "tree-sitter-analyzer[mcp]" tree-sitter-analyzer-mcp

゚ヌゞェントを再起動し、こう䌝える: 「index ツヌルを action=status で呌んでください。」 CLI での同等操䜜 (゚ヌゞェント䞍芁): tree-sitter-analyzer --codegraph-status

PyPI / uvx ナヌザヌぞ — スキルのむンストヌル: tsa-* スキルはホむヌルに同梱されおいたす。䞀床だけ次のコマンドでむンストヌルしおください:

tree-sitter-analyzer --install-skills              # ./.claude/skills/ ぞ (このプロゞェクトのみ)
tree-sitter-analyzer --install-skills-global       # ~/.claude/skills/ ぞ (党プロゞェクト共通)

git clone ナヌザヌはすでに .claude/skills/ に含たれおいるため、操䜜䞍芁です。

その他の゚ヌゞェント (Cursor / Copilot / Cline / Continue / Claude Desktop / Roo Code) →

クむック むンストヌル

1. 䟝存関係をむンストヌル

# uv (必須)。この公匏簡易むンストヌラは可倉で content-bound ではありたせん。
# 代替の手動むンストヌル方法は https://docs.astral.sh/uv/ を参照。
curl -LsSf https://astral.sh/uv/install.sh | sh        # macOS / Linux
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"  # Windows

2. Tree-sitter Analyzer をむンストヌル

# スタンドアロンむンストヌル(æ°žç¶š CLI コマンド):
uv tool install "tree-sitter-analyzer[all,mcp]"
# — むンストヌル䞍芁でも可:䞋の MCP ゚ントリは uvx でオンデマンド実行されたす。
# uv 管理の Python プロゞェクト内では: uv add "tree-sitter-analyzer[all,mcp]"

3. ゚ヌゞェントぞ接続

察応゚ヌゞェントを参照。倚くのクラむアントで以䞋の MCP 蚭定を䜿甚:

{
  "mcpServers": {
    "tree-sitter-analyzer": {
      "command": "uvx",
      "args": ["--from", "tree-sitter-analyzer[mcp]", "tree-sitter-analyzer-mcp"],
      "env": { "TREE_SITTER_PROJECT_ROOT": "/絶察パス/プロゞェクト" }
    }
  }
}

再起動埌: 「index ツヌルを action=status で呌んでください。」 CLI での同等操䜜 (゚ヌゞェント䞍芁): tree-sitter-analyzer --codegraph-status

自分のリポゞトリでリゟルバの動䜜を確認むンストヌル䞍芁、最初に再むンデックスしたす:

uvx --from tree-sitter-analyzer miswire-audit .

クロスランゲヌゞの名前衝突候補を報告し、自分のリポゞトリでリゟルバの動䜜を調査できたす。結果は蚺断情報であり、競合ベンチマヌクの䞻匵ではありたせん。


なぜ Tree-sitter Analyzer か

  • 構造化出力。 MCP 応答は暙準 JSON ゚ンベロヌプを䜿甚したす。ペむロヌドの挙動はレスポンス契玄テストで保護されおいたす。
  • Verdict ゚ンベロヌプ。 すべおの応答に verdict: SAFE | CAUTION | UNSAFE | INFO | REVIEW | WARN | ERROR | NOT_FOUND が付き、オヌケストレヌタヌは結果に応じお分岐できたす。
  • プロゞェクト健党性 A-F グレヌディング。 サむズ、耇雑床、カバレッゞ、重耇、䟝存、構造、git ホットスポットを組み合わせお評䟡したす。
  • キュレヌション枈みワヌクフロヌSkills。 「シンボル怜玢」「コヌル チェヌン远跡」「健党性評䟡」「リファクタヌ前の安党チェック」「PR レビュヌ」などのツヌル サブセットを提䟛したす。
  • 倚局的な安党保護。 edit action=safe + edit action=guard + 制玄 DSL + edit action=impact + verdict ゚ンベロヌプで、線集前のリスク刀断を支揎したす。
  • CLI/MCP パリティず統合ク゚リ DSL。 同じ解析プリミティブを゚ヌゞェントずシェル ナヌザヌが利甚できたす。

䞻芁機胜

事前むンデックス コヌド むンテリゞェンス

゚ヌゞェントのコストは応答の倧きさではなくタヌン数が支配したす。远加のツヌル呌び出しは毎回、䌚話党䜓を再送したす。TSA は、問いが「もう尋ねなくおよい」ず刀断できる根拠を応答に茉せお返すように䜜られおいたす。

問いTSA ツヌル応答に茉るもの
このシンボルはどこにあり、䜕が参照しおいるかnav action=navigate定矩䜍眮、参照、コヌル階局をたずめお
これを倉えるず䜕が壊れるかnav action=impact掚移的䟝存先ずリスク刀定
誰がこれを呌び、これは䜕を呌ぶかnav action=callers / action=callees解決枈み呌び出し地点ず、解決できなかった地点
名前でシンボルを探すsearch action=symbol関連床順の䞀臎 (FTS5 + BM25)
関連シンボルを関係マップ付きで取埗structure action=explore芁求したシンボルずその぀ながり
むンデックスは今䜿えるかindex action=statusカバレッゞ、鮮床、゚ッゞ数
コヌル グラフを構築・曎新index action=auto / action=full / action=sync実行埌のむンデックス状態
この倉曎が觊れるテスト--affected FILE... (CLI)掚移的に圱響を受けるテスト

コヌド ナビゲヌション以倖の機胜

胜力TSA ツヌル説明
BM25 ランク付き怜玢党怜玢ツヌル党結果に min-max 正芏化した relevance_score; DSL で sort(by='confidence')
セマンティック怜玢 (BM25 事前フィルタ)search action=chain (semantic() DSL)コサむン再ランク前に字句フィルタリング
プロゞェクト A-F 健党性グレヌディングhealth action=projectサむズ、耇雑床、䟝存、カバレッゞ、重耇、構造、git ホットスポットを統合
JSON 出力党ツヌル、デフォルト output_format: "json"暙準の構造化レスポンス ゚ンベロヌプ
Verdict ゚ンベロヌプ党ツヌルSAFE/CAUTION/UNSAFE/INFO/WARN/ERROR/NOT_FOUND
Safe-to-edit ゲヌトedit action=safe / action=guard高リスク線集前に拒吊
アヌキテクチャ制玄 DSLedit action=constraints「モゞュヌル A は B に䟝存犁止」→ 匷制
ファむル レベル健党性health action=fileブロック / 長メ゜ッド / コヌド スメル怜出
クラス階局structure action=class_tree型継承ツリヌ
䟝存マトリクスhealth action=matrixモゞュヌル結合マトリクス
デッド コヌドhealth action=dead掚移的到達䞍胜解析
耇雑床ヒヌト マップhealth action=heatmap関数別埪環的耇雑床 + プロゞェクト ビュヌ
AST 構造的クロヌン怜出viz action=similarityテキスト䞀臎ではなく構造的クロヌン
Mermaid コヌル グラフ ゚クスポヌトviz action=graphドキュメントぞ盎接貌付
UML Mermaid ゚クスポヌトviz action=umlclass / package / component / sequence 図
PR レビュヌedit action=prAST diff + セマンティック分類 + blast radius
agent_summary党応答゚ンベロヌプに次ステップ ヒントを内蔵
Synapse クロスファむル リゟルバ内郚ファむルをたたぐ import 考慮の名前解決
時間的アクティベヌションnav action=lineageシンボル別 git 修正頻床
ファむル把握project action=smart健党性 + ゚クスポヌト + 䟝存 + 線集リスクをたずめた応答で返す
アヌキテクチャ意思決定ゞャヌナルproject action=journalセッション間で掚論を氞続化

Skills

TSA は .claude/skills/tsa-*/ 䞋にキュレヌション枈みワヌクフロヌを提䟛したす:

tsa-landing、tsa-find、tsa-graph、tsa-structure、tsa-deps、tsa-index、tsa-health-watch、tsa-edit-safety、tsa-edit-then-verify、tsa-constraints、tsa-pr-review、tsa-refactor-queue、tsa-temporal。

各 skill は allowed-tools ツヌル サブセット + 手順レシピ + 決定面スキヌマを同梱し、゚ヌゞェントは 8 個のツヌルから毎回遞別する必芁がありたせん。

354 の CLI フラグ

䞻なもの:

tree-sitter-analyzer --table full <file>          # メ゜ッド/シグネチャ/耇雑床テヌブル
tree-sitter-analyzer --partial-read --start-line N --end-line M <file>
tree-sitter-analyzer --project-health             # プロゞェクト A-F グレヌディング
# 泚意: --callers / --callees はコヌルグラフむンデックスが必芁 — 先に --full-index を実行
tree-sitter-analyzer --full-index                 # コヌルグラフむンデックスを構築䞀床だけ
tree-sitter-analyzer --callers <symbol>           # 呌び出し元
tree-sitter-analyzer --codegraph-impact <fn>      # blast radius + リスク
tree-sitter-analyzer --affected <file...>         # 圱響を受けるテスト
tree-sitter-analyzer --dead-code                  # 掚移的到達䞍胜
tree-sitter-analyzer --check-constraints          # アヌキテクチャ芏則
tree-sitter-analyzer --safe-to-edit <file>        # リスク時に拒吊
tree-sitter-analyzer --uml class                  # Mermaid UML class 図

TSA はむンデックス怜玢ず有界なラむブ゜ヌス怜蚌をプロセス内で実行したす。ripgrep や fd のむンストヌルは䞍芁です。削陀された怜玢ラッパヌからの移行は migration guide ず CLI codemap を参照しおください。


定量的䞻匵のガバナンス

公開するベンチマヌク、性胜、競合比范の数倀は、benchmarks/codegraph_compare/claim_registry.json の provenance-bound registry からのみ生成したす。E4 蚌拠は、ツヌル名ずバヌゞョン、枬定倀、コヌパス、ベンチマヌク日付/バヌゞョン、artifact digest を厳密に結び付ける必芁がありたす。E4 未満の蚌拠は内郚情報に留たり、公開文蚀を生成できたせん。ベンチマヌク runbook を参照しおください。

生成項目がない堎合、公開が承認された定量的䞻匵は珟圚ありたせん。䞊蚘の定性的説明は境界を明瀺した補品胜力であり、枬定枈みの優䜍性を䞻匵するものではありたせん。


仕組み

゜ヌス コヌド → tree-sitter 解析 → SQLite + FTS5 むンデックス (.ast-cache/index.db)
                                          ↓
       nav (navigate) / structure (explore) / nav (callers) / ...
                                          ↓
                            JSON レスポンス ゚ンベロヌプ
                            (verdict + agent_summary + デヌタ)
                                          ↓
                               MCP クラむアント / CLI 消費者

8 個のツヌルMCPがむンデックス枈みク゚リず盎接的な゜ヌス解析を提䟛したす。 玢匕枈みのシンボル/コンテキストク゚リの前に、tree-sitter-analyzer --ast-cache --ast-cache-mode index --format json で AST むンデックスを明瀺的に構築しおください。゜ヌス倉曎埌は index action=sync でリフレッシュしたす。玢匕枈みク゚リはキャッシュされた AST デヌタを再利甚したす。自動りォヌムアップは個々のツヌルに固有です。


察応゚ヌゞェント

📘 Claude Code (掚奚)
claude mcp add tree-sitter-analyzer \
  --env TREE_SITTER_PROJECT_ROOT="$PWD" \
  -- uvx --from "tree-sitter-analyzer[mcp]" tree-sitter-analyzer-mcp

怜蚌: claude mcp list。同梱の tsa-* skills は .claude/skills/ から自動怜出されたす。

PyPI / uvx ナヌザヌ — 同梱スキルを䞀床むンストヌル:

tree-sitter-analyzer --install-skills              # ./.claude/skills/ ぞ (このプロゞェクトのみ)
tree-sitter-analyzer --install-skills-global       # ~/.claude/skills/ ぞ (党プロゞェクト共通)

git clone ナヌザヌはすでに含たれおいるため䞍芁です。

📗 Claude Desktop

claude_desktop_config.json を線集 (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\, Linux: ~/.config/Claude/):

{
  "mcpServers": {
    "tree-sitter-analyzer": {
      "command": "uvx",
      "args": ["--from", "tree-sitter-analyzer[mcp]", "tree-sitter-analyzer-mcp"],
      "env": { "TREE_SITTER_PROJECT_ROOT": "/絶察パス/プロゞェクト" }
    }
  }
}
📙 GitHub Copilot (VS Code)

.vscode/mcp.json を䜜成 (泚: キヌは servers、mcpServers では無い):

{
  "servers": {
    "tree-sitter-analyzer": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "tree-sitter-analyzer[mcp]", "tree-sitter-analyzer-mcp"],
      "env": { "TREE_SITTER_PROJECT_ROOT": "${workspaceFolder}" }
    }
  }
}
🖱 Cursor / Cline / Continue / Roo Code

すべお Claude Desktop ず同じ mcpServers スキヌマを䜿甚。Cursor: 蚭定 → MCP。Cline: MCP パネル → 蚭定線集。Continue: ~/.continue/config.json の experimental.modelContextProtocolServers。Roo Code: MCP パネル → MCP 蚭定線集。

🐳 Docker (ロヌカルに Python / uv が無い堎合)

このリポゞトリには、゜ヌスから MCP サヌバヌ (stdio トランスポヌト) をビルドする Dockerfile が同梱されおいたす。そのためむメヌゞは垞にコミット枈みのコヌドず䞀臎したす。

# 䞀床だけビルド
docker build -t tree-sitter-analyzer-mcp .

# 珟圚のリポゞトリに察しお実行 (サヌバヌは stdio で MCP を話す; -i は stdin を開いたたたにする)
docker run --rm -i --user "$(id -u):$(id -g)" \
  -v "$PWD:/work" -w /work tree-sitter-analyzer-mcp

--user "$(id -u):$(id -g)" はホストの UID/GID で実行するため、バむンド マりントされたリポゞトリ䞋の .ast-cache/、意思決定ゞャヌナル、edit による曞き蟌みはすべお root ではなくあなたの所有になりたす。

MCP クラむアント蚭定 (コンテナ内のプロゞェクト ルヌトはマりント ポむント /work):

{
  "mcpServers": {
    "tree-sitter-analyzer": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "--user", "1000:1000",
        "-v", "/絶察パス/プロゞェクト:/work",
        "-w", "/work",
        "-e", "TREE_SITTER_PROJECT_ROOT=/work",
        "tree-sitter-analyzer-mcp"
      ]
    }
  }
}

⚠ TREE_SITTER_PROJECT_ROOT は 絶察パス が必須。サヌバヌは SecurityValidator で゚スケヌプを防ぐセキュリティ境界を匷制する。


サポヌト蚀語

ランタむムレゞストリから生成。22 蚀語プラグむン; 13 は pipeline_registered非 E2E、3 は index_admitted、0 は call_dispatch_only、5 個は data/markup、1 個はスキャフォヌルド。登録は正のクロスファむル束瞛を保蚌しない。

ティア蚀語
pipeline_registeredパむプラむン登録枈み、非 E2EC · C++ · C# · Go · Java · JavaScript · Kotlin · PHP · Python · Ruby · Rust · Swift · TypeScript
index_admittedむンデックス受け入れ枈みBash · Lua · Scala
call_dispatch_onlycall dispatch のみ
単䞀ファむル解析 (CLI)CSS · HTML · Markdown · SQL · YAML
スキャフォヌルド (プラグむン有 / むンデクサヌ結線埅ち)JSON

Lua はむンデックス受け入れ枈みで call dispatch ず resolver slot も持぀が、import dispatch ずクロスファむル E2E 蚌拠は未確認。


蚭定

基本的に蚭定䞍芁。デフォルトで゚ヌゞェントに接続しお忘れお構わない:

  • 出力圢匏: JSON。明瀺的に output_format: "json" を指定できたす。
  • プロゞェクト ルヌト: TREE_SITTER_PROJECT_ROOT (env, MCP) たたは --project-root (CLI)。
  • キャッシュ堎所: <project>/.ast-cache/。安党に削陀可 — 自動再構築される。
  • 任意: TREE_SITTER_OUTPUT_PATH 倧出力の曞き蟌み先。

品質ずテスト

指暙倀
テスト通過包括的テストスむヌト ✅
カバレッゞCoverage
型安党性mypy
プラットフォヌムmacOS · Linux · Windows通垞操䜜。スナップショット蚌拠は䞊蚘のずおりより狭い範囲ずなる
Pre-commit ゲヌトruff · bandit · mypy · pyupgrade · detect-secrets · tsa-codemap-sync
uv run pytest -q                                # 境界付きのロヌカル高速ゲヌト
uv run pytest tests/ -q --timeout=120 -m "not e2e and not network and not benchmark"  # 包括的なロヌカル スむヌト
PYTEST_XDIST_AUTO_NUM_WORKERS=1 uv run pytest -q --maxfail=1                  # 高速ゲヌト、ワヌカヌ1 (CPU負荷を抑える)
PYTEST_XDIST_AUTO_NUM_WORKERS=2 uv run pytest -q --maxfail=1                  # 高速ゲヌト、ワヌカヌ2 (バランス型)
uv run pytest --lf --maxfail=1                  # 前回倱敗したテストだけ再実行
uv run python check_quality.py --new-code-only  # 品質ゲヌト

トラブルシュヌティング

症状修正
.swift / .kt / .rb / .php / .cs で unsupported language珟行のサポヌト察象リリヌスぞ曎新しおください — この蚀語欠萜は commit 50e99a8f で修正枈みです。extras 区分の文法モゞュヌルはベヌスむンストヌルに同梱されたせん。pip install "tree-sitter-analyzer[swift]"(たたは kotlin、ruby、php、csharp)で远加しおください。
MCP サヌバヌがクラむアントに衚瀺されないTREE_SITTER_PROJECT_ROOT は絶察パスである必芁がありたす䟋: $(pwd) や /home/user/project。盞察パスだずサヌバヌが誀ったディレクトリに察しお解決しおしたいたす。蚭定線集埌はクラむアントを再起動しおください。tree-sitter-analyzer --doctor で確認できたす。
database is locked.ast-cache/index.db を保持する他プロセスを停止しおください。継続する堎合は rm -rf .ast-cache && tree-sitter-analyzer --full-index を実行しおください。
初回呌び出しが遅い・むンデックスがない䞀郚のツヌルは自動でむンデックスをりォヌムアップしたす。玢匕枈みク゚リの前に --full-index を事前に実行しおください。
゚ヌゞェントが誀ったツヌルを遞ぶtsa-* skill (/tsa-graph、/tsa-find 等) を䜿甚しおください — 各 skill は可芖ツヌルを専甚ワヌクフロヌに制限したす。

開発

git clone https://github.com/aimasteracc/tree-sitter-analyzer.git
cd tree-sitter-analyzer
uv sync --extra all --extra mcp
uv run pytest -q

開発ガむドは docs/CONTRIBUTING.md を参照。


境界ず既知の制限

ここに集めたのは、そのたた読むず宣䌝文句に芋えおしたう範囲の蚘述です。むンストヌル手順を䞭断しないよう、この䜍眮にたずめおいたす。

応答サむズずパラメヌタ名

nav action=navigate は䞀臎したすべおの定矩の本䜓を展開し、切り詰めを報告したせん。耇数のファむルのクラスが共有するシンボル名では、参照集合の党䜓が同じ応答で返りたす。たず search action=symbol で絞り蟌むか、limit を尊重しお truncated を蚭定する nav action=callers / action=callees を䜿っおください。

symbol ず function_name は callers、callees、impact のいずれでも受け付けられたす。navigate ず lineage は symbol を芁求し、function_name を枡すず verdict ゚ンベロヌプではなく䟋倖になりたす。

スナップショット蚌拠のプラットフォヌム範囲

通垞のファむル解析、むンデックスの䜜成/曎新、レガシヌ むンデックス経由のク゚リは、 認蚌枈みスナップショット アクセスずは別物です。既存の Windows 䞊の操䜜パスは、 新しいプラむベヌト WAL スナップショット カヌネルを必芁ずしたせん。これらの操䜜は キャッシュを䜜成・曎新できたすが、認蚌枈みの読み取り専甚アクセスは別の契玄に埓いたす。

このスナップショット実装が远加するのは POSIX 専甚のプラむベヌト デヌタベヌス/WAL 蚌拠キャプチャであり、 蚘述子盞察操䜜、O_NOFOLLOW、安党な倖郚䞀時ディレクトリ、source/manifest/projection チェックの成功を芁求したす。これは Windows の読み取り専甚スナップショット パリティを提䟛する ものでも、明瀺的な access_mode="read_existing" 消費者向けの既存の資栌ゲヌトを拡匵するもの でもありたせん。

Windows のスナップショット認蚌は develop ベヌスラむンの時点ですでに利甚䞍可であり SECURE_FD_SNAPSHOT_UNSUPPORTED、この実装でも匕き続き利甚できたせん WAL_PRIVATE_SNAPSHOT_UNSUPPORTED、completeness="unknown"、スナップショット トヌクンなし。 これは物理むンデックスが空であるこずや、通垞のク゚リが無効化されおいるこずを意味するものでは ありたせん。新しいキャプチャ パスに察するネむティブ Windows 資栌怜蚌は実斜されおおらず、 ロヌカルの胜力テストはその代替にはなりたせん。

ファむル単䜍の certified_at 状態は、完党なスナップショット暩限の代替にはなりたせん。 partial_at の氞続履歎は 本 PR では未実装であり、含たれおいたせん。 䞍完党たたは怜蚌䞍胜な projection は、認蚌枈み消費者を蚱可できたせん。

Pulse / TQL / セマンティック ク゚リ

これらは nav のアクションず内郚 API を支えるサブシステムであり、゚ヌゞェントが蚭定するツヌル面の䞀郚ではありたせん。制限は掚枬に委ねず、明瀺したす。

TQL の時間セレクタは倉曎タむムスタンプを比范するものであり、倉曎回数を比范するものではありたせん。 tql_schema アクションは、玠の :hot ず :recently_modified が共有するりィンドりずデフォルト倀を文曞化したす。深床ク゚リは正確な定矩同䞀性を保持し、トラバヌサル䞊限を超えた堎合は明瀺的に倱敗したす。

Pulse のリク゚ストはスナップショット境界のコンテキストを返したす。識別情報・関係性・逆 import コンテキスト・任意のキャッシュ枈み LSP ゚ンリッチメントのための SQL 読み取りは、呌び出し元が保有するトランザクションを終了させるこずなく savepoint を共有したす。これは SQL ラりンドトリップやレむテンシの保蚌を意味するものではありたせん。

Pulse の Python 逆 import コンテキストは既存のモゞュヌル リゟルバを䜿甚したす。これはクロスランゲヌゞのモゞュヌル解決が完党であるずいう䞻匵ではありたせん。コメント コンテキストにはコメント抜出蟌みで再構築されたむンデックスが必芁です。叀いむンデックスやコメント抜出に察応しおいない蚀語では、空の成功応答ではなく COMMENTS_NOT_INDEXED を返したす。䞍芁な堎合は、文曞化された max_comments 蚭定でコメント コンテキストを明瀺的に省略しおください。欠萜しおいるレガシヌ コミット メッセヌゞ投圱は遅延リフレッシュのため pending になりたす。disabled の有効化状態は保持されたす。レガシヌの NULL 有効化状態も、叀いメッセヌゞやカりントをクリアするこずなく pending になりたす。有効化されたキャッシュ枈みむンデックス䜜成サむクルは、境界付きの有効化リフレッシュを継続したす。Pulse は利甚䞍胜な有効化状態を null ずしお公開し、時間的ク゚リは䞍完党な有効化蚌拠を拒吊したす。リフレッシュは境界付きバッチを通じお実際の Git 履歎を読み取りたす。メッセヌゞ読み取りに倱敗した堎合は、完了したず䞻匵せず保留䞭の䜜業ずしお保持したす。

セマンティック ク゚リには既知の保存枈み埋め蟌みモデルず䞀貫した次元数が必芁です。混圚たたは未知のモデルぱラヌずなり、プロバむダのフォヌルバックはありたせん。オフラむン テストではモデル ダブルを䜿甚したす。これは実運甚プロバむダの品質を保蚌するものではありたせん。

Pulse のバッチ凊理は成功した゚ントリを保持したすが、察象のいずれかが倱敗するず倱敗を報告したす。TQL は欠萜たたは読み取り䞍胜なむンデックスを゚ラヌずしお扱い、これは「マッチなしの準備枈みむンデックス」ずは区別されたす。公開リク゚ストの怜蚌は、むンデックスを開いたり埋め蟌みプロバむダを呌び出したりする前に、無効な型や䞊限倀を拒吊したす。


貢献ずラむセンス

  • ⭐ GitHub star は他の AI ゚ヌゞェント ナヌザヌに本ツヌルを届ける助けに。
  • 💖 スポンサヌ — 継続的な MCP / Skills 開発を支揎。
  • リヌド スポンサヌ: @o93。
  • MIT ラむセンス — LICENSE を参照。
  • リリヌス履歎: CHANGELOG.md。