Skip to content

Screenplay

Screenplay

Specify the behavior once

You already model a feature end to end on the whiteboard — the events, the command that produces them, and the read model they build. Then implementation details scatter that meaning across several layers. Screenplay records the desired functionality in one declarative .play model. Its versioned semantic model is the contract runtimes and renderers are being migrated to consume; none of them gets to redefine or silently weaken what it says. Get started → · Why Screenplay →

Screenplay owns the script, not the cast. A .play file expresses portable desired functionality; Stage and generated applications are replaceable performances of that meaning. Cratis Arc and Chronicle are the first realization target, not dependencies of the language or its semantic authority. See Why developers choose Cratis for how that realization fits into the wider platform.