Each project works on its own. Integrations connect them when you want to use them together.
Structured concurrency · published as Lark
Structured concurrency and typed errors are the foundation. Core also supplies application wiring, resilience policies, typed streams, actors, persistence, clustering, Kafka and service testing as separate modules.
Use Core on its own. Typed errors use Lark’s own Fail and Either API; current examples require a source build.
HTTP APIs, clients and contracts
Describe an endpoint, including its failures, as a Kotlin value. Interpret it as a route, an OpenAPI document, a typed client or an MCP tool.
No Core dependency. Choose your backend and codec; 1.0.0 ships Pekko HTTP and Jackson. Jetty is on snapshots.
Load testing and performance measurement
Schedule arrivals, measure response time including late departures, and check whether the generator kept up. Keep a slow service separate from a saturated load generator.
Test any service. No Core or Pelican dependency unless you choose a specific integration.
Compile-time object mapping
Map domain objects to DTOs, rows or messages. A K2 compiler plugin generates constructor calls and collection loops, or reports the fields it cannot fill at compile time.
Use it in an existing Kotlin/JVM build. No Core dependency and no reflection-based mapping engine.
Service operations across existing tools
Bring a service’s alerts, metrics, logs, deployments, owner and runbook onto one page. Follow the links back to the monitoring and deployment systems that supply them.
Runs as its own application and can watch services written with any stack. No Core dependency.
Verification for AI-written code
Run the project’s checks, flag weakened tests and protected configuration edits, and surface the review a change needs. Keep the verification boundary visible before merging.
A standalone CLI and GitHub integration. No Core dependency; agent hooks currently support Claude Code.