Muundo documentation¶
A typed code graph, computed rather than described.
Muundo parses a source tree with tree-sitter and returns what is actually there: entities, the calls between them, per-entity metrics, dependencies and reachability. No language server, no build, no network — it reads the files.
It exists because a structural claim about code has to be computed. A model asked whether a function is recursive will answer; a graph will show it.
Start here¶
- Getting started — build it, analyse a tree from Python, then from the shell, and verify what the analysis read
- Reference — the thirteen grammars, every field of a report, all six subcommands, the HTTP API and the limits that keep it safe to expose
What it will not do¶
- Design decisions — the deliberate "no"s. Each one is a thing that looks like a missing feature and is a refusal on purpose, because static analysis cannot do better without either executing your code or building a full language-semantics engine
The claim worth checking¶
partial_analysis lists every file that could not be parsed. A graph that
quietly drops what it failed on produces confident numbers about a subset, and
nothing tells the reader which subset — so Muundo reports it and never drops
it. Read that field before quoting a count from the rest.
An analysis also records the hash of every file it read, and verify re-reads
the tree to check them. That is what lets a finding be attributed to a specific
state of a tree rather than to "the code, at some point".
Licence¶
Apache-2.0 — open source, no conditions beyond the licence's own. Read it, build it, ship it, fork it.
Questions and issues: https://github.com/theAIstep/muundo/issues