Update raw GitHub URLs in README to remove understand-anything-plugin/
prefix for Codex and OpenClaw INSTALL.md paths. Replace Cursor section
with auto-discovery via .cursor-plugin/plugin.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add .cursor-plugin/plugin.json with skills/agents paths pointing into
understand-anything-plugin/. Add .claude-plugin/plugin.json alongside
existing marketplace.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move .codex/, .opencode/, .openclaw/ from understand-anything-plugin/ to
repo root so each AI coding platform discovers its config at the standard
location. Delete .cursor/ (replaced by .cursor-plugin/plugin.json in next
commit). Plugin source code stays inside understand-anything-plugin/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace full flatten approach with minimal restructure: only move platform
config directories (.codex, .opencode, .openclaw) to repo root for discovery.
Add Cursor/Claude plugin descriptors. Remove Gemini extension. Keep all
plugin source code inside understand-anything-plugin/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace all named agent dispatches (project-scanner, file-analyzer,
architecture-analyzer, tour-builder, graph-reviewer) with subagent
dispatches using prompt template files. Add context injection for each
phase including README content, package manifest, directory tree,
framework-specific guidance, and cross-validation data.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each subagent dispatch now injects relevant context from the main session:
- Scanner: README + package manifest
- File Analyzer: framework info + project description from Phase 1
- Architecture Analyzer: framework layer hints + directory tree
- Tour Builder: README + entry point
- Graph Reviewer: scan inventory for cross-validation + phase warnings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Guard diffNodeIds construction and per-edge lookups behind diffMode
check to avoid unnecessary Set spreads and has() calls on every
graph recompute when diff mode is inactive.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Edge weights, node ID prefix conventions, and tag formatting were listed
in both Check 1 (Schema Validation — Critical) and Check 7 (Quality —
Warning). A deterministic script following check headings would classify
these as warnings, potentially approving invalid graphs. Remove the
duplicates from Check 7 since Check 1 already covers them as critical.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The exclusion rule conditionally kept .sh files for bash-first projects,
but the source-file whitelist and language mapping table had no .sh entry,
causing retained shell files to be dropped or untyped. Add .sh/.bash to
the whitelist and language table (mapped to 'bash'), and remove the
conditional exclusion rule.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Duplicate node IDs were listed under Check 6 (Warning) but classified as
critical in the Severity Classification section. A script following check
headings would classify duplicates as warnings, letting invalid graphs
pass review. Move duplicate-ID check to its own Check 5 (Critical) and
renumber subsequent checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Redesign all 5 agent prompts with a "Phase 1 — Script" + "Phase 2 — LLM
Reasoning" structure. Agents now write and execute scripts for deterministic
work (validation, file discovery, structure extraction, graph analysis)
before applying LLM judgment for semantic tasks (summaries, tags, pedagogy).
Key changes per agent:
- graph-reviewer: script performs all 6 validation checks deterministically
- project-scanner: script handles file discovery, language detection, line counting
- file-analyzer: script extracts functions/classes/imports via regex patterns
- architecture-analyzer: script computes import adjacency, inter-group frequency
- tour-builder: script calculates fan-in, BFS traversal, cluster detection
Design safeguards:
- scriptCompleted sentinel field guards against partial script output
- Batch-indexed temp paths prevent collision in concurrent file-analyzer agents
- Explicit "trust the script" directives prevent LLM from re-reading raw data
- Up to 2 script retries on failure
- Explicit instructions to strip intermediate fields from final output
- Bash tool added to all agent tool lists
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously only FILE nodes responded to clicks with the code viewer overlay.
Now all node types open the detail viewer on click. Also added a direct click
handler on CustomNode to fix click events not firing for child nodes inside
group layers on Windows.
Bump version to 1.0.4.
Add Vite resolve aliases for core subpath exports (schema, search, types)
to fix import resolution on Windows where Node.js package exports are not
properly followed by Vite's import analysis.
Bump version to 1.0.3.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add pnpm-workspace.yaml to plugin distribution so workspace:* deps resolve on install
- Add devlop and hast-util-to-jsx-runtime as explicit dashboard dependencies (pnpm strict hoisting)
- Make tsconfig.json files self-contained to work outside monorepo root
- Add prepare script to auto-build core package after pnpm install
- Bump version to 1.0.2
The nested plugin.json inside understand-anything-plugin/.claude-plugin/
conflicted with the root marketplace.json, causing Claude Code to fail
when installing the plugin in user scope with "Source path does not exist" error.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove ChatPanel and @anthropic-ai/sdk dependency (redundant with /understand-chat)
- Replace Monaco editor with styled summary code viewer
- New graph-first layout: 75% graph + 360px right sidebar
- Dark luxury aesthetic: deep blacks, gold/amber accents, DM Serif Display typography
- Add ProjectOverview component for sidebar default state
- Learn persona now shows tour panel directly in sidebar
- Add schema validation on graph load with error banner
- Defensive null checks in store for tour methods
- Agent pipeline: write intermediate results to disk instead of context
- Agent models: sonnet for simple tasks, opus for complex (no haiku)
- Prompt-engineer all 5 agent prompts and SKILL.md
- Auto-trigger /understand-dashboard after /understand completes
- Add dashboard screenshot to README
- Bump version to 1.0.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace "read the whole graph file" instructions with targeted Grep-based
reading in /understand-chat, /understand-diff, /understand-explain, and
/understand-onboard. Each skill now includes a Graph Structure Reference
and extracts only the relevant subgraph (matched nodes + 1-hop edges)
instead of dumping the entire JSON into context. Also update /understand
to reference /understand-dashboard.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New skill command that starts the Vite dev server to visualize the
knowledge graph in a web dashboard.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move packages/{core,dashboard,skill} into understand-anything-plugin/ to
conform to the Claude Code plugin format. Add .claude-plugin/marketplace.json
for plugin discovery. Update workspace config and docs accordingly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Vite dev server now looks for .understand-anything/knowledge-graph.json
in the project root, so users don't need to manually copy the graph file
into public/. Also updates README with clearer installation and usage
instructions, and adds dashboard viewing steps to /understand SKILL.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move existing skills from .claude/skills/ to skills/*/SKILL.md plugin
format. Update CLAUDE.md to reflect all skill commands. Add phase 2
implementation plan.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements the main /understand skill that orchestrates 5 specialized
agents in a 7-phase pipeline to analyze codebases and produce
knowledge-graph.json. Supports full and incremental analysis modes.
- project-scanner (haiku): file discovery, language/framework detection
- file-analyzer (sonnet): code structure extraction, node/edge generation
- architecture-analyzer (sonnet): architectural layer identification
- tour-builder (sonnet): guided learning tour generation
- graph-reviewer (haiku): graph validation and quality checks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add SemanticSearchEngine class that stores pre-computed vector embeddings
for graph nodes and performs cosine similarity search. Enables true semantic
queries (e.g., "find code that handles authentication") even when keywords
don't appear in node data. Returns the same SearchResult type as the
existing Fuse.js-based SearchEngine for compatibility.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Introduces PluginRegistry class that discovers, registers, and manages
analyzer plugins. Maps file extensions to languages, provides a unified
analyzeFile entrypoint, and supports plugin priority via registration
order. Foundation for the community plugin system.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Generates a structured markdown onboarding guide from the knowledge graph,
including project overview, architecture layers, key concepts, guided tour,
file map, and complexity hotspots.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds the explain-builder module that constructs rich context for explaining
a specific file or function. Supports file paths and path:function notation,
gathers child nodes, connected components, layer membership, and formats
a structured prompt for LLM-powered deep-dive explanations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds buildDiffContext and formatDiffAnalysis to map git diffs against
the knowledge graph, identifying changed nodes, affected components,
impacted layers, and risk assessment. Includes 11 tests and skill
definition for Claude Code integration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three persona modes change the dashboard experience:
- Overview (non-technical): 2-column layout with graph + learn/chat,
hides CodeViewer, filters graph to concept/module/file nodes only
- Learn (junior): full 4-panel layout with tabbed Details/Tour panel
- Deep Dive (experienced): full 4-panel layout with NodeInfo, tour
tabs only shown when tour is explicitly active
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>