// the find
BrighterCommand/Brighter
A framework for building messaging apps with .NET and C#.
Brighter is a mature Command Dispatcher/Processor framework for .NET that handles both in-process command routing and out-of-process messaging across RabbitMQ, Kafka, AWS SQS/SNS, Azure Service Bus, and Redis Streams. It's aimed at .NET teams building microservices or clean-architecture applications who want the outbox pattern, middleware pipelines, and transport abstraction without rolling their own. Think MediatR but with serious distributed messaging baked in rather than bolted on.
- Outbox pattern is a first-class citizen with implementations for PostgreSQL, MySQL, MSSQL, SQLite, DynamoDB, and MongoDB — this is the hard part of reliable async messaging and most alternatives leave it to you.
- 33+ Architecture Decision Records in the repo document why things were built the way they were, which is genuinely useful when you hit an edge case or want to understand a design tradeoff.
- Transport abstraction is real: swapping RabbitMQ for SQS or Kafka requires config changes, not handler rewrites. The Service Activator message pump handles consumer lifecycle uniformly across transports.
- Active development with CI, CodeScene health tracking, Polly 8.x integration for resilience, and OpenTelemetry support — this isn't abandonware with a fresh README.
- Package sprawl is real: you need 3-5 NuGet packages for a basic setup, the naming is inconsistent (AWSSQS vs AWSSQS.V4, RMQ vs RMQ.Async), and figuring out which combination you need requires reading docs carefully rather than following obvious conventions.
- Message mapper boilerplate is heavy — you write explicit serialization/deserialization code per message type. There's no convention-based or source-generated mapping, so a service with many message types accumulates significant mapper code.
- The handler middleware pipeline uses attribute-based AOP (decorating the Handle method), which feels dated compared to explicit pipeline builder patterns, and makes unit testing middleware interactions less straightforward.
- Compared to MassTransit, the community and ecosystem are noticeably smaller, meaning fewer third-party integrations, less Stack Overflow coverage, and longer waits if you file an unusual bug.