kotlin-context-di
Installation
SKILL.md
STARTER_CHARACTER = 🔌
Manual Dependency Injection with AppDependencies, SystemContext and TestContext
Structure Kotlin applications using manual DI with an interface-first contract (AppDependencies), a production context (SystemContext), and a standalone test context (SystemTestContext). This approach provides type-safe dependency management, full control over initialization, and excellent testability without framework overhead.
Core Pattern: AppDependencies Interface
Define an interface as the contract for all application dependencies. Use nested interfaces to group related components:
interface AppDependencies {
interface Repositories {
val customerRepo: CustomerRepository
val orderRepo: OrderRepository
}