
Compile-time code generators that emit DI-framework annotations to eliminate dependency-injection boilerplate, including single-annotation assisted-factory binding and source-aware contribution-merging for plugin-based DI tooling.
A collection of extensions on top of Metro DI to help reduce boilerplate with dependency injection on Kotlin Multiplatform.
@AssistedInject class with a single annotation.Metro is implemented as a Kotlin compiler plugin and does not expose a public FIR/IR extension API. Its only documented third-party integration point is KSP — KSP processors run before Metro's plugin, so any Metro-annotated code they generate is picked up natively, and @dev.zacsweers.metro.Origin keeps contribution-merging exclusions aligned with the source type. The extensions in this repository are KSP processors that emit Metro-annotated code on your behalf.
See the documentation for setup and usage.
A collection of extensions on top of Metro DI to help reduce boilerplate with dependency injection on Kotlin Multiplatform.
@AssistedInject class with a single annotation.Metro is implemented as a Kotlin compiler plugin and does not expose a public FIR/IR extension API. Its only documented third-party integration point is KSP — KSP processors run before Metro's plugin, so any Metro-annotated code they generate is picked up natively, and @dev.zacsweers.metro.Origin keeps contribution-merging exclusions aligned with the source type. The extensions in this repository are KSP processors that emit Metro-annotated code on your behalf.
See the documentation for setup and usage.