What problem does it solve?
It solves the recurring problem of incorrectly wiring dependency injection across AniTrend v2 modules, which can cause ambiguous generic resolutions, misplaced bindings, and broken app startup composition.
Core Features & Use Cases
- Standardized module aggregation: Guides how feature/data modules expose bindings via local
Modules.kt and how the app-level aggregator loads them at startup through InjectorInitializer.
- Cross-layer wiring guidance: Helps you place Android platform helpers in the owning
:android:* modules and reference the layer example matrix for platform anchors.
- Generic-safe binding patterns: Recommends explicit typed lookup for generic contracts (e.g., typed mapper/controller bindings) to avoid Koin inference ambiguity.
- Module addition checklist + testing: Provides a wiring checklist including which aggregator/loader to update and how to add or update Koin resolution tests for the changed bindings.
Quick Start
Add your new module’s module { } provider in the appropriate .../koin/Modules.kt, bind all public dependencies via Koin using the exported alias types, register it in the nearest feature/data aggregator (and in the app core loader if it’s a new top-level data/feature module), then add a focused Koin resolution test that resolves the exact contract you changed.