Skip to content

Packages

Core

PackageNuGetDescription
NagareNuGetAggregates, events, projections, subscriptions, OpenTelemetry, middleware. Everything you need to build event-sourced systems.
Nagare.DashboardNuGetEmbedded operational dashboard — live event tail, time machine, provenance lens, process inspector, outbox triage.

Dynamic Consistency Boundaries

PackageNuGetDescription
Nagare.Dcb (experimental)NuGetDCB event store abstractions and decision models — tag-indexed global journal, conditional appends for hard cross-entity invariants. Tracks a young spec; the API may evolve. See DCB.

Database stores

PackageNuGetDatabasesNotes
Nagare.SqlServerNuGetSQL ServerProduction-grade with MERGE upsert support.
Nagare.SqliteNuGetSQLiteIdeal for development and testing.
Nagare.PostgreSqlNuGetPostgreSQLFull support with advisory locks for distributed subscriptions.
Nagare.MySqlNuGetMySQL / MariaDBFull support with distributed locks.

Messaging

PackageNuGetDescription
Nagare.MessagingNuGetPub/sub messaging abstractions — topic publishers, consumers, subscription runners.
Nagare.Messaging.KafkaNuGetApache Kafka implementation using the Confluent client.

Streams

PackageNuGetDescription
Nagare.StreamsNuGetComposable async pipelines — Source/Flow/Sink DSL for projections, process managers, pollers, and SSE.
Nagare.Streams.KafkaNuGetKafka source, sink, and offset store for Nagare.Streams pipelines.
Nagare.Streams.TestingNuGetTestKit and shared test bases for Nagare.Streams pipelines.

Process managers

PackageNuGetDescription
Nagare.Process.OrleansNuGetOrleans grain runtime for process managers — single-writer semantics, outbox dispatch, event route subscriptions.

Read queries

PackageNuGetDescription
Nagare.ReadQueriesNuGetTyped read-model query store — inline interpolated SQL, dialect-aware emission.
Nagare.ReadQueries.GeneratorsNuGetSource generator + analyzers for Nagare.ReadQueries. Ships inside Nagare.ReadQueries.
Nagare.ReadQueries.ValidationNuGetBuild-time SQL validation for [ReadQuery] methods — column-name mismatches become build errors.

Testing

PackageNuGetDescription
Nagare.TestingNuGetGiven-When-Then harness, Eventually for polling projections, Find() for querying projected state.

Quick start

xml
<PackageReference Include="Nagare" />
<PackageReference Include="Nagare.Sqlite" />
csharp
builder.Services.AddNagare();
builder.Services.AddNagareSqliteStorage(connectionString: "Data Source=nagare.db");
builder.Services.AddAggregate<BookAggregate, BookCommand, BookEvent, BookState>();

For PostgreSQL:

xml
<PackageReference Include="Nagare" />
<PackageReference Include="Nagare.PostgreSql" />
csharp
builder.Services.AddNagare();
builder.Services.AddNagarePostgresStorage(connectionString: "Host=localhost;Database=nagare");
builder.Services.AddAggregate<BookAggregate, BookCommand, BookEvent, BookState>();

流れ — flow.