← all projects

modulith

An opinionated Android architecture template: Gradle convention plugins and a CI check that fails the build on module-graph violations.

View on GitHub ↗Kotlinupdated 5d ago

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