Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Eventuous/eventuous/llms.txt

Use this file to discover all available pages before exploring further.

Eventuous gives .NET developers a focused, production-ready toolkit for building event-sourced systems. It models your domain with strongly-typed aggregates and states, handles commands through a fluent service layer, persists events to KurrentDB (EventStoreDB), PostgreSQL, SQL Server, or SQLite, and fans events out to read-model projectors and message brokers — all with first-class OpenTelemetry observability built in.

Introduction

Learn what Eventuous is, what problems it solves, and how the core concepts fit together.

Quickstart

Build a working event-sourced booking service with KurrentDB in under ten minutes.

Core Concepts

Understand aggregates, events, commands, projections, and the event store abstraction.

Domain Model

Define aggregates, states, identities, and domain events from your ubiquitous language.

What’s included

Command Services

Fluent aggregate-based and functional command handlers with built-in optimistic concurrency.

Event Store

IEventStore abstraction with KurrentDB, PostgreSQL, SQL Server, SQLite, and Redis backends.

Subscriptions

Durable, checkpointed subscriptions with concurrent channel workers and consume-pipe filters.

Projections

MongoDB, PostgreSQL, SQL Server, and SQLite projectors for building read models.

ASP.NET Core

Minimal-API MapCommand and controller base class to expose commands over HTTP with one line.

OpenTelemetry

Automatic distributed tracing and metrics for commands, subscriptions, and event store calls.

Get started in four steps

1

Install the core package

Add the Eventuous NuGet package to your .NET project:
dotnet add package Eventuous
2

Model your domain

Create an Aggregate<TState>, a State<T> record, a typed Id, and your domain events.
3

Add a command service

Derive from CommandService<TAggregate, TState, TId> and register handlers with the fluent On<TCommand>() builder.
4

Wire up persistence and subscriptions

Register an event store backend, add subscriptions to build read models, and expose commands through ASP.NET Core.
Eventuous is published to NuGet. Stable versions, release candidates, and preview builds from the dev branch are all available.

Build docs developers (and LLMs) love