AstraFlow
I built AstraFlow because I wanted common .NET infrastructure to stay easy to use without becoming invisible when something goes wrong.
services.AddAstraFlow(); var dto = mapper.Map<OrderDto>(order);
AstraFlow is an MIT-licensed .NET package family for request dispatch, mapping and the diagnostics/tooling around those flows.
Why another toolkit?
Mediator and mapping libraries save time, but convenience can turn into hidden behavior. I wanted a small API on the outside and an execution path I can still trace, test and explain under pressure.
The package family
The repository now includes mediator dispatch, explicit mapping, optional conventions, EF integration, diagnostics, test helpers, Roslyn analyzers, source generators, CLI tooling, ASP.NET Core integration and validation adapters. Packages stay narrow so consumers can take only what they need.
services.AddAstraFlow(); var dto = mapper.Map<OrderDto>(order);
Explicit by design
Mappings can be audited. Startup errors are meant to tell you what is wrong. Core packages do not require a web framework. Diagnostics and analyzers exist because good feedback is part of the developer experience, not a cleanup task.
Performance without marketing theatre
There is a committed BenchmarkDotNet project, but I do not turn that into ‘fastest’ claims. If performance matters, I want the setup, baseline and result to be repeatable enough that somebody else can challenge it.
services.AddAstraFlow(); var dto = mapper.Map<OrderDto>(order);
What open source changes
A public package has no private team context to fall back on. Names, error messages, docs, compatibility and upgrade behavior have to make sense to someone who has never spoken to me.
Back to all work
Work index ↗