ZeroAlloc.NET
NuGet publisher profile
Packages (99)
ZeroAlloc.Pipeline
Shared pipeline behavior contracts for ZeroAlloc source-generated libraries.
ZeroAlloc.Serialisation
Source-generated, AOT-compatible IBufferWriter serialisation for .NET
ZeroAlloc.ValueObjects
Zero-allocation source-generated ValueObject equality and strongly-typed IDs (ULID, UUIDv7, Snowflake, Sequential) for hot paths. Eliminates boxing and iterator allocations from CSharpFunctionalExtensions.ValueObject.GetEqualityComponents().
ZeroAlloc.StateMachine
Source-generated, zero-allocation finite state machines for .NET. Add [StateMachine] and [Transition] attributes to a partial class; the generator emits a TryFire switch expression with no heap allocation on the transition path. AOT-safe.
ZeroAlloc.Collections
Zero-allocation, high-performance collection types for .NET with ref struct and heap variants.
ZeroAlloc.Results
A zero-allocation, no-boxing Result<T,E> library for .NET with full CSharpFunctionalExtensions API parity.
ZeroAlloc.Analyzers
Roslyn analyzers for modern .NET performance patterns with multi-TFM awareness
ZeroAlloc.Resilience
Source-generated, zero-allocation resilience policies for .NET. Add [Retry], [Timeout], [RateLimit], and [CircuitBreaker] to an interface; the generator emits a proxy composing all policies in declaration order. AOT-safe.
ZeroAlloc.Mediator
A zero-allocation mediator library for .NET. Roslyn source generator wires all dispatch at compile time β no reflection, no dictionaries, no virtual dispatch.
ZeroAlloc.AsyncEvents
Zero-allocation async event handler structs and async INotify* interfaces for .NET. Lock-free registration, ValueTask invocation, ArrayPool parallel dispatch.
ZeroAlloc.Validation
A zero-allocation validation library for .NET. Roslyn source generator wires all rule evaluation at compile time β no reflection, no boxing, no runtime overhead.
ZeroAlloc.Inject
A compile-time DI registration library for .NET. Roslyn source generator wires all service registrations at compile time β no reflection, no scanning.
ZeroAlloc.Telemetry
Source-generated OpenTelemetry instrumentation β Activity spans and Meter instruments without reflection or params object[] allocation. AOT-safe.
ZeroAlloc.Scheduling
Source-generated zero-allocation background job scheduling for .NET.
ZeroAlloc.Authorization
Authorization primitives for .NET β ISecurityContext, IAuthorizationPolicy, [Policy] / [RequirePolicy] attributes with a source generator that emits DI registrations and per-request AuthorizerFor<T> dispatchers. Shared by AI.Sentinel and ZeroAlloc.Mediator.Authorization.
ZeroAlloc.Inject.Generator
A compile-time DI registration library for .NET. Roslyn source generator wires all service registrations at compile time β no reflection, no scanning.
ZeroAlloc.Mediator.Generator
A zero-allocation mediator library for .NET. Roslyn source generator wires all dispatch at compile time β no reflection, no dictionaries, no virtual dispatch.
ZeroAlloc.Rest
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Outbox
Source-generated transactional outbox for .NET.
ZeroAlloc.Templates
Clean Architecture Web API template for the ZeroAlloc.* ecosystem.
ZeroAlloc.Validation.Generator
Roslyn source generator for ZeroAlloc.Validation. Emits the strongly-typed validator class for each [Validate]-annotated type at build time.
ZeroAlloc.Rest.SystemTextJson
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Scheduling.InMemory
In-memory job store for ZeroAlloc.Scheduling β use in tests.
ZeroAlloc.Scheduling.Redis
Redis job store adapter for ZeroAlloc.Scheduling.
ZeroAlloc.Scheduling.EfCore
EF Core job store adapter for ZeroAlloc.Scheduling.
ZeroAlloc.Scheduling.Dashboard
Minimal API dashboard for ZeroAlloc.Scheduling β JSON endpoints + embedded HTML/JS UI.
ZeroAlloc.Scheduling.Mediator
ZeroAlloc.Mediator bridge for ZeroAlloc.Scheduling β dispatches jobs via IMediator.Send.
ZeroAlloc.Scheduling.Dashboard.Blazor
Blazor component library for ZeroAlloc.Scheduling dashboard.
ZeroAlloc.Scheduling.Generator
Roslyn source generator for ZeroAlloc.Scheduling.
ZeroAlloc.ORM.Abstractions
Public attribute surface ([Query], [Param]) and exception types for ZeroAlloc.ORM v0.1. Reference this package in any project that authors annotated partial methods or mocks the ORM surface in unit tests.
ZeroAlloc.ValueObjects.EfCore
EF Core value converters and conventions for ZeroAlloc.ValueObjects [TypedId] structs.
ZeroAlloc.ORM
Source-generator-based, NativeAOT-clean raw-SQL data access for .NET. Annotate partial methods with [Query]; the generator emits typed parameter binding + materialization against AdoNet.Async's IAsyncDbConnection. Zero runtime reflection.
ZeroAlloc.Serialisation.SystemTextJson
Source-generated, AOT-compatible IBufferWriter serialisation for .NET
ZeroAlloc.Mapping
Source-generated, zero-allocation CommandβDomainβDTO mapper for .NET. [Map<,>]/[TryMap<,>] on a static partial class β generator emits direct property assignments at compile time. Result<T, MappingError> on the [TryMap] path; ValueObjects smart constructors honoured automatically. AOT-safe.
ZeroAlloc.Rest.Resilience
Wires ZeroAlloc.Rest clients through ZeroAlloc.Resilience proxies. Annotate a [ZeroAllocRestClient] interface with [Retry]/[Timeout]/[CircuitBreaker]; call AddRestResilience to register the resilience-wrapped HTTP client.
ZeroAlloc.Mediator.Validation
Pipeline behavior that validates IRequest<T> via ZeroAlloc.Validation before dispatch. Validation failures surface as Result<T, ValidationError> β no exceptions on the hot path.
ZeroAlloc.ORM.Generator
Roslyn incremental source generator that materialises [Query]-annotated partial methods into typed ADO.NET pipelines against AdoNet.Async. Build-time only; never loaded at the consumer's runtime.
ZeroAlloc.Scheduling.Telemetry
ZeroAlloc.Telemetry bridge for ZeroAlloc.Scheduling β wraps IJobTypeExecutor with a source-generated OpenTelemetry proxy.
ZeroAlloc.Cache
Source-generated zero-allocation caching proxy for .NET interfaces.
ZeroAlloc.Scheduling.Resilience
ZeroAlloc.Resilience bridge for ZeroAlloc.Scheduling β wraps IJobTypeExecutor implementations in a Resilience-generated proxy.
ZeroAlloc.Mediator.Authorization
Pipeline behavior that authorizes IRequest<T> (or IAuthorizedRequest<T>) via ZeroAlloc.Authorization before dispatch. Source-generated per-request policy lookup; deny throws AuthorizationDeniedException or returns Result<T, AuthorizationFailure> depending on the request marker.
ZeroAlloc.Cache.Generator
Roslyn source generator for ZeroAlloc.Cache.
ZeroAlloc.Pipeline.Generators
Roslyn helper library for generator authors β pipeline behavior discovery and emission.
ZeroAlloc.Authorization.Generator
Source generator for ZeroAlloc.Authorization β emits per-assembly DI registrations and AuthorizerFor<T> dispatchers from [Policy] and [RequirePolicy] declarations. Reference from the project that declares [Policy] / [RequirePolicy] and set <ZeroAllocAuthorizationOwnsPolicies>true</ZeroAllocAuthorizationOwnsPolicies> in that project's PropertyGroup.
ZeroAlloc.Outbox.EfCore
EF Core store adapter for ZeroAlloc.Outbox.
ZeroAlloc.TestHelpers
Source-distributed test helpers for the ZeroAlloc.* ecosystem. AllocationGate (zero-alloc assertion harness for AOT smokes + Tests) and GeneratorSnapshot (source-generator snapshot testing).
ZeroAlloc.Validation.AspNetCore
ASP.NET Core integration for ZeroAlloc.Validation. Source-generated action filter validates request models at compile time with zero runtime overhead.
ZeroAlloc.Validation.Testing
Testing helpers for ZeroAlloc.Validation. Provides assertion utilities to verify validation results in unit tests.
ZeroAlloc.Outbox.InMemory
In-memory store adapter for ZeroAlloc.Outbox (testing).
ZeroAlloc.Outbox.Generator
Roslyn source generator for ZeroAlloc.Outbox.
ZeroAlloc.Validation.Options
Source-generated options validation for ZeroAlloc.Validation. Plugs compile-time validators into Microsoft.Extensions.Options with zero reflection.
ZeroAlloc.Validation.Inject
Source generator that emits AddZeroAllocValidators() β zero-reflection DI registration for all ZeroAlloc.Validation validators.
ZeroAlloc.Specification
Source-generated, zero-allocation specification pattern for .NET 8+. Compose predicates as structs β no heap allocations, EF Core compatible.
ZeroAlloc.Rest.Tools
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Serialisation.Generator
Source-generated, AOT-compatible IBufferWriter serialisation for .NET
ZeroAlloc.TypeConversions
Shared Roslyn type-conversion catalog for ZeroAlloc.ORM. Hosts the primitive scalar reader-method table (IDataReader.GetXxx mapping) and is the future home for value-object factory discovery, enum round-trip semantics, and multi-column composite shapes. Consumed by ZeroAlloc.ORM.Generator and (post-adoption) ZeroAlloc.Mapping.Generator. Build-time only.
ZeroAlloc.Rest.MessagePack
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Saga
Source-generated long-running process orchestration. Multi-step sagas with compensation, FSM via ZeroAlloc.StateMachine, dispatch via ZeroAlloc.Mediator. Native AOT compatible.
ZeroAlloc.Rest.MemoryPack
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Rest.Generator
Source-generated, AOT-compatible REST client for .NET
ZeroAlloc.Inject.Container
A compile-time DI registration library for .NET. Roslyn source generator wires all service registrations at compile time β no reflection, no scanning.
ZeroAlloc.Serialisation.MemoryPack
Source-generated, AOT-compatible IBufferWriter serialisation for .NET
ZeroAlloc.Serialisation.MessagePack
Source-generated, AOT-compatible IBufferWriter serialisation for .NET
ZeroAlloc.EventSourcing
Source-generated event-sourced aggregates for .NET. Zero-allocation event dispatch, AOT-safe.
ZeroAlloc.ValueObjects.Generator
Package Description
ZeroAlloc.Notify
Source-generated async INotifyPropertyChanged, INotifyPropertyChanging, INotifyCollectionChanged and INotifyDataErrorInfo for .NET. Zero-allocation, ValueTask-based, no fire-and-forget.
ZeroAlloc.Telemetry.Generator
Source generator for ZeroAlloc.Telemetry β emits instrumented proxy classes. Consumed automatically via ZeroAlloc.Telemetry; install separately only for generator-only scenarios.
ZeroAlloc.Mediator.Cache
Pipeline behavior that caches IRequest<T> responses when the request type carries [Cache]. Zero-alloc key derivation via interpolated strings on value-type requests.
ZeroAlloc.Mediator.Telemetry
Pipeline behavior emitting OpenTelemetry spans, counters, and histograms per IRequest<T>.Send call.
ZeroAlloc.Mediator.Resilience
Pipeline behavior that applies [MediatorRetry], [MediatorCircuitBreaker], and [MediatorTimeout] declared on request types. Composes ZeroAlloc.Resilience policies directly in the Mediator pipeline β no source generation required at the call site.
ZeroAlloc.Outbox.Telemetry
ZeroAlloc.Telemetry bridge for ZeroAlloc.Outbox β wraps IOutboxTypeDispatcher with a source-generated OpenTelemetry proxy.
ZeroAlloc.Outbox.Resilience
ZeroAlloc.Resilience bridge for ZeroAlloc.Outbox β wraps IOutboxDispatcher<T> implementations in a Resilience-generated proxy.
ZeroAlloc.Outbox.Mediator
ZeroAlloc.Mediator bridge for ZeroAlloc.Outbox β dispatches outbox messages via IMediator.Publish.
ZeroAlloc.Outbox.Dashboard
Operations dashboard for ZeroAlloc.Outbox. Minimal API + SSE + embedded HTML.
ZeroAlloc.Outbox.Dashboard.Blazor
Blazor component (<OutboxDashboard />) for ZeroAlloc.Outbox.Dashboard. Requires the Dashboard endpoints mapped via MapOutboxDashboard().
ZeroAlloc.Notify.Generator
Package Description
ZeroAlloc.Saga.Outbox
Transactional outbox bridge for ZeroAlloc.Saga β atomic command dispatch with saga state save.
ZeroAlloc.ValueObjects.Hosting
Host-integrated Snowflake worker-id registration for ZeroAlloc.ValueObjects. Adds the AddSnowflakeWorkerId overload that resolves the worker id from the built IServiceProvider at startup. Reference this only if you need that overload β the literal, environment-variable and Func<int> overloads ship in ZeroAlloc.ValueObjects itself.
ZeroAlloc.Flux
A zero-allocation Flux/Redux state management library for .NET. Roslyn source generator wires all dispatch at compile time β no reflection, no dictionaries, no virtual dispatch.
ZeroAlloc.Saga.EfCore
Entity Framework Core durable persistence backend for ZeroAlloc.Saga. Single shared SagaInstance table, row-version OCC, retry-on-conflict. Native AOT compatible.
ZeroAlloc.EventSourcing.Mediator
Bridge package republishing LIVE committed ZeroAlloc.EventSourcing events through ZeroAlloc.Mediator notification dispatch. History replays are filtered out positionally by subscribing from StreamPosition.End.
ZeroAlloc.Saga.Resilience
Resilience bridge for ZeroAlloc.Saga β wraps step-command dispatch in retry / timeout / circuit-breaker / rate-limit policies from ZeroAlloc.Resilience. Native AOT compatible.
ZeroAlloc.EventSourcing.Aggregates
Aggregate base + generator-emitted Apply dispatch for ZeroAlloc.EventSourcing.
ZeroAlloc.Saga.Redis
Redis-backed durable persistence for ZeroAlloc.Saga. WATCH/MULTI/EXEC-based optimistic concurrency, hash-per-saga storage, byte-encoded state via ISagaPersistableState. Native AOT compatible.
ZeroAlloc.Scheduling.Orm
ZeroAlloc.ORM job store adapter for ZeroAlloc.Scheduling. Raw-SQL persistence with compile-time parameter binding, a token-based atomic claim, and MigrationRunner-owned schema. Supports SQLite, PostgreSQL and SQL Server. Zero runtime reflection; Native AOT compatible.
ZeroAlloc.EventSourcing.InMemory
In-process event store for ZeroAlloc.EventSourcing β for tests and prototypes.
ZeroAlloc.EventSourcing.PostgreSql
PostgreSQL event store backend for ZeroAlloc.EventSourcing.
ZeroAlloc.EventSourcing.SqlServer
SQL Server event store backend for ZeroAlloc.EventSourcing.
ZeroAlloc.Saga.Outbox.Redis
Redis-native outbox storage + transactional unit-of-work for ZeroAlloc.Saga.Outbox + ZeroAlloc.Saga.Redis. Closes the cross-backend atomic-dispatch story: saga state save and outbox row commit together (or roll back together) inside a single Redis MULTI/EXEC. Native AOT compatible.
ZeroAlloc.Specification.Generator
Roslyn source generator for ZeroAlloc.Specification. Emits And/Or/Not fluent methods on [Specification]-attributed structs at compile time.
ZeroAlloc.EventSourcing.Outbox
At-least-once cross-aggregate event dispatch from the ZeroAlloc event store. Thin orchestration over StreamConsumer + INotificationDispatcher with type-level exclusion. Polling-based, in-process Mediator dispatch.
ZeroAlloc.EventSourcing.Sqlite
SQLite IEventStoreAdapter for ZeroAlloc.EventSourcing. AOT-clean via Microsoft.Data.Sqlite. Supports the * global stream via global_position column.
ZeroAlloc.EventSourcing.Telemetry
OpenTelemetry instrumentation for ZeroAlloc.EventSourcing β Activity spans and Meter instruments on IEventStore, IAggregateRepository, and IStreamConsumer. No OpenTelemetry SDK dependency required.
ZeroAlloc.Outbox.Orm
ZeroAlloc.ORM store adapter for ZeroAlloc.Outbox. Raw-SQL persistence with compile-time parameter binding, transactional enqueue on the caller's transaction, and MigrationRunner-owned schema. Zero runtime reflection; Native AOT compatible.
ZeroAlloc.EventSourcing.Sql
Shared SQL primitives for ZeroAlloc.EventSourcing.SqlServer and .PostgreSql backends.
ZeroAlloc.EventSourcing.Kafka
Kafka publish target for ZeroAlloc.EventSourcing committed events.
ZeroAlloc.EventSourcing.Generators
Source generators for ZeroAlloc.EventSourcing aggregate dispatch.
ZeroAlloc.Flux.Blazor
Blazor host adapter for ZeroAlloc.Flux β FluxComponent base class and DI extensions.
ZeroAlloc.Saga.Orm
ZeroAlloc.ORM durable persistence backend for ZeroAlloc.Saga. Single shared SagaInstance table, row-version OCC, retry-on-conflict, MigrationRunner-owned schema. Zero runtime reflection; Native AOT compatible.