ArchUnit is a free, simple and extensible library for checking the architecture of your Java code using any plain Java unit test framework. That is, ArchUnit can check dependencies between packages and classes, layers and slices, check for cyclic dependencies and more. It does so by analyzing given Java bytecode, importing all classes into a Java code structure. You can find examples for the current release at ArchUnit Examples and the sources on GitHub.
There also exists a port for .NET/C#, which you can find here.
Aug 23, 2021 – New release of ArchUnit (v0.21.0)
Jul 4, 2021 – New release of ArchUnit (v0.20.0)
May 30, 2021 – New release of ArchUnit (v0.19.0)