Skip to content

Instantly share code, notes, and snippets.

@baole
Created July 15, 2026 18:30
Show Gist options
  • Select an option

  • Save baole/4394fef70a101289cba8222b267d0604 to your computer and use it in GitHub Desktop.

Select an option

Save baole/4394fef70a101289cba8222b267d0604 to your computer and use it in GitHub Desktop.
architecture_test_tools.md
Tooling option Strong at Weak at Use it when Combine with Konture when
ArchUnit Mature JVM bytecode rules and class dependency checks Gradle project graph, KMP source sets, source-level Kotlin intent The system is primarily JVM and the rule is visible in compiled classes You also need module dependency policy, Kotlin visibility, or KMP/platform boundaries
detekt custom rules Kotlin PSI, style, naming, local declaration rules Gradle module graph and cross-module dependency policy The rule is close to lint: naming, annotations, local source conventions A lint finding needs to line up with module ownership or public API boundaries
Gradle Doctor or module-graph plugins Build health, project graph visibility, dependency reports Source imports, signatures, class visibility, API leakage You need graph insight, build performance reports, or dependency hygiene A graph edge is only half the story and source-level leakage also matters
Custom PSI tools Highly specific Kotlin source rules Maintenance cost, build integration, graph awareness You have a narrow organization-specific rule and the team can own the tool The custom rule should run next to build-graph contracts
Runtime or UI testing tools such as Kakao User flows and Android UI behavior Static architecture You are validating behavior, screens, and interaction flows Structural boundaries should fail before they become runtime behavior defects
Plain review checklists Judgment, nuance, exceptions Consistency under time pressure The rule is still evolving or depends on human design trade-offs The checklist item becomes stable enough to execute in CI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment