Shiva Thapa
07/16/2026, 1:46 PM./gradlew aalekhReport). The latest release reimagines it as a transit map: tiers are lines, modules are stops, dependency cycles show up as closed red loops.
• Architecture rule DSL: an aalekh { } block to declare layers, feature isolation, transitive-dependency limits, and no-cycle rules that fail the build (aalekhCheck). SARIF output annotates PRs.
• Historical metrics: a rolling trend window powering KPI sparklines.
It's configuration-cache compatible, detects AGP/KMP via reflection (no hard AGP dependency), and has zero runtime deps beyond the browser.
See it on a real apps (no install needed, just open the link):
Now in Android App: shivathapaa.github.io/Aalekh/assets/report_samples/nowinandroid.html
Now in Android App - with cyclic dependency: shivathapaa.github.io/Aalekh/assets/report_samples/nowinandroid_withcyclic.html
Tallyo (CMP): shivathapaa.github.io/Aalekh/assets/report_samples/tallyo.html
GeoKrishiFarm (CMP): shivathapaa.github.io/Aalekh/assets/report_samples/geokrishifarm.html
Repo + docs: github.com/shivathapaa/Aalekh
Plugin Portal: plugins.gradle.org/plugin/io.github.shivathapaa.aalekh
Feedback very welcome - especially on the rule DSL and anything KMP-specific I might be missing.