The naming

The cast.

Cratis names its products after telling a story — because that is what an information system is. Something happened. Something recorded it. Something has to be able to tell you about it later.

Prologue — what came before the curtain rose

Captures what your existing system actually does — its HTTP commands, its database changes, its telemetry — and interprets that into an event model. It captures metadata, not data. The story, not anyone's private lines.

Docs →

Studio — the storyboard

Where the team maps out what happens: the commands people issue, the events those produce, the read models people look at. On one canvas, in real time, before anyone commits to an implementation.

Docs →

Screenplay — the script

One declarative .play file describing a whole bounded context. Declarative first, with an escape hatch into real code where you need it.

Docs →

Stage — the performance

Hands the script to the cast and lets them perform it — a live, running Cratis application. No code generation, no compilation. The model is the application.

It performs, it doesn't print

Arc — the plot

The shape the story takes: commands in, events out, queries back — typed all the way to the screen.

Docs →

Chronicle — the record

What happened, in order, immutably. Not a summary. The facts.

Docs →

Narrator — reading it back

Browse the streams, namespaces and observers, and follow the story your events tell — inside VS Code.

VS Code extension

Lens — the viewfinder

Frames the scene from someone else's point of view: become any user, step into any tenant, and fire commands at your running app from the browser.

Browser extension

Synopsis — the programme notes

Turns the executable examples scattered through a repository into the clearest account of what the system actually promises. The source proves it; Synopsis makes it readable.

Behaviour documentation

Prompter — offstage, with the line you forgot

Answers Cratis questions on Discord in seconds, grounded in the docs, with citations — and says so plainly when it doesn't know. That honesty is the feature.

Docs →

The metaphor isn't decoration.

The file extension is .play. Stage really does perform — it interprets the model at runtime rather than generating code from it. And the whole pipeline reads as a sentence:

Prologue captures the backstory, Studio storyboards it, Screenplay writes it down, Stage performs it, Chronicle records it, Narrator reads it back, Synopsis tells you what it promised.