Skip to content

EventModelers.ai

Cratis Platform

Carry a modeled slice into implementation

A feature needs more context than a task title: which command starts it, what facts it records, and what the next screen needs to read. EventModelers.ai provides a visual event modeling platform for describing that flow. The Cratis Build Kits connect slice definitions to a coding agent working on an Arc + Chronicle application. Use the model to guide the implementation, then review the code against the decisions you recorded.

The event model puts screens, commands, events, and read models on a shared timeline. A slice selects one behavior from that flow. Event Modeling explains the notation and the four patterns: State Change, State View, Automation, and Translation.

Before handing a slice to an agent, record the decisions that make it implementable:

  1. Describe the behavior. Name the command, the facts it should record, and the read model a screen needs.
  2. Keep the reasoning. Include rules, examples, and the reason for a choice in the slice’s description, notes, and specifications. Resolve open questions before marking the work Planned.
  3. Review the implementation. Compare the resulting fields, events, and executable specifications with the slice definition. If the model changes, check what implementation work remains; a board status does not prove that the code has caught up.

The C# kit installs a starter application, an agent loop, prompts, and build skills. The loop handles pending board tasks and separately checks local slice indexes for work marked Planned. It passes the corresponding prompt to the coding agent; the agent’s instructions select a skill for a command/event pair, a projection/read model, or a reactor.

Those instructions ask the agent to implement the slice, build it, run the slice’s tests, commit, merge to main, and update its status. They describe the requested workflow, not a guarantee that it succeeds. Review the changes and check results before accepting the feature. A generated application or a Done status is not evidence that the intended behavior works.

Each kit’s The Loop and Triggers page owns its input layout, configuration, and trigger details: C#, Kotlin, and Java. Follow the chosen kit’s guide rather than assuming the C# workflow or supported features apply to another language.

Choose your application’s language to find the kit’s own requirements and setup guide:

For the C# kit, you need Node.js 18 or later, Claude Code (or its documented Ollama runner), and an EventModelers.ai account with a board for board-connected work. For Kotlin or Java, follow the language-specific guide linked above; prerequisites and installer behavior may differ.

The C# setup starts with these steps; follow the C# kit guide for the full procedure:

  1. Install in a new, empty directory: npx github:Cratis/Eventmodelers-Build-Kit-CSharp install. It copies a Cratis starter app into the project root and the agent loop into .build-kit/.
  2. Connect a board by giving the kit your EventModelers.ai organization, board, and API token (from app.eventmodelers.ai/account).
  3. Run the loop with node .build-kit/ralph-claude.js, then mark a reviewed slice Planned on your board. Inspect the resulting changes and build and test results before accepting the work.

Keep the slice definition beside the implementation during review. Follow Arc’s vertical-slice guide for feature organization and Chronicle for event storage and processing. Those products own the application’s runtime behavior; the kit supplies instructions to an agent, not runtime enforcement of the model. If you want to implement the feature yourself, follow Build a full-stack feature.