← all projects
modulith
An opinionated Android architecture template: Gradle convention plugins and a CI check that fails the build on module-graph violations.
GradleConvention pluginsCI
High-level design
A Gradle template where the enforcement lives in the build, not in a wiki page nobody reads.
convention plugins
one plugin per module type (android-feature, kotlin-library) — a build.gradle.kts is ~2 lines
↓
checkModuleGraph task
parses module dependencies and fails the build on a disallowed edge
↓
sample modules
:core, :feature-a, :feature-b — prove the check actually catches violations
Low-level design
The graph check is a real static-analysis task, not a lint suggestion:
- –Reads the resolved project dependency graph via the Gradle API, not string-matching build files
- –Fails the build on violation — verified with a red-then-green test case for a feature -> feature edge