Cratis.CritterStack.Screenplay
0.13.0
Prefix Reserved
See the version list below for details.
dotnet add package Cratis.CritterStack.Screenplay --version 0.13.0
NuGet\Install-Package Cratis.CritterStack.Screenplay -Version 0.13.0
<PackageReference Include="Cratis.CritterStack.Screenplay" Version="0.13.0" />
<PackageVersion Include="Cratis.CritterStack.Screenplay" Version="0.13.0" />
<PackageReference Include="Cratis.CritterStack.Screenplay" />
paket add Cratis.CritterStack.Screenplay --version 0.13.0
#r "nuget: Cratis.CritterStack.Screenplay, 0.13.0"
#:package Cratis.CritterStack.Screenplay@0.13.0
#addin nuget:?package=Cratis.CritterStack.Screenplay&version=0.13.0
#tool nuget:?package=Cratis.CritterStack.Screenplay&version=0.13.0
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
MARTEN0006instead 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/CritterStackHelpDeskfor 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:
STRATEGY.md— why the adapter is public and how it supports visualization, interoperability, and migrationCOMPATIBILITY.md— exact canonical package sets, research baselines, and support tiersCRITTER_STACK_PATTERN_DISCOVERY_RESEARCH.md— how source behavior maps to State Change, State View, Automation, and TranslationMVP_ACCEPTANCE.md— the explicit stopping criteria for a credible preview and a later 1.0CRITTER_STACK_SCREENPLAY_RESEARCH_AND_ARCHITECTURE.mdCRITTER_STACK_SCREENPLAY_IMPLEMENTATION_HANDOVER.mdIMPLEMENTATION_STATUS.md
Build and test
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 | Versions 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. |
-
net10.0
- Cratis.Screenplay.Generation (>= 0.5.0)
- Cratis.Screenplay.Generation.Contracts (>= 0.5.0)
- Cratis.Screenplay.Generation.DotNet (>= 0.5.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.9.0)
-
net8.0
- Cratis.Screenplay.Generation (>= 0.5.0)
- Cratis.Screenplay.Generation.Contracts (>= 0.5.0)
- Cratis.Screenplay.Generation.DotNet (>= 0.5.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.9.0)
-
net9.0
- Cratis.Screenplay.Generation (>= 0.5.0)
- Cratis.Screenplay.Generation.Contracts (>= 0.5.0)
- Cratis.Screenplay.Generation.DotNet (>= 0.5.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.9.0)
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 |