Skip to main content

tools-codegraph

Gather whole-repo dependency and semantic graph evidence with codegraph: definitions, references, call edges, cycles, hubs, fan-in/out, and blast radius. Use when assessing module boundaries, dependency direction, coupling, impact of change, or fragile graph shape at architecture-review scale. Index staleness is a coverage gap, not evidence. NOT for exact text discovery (use tools-code-search), single-pattern searches (use tools-ast-grep), or git-history change locality (use tools-gitnexus).

معلومات المصدر

المستودع
alexei-led/architect
آخر نشاط في المصدر
٢٣ مايو ٢٠٢٦ في ١٢:٣٢
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
tools-codegraph
description
Gather whole-repo dependency and semantic graph evidence with codegraph: definitions, references, call edges, cycles, hubs, fan-in/out, and blast radius. Use when assessing module boundaries, dependency direction, coupling, impact of change, or fragile graph shape at architecture-review scale. Index staleness is a coverage gap, not evidence. NOT for exact text discovery (use tools-code-search), single-pattern searches (use tools-ast-grep), or git-history change locality (use tools-gitnexus).
# codegraph `codegraph` builds a persistent graph of the codebase — symbols, references, and call edges — that you query without re-parsing each time. It answers graph-shaped questions ast-grep can't: what depends on this, what does a change affect, where are the hubs and cycles. Evidence dimensions: **dependency** and **semantic**. ## When to use Use to map observed module structure against declared modules, to find import or call cycles, high-fan-in hubs, wrong-way dependencies, and to size the blast radius of a proposed change. Build the graph during the system-map step; query it during evidence gathering. ## Commands ```sh codegraph init # set up graph store; prefer an external cache/store if supported codegraph index # full parse → build the graph codegraph sync # incremental update after changes codegraph status # index health + commit it was built at codegraph query "<expr>" # query symbols / edges codegraph context <symbol> # neighbors of a symbol (callers, callees, refs) codegraph affected <path> # what a change to <path> reaches (blast radius) codegraph files <symbol> # files defining/referencing a symbol ``` Typical flow: `init` once, `index`, then `status` to confirm freshness, then `query` / `context` / `affected` for evidence. ## Stale-index handling Run `codegraph status` before each scoring query batch. If the index commit does not match the working tree, the graph describes an old repo: - Run `codegraph sync` (incremental) or `codegraph index` (full) to refresh. - If you cannot refresh (read-only target, time budget, or no approved writable cache), the stale graph is not evidence — record the dependency dimension `tools_failed` with reason "stale index," and do not score dependency health from it. ## Evidence output Record: - `dimension`: dependency or semantic. - `source`: `codegraph status` freshness, query/context/affected command, and scope. - `facts`: cycles, hubs, fan-in/out, callers/callees, affected paths, or confirmed absence. - `limits`: stale index, partial language coverage, unsupported files, or failed indexing. ## Confidence impact - A fresh graph queried for cycles/hubs/affected is direct dependency evidence: `tools_used`, raises confidence for `dependency_graph_health` and boundary findings. - `affected` output bounds a refactoring plan's risk — cite it in the plan's safety notes. - A stale or partial index caps confidence. Never present graph metrics from an index whose commit you didn't verify. ## Failure and missing-tool handling - Not installed → dependency dimension `tools_missing`; fall back to language dependency tools (tools-python / tools-typescript / tools-go) for cycles and graphs, and record the reduced coverage. Do not infer the dependency graph from raw imports alone without flagging the gap. - `init` / `index` would write into a read-only source tree → use an external writable cache/store if the tool supports it; otherwise ask before mutating the target or record `tools_failed`. - `index` errors on an unsupported language → record which languages the graph covers; treat uncovered languages as a coverage gap, not as "no dependencies." ## When to stop The graph answers cycles, hubs, and blast radius once. After you've recorded those for the applicable modules, stop querying — don't fish the graph for incidental edges that don't bear on a score. If a question is about change over time (who keeps touching this together), that is tools-gitnexus territory, not another codegraph query. ## Hard rules - Verify index freshness with `status` before each scoring query batch. - A stale index is `tools_failed`, never evidence. - Do not wrap codegraph in package code — agents call the CLI directly.
عرض على GitHub