Skip to content

Eventmodelers Build Kit - Kotlin

Real-time Claude agent that connects to the Eventmodelers Platform and implements board slices as Cratis (Arc + Chronicle) vertical slices in a Kotlin project.

When a slice is marked Planned on your Eventmodelers board, this kit automatically:

  1. Connects to the Eventmodelers Platform in real-time
  2. Fetches the slice definition and board context
  3. Generates a complete Cratis vertical slice (commands, events, projections, read models, React components)
  4. Builds the slice with ./gradlew build and runs tests with ./gradlew test
  5. Updates the board status to Done when complete

The entire process happens automatically, with your Claude agent implementing the slice according to Cratis best practices.

The kit implements the Eventmodelers Build Kits platform contract:

  1. Real-time board subscription — The kit subscribes to your board’s slice status changes
  2. Status-based triggers — Two independent loops:
    • tasks.json non-empty → run prompt.md (reacts to status changes)
    • Slice is Planned in .slices/*/index.json → run backend-prompt.md (builds one slice)
  3. Slice-type routing — Automatically routes to the correct build skill:
    • TRANSLATION or processors[]build-automation (reactors/automation)
    • projections/queries/readModelbuild-state-view (read models)
    • Otherwise (commands/events) → build-state-change (commands/events)
  4. Cratis conformance — Generated slices follow Cratis best practices:
    • One .kt file per slice — every backend artifact (command, event, reactor) lives together
    • @Command data classes carry a handle() method — no separate handler class
    • @EventType data classes use past-tense, self-describing names
    • ConceptAs<T> wraps identities and values in events and read models instead of raw primitives
    • Read models are exposed as Arc queries annotated with @Path
    • Package mirrors the folder structure

See Understanding the Loop for the full mechanics.

This kit sits between the Eventmodelers Platform and Cratis:

See the sibling kits for other language implementations: C# and Java.

Install from git (this package is private, so use the git install path):

Terminal window
npx github:Cratis/Eventmodelers-Build-Kit-Kotlin install

Or use the upstream CLI with this repository as a git stack:

Terminal window
npx @eventmodelers/cli init --stack cratis-kotlin --git https://github.com/Cratis/Eventmodelers-Build-Kit-Kotlin

After installation, run:

Terminal window
node .build-kit/ralph-claude.js
  1. Install the kit
  2. Connect your Eventmodelers board
  3. Mark a slice as Planned on your board
  4. Watch the kit automatically implement it as a Cratis vertical slice — see Run Your First Slice