Skip to content

Eventmodelers Build Kit - Java

Real-time Claude agent that connects to the Eventmodelers Platform and implements board slices as Cratis (Arc + Chronicle) vertical slices in a Java 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 public type per file (one slice folder per slice) — command, event, and reactor sit together
    • @Command records carry a handle() method — no separate handler class
    • @EventType records 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 Kotlin.

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

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

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

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

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