CLAUDE.md · Egonex-AI/Understand-Anything
CLAUDE.md from Egonex-AI/Understand-Anything: 103 lines covering Project Overview, Prerequisites, Architecture, Dashboard and more.
Template by Egonex-AI
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 103 lines
- File
CLAUDE.md
Sections
- Project Overview
- Prerequisites
- Architecture
- Dashboard
- Agent Pipeline
- Key Commands
- Conventions
- Gotchas
- Scripts
- Viewer Package
- Versioning
- Testing Local Plugin Changes
First lines (shown under the repo's MIT license)
# Understand Anything ## Project Overview An open-source tool combining LLM intelligence + static analysis to produce interactive dashboards for understanding codebases. ## Prerequisites - Node.js >= 22 (developed on v24) - pnpm >= 10 (pinned via `packageManager` field in root `package.json`) ## Architecture - **Monorepo** with pnpm workspaces - **understand-anything-plugin/** — Claude Code plugin containing all source code: - **packages/core** — Shared analysis engine (types, persistence, tree-sitter, search, schema, tours, plugins) - **packages/dashboard** — React + TypeScript web dashboard (React Flow, Zustand, TailwindCSS v4) - **src/** — Skill TypeScript source for `/understand-chat`, `/understand-diff`, `/understand-explain`, `/understand-onboard` - **skills/** — Skill definitions (`/understand`, `/understand-dashboard`, etc.) - **agents/** — Agent definitions (project-scanner, file-analyzer, architecture-analyzer, tour-builder, graph-reviewer) ## Dashboard - Dark luxury theme: deep blacks (#0a0a0a), gold/amber accents (#d4a574), DM Serif Display typography - Graph-first layout: 75% graph + 360px right sidebar - No ChatPanel or Monaco Editor - Sidebar tabs: `Info` (ProjectOverview default → NodeInfo when node selected → LearnPanel in Learn persona, composing) and `Files` (FileExplorer tree built from the structural graph) - Code viewer: prism-react-renderer source viewer that slides up from the bottom on file node click; an expand button promotes it into a full-screen modal. Source content is fetched from the dev server's `/file-content.json` endpoint, gated by access token + a graph-derived path allowlist - Schema validation on graph load with error banner ## Agent Pipeline - Agents write intermediate results to the data directory's `intermediate/` subdirectory on disk (not returned to context) — `.ua/intermediate/`, or `.understand-anything/intermediate/` when that legacy directory is present - Agent model field is omitted from frontmatter so each platform falls back to its configured default — `inherit` was a Claude Code-only keyword that opencode (and similar tools) treated as a literal model id and rejected with `ProviderModelNotFoundError` (see #167) - `/understand` auto-triggers `/understand-dashboard` after completion - Intermediate files cleaned up after graph assembly ## Key Commands - `pnpm install` — Install all dependencies - `pnpm --filter @understand-anything/core build` — Build the core package - `pnpm --filter @understand-anything/core test` — Run core tests - `pnpm --filter @understand-anything/skill build` — Build the plugin package - `pnpm test` — Run all tests (skill tests live at repo-root `tests/skill/`, picked up by root `vitest.config.ts`) - `pnpm --filter @understand-anything/dashboard build` — Build the dashboard - `pnpm dev:dashboard` — Start dashboard dev server - `pnpm lint` — Run ESLint across the project ## Conventions - TypeScript strict mode everywhere - Vitest for testing - ESM modules (`"type": "module"`) - Knowledge graph JSON lives in the analyzed project's data directory: `.ua/` for new projects, or the legacy `.understand-anything/` directory when it already exists (if `.understand-anything/` is present it is used for both reads and writes; otherwise `.ua/`). All bundled scripts and core code self-resolve this rule. - Core uses subpath exports (`./search`, `./types`, `./schema`) to avoid pulling Node.js modules into browser ## Gotchas - **tree-sitter**: Uses `web-tree-sitter` (WASM) instead of native `tree-sitter` — native bindings fail on darwin/arm64 + Node 24 - **Dashboard imports**: Dashboard must only import from core's browser-safe subpath exports (`./search`, `./types`, `./schema`), never the main entry point which pulls in Node.js modules ## Scripts - `scripts/generate-large-graph.mjs` — Generates a fake knowledge graph for performance testing (e.g. large-graph layout). Writes to the project data directory's `knowledge-graph.json` (`.ua/knowledge-graph.json`, or `.understand-anything/` when that legacy directory is present). Usage: `node scripts/generate-large-graph.mjs [nodeCount]` (default: 3000 nodes). Not part of the production pipeline. ## Viewer Package `packages/viewer` serves a committed graph without Claude Code, via `npx <release-asset-url>`. Update it when (a) the dashboard UI changes — the tarball embeds the built `dist/` — or (b) the `vite.config.ts` dev-server middleware changes, which `bin/viewer.mjs` deliberately mirrors. On every release, repack (`pack:release` script) and re-upload the tarball to the GitHub release as `understand-anything-viewer.tgz` — exactly that name, the READMEs' `releases/latest/download/` URL depends on it. ## Versioning When pushing to remote, bump the version in **all six** of these files (keep them in sync): - `understand-anything-plugin/package.json` → `"version"` field - `understand-anything-plugin/.claude-plugin/plugin.json` → `"version"` field - `understand-anything-plugin/packages/viewer/package.json` → `"version"` field - `.claude-plugin/plugin.json` → `"version"` field - `.cursor-plugin/plugin.json` → `"version"` field - `.copilot-plugin/plugin.json` → `"version"` field Note: `.claude-plugin/marketplace.json` does **not** carry a version — the `plugins[]` entry only supports `name` and `source`, and adding other fields causes marketplace schema validation failures. ## Testing Local Plugin Changes Claude Code caches installed plugins at `~/.claude/plugins/cache/understand-anything/understand-anything/<version>/`. Symlinks don't work because Claude's Search/Glob tools can't follow them. To test local changes: 1. **Build the packages:** ```bash pnpm --filter @understand-anything/core build pnpm --filter @understand-anything/skill build ``` 2. **Find the installed version** (must match what the marketplace currently serves): ```bash ls ~/.claude/plugins/cache/understand-anything/understand-anything/ ``` 3. **Copy your local plugin into the cache**, replacing `<VERSION>` with the version from step 2: ```bash rm -rf ~/.claude/plugins/cache/understand-anything/understand-anything/<VERSION> cp -R ./understand-anything-plugin ~/.claude/plugins/cache/understand-anything/understand-anything/<VERSION> ``` 4. **Start a fresh Claude Code session** (existing sessions cache the old prompts in context). 5. **Run `/understand --full`** in the target project to verify. **Re-sync after further changes:** ```bash pnpm --filter @understand-anything/core build && \ cp -R ./understand-anything-plugin/* ~/.claude/plugins/cache/understand-anything/understand-anything/<VERSION>/ ``` **To revert to upstream:** Uninstall and reinstall the plugin from the marketplace — it repopulates the cache from the upstream repo.
Signals
- Stars
- 88,048
- Forks
- 7,430
- Open issues
- 124
- Last commit (this folder)
- Jul 10, 2026 (3 months ago)
- Last release
- Jul 10, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Egonex-AI/Understand-Anything
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Egonex-AI
- 0.870score
understand
Egonex-AI
Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships
SkillAFreshness: A★ 88KClaude Code +9 - 0.836score
understand-onboard
Egonex-AI
Use when you need to generate an onboarding guide for new team members joining a project
SkillBFreshness: B★ 88KClaude Code +9 - 0.779score
understand-explain
Egonex-AI
Use when you need a deep-dive explanation of a specific file, function, or module in the codebase
SkillCFreshness: C★ 88KClaude Code +9 - 0.779score
understand-chat
Egonex-AI
Use when you need to ask questions about a codebase or understand code using a knowledge graph
SkillCFreshness: C★ 88KClaude Code +9 - 0.779score
understand-diff
Egonex-AI
Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks
SkillCFreshness: C★ 88KClaude Code +9 - 0.777score
understand-knowledge
Egonex-AI
Analyze a Karpathy-pattern LLM wiki knowledge base and generate an interactive knowledge graph with entity extraction, implicit relationships, and topic…
SkillCFreshness: C★ 88KClaude Code +9
Cite this page
CLAUDE.md · Egonex-AI/Understand-Anything. Agent Mart. https://agentmart.dev/templates/egonex-ai-understand-anything-claude-md (last updated 2026-10-24)