Understand Anything — Codebase Knowledge Graph
Skill by ara.so — Daily 2026 Skills collection.
Understand Anything is a Claude Code plugin that runs a multi-agent pipeline over your project, builds a knowledge graph of every file, function, class, and dependency, and opens an interactive React dashboard for visual exploration. It produces plain-English summaries of every node so anyone — developer, PM, or designer — can understand the codebase.
Installation
Via Claude Code plugin marketplace
From source (development)
Core Skills / Commands
Typical Workflow
1. Analyze a project
This orchestrates 5 agents in sequence (with file-analyzers running up to 3 concurrent):
- project-scanner — discovers files, detects languages/frameworks
- file-analyzer — extracts functions, classes, imports; builds graph nodes and edges
- architecture-analyzer — groups nodes into architectural layers (API, Service, Data, UI, Utility)
- tour-builder — generates ordered learning tours
- graph-reviewer — validates referential integrity
Output is saved to .understand-anything/knowledge-graph.json in your project root.
2. Open the dashboard
The React + Vite dashboard opens in your browser. Features:
- Graph view — React Flow canvas, color-coded by layer, zoom/pan
- Node inspector — click any node for code, relationships, LLM summary
- Search — fuzzy + semantic search across all nodes
- Tours — guided walkthroughs ordered by dependency
- Persona mode — toggle detail level (Junior Dev / PM / Power User)
3. Ask questions
4. Review diff impact before committing
Returns a list of affected nodes in the knowledge graph — shows ripple effects before you push.
5. Explain a specific file
Knowledge Graph Schema
The graph is stored at .understand-anything/knowledge-graph.json. Key types (from packages/core):
Working with the Core Package Programmatically
Dashboard Development
The dashboard is a Vite + React 18 app using:
- React Flow — graph canvas rendering
- Zustand — graph state management
- TailwindCSS v4 — styling
- Fuse.js — fuzzy search
- web-tree-sitter — in-browser AST parsing
- Dagre — automatic graph layout
Project Structure
Incremental Updates
Re-running /understand only re-analyzes files that changed since the last run (based on mtime and content hash stored in the graph metadata). For large monorepos this makes subsequent runs fast.
To force a full re-analysis:
Development Commands
Common Patterns
Before a code review
Onboarding a new engineer
Researching a feature area
Understanding an unfamiliar module
Troubleshooting
/understand times out on large repos
- The file-analyzer runs up to 3 workers concurrently. Very large repos (>50k files) may need patience. Delete
.understand-anything/and re-run if a previous run was interrupted.
Dashboard doesn't open
- Run
pnpm --filter @understand-anything/dashboard buildfirst if working from source, then retry/understand-dashboard.
Stale graph after major refactor
- Delete
.understand-anything/knowledge-graph.jsonto force full re-analysis:rm .understand-anything/knowledge-graph.json && /understand
pnpm install fails with workspace errors
- Ensure you are using pnpm v8+:
pnpm --version. The project uses pnpm workspaces defined inpnpm-workspace.yaml.
Search returns no results
- Confirm the graph was generated:
cat .understand-anything/knowledge-graph.json | head -5. If empty or missing, run/understandfirst.
Contributing
License: MIT © Lum1104


