Skies.Framework.Testing.InMemory 4.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package Skies.Framework.Testing.InMemory --version 4.0.2
                    
NuGet\Install-Package Skies.Framework.Testing.InMemory -Version 4.0.2
                    
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="Skies.Framework.Testing.InMemory" Version="4.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Skies.Framework.Testing.InMemory" Version="4.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Skies.Framework.Testing.InMemory" />
                    
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 Skies.Framework.Testing.InMemory --version 4.0.2
                    
#r "nuget: Skies.Framework.Testing.InMemory, 4.0.2"
                    
#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 Skies.Framework.Testing.InMemory@4.0.2
                    
#: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=Skies.Framework.Testing.InMemory&version=4.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Skies.Framework.Testing.InMemory&version=4.0.2
                    
Install as a Cake Tool

Skies

<p align="center"> <a href="https://skies.build">Website</a> | <a href="https://github.com/lucasrgt/skies/releases">Releases</a> | <a href="docs/CONVENTIONS.md">Conventions</a> | <a href="docs/MIGRATING-TO-SKIES.md">Migration</a> </p>

<p align="center"> <a href="https://www.nuget.org/packages/Skies.Framework"><img src="https://img.shields.io/nuget/v/Skies.Framework?style=flat-square" alt="NuGet"></a> <a href="https://www.npmjs.com/package/skies-frontend-sdk"><img src="https://img.shields.io/npm/v/skies-frontend-sdk?style=flat-square" alt="npm"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="MIT License"></a> </p>

An opinionated .NET convention framework — Rails mindset in C#: minimal decision space, plain stranger-maintainable code, and a "doctor" of Roslyn analyzers that enforce the conventions at build.

  • Slices — one operation = one [Slice] (Input / Output / Handle / Map), thin endpoints.
  • Modular monolith — modules are logical bounded contexts sharing one AppDb; a module writes only its own entities (SKY0009) and references others by id, so a context stays carvable into its own service.
  • The doctor — the SKY#### analyzers catch structural drift (slice shape, co-located tests, ctx.md freshness, write-ownership, shape-derived write journeys, registry error codes…) at build time. Full catalog in docs/CONVENTIONS.md.
  • Agent foundations — every scaffold carries five repository-local protocols: AVP proves declared behavior, NYA prevents known failures, WTW preserves governing decisions and invariants, RTW preserves proven implementation patterns, and NWC reactivates obligations when their cue becomes true.
  • Generatorsskies new, skies g module / slice / entity / vo / crud / auth scaffold exactly the convention.

Two laws hold it together: the output is always stranger-maintainable (plain, idiomatic C#), and the harness is doctor-removabledotnet remove the analyzers and the app still compiles and runs; you only lose enforcement.

Getting started

Install the framework — one meta-package brings the whole runtime and the doctor analyzer:

dotnet add package Skies.Framework

A minimal app — Program.cs reads as a thin index:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSkies();   // slice-aware OpenAPI + enum-as-name JSON
var app = builder.Build();
app.UseSkies();                // serves the typed contract at /openapi/v1.json
app.Run();

Install the CLI (a .NET global tool) to scaffold the conventions:

dotnet tool install -g skies-framework-cli       # the command is `skies`
skies new MyApp                        # scaffold a project
skies g slice Billing CreateInvoice    # a slice + its co-located test
skies g auth                           # the auth module (register/login/refresh/logout/me)
skies doctor                           # run the conventions over back + front

Agent foundation stack

The framework composes five independent tools instead of merging their data or responsibilities:

Foundation Repository question Versioned surface Framework entrypoint
AVP What behavior must this change prove? *.spec.toml and co-located executable proofs skies criteria, skies gate
Not You Again Which corrected failure must never recur? .nya/scars/, policy, and skill skies nya
Why This Way Which decision or invariant governs this change, and why? .agent-first/wtw/records/ and skill skies wtw
Right This Way How does this repository already implement this kind of work? .rtw/ways/ and skill skies rtw
Now We Can Which previously blocked action can proceed now? .nwc/deferments/ and skill skies nwc

The primary coding agent orchestrates all five. Skies does not spawn or require one specialist agent per foundation:

Moment One command Result
Task start or scope change skies context --task "<goal>" --path <expected-path> Bounded decisions, ways, scars, and due work
Before commit or completion skies check --task "<completed work>" AVP plus every semantic gate
Committed review or pre-push skies check --task "<review>" --base <revision> One receipt over the committed delta
Release skies check --task "<release>" --full Exhaustive proof and semantic audit

Every skies new project includes the complete stack: all four versioned stores, all five protocols, portable skills, managed agent instructions, and pre-commit and pre-push checks. There is no reduced scaffold and no per-foundation opt-out. AVP ships as the native proof protocol. The other four commands resolve pinned release binaries, verify their embedded SHA-256 checksums, and cache them outside the repository. No Rust toolchain or global installation is required.

After creating or cloning a Skies project, each developer only selects their personal judge configuration:

dotnet tool run skies nya setup --judge codex

skies foundations init exists for migration, repair, and adoption in an existing repository. It always initializes NYA, WTW, RTW, and NWC together, auto-detects existing AGENTS.md, CLAUDE.md, and GEMINI.md files, and is idempotent. Pass repeated --agent-file <path> options to select other agent surfaces. skies foundations sync upgrades existing repositories from separate foundation blocks to the single primary-agent workflow. Each developer or harness can use a different judge without changing the versioned team protocol. The underlying tools remain independently usable outside Skies; selective installation belongs to those standalone adoption flows, not to the Skies project template.

The ordinary workflow stays small:

dotnet tool run skies context --task "Add invoice approval" --path "src/Billing/**"
dotnet tool run skies check --task "Add invoice approval"

Use individual commands only for their explicit record lifecycle or deeper maintenance:

dotnet tool run skies nya spec --file "specs/invoice-approval.md" --task "Design invoice approval" --path "src/Billing/**"
dotnet tool run skies wtw collect
dotnet tool run skies rtw add
dotnet tool run skies nya remember
dotnet tool run skies nwc resolve --id <id> --evidence "<proof>"
dotnet tool run skies nya replay --limit 20

skies pins NYA 1.1.5, WTW 0.1.4, RTW 0.1.3, and NWC 0.3.0 for Windows x64, Linux x64 and ARM64, and macOS x64 and ARM64. Judge commands, credentials, disposable SQLite indexes, and local configuration remain unversioned. skies doctor validates that every shared store, skill, and managed instruction surface is present and still points through the pinned framework commands.

Packages (nuget.org)

Package What it is
Skies.Framework the meta — the whole runtime framework + the doctor analyzer (one reference; Rails-omakase)
Skies.Framework.Abstractions the spine: Result<T>, Error, [Slice], [ValueObject], [Entity], [Module]
Skies.Framework.AspNetCore the ASP.NET wiring: AddSkies/UseSkies, slice-aware OpenAPI, Result→HTTP
Skies.Framework.Auth / Skies.Framework.Identity / Skies.Framework.Mail / Skies.Framework.Sms / Skies.Framework.Storage the standard ports (no vendor SDK in core — the adapter is the app's choice)
Skies.Framework.Doctor the SKY#### Roslyn analyzers (ships with the meta; reference directly for analyzer-only)
Skies.Framework.Testing / Skies.Framework.Testing.InMemory test helpers — add to a test project
skies-framework-cli the skies CLI, as a dotnet tool

The focused packages are à la carte; the Skies.Framework meta is the front door. (The harness is removable: drop the Skies.Framework.Doctor analyzer and the app still builds — you only lose the build-time enforcement.)

Docs

Product Compatible and additional computed target framework versions.
.NET 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
4.1.4 94 9/4/2026
4.1.3 116 8/13/2026
4.1.2 103 8/7/2026
4.1.0 118 8/3/2026
4.0.3 321 7/28/2026
4.0.2 111 7/28/2026
4.0.1 116 7/28/2026