Packages
Core
Dynamic Consistency Boundaries
| Package | NuGet | Description |
|---|---|---|
Nagare.Dcb (experimental) | DCB 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
Messaging
| Package | NuGet | Description |
|---|---|---|
Nagare.Messaging | Pub/sub messaging abstractions — topic publishers, consumers, subscription runners. | |
Nagare.Messaging.Kafka | Apache Kafka implementation using the Confluent client. |
Streams
Process managers
| Package | NuGet | Description |
|---|---|---|
Nagare.Process.Orleans | Orleans grain runtime for process managers — single-writer semantics, outbox dispatch, event route subscriptions. |
Read queries
Testing
| Package | NuGet | Description |
|---|---|---|
Nagare.Testing | Given-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>();