Cratis.Fundamentals 7.18.3

Prefix Reserved
dotnet add package Cratis.Fundamentals --version 7.18.3
                    
NuGet\Install-Package Cratis.Fundamentals -Version 7.18.3
                    
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.Fundamentals" Version="7.18.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cratis.Fundamentals" Version="7.18.3" />
                    
Directory.Packages.props
<PackageReference Include="Cratis.Fundamentals" />
                    
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.Fundamentals --version 7.18.3
                    
#r "nuget: Cratis.Fundamentals, 7.18.3"
                    
#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.Fundamentals@7.18.3
                    
#: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.Fundamentals&version=7.18.3
                    
Install as a Cake Addin
#tool nuget:?package=Cratis.Fundamentals&version=7.18.3
                    
Install as a Cake Tool

Fundamentals

The shared building blocks beneath the Cratis stack — concepts, serialization, dependency injection, and type discovery for .NET and TypeScript.

Packages

Nuget NPM MIT License

Builds

.NET Build JavaScript Build Documentation site

Description

The Cratis Fundamentals holds generic reusable helpers, utilities and tools that aims at solving common problems and help developers be more productive. Fundamentals offers functionality for .NET and JavaScript environments. It is not a goal to have parity, as the different environments offer different building blocks.

You should look at it as a convenience layer on top of the existing base environment you're running in.

Fundamentals underpins the rest of the Cratis stack: Chronicle (the event-sourcing database and runtime), Arc (the CQRS application framework for ASP.NET Core), and Components (the React component library) all build on it — and you can use it on its own.

Read more about how to use it in the Fundamentals documentation.

Support

Cratis is an open community, and we are glad to help users, teams evaluating the stack, and contributors.

Channel Details
Discord Join the community on Discord for questions and discussions
GitHub Issues Report bugs or request features
Documentation Read the docs at cratis.io

Contributing

If you want to jump into building this repository and possibly contributing, please refer to contributing.

Prerequisites

The following are prerequisites to work with this repository.

Central Package Management

This repository leverages Central Package Management, which means that all package versions are managed from a file at the root level called Directory.Packages.props.

In addition there are also Directory.Build.props files for setting up common settings that are applied cross cuttingly.

Root package.json

The package.json found at the root level defines all the workspaces. It is assumed

All developer dependencies are defined in the top level package.json. The reason for this is to be able to provide global scripts for every package to use for easier maintenance.

The package.json found at the top level contains scripts that can then be used in a child project for this to work properly.

In a package, all you need to do is to define the scripts to use the global scripts in the `package.json´ of that project:

{
    "scripts": {
        "prepublish": "yarn g:build",
        "clean": "yarn g:clean",
        "build": "yarn g:build",
        "lint": "yarn g:lint",
        "lint:ci": "yarn g:lint:ci",
        "test": "yarn g:test",
        "ci": "yarn g:ci",
        "up": "yarn g:up"
    }
}

The Cratis ecosystem

This project is part of Cratis — free, MIT-licensed tools for building event-sourced and CQRS applications.

  • Chronicle — event-sourcing database and runtime. Orleans-based kernel, pluggable storage (MongoDB default; PostgreSQL, SQL Server, SQLite, in-memory), language-agnostic gRPC contracts. Docs
  • Chronicle clients — first-class .NET SDK, plus TypeScript, Kotlin/Java, and Elixir; Python coming soon (pre-alpha). AI agents connect through the Chronicle MCP server.
  • Arc — opinionated CQRS framework for ASP.NET Core with commands, queries, validation, authorization, and TypeScript proxy generation. Works without event sourcing. Docs
  • Components — React components aligned with Arc patterns. Docs
  • CLI + Workbench — inspect and diagnose Chronicle from the terminal or the browser. Docs
  • Model-first layer (experimental) — Studio, Screenplay, Stage, Scene, Prologue
  • SupportingFundamentals, Specifications, Synopsis, Lens, Narrator, and free AI tooling (preview); Ensemble coming soon (pre-release)
  • Samples — runnable event sourcing and CQRS samples for the whole stack

Everything Cratis publishes today is MIT licensed and free to use.

Join the community on Discord.

Release notes and announcements: the Cratis blog.

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 (92)

Showing the top 5 NuGet packages that depend on Cratis.Fundamentals:

Package Downloads
Cratis.Chronicle

The .NET client SDK for Cratis Chronicle - the open-source (MIT) event-sourcing database and runtime. Typed events, projections, reducers, reactors, constraints, and read models over a gRPC boundary.

Cratis.Arc.Core

Core command and query pipelines, validation, identity, and tenancy for Cratis Arc — the CQRS application framework for ASP.NET Core — hostable from workers, consoles, and custom services.

Cratis.Chronicle.Connections

Cratis Chronicle - an open-source (MIT) event-sourcing database and processing runtime with an Orleans-based kernel, pluggable storage (MongoDB default; PostgreSQL, SQL Server, SQLite, in-memory), and language-agnostic gRPC contracts.

Cratis.Events

Package Description

Cratis.Arc

Opinionated CQRS application framework for ASP.NET Core with commands, queries, validation, authorization, and TypeScript proxy generation. Works without event sourcing; Chronicle integration is optional.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.18.3 113 9/1/2026
7.18.2 6,860 8/28/2026
7.18.1 6,343 8/20/2026
7.18.0 10,428 8/16/2026
7.17.1 17,241 8/5/2026
7.17.0 124 8/5/2026
7.16.8 2,343 8/1/2026
7.16.7 1,267 7/30/2026
7.16.6 20,308 7/14/2026
7.16.5 1,468 7/14/2026
7.16.4 1,313 7/13/2026
7.16.2 14,356 6/20/2026
7.16.1 776 6/19/2026
7.16.0 4,350 6/11/2026
7.15.3 145 6/11/2026
7.15.1 6,602 6/9/2026
7.15.0 547 6/8/2026
7.14.0 3,455 6/4/2026
7.10.6 2,485 6/1/2026
7.10.5 5,160 5/29/2026
Loading failed