agf-code-map

$npx mdskill add pcliangx/AppGenesisForge/agf-code-map

Builds persistent code graphs and analyzes change impact for legacy projects.

  • Understands unfamiliar codebases on day one or during PR review.
  • Uses tree-sitter, SQLite, and a CLI tool in tools/codemap/.
  • Decides based on reverse BFS import analysis and risk scoring.
  • Delivers static HTML dashboard, explanations, and context subgraphs.

SKILL.md

.github/skills/agf-code-mapView on GitHub ↗
---
name: agf-code-map
description: Deeply Understand (codemap) — 持久化代码图谱 + 变更影响分析 + 理解地图。接手遗留项目 Day-1 / PR 影响分析 / 解释陌生代码 / PRD·ADR 前现状理解时用。编排 tools/codemap/ 的 codemap CLI
---

# agf-code-map(Deeply Understand / codemap)

[ADR-021](../../../docs/adr/021-code-understanding-engine.md) Deeply Understand 代码理解引擎的 AGF 入口。Python 原生(`tools/codemap/`),SQLite 持久图谱 + tree-sitter 多语言 + 反向 BFS 影响分析 + 静态 HTML dashboard。**替换 `agf-understand`**(M8 验证后删 `agf-understand.js`)。

## 何时用

- **接手遗留项目 Day-1**:`codemap build` + `onboard` + `dashboard`
- **PR / 改动影响分析**:`codemap diff`(→ code-reviewer 审查清单)
- **解释陌生文件/函数**:`codemap explain`
- **PRD/ADR 前现状理解**:`codemap understand`(接管 agf-understand 的理解地图)

## 命令(tools/codemap/ 下 `uv run codemap <subcmd>`)

- `build [path]` — 全量建图 → `.agf/code-map.db`
- `update` — 增量(git diff + 双指纹)
- `diff [--base <ref>] [--hop N]` — 变更影响分析(反向 import BFS + 风险评分)
- `explain <target>` — 节点深度解释(邻居 + 源码片段)
- `onboard` — 项目概览 + 复杂度热点 + 高扇入
- `understand [topic]` — 理解地图(目录子系统 + 核心依赖 + 风险点)
- `context "<query>"` — 相关子图(给 agent 注入)
- `search "<query>"` — 检索(默认 FTS5 关键词;跑过 `embed` 后自动启用 semantic 余弦,三态降级)
- `embed` — 生成节点 embedding 存 `.agf/code-map.db`(需 `uv sync --extra semantic`;jina-code-v2,首次下载 ~90MB + torch;未装/未跑则 search 自动降级 FTS,功能不中断)
- `dashboard [--out <path>]` — 静态 HTML 图(cytoscape,浏览器 open)

## 语言覆盖

首发 7 语言:Python / TS / JS / SQL / YAML / JSON / Java(04 设计)。Swift/WXML 诚实缺口(04 §6)。

## 纪律(08)

- DU 是**事实层**(确定性代码事实),**不碰** `docs/specs/` / `docs/adr/` / `docs/design/DESIGN.md` / OpenAPI 契约
- 产物 `.agf/*` gitignored(派生缓存,可重建);消费层报告落 `docs/reviews/`
- DU **不投票** verdict(ADR-010 不变)——给 reviewer 事实参考,verdict 仍从 findings 推导

More from pcliangx/AppGenesisForge

SkillDescription
agf-deploying-uatUse when deploy-engineer is about to deploy the merged-to-main code to the isolated local UAT stack (after code review + SIT Audit pass and merge, before qa-engineer runs E2E/UAT). Provides the applicability gate, pre-flight checks, isolated compose bring-up (independent project name + port offset +900), in-container migration, real-output smoke test, hand-off, and the deploy-report skeleton. Pairs with deployment.md "UAT 环境部署" contract and slash /agf-deploy-uat.
agf-design-disciplineUse when uiux-designer is about to produce a design spec (spec.md) or static HTML prototype, or frontend-dev is about to build UI from a design. Provides the anti-AI-slop design discipline layer — Brief Inference (Design Read), three aesthetic dials tuned for product UI, AI Tells blacklist with overrides, mechanically-checkable Pre-Flight. Sits above the token layer (DESIGN.md) and mechanical review (code-reviewer); does not redeclare tokens or guide non-shadcn design systems. Inspired by taste-skill, cropped for AGF product UI per ADR-013.
agf-releasing-appleUse when apple-release-engineer is about to build the signed distributable (TestFlight build / notarized DMG / internal package) from merged-to-main code (after apple code review + SIT Audit pass and merge, before apple-qa-engineer runs E2E/UAT). Provides the applicability gate, pre-flight checks, lane execution per channel, notarization, real-output smoke test, hand-off, and the release-report skeleton. Pairs with deployment.md §7 "Apple 发布" contract and slash /agf-apple-release.
agf-running-apple-sitUse when apple-dev has finished feature code + Unit tests (Swift Testing) and is about to enter code-review. Provides the Apple SIT scope (xcodebuild test + simulator per declared target), the AC-driven integration walk, APIProtocol-mock discipline, and evidence sink (progress/apple-dev.md). SIT is dev-owned; apple-code-reviewer audits the evidence.
agf-running-release-retroUse when product-lead is about to run a release retrospective after a successful MAJOR or MINOR release push (PATCH skipped). Provides applicability gate, pre-conditions, 7-step execution sequence, anti-patterns, and the verification gate before commit. Pairs with template docs/reviews/retro-_TEMPLATE.md and slash /agf-release-retro.
agf-running-sit-testsUse when an execution-layer dev (frontend-dev / backend-dev / ai-agent-dev / ml-engineer / miniapp-dev) has finished feature code + Unit tests and is about to enter code-review. Provides the SIT scope, environment, AC-driven integration walk, and evidence sink (progress/<role>.md). SIT is now a dev-owned step, not a separate QA stage.
agf-skill-stocktakeUse when PL / tech-lead audits the content quality of AGF's own skills (`.claude/skills/agf-*/SKILL.md`). Provides the 5-dimension checklist (Actionability / Scope fit / Uniqueness vs CLAUDE.md+standards / Currency of pointers / Gate-binding validity), 5-verdict rubric (Keep/Improve/Update/Retire/Merge), reason-quality bar (反敷衍), and output skeleton. Triggered each MINOR release retro or manually.
agf-wiring-apple-llmUse when wiring LLM features into the Apple client (macOS / iOS) — streaming chat via the FastAPI multi-LLM gateway, or on-device inference (Apple Foundation Models / Core ML). Provides the route decision (gateway vs on-device), streaming transport pattern, env/config contract, offline & cost guardrails, and minimum verifications before declaring the integration done.
agf-wiring-multi-llm-sdkUse when wiring up or switching between China-domestic LLM providers (DeepSeek, Doubao/Volc Ark, Qwen/DashScope, MiniMax). Provides OpenAI-compatible adapter pattern, env-var contracts, fallback strategy, cost guardrails, and minimum verifications before declaring integration done.
agf-writing-adrUse when tech-lead is about to record an architecture decision (new tech stack member, deviation from baseline, deployment / observability / auth scheme choice). Provides ADR structure, version-audit appendix format, and "what NOT to ADR" guidance. Replaces ad-hoc copy from ADR-000.