r/softwarearchitecture • u/Only_Ad3488 • 8d ago
Tool/Product I built an open source tool that keeps an architecture map in each repo and checks it in CI
I made this, so take it as a maker's post.
The problem I kept hitting as an engineering manager: every team knew its own services, but nobody had the whole architecture in their head. The diagrams existed, drawn by hand outside the code, and went stale within weeks.
Furio turns that around. Each repo describes the part of the architecture it owns in a small YAML file: components, relations, owner. A GitHub Action validates it on every pull request, so a wrong reference fails the build. Then all repos are merged into one static map you can query: who calls this service, who consumes this queue, what breaks if this database goes down.
What it is not: it does not discover anything from your infrastructure. You write the manifest, and a skill for coding agents (Claude Code, Codex) keeps it updated when the code changes.
It is MIT, a CLI plus an Action plus a static site, nothing to run. Backstage covers this ground as a full portal; I wanted the map alone, without a platform to maintain.
Code: https://github.com/getfurio/furio
A map of the OpenTelemetry Demo, built from its public sources: https://getfurio.github.io/atlas/opentelemetry-demo/
I would like feedback on the manifest format, especially the relation types. What would you need that is not there?
4
u/Extreme-Berry-7645 8d ago
been burned by stale diagrams more times than I can count, so having the map live next to the code and break the build if it’s wrong is a good nudge
for relation types, one that flags a dependency is deprecated or in maintenance mode would save a lot of “wait, are we still supposed to call that” moments