Diagrams that cite their sources — and say what they could not see.

Every artifact on this page was generated in CI by the code at the commit it names. None of it is a mock-up, and none of it is checked in.

A rendered Mirofy artifact: ten services coloured by role inside an AWS region and a security group, with a legend naming each role

One command

Point it at a repository. It writes one HTML file you can open, search, share and check.

$ npx mirofy-cli map .
It reads your codeJavaScript, TypeScript, Python, Go, Java, Rust and Kotlin imports, plus manifests and routes, become an evidence graph. What it cannot parse is recorded as a gap, never dropped.
It models what it foundPackages if you have them, source directories if you do not. Nothing is invented to fill a hole.
It writes one filearchitecture.html, next to your code. Every edge carries the file, line and commit it came from.

Start here

This is Mirofy's architecture, produced by pointing Mirofy at its own repository. Click any node to read the file, line range and commit the relationship came from.

scan → model → compile → layout → render
facts recorded
1,216
files cited
220
gaps — files it could not read
14
components derived
18
relationships derived
20
drawn in this view
12
Mirofy's own architecture Mirofy, mapped by Mirofy 6 components were left out of this view on purpose, and the artifact records which and why. Open ↗

14 file(s) could not be read, and they are counted rather than skipped. An empty answer here means not found — never does not exist.

Thirteen repositories it had never seen

A tool that reads other people’s repositories has to be tested against other people’s repositories. Each one below was cloned fresh at the revision named and mapped with one command.

measured 2026-09-03 · mirofy-cli 0.5.2, installed from the registry
facts recorded
278,982
files walked
85,930
languages read
6
with no unresolved reference at all
4 of 13
repositoryatlanguage filesfactsunresolved
spring-projects/spring-boot87cacdaJava11,78778,3680
moby/moby41587e0Go12,87151,1930
vercel/next.js5b8c866TypeScript30,16840,461917
google/guava14c81e5Java3,35238,8850
denoland/denoa961cdeRust14,32422,002236
shadcn-ui/ui71e5095TypeScript5,55413,807231
prometheus/prometheusd141c42Go1,6387,6641
square/okhttp2ea8dc5Kotlin8237,2603
tokio-rs/tokio6858348Rust8496,43649
square/leakcanary66aab8dKotlin1,0476,1703
fastapi/fastapi50113daPython3,1013,555165
google/gsonb3f4ca2Java2982,6638
gin-gonic/gindcaa429Go1185180

Each repository cloned fresh at the revision named, mapped with mirofy-cli installed from the npm registry. Re-verified 2026-09-04: files, facts and gaps exact on all thirteen; check and visual-check passed on every one.

Those runs found thirteen defects in Mirofy, every one of them fixed. A diagram that shows twelve boxes from a thirty-thousand-file repository has made a choice, and hiding that choice is how diagrams start lying — so the unresolved column is printed rather than rounded away.

Five types, six presets

Thirty artifacts, rendered from the same fixtures the golden digests and the conformance suite reason about.

Inside any of them: ? for the guide, / to find a node, R to probe a route, L for the semantic lens, S to cycle presets, T for theme.

Each preview above is this tool's own --format svg-static output — 19 KB, no scripts, no stylesheet needed. It is what you paste into a README or a Figma board, and it carries the document's preset: each card is rendered in the one its highlighted chip names.