Evidence before ceremony
A useful architecture decision should produce evidence in the same delivery loop as the code it protects.
About ArchUnit
ArchUnit is a family of open-source libraries for teams that want software structure to remain testable as products, organizations, and codebases evolve.
What we are building
The project began with one practical gap: a TypeScript team needed a capable way to test architectural boundaries inside its ordinary test suite. ArchUnitTS became that tool, and the same product idea has since expanded across Python, .NET, Ruby, Rust, Zig, Go, Java, and PHP.
The libraries share a recognizable vocabulary for dependencies, layers, cycles, slices, and design metrics. They do not force identical implementations. Python can use its AST, TypeScript can use the compiler API, and every ecosystem can choose the integration that feels natural to its developers.
Our goal is straightforward: turn architectural intent into feedback that is precise enough to trust, fast enough to use, and clear enough to act on.
How we work
The best guardrail is not the loudest one. It is the one a team understands, trusts, and keeps running.
A useful architecture decision should produce evidence in the same delivery loop as the code it protects.
Shared concepts matter, but every library should respect its language, build system, and testing culture.
A small set of trusted rules is more valuable than a broad policy suite that teams learn to ignore.
Documentation, examples, fixes, and design discussion create a foundation that every ecosystem can build on.
Built in the open
Open source keeps the work grounded. Users can inspect how a graph is built, reproduce a rule result, contribute an edge case, and carry an idea from one ecosystem into another.
That collaboration is also how the project grows. We are a small team working with a wider contributor community, and we care about thoughtful engineering more than where it happens.
Meet the people behind ArchUnit →Work with us
Explore open roles in engineering and go to market, or start a conversation about using ArchUnit with your team.