Cratis.CritterStack.Screenplay 0.11.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Cratis.CritterStack.Screenplay --version 0.11.0
                    
NuGet\Install-Package Cratis.CritterStack.Screenplay -Version 0.11.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cratis.CritterStack.Screenplay" Version="0.11.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cratis.CritterStack.Screenplay" Version="0.11.0" />
                    
Directory.Packages.props
<PackageReference Include="Cratis.CritterStack.Screenplay" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cratis.CritterStack.Screenplay --version 0.11.0
                    
#r "nuget: Cratis.CritterStack.Screenplay, 0.11.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cratis.CritterStack.Screenplay@0.11.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cratis.CritterStack.Screenplay&version=0.11.0
                    
Install as a Cake Addin
#tool nuget:?package=Cratis.CritterStack.Screenplay&version=0.11.0
                    
Install as a Cake Tool

Screenplay.CritterStack

Generate verified Cratis Screenplay definitions from Marten and Wolverine application source.

Cratis.CritterStack.Screenplay follows the same package architecture as Cratis.Arc.Screenplay: a host supplies Roslyn compilations, and the package analyzes framework conventions, builds one semantic application model, lowers it through the shared Screenplay generation SDK, prints canonical .play source, and verifies it with the Screenplay compiler.

This is an independent Cratis compatibility project. It is not affiliated with or endorsed by JasperFx. Marten, Wolverine, JasperFx, and Critter Stack names belong to their respective owners. Generated models may require human review wherever diagnostics report semantic loss.

Goals

  • Marten-only event stores, documents, aggregates, projections, and queries.
  • Generic and instance-based Marten projection registrations, with explicit diagnostics for unsupported async/live lifecycle semantics.
  • Marten document identities from exact configuration, identity attributes, and conventions, without guessing unresolved expressions.
  • Marten compiled-query execution linked to proven Wolverine HTTP query entry points, including public plan parameters; unresolved nested executable flow reports MARTEN0006 instead of guessing.
  • Marten + Wolverine HTTP and message handlers.
  • Current store-agnostic Wolverine event-sourcing APIs and legacy Marten-specific APIs.
  • Markerless event/message discovery from actual framework usage.
  • Deterministic output without starting the application or connecting to PostgreSQL.
  • Explicit diagnostics whenever source behavior cannot be represented faithfully.

Architecture

Roslyn compilations
  -> Marten facts
  -> Wolverine facts
  -> Marten + Wolverine contextual interpretation
  -> Cratis.Screenplay.Generation
  -> verified .play source

The adapter matches framework APIs by metadata name and does not reference Marten or Wolverine runtime packages.

Shared generation infrastructure lives in Cratis/Screenplay.Generation. Cratis CLI owns MSBuildWorkspace, project/host selection, and output.

Canonical fixtures

The compatibility plan uses:

  • Wolverine's current src/Samples/IncidentService;
  • JasperFx/CritterStackHelpDesk for Marten 6/Wolverine 1 behavior;
  • BankAccountES and other focused applications from the local Critter Stack sample corpus;
  • MartenWithProjectAspire for instance-registered async, multi-stream, and event projections.

See:

Build and test

After the first Screenplay.Generation packages are published:

dotnet test Screenplay.CritterStack.slnx --configuration Debug
dotnet build Screenplay.CritterStack.slnx --configuration Release
dotnet pack Screenplay.CritterStack.slnx --no-build --configuration Release -o Artifacts/NuGet

License

Screenplay.CritterStack is licensed under the MIT license.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.24.0 86 8/30/2026
0.23.1 94 8/27/2026
0.23.0 110 8/26/2026
0.22.0 113 8/25/2026
0.21.0 125 8/23/2026
0.20.0 94 8/23/2026
0.19.0 112 8/23/2026
0.18.0 90 8/23/2026
0.17.0 100 8/23/2026
0.16.0 100 8/22/2026
0.15.0 105 8/22/2026
0.14.0 94 8/22/2026
0.13.1 113 8/22/2026
0.13.0 95 8/22/2026
0.12.0 91 8/22/2026
0.11.0 95 8/22/2026
0.10.0 95 8/22/2026
0.7.0 87 8/22/2026
0.6.0 79 8/22/2026
0.5.0 79 8/22/2026
Loading failed