Open-source (MIT) tools for building event-sourced and CQRS applications — free to use, from the event store to the UI.
At the center is Chronicle, an event-sourcing database and processing runtime with a first-class .NET SDK and additional TypeScript, Kotlin/Java (JVM), and Elixir clients — with a Python client coming soon — plus pluggable storage-provider implementations including MongoDB (default), PostgreSQL, SQL Server, and SQLite. Around Chronicle, Cratis provides Arc, an opinionated CQRS framework for ASP.NET Core that works with or without event sourcing; Components for React; the CLI and Workbench inspection surfaces; an experimental model-first layer; and supporting libraries and tools. Everything Cratis publishes today is MIT licensed and free to use.
Cratis is built on a simple conviction: event sourcing is worth it for almost any system that deals with information and business flows — and it should never feel exotic. Everything here is designed to make event sourcing look and feel like idiomatic code in your language, familiar even if you have never event-sourced before, with less friction and boilerplate and a focus on productivity, quality, and reliability. And it is deliberately simple: one ecosystem with the tools a team needs — AI-friendly by design, with free AI skills for building with the stack.
All documentation can be found at https://cratis.io. Engineering writing lives on the blog at https://blog.cratis.io. Want to see it running? Start with the Samples.
| Project | What it is |
|---|---|
| Chronicle | Event-sourcing database and runtime — Orleans-based .NET kernel, pluggable storage (MongoDB default; PostgreSQL, SQL Server, SQLite, in-memory), and language-agnostic gRPC contracts. Docs |
| .NET SDK | The first-class client, shipped with Chronicle itself. |
| TypeScript | Event sourcing for TypeScript and Node.js — the idiomatic client for Chronicle. |
| Kotlin/Java | Event sourcing for Kotlin and Java (JVM), with a Spring Boot starter and a testing library. |
| Elixir | Event sourcing for Elixir, with transactions, optimistic concurrency, and webhooks. |
| Python | Coming soon — pre-alpha, not yet published. |
| MCP server | Connects AI agents to a running Chronicle — works regardless of client language. |
| Project | What it is |
|---|---|
| Arc | Opinionated CQRS framework for ASP.NET Core — commands, queries, validation, authorization, and TypeScript proxy generation. Works without event sourcing; Chronicle integration is optional. Docs |
| Components | React components for CQRS and event-sourced applications built with Arc — command dialogs, typed forms, and query-backed data tables. Docs |
| Project | What it is |
|---|---|
| CLI | Terminal workflows for inspecting and diagnosing Chronicle — events, observers, projections, read models, and failed partitions. Docs |
| Workbench | The web-based inspection surface for Chronicle event stores, shipped with Chronicle. |
| Narrator | Browse Chronicle event stores from VS Code. |
| Lens | Browser extension for Arc apps — switch tenant and identity, execute commands and queries. |
| Project | What it is |
|---|---|
| Studio | Collaborative environment for designing, visualizing, and editing Screenplay event models. |
| Screenplay | A model-first language for event-sourced, CQRS systems — commands, events, projections. |
| Stage | Renders Screenplay models into reviewable Arc + Chronicle applications. |
| Scene | Describing a user interface without describing a platform — the UI model of the model-first layer. |
| Prologue | Captures existing system behavior (SQL Server CDC, Postgres logical replication, HTTP, OTLP) into event models. |
| Project | What it is |
|---|---|
| Fundamentals | The shared building blocks beneath the Cratis stack — concepts, serialization, dependency injection, and type discovery for .NET and TypeScript. |
| Specifications | Specification by Example (BDD) for .NET — Given/When/Then specs with xUnit and NUnit. |
| Synopsis | Turns your specs into living documentation — browsable HTML from .NET, JS/TS, and Gherkin test suites. |
| AI | Free, MIT-licensed AI skills, rules, and agent guidance for building with the Cratis ecosystem (preview). |
| Ensemble | Deterministic expert workflows for AI agents building with the Cratis stack — pre-release, coming soon. |
| Samples | Runnable event sourcing and CQRS samples for the whole stack. |
We have a belief system founded in a set of core values. They represent a mindset of how we approach software development and what we consider important. You can read more about them here.
Our responsibility for running the community is to provide a safe space for everyone. To assure this we have put together a code of conduct.
All that we do follows a set of characteristics that we use as guiding stars. These are characteristics we are building towards and will also be what we look at for contributions.
We welcome contributions to our journey, we have put together a contribution guide to help in setting what our expectations are for contributions.