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.
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.
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.
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.
Arc — the plot
The shape the story takes: commands in, events out, queries back — typed all the way to the screen.
Chronicle — the record
What happened, in order, immutably. Not a summary. The facts.
Narrator — reading it back
Browse the streams, namespaces and observers, and follow the story your events tell — inside VS Code.
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.
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.
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.
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.