13 repositories, 13 bugs: what open source taught me about my own tool
Описание и применение
Инструмент для построения диаграмм архитектуры, изначально не справлявшийся с 13 репозиториями, после усовершенствования правил разрешения зависимостей стал корректно обрабатывать Java, Kotlin, Go, Rust, JavaScript, TypeScript и Python, выдавая точные диаграммы без пропущенных ссылок.
Задача
A repository‑analysis tool that draws architecture diagrams failed to resolve references in 13 unseen repositories, producing many false gaps and missing edges.
Результат
After applying stricter resolution logic, the tool accurately resolves dependencies across Java, Kotlin, Go, Rust, JavaScript, TypeScript, and Python, producing gap‑free diagrams for most tested repositories.
Рабочий процесс
- 1. Install the CLI via npm:
npm i -g mirofy-cli - 2. Run the tool against a repository:
npx mirofy-cli map . - 3. Inspect the generated HTML diagram for gaps and edges
- 4. Verify any reported gaps by checking the cited file, line, and commit
- 5. If gaps exist, adjust the source code or report the issue to the tool maintainers
Доказательства
I built a tool that draws architecture diagrams from a repository, where every edge cites the file, line and commit it came from.
The rule the tool works by: Nothing is drawn that cannot be cited. Every edge in the output carries the file, the line and the commit that justifies it — click an arrow, see the import statement.
Reads JavaScript, TypeScript, Python, Go, Java, Rust and Kotlin. Resolves against what a repository declares — the module path in go.mod, the package statements in .java files, the paths in Cargo.toml — rather than against directory conventions.
- Дата записи: 2026-09-11T16:01:55.279Z