Compendium

A pragmatic .NET framework for building event-sourced, multi-tenant SaaS applications.

Compendium distills years of building event-sourced SaaS into a small set of focused .NET 9 packages: DDD primitives, CQRS handlers, an event store, multi-tenancy, and ready-to-use adapters for PostgreSQL, Redis, Zitadel, Stripe, LemonSqueezy, Listmonk, OpenRouter, and ASP.NET Core.

Why Compendium?

  • Zero-dependency Core — Pure DDD primitives (AggregateRoot<TId>, ValueObject, Result<T>, Error) with no dependencies beyond the .NET BCL. See ADR 0003.
  • CQRS + Event Sourcing built-in — Command/query dispatchers, event store interfaces, and a PostgreSQL adapter wired out of the box. See ADR 0005.
  • Multi-tenancy native — Tenant context, resolution, and scoping baked into the primitives. See ADR 0004.
  • Result pattern everywhere — No control-flow exceptions. Every fallible operation returns Result<T>. See ADR 0001.
  • Hexagonal architecture, strict — Ports and adapters, with a clear separation between Core, Application, and Adapters. See ADR 0002.
  • Modular adapters — Pick only what you need.

Where to start

Status

Compendium is at v1.0.0-preview.1. APIs in Compendium.Core and Compendium.Abstractions.* are intended to be stable; adapter APIs may evolve based on production feedback. See CHANGELOG for what has shipped.

License

MIT © 2026 Sassy Solutions. See LICENSE.