ArchTest - Architecture rules as tests. Enforced from bytecode

Great suggestion @felix-starman β€” shipped in v0.2.0 :tada:

mix igniter.install arch_test # basic cycle-check file
mix arch_test.gen.phoenix # Phoenix layers + naming + conventions
mix arch_test.gen.layers # web β†’ context β†’ repo
mix arch_test.gen.onion # domain β†’ application β†’ adapters β†’ web
mix arch_test.gen.modulith # bounded-context isolation
mix arch_test.gen.naming # no Managers, schema placement
mix arch_test.gen.conventions # no IO.puts, dbg, bare raise
mix arch_test.gen.freeze # baseline existing violations

Generated files are plain ExUnit tests β€” edit to fit your namespaces and delete what doesn’t apply.

More information in arch_test/README.md at main Β· yoavgeva/arch_test Β· GitHub

Add {:igniter, β€œ~> 0.7”, only: [:dev, :test], runtime: false} and you’re set.

4 Likes