What problem does it solve?
Provides clear guidance and patterns for designing and implementing dependency injection in Kotlin projects following clean architecture, reducing coupling, improving testability, and ensuring consistent wiring across environments.
Core Features & Use Cases
- Layered Wiring Rules: Defines allowed dependency directions between presentation, domain, data, and common layers to prevent architectural drift.
- Koin & Spring Patterns: Recommends module organization, profile-based module selection, and idiomatic bindings for services and repositories.
- Best Practices: Encourages constructor injection, interface-based contracts, singletons for shared resources, factories for transient objects, and naming conventions for implementations.
- Use Case: Convert an existing Kotlin Telegram bot into a production-ready wiring by replacing in-memory repositories with database-backed implementations and adding dev/prod modules.
Quick Start
Ask the assistant to generate a Koin module that binds your repository and service interfaces to their implementations following the presentation → domain → data layer rules.