Understand Anything
github.com/egonex-ai/understand-anything- Category
- Developer Tools
- Rank
- No. 678Tools index
Previous survey · No. 1959 ·
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Coding · Data, Retrieval & Knowledge
- Interfaces
- Agent Skill / Plugin
- Builder
- egonex-ai
- GitHub
- 86.2k stars
- Latest release
- v2.9.0
- Date
About
Turns a codebase into an interactive knowledge graph that can be explored, searched, and questioned, with a business-knowledge mode that maps files and functions onto domains and flows such as authentication, payment pipelines, and user lifecycles. Beyond source files it ingests Dockerfiles, Terraform, SQL, Markdown, and 26+ file types, and adds dependency path finding, filtering, semantic search, PNG/SVG/JSON export, and AI-generated guided tours for onboarding. It installs as a plugin for Claude Code, Codex, OpenCode, Gemini CLI, and others.
What it does
A plugin for AI coding agents that reads a repository and hands back a clickable map of it. Bundled scripts do the mechanical part: listing files, sorting them into code, config, docs and infrastructure, and resolving imports with a real parser. Model-driven agents then write plain-English summaries for each file and function, group them into architectural layers and assemble walkthroughs. Everything is saved as a graph file inside the project and opened in a local web dashboard, with chat, change-impact and onboarding commands layered on top.
Why it's ranked here
The split between scripts and model is the reason to take it seriously. File enumeration, import resolution and structural extraction run as bundled scripts the agents are told not to reimplement, and a separate reviewer agent rejects any graph with dangling references or duplicate node IDs. That puts a checkable skeleton under the model's prose. It is MIT licensed, installs natively in Claude Code and through a one-line script for Codex, Gemini CLI, OpenCode and many other agents, and the maintainers ship a deterministic benchmark harness rather than speed claims.
What's good
Privacy handling is concrete: before the graph is written, absolute file paths are rewritten relative to the project, and any path outside it is cut down to its bare filename, so a shared graph does not leak a home directory or company folder layout. Reruns are incremental by default, re-analysing only changed files, and an optional post-commit hook keeps the graph current. The benchmark guide is candid about its limits: it measures only the deterministic stages, runs no model, counts no tokens, and says outright not to present it as an end-to-end result.
Tradeoffs
The first full analysis pushes the whole codebase through a model, and the README itself warns this can consume a significant number of tokens on large projects, recommending a subscription plan or a local model. Summaries, layers and tours are model output, so their quality follows whichever model you point it at; the reviewer agent checks graph structure, not whether a summary is right. Parser-based extraction covers ten languages; Swift, Kotlin, shell and PowerShell files fall back to the agent reading source itself. The headline installer pipes a remote script straight into the shell.
How to use it well
Best fit is an engineer landing in an unfamiliar, sizeable codebase who wants an overview before reading files one by one, or a lead preparing onboarding material for new hires. Run the first analysis on a subscription or local model, and scope it to a subdirectory in a large monorepo to keep cost down. Add an ignore file for generated and vendored folders. Treat the summaries as a starting map to verify against the code, not as documentation of record. It does not replace code search or review tooling for day-to-day changes.
Technical notes+
understand-anything-plugin/packages/core/src/persistence/index.ts resolves a per-project data directory (the legacy .understand-anything directory when present, otherwise .ua) and writes the graph, analysis meta, fingerprints, config and a separate domain graph there as JSON; saveGraph and saveDomainGraph pass nodes through sanitiseFilePaths first, and loadGraph runs validateGraph unless validation is explicitly disabled. understand-anything-plugin/packages/core/src/index.ts exports a TreeSitterPlugin, non-code parsers (Markdown, YAML, TOML, Dockerfile, SQL, GraphQL, Protobuf, Terraform, Makefile, shell), a SemanticSearchEngine built on cosineSimilarity, fingerprint-based change classification and staleness helpers. understand-anything-plugin/agents/project-scanner.md forbids the agent from re-implementing enumeration or import resolution, and understand-anything-plugin/agents/graph-reviewer.md defines the node and edge type vocabulary and rejects any graph with a critical issue. docs/benchmarks/large-monorepo.md documents exit codes 0, 1 and 2 and a pairId check between its JSON and Markdown reports.
Observed
- License
- MIT (LICENSE)
- Language
- TypeScript, organised as a pnpm workspace
- Interface
- Agent plugin driven by slash commands; Claude Code native, other agents via install script
- Parsing
- Tree-sitter grammars for structural extraction, declared in package.json
- Storage
- Local JSON files in a data directory inside the analysed project
- Test runner
- Vitest, declared in package.json
- Benchmark scope
- Deterministic stages only; no model calls or token counts (docs/benchmarks/large-monorepo.md)
Read from README.md, package.json, understand-anything-plugin/package.json, understand-anything-plugin/.claude-plugin/plugin.json, understand-anything-plugin/agents/project-scanner.md, understand-anything-plugin/agents/file-analyzer.md, understand-anything-plugin/agents/graph-reviewer.md, understand-anything-plugin/packages/core/src/index.ts, understand-anything-plugin/packages/core/src/persistence/index.ts, docs/benchmarks/large-monorepo.md, LICENSE.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.