Skip to content

The Cratis ecosystem at a glance

Cratis is an open-source, MIT-licensed platform for building event-sourced and CQRS applications. This post is a quick tour of the ecosystem: what each piece does, how the pieces fit together, and where to go to learn more.

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.

Chronicle’s kernel runs on Microsoft Orleans and exposes a language-agnostic gRPC/protobuf boundary, so any language can implement the contract. AI agents can connect to a running Chronicle through the Chronicle MCP server, regardless of client language.

  • Arc — an opinionated CQRS application framework for ASP.NET Core: commands, queries, validation, authorization, and TypeScript proxy generation. Arc works without event sourcing, with optional Chronicle integration.
  • Components — React components for CQRS and event-sourced applications built with Arc: command dialogs, typed forms, and query-backed data tables.

Inspecting and diagnosing: CLI and Workbench

Section titled “Inspecting and diagnosing: CLI and Workbench”
  • CLI — terminal workflows for inspecting and diagnosing Chronicle: events, observers, projections, read models, and failed partitions.
  • Workbench — the web-based inspection surface for Chronicle event stores.

Cratis also includes an experimental model-first layer, currently in early development:

  • Studio — the collaborative environment for designing, visualizing, and editing Screenplay event models (experimental).
  • Screenplay — a model-first language for event-sourced, CQRS systems — commands, events, projections — rendered by Stage into an Arc + Chronicle application (experimental).
  • Stage — renders Screenplay models into reviewable Arc + Chronicle applications (experimental).
  • Scene — describing a user interface without describing a platform: the UI model of the model-first layer (experimental).
  • Prologue — captures existing system behavior (SQL Server CDC, Postgres logical replication, HTTP, OTLP) into event models for the model-first layer (experimental).

Everything Cratis publishes today is MIT licensed and free to use.