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
<PackageReference Include="Cratis.Fundamentals" Version="7.18.3" />
<PackageVersion Include="Cratis.Fundamentals" Version="7.18.3" />
<PackageReference Include="Cratis.Fundamentals" />
paket add Cratis.Fundamentals --version 7.18.3
#r "nuget: Cratis.Fundamentals, 7.18.3"
#:package Cratis.Fundamentals@7.18.3
#addin nuget:?package=Cratis.Fundamentals&version=7.18.3
#tool nuget:?package=Cratis.Fundamentals&version=7.18.3
Fundamentals
The shared building blocks beneath the Cratis stack — concepts, serialization, dependency injection, and type discovery for .NET and TypeScript.
Packages
Builds
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
- Supporting — Fundamentals, 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 | 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
- Humanizer (>= 3.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.11)
- Microsoft.Extensions.DependencyModel (>= 10.0.11)
- OneOf (>= 3.0.271)
- OneOf.SourceGenerator (>= 3.0.271)
- OpenTelemetry (>= 1.17.0)
- System.Reactive (>= 7.0.0)
-
net8.0
- Humanizer (>= 3.0.10)
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
- Microsoft.Extensions.DependencyModel (>= 8.0.2)
- OneOf (>= 3.0.271)
- OneOf.SourceGenerator (>= 3.0.271)
- OpenTelemetry (>= 1.17.0)
- System.Reactive (>= 7.0.0)
- System.Text.Json (>= 9.0.13)
-
net9.0
- Humanizer (>= 3.0.10)
- Microsoft.Extensions.DependencyInjection (>= 9.0.13)
- Microsoft.Extensions.DependencyModel (>= 9.0.13)
- OneOf (>= 3.0.271)
- OneOf.SourceGenerator (>= 3.0.271)
- OpenTelemetry (>= 1.17.0)
- System.Reactive (>= 7.0.0)
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 |