Unified Event-Sourced Data & Messaging Runtime for .NET
A comprehensive .NET library for building event-driven, CQRS, and event-sourced applications with zero reflection and AOT compatibility. Collapse MartenDB, Wolverine, MassTransit, and MediatR into one cohesive platform.
Resources
Key Features
- Zero Reflection - Everything via source generators for Native AOT
- Poly-Store Adapters - PostgreSQL, SQL Server, MySQL, Cosmos DB, SQLite
- Unified Messaging - Commands, queries, events, sagas with single API
- Perspectives - Real-time projections with typed lenses
- Transport Agnostic - Azure Service Bus, RabbitMQ, or in-memory
- Built-in Observability - OpenTelemetry traces and metrics
Quick Start
dotnet add package SoftwareExtravaganza.Whizbang.Core
dotnet add package SoftwareExtravaganza.Whizbang.Generators
dotnet add package SoftwareExtravaganza.Whizbang.Data.Postgres
Example
// Define a message
public record OrderPlaced(Guid OrderId, string CustomerId, decimal Total);
// Handle with a Receptor
public class OrderPlacedReceptor : IReceptor<OrderPlaced>
{
public async Task HandleAsync(OrderPlaced message, CancellationToken ct)
{
Console.WriteLine($"Order {message.OrderId} placed: {message.Total:C}");
}
}
// Configure in Program.cs
builder.Services.AddWhizbang(wb => {
wb.UsePostgres(connectionString);
wb.DiscoverReceptorsFromAssembly(typeof(Program).Assembly);
});
For AI Assistants
For enhanced documentation access, use the MCP server locally with your AI assistant:
git clone https://github.com/whizbang-lib/whizbang-lib.github.io.git
cd whizbang-lib.github.io/mcp-docs-server
npm install && npm run build
Compatible AI Tools:
- Desktop: Claude Desktop, Google Antigravity, VS Code + Copilot, Cursor, Windsurf, Zed
- CLI: Claude Code, Gemini CLI, GitHub Copilot CLI
- Extensions: Continue, Cline, Sourcegraph Cody
- Chat: ChatGPT Connectors, LibreChat
See full documentation for MCP configuration details.