# ArchTest v0.2.0 - Table of Contents ArchUnit-inspired architecture testing library for Elixir. Write ExUnit tests that enforce dependency rules, layered architecture, modulith bounded contexts, and naming conventions. ## GUIDES - [ArchTest](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) - Guides - [Getting Started with ArchTest](getting-started.md) - [Layered Architecture](layered-architecture.md) - [Modulith / Bounded-Context Rules](modulith-rules.md) - [Freezing (Gradual Adoption)](freezing.md) - Cheatsheets - [ArchTest Cheatsheet](arch_test.md) ## Modules - Core DSL - [ArchTest](ArchTest.md): ArchUnit-inspired architecture testing library for Elixir. - [ArchTest.Assertions](ArchTest.Assertions.md): Core assertion functions for architecture rules. - [ArchTest.ModuleSet](ArchTest.ModuleSet.md): Represents a lazy selection of modules for use in architecture rules. - Architecture Patterns - [ArchTest.Layers](ArchTest.Layers.md): Layered architecture enforcement. - [ArchTest.Modulith](ArchTest.Modulith.md): Modulith / bounded context isolation enforcement. - Data Collection - [ArchTest.Collector](ArchTest.Collector.md): Builds a module dependency graph using OTP's `:xref` tool. - [ArchTest.Pattern](ArchTest.Pattern.md): Glob pattern matching for Elixir module names. - Advanced Features - [ArchTest.Conventions](ArchTest.Conventions.md): Pre-built assertion helpers for common Elixir coding conventions. - [ArchTest.Freeze](ArchTest.Freeze.md): Violation baseline ("freeze") support for gradual architectural adoption. - [ArchTest.Metrics](ArchTest.Metrics.md): Coupling and instability metrics for architecture analysis. - Internals - [ArchTest.Rule](ArchTest.Rule.md): Represents an architecture rule — a description and a check function that evaluates against the dependency graph and returns a list of violations. - [ArchTest.Violation](ArchTest.Violation.md): Represents a single architecture rule violation. ## Mix Tasks - [mix arch_test.gen.conventions](Mix.Tasks.ArchTest.Gen.Conventions.md): Generates a code conventions architecture test file. - [mix arch_test.gen.freeze](Mix.Tasks.ArchTest.Gen.Freeze.md): Generates a freeze baseline architecture test file. - [mix arch_test.gen.layers](Mix.Tasks.ArchTest.Gen.Layers.md): Generates a classic layered architecture test file. - [mix arch_test.gen.modulith](Mix.Tasks.ArchTest.Gen.Modulith.md): Generates a modulith architecture test file. - [mix arch_test.gen.naming](Mix.Tasks.ArchTest.Gen.Naming.md): Generates a naming convention architecture test file. - [mix arch_test.gen.onion](Mix.Tasks.ArchTest.Gen.Onion.md): Generates an onion / hexagonal architecture test file. - [mix arch_test.gen.phoenix](Mix.Tasks.ArchTest.Gen.Phoenix.md): Generates an opinionated Phoenix architecture test file. - [mix arch_test.install](Mix.Tasks.ArchTest.Install.md): Generates a basic architecture test file with a cycle-freedom check.