Skip to content
@Cratis

Cratis

Cratis

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.

The ecosystem

Chronicle and its clients

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.

Application layer

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

Inspection and diagnosis

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.

Model-first layer (experimental)

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.

Supporting projects

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.

Values

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.

Code of Conduct

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.

Architectural characteristics

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.

Contributing

We welcome contributions to our journey, we have put together a contribution guide to help in setting what our expectations are for contributions.

Versions

Chronicle

Nuget Docker NPM Maven Central Hex.pm

Arc

Nuget NPM

Components

NPM

CLI

Nuget

Fundamentals

Nuget NPM

Specifications

Nuget Nuget

Pinned Loading

  1. Chronicle Chronicle Public

    Open-source (MIT) event sourcing database and processing runtime — Orleans-based kernel, pluggable storage (MongoDB, PostgreSQL, SQL Server, SQLite), and language-agnostic gRPC clients for .NET, Ty…

    C# 59 8

  2. Arc Arc Public

    Opinionated CQRS application framework for ASP.NET Core — commands, queries, validation, authorization, and full-stack TypeScript proxy generation; optional Chronicle event sourcing integration.

    C# 11 5

  3. Fundamentals Fundamentals Public

    The shared building blocks beneath the Cratis stack — concepts, serialization, dependency injection, and type discovery for .NET and TypeScript.

    C# 2 3

  4. Specifications Specifications Public

    Specification by Example (BDD) for .NET — Given/When/Then specs with xUnit and NUnit, in the style of Machine.Specifications.

    C# 1 1

Repositories

Showing 10 of 44 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…