What problem does it solve?
Managing infrastructure services across multiplatform Kotlin projects typically requires custom wiring, boilerplate configuration, and manual setup. This skill provides a standardized approach to configure, instantiate, and manage services via a serializable Settings model and consistent lifecycle management, reducing boilerplate and increasing reliability.
Core Features & Use Cases
- Settings-based service instantiation: Services are created from serializable configuration objects, enabling consistent initialization and testing.
- Type-safe data interactions: Supports generated DataClassPath and HasId contracts for robust data access across modules.
- Cross-platform support: Designed for Kotlin Multiplatform projects with pluggable implementations for databases, caches, and file systems.
- Lifecycle and serverless readiness: Includes connect/disconnect hooks to support serverless environments and proper resource management.
- OpenTelemetry integration: Optional tracing of service operations when a context-provided OpenTelemetry instance is present.
Quick Start
Instantiate a Settings object for your app, create a SettingContext, build services from Settings, then call connect() to initialize them.