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.
What This Kit Does
Section titled “What This Kit Does”When a slice is marked Planned on your Eventmodelers board, this kit automatically:
- Connects to the Eventmodelers Platform in real-time
- Fetches the slice definition and board context
- Generates a complete Cratis vertical slice (commands, events, projections, read models, React components)
- Builds the slice with
./gradlew buildand runs tests with./gradlew test - Updates the board status to
Donewhen complete
The entire process happens automatically, with your Claude agent implementing the slice according to Cratis best practices.
Where to Start
Section titled “Where to Start”- Install the Kit — Get up and running in five minutes
- Run Your First Slice — Watch a slice go from
PlannedtoDone - Connect a Board — Wire the kit up to your Eventmodelers board
How It Works
Section titled “How It Works”The kit implements the Eventmodelers Build Kits platform contract:
- Real-time board subscription — The kit subscribes to your board’s slice status changes
- Status-based triggers — Two independent loops:
tasks.jsonnon-empty → runprompt.md(reacts to status changes)- Slice is
Plannedin.slices/*/index.json→ runbackend-prompt.md(builds one slice)
- Slice-type routing — Automatically routes to the correct build skill:
TRANSLATIONorprocessors[]→build-automation(reactors/automation)projections/queries/readModel→build-state-view(read models)- Otherwise (
commands/events) →build-state-change(commands/events)
- Cratis conformance — Generated slices follow Cratis best practices:
- One public type per file (one slice folder per slice) — command, event, and reactor sit together
@Commandrecords carry ahandle()method — no separate handler class@EventTyperecords use past-tense, self-describing namesConceptAs<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.
Place in the Cratis Ecosystem
Section titled “Place in the Cratis Ecosystem”This kit sits between the Eventmodelers Platform and Cratis:
- Upstream: Eventmodelers Build Kits — The platform that manages board slices
- This Repository: Eventmodelers-Build-Kit-Java — The Java implementation
- Downstream: Cratis Chronicle + Cratis Arc — The frameworks the generated slices build on
See the sibling kits for other language implementations: C# and Kotlin.
Installation
Section titled “Installation”Install from git (this package is private, so use the git install path):
npx github:Cratis/Eventmodelers-Build-Kit-Java installOr use the upstream CLI with this repository as a git stack:
npx @eventmodelers/cli init --stack cratis-java --git https://github.com/Cratis/Eventmodelers-Build-Kit-JavaAfter installation, run:
node .build-kit/ralph-claude.jsNext Steps
Section titled “Next Steps”- Install the kit
- Connect your Eventmodelers board
- Mark a slice as
Plannedon your board - Watch the kit automatically implement it as a Cratis vertical slice — see Run Your First Slice
See Also
Section titled “See Also”- Understanding the Loop — How the two triggers work independently
- CLI Commands —
install,uninstall, andstatus - Cratis Conventions — The conventions the kit enforces, generated from the Cratis AI corpus
- Eventmodelers Build Kits platform contract — The platform skills the kit uses