// Template starter file for the dedicated architecture-test module. // Copy into e.g. :konture-test/src/test/kotlin/ArchitectureGuardrails.kt // Use wildcard/pattern matching (e.g. haveNameMatching, resideInAPackage) // so rules automatically cover new modules and packages. import io.github.baole.konture.architecture import org.junit.jupiter.api.Test class ArchitectureGuardrails { // Foundational Pillar 1 — Dependency Direction & Layer Isolation @Test fun `domain layer should be completely isolated from data and UI layers`() { architecture { // Use wildcard/pattern matching for scalable rule enforcement modules { that().haveNameMatching(":core:domain**") should().notDependOnModule(":core:data**") andShould().notDependOnModule(":feature:**") } } } // Foundational Pillar 6 — API Surface & Visibility Enforcement // Uncomment and adjust once the real `impl` package convention is confirmed. // @Test // fun `classes inside impl packages must be internal`() { // architecture { // classes { // that().resideInAPackage("..impl..") // should().beInternal() // } // } // } }