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.