Getting Started
Installation
How to install TurboMediator and its optional packages
Requirements
- .NET 8.0+ (or .NET Standard 2.0 for the abstractions)
- C# 11+ (for source generator support)
Core Packages
Every TurboMediator project requires these two packages:
dotnet add package TurboMediator.Abstractions
dotnet add package TurboMediator.SourceGeneratorThe Abstractions package contains all core interfaces (IRequest, ICommand, IQuery, INotification, handlers, pipeline behaviors, etc.).
The SourceGenerator package contains the Roslyn incremental source generator that produces the Mediator implementation class at compile time.
Optional Packages
Install only the packages you need. Each package is independent and adds specific pipeline behaviors:
dotnet add package TurboMediator.FluentValidationdotnet add package TurboMediator.Resiliencedotnet add package TurboMediator.Resultdotnet add package TurboMediator.Observabilitydotnet add package TurboMediator.Cachingdotnet add package TurboMediator.Caching.Redisdotnet add package TurboMediator.Validationdotnet add package TurboMediator.Enterprisedotnet add package TurboMediator.Scheduling
dotnet add package TurboMediator.Scheduling.EntityFrameworkdotnet add package TurboMediator.RateLimitingdotnet add package TurboMediator.Persistence
dotnet add package TurboMediator.Persistence.EFdotnet add package TurboMediator.Saga
dotnet add package TurboMediator.Saga.EntityFrameworkdotnet add package TurboMediator.FeatureFlags
dotnet add package TurboMediator.FeatureFlags.FeatureManagementdotnet add package TurboMediator.Batchingdotnet add package TurboMediator.Testingdotnet tool install --global TurboMediator.CliProject Setup
After installing the packages, register TurboMediator in your DI container:
using Microsoft.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
// Basic registration - auto-discovers all handlers
builder.Services.AddTurboMediator();
// Or with configuration
builder.Services.AddTurboMediator(mediator =>
{
mediator
.WithSequentialNotifications();
});
var app = builder.Build();The source generator automatically generates the AddTurboMediator() extension method with all discovered handler registrations.