Truss.Application
0.5.2
dotnet add package Truss.Application --version 0.5.2
NuGet\Install-Package Truss.Application -Version 0.5.2
<PackageReference Include="Truss.Application" Version="0.5.2" />
<PackageVersion Include="Truss.Application" Version="0.5.2" />
<PackageReference Include="Truss.Application" />
paket add Truss.Application --version 0.5.2
#r "nuget: Truss.Application, 0.5.2"
#:package Truss.Application@0.5.2
#addin nuget:?package=Truss.Application&version=0.5.2
#tool nuget:?package=Truss.Application&version=0.5.2
Truss
Truss is a modular .NET framework for building applications with DDD, CQRS and Clean Architecture, focused on developer experience, explicit behavior and minimal dependencies per layer.
Full documentation: https://joaoaalves.github.io/Truss
Early development. APIs are subject to change until v1.
Packages
Twenty packages in three rings plus tooling. A package boundary exists only where it pays for itself: an external dependency it isolates or a deployment target it serves.
| Package | Purpose | Ring |
|---|---|---|
Truss.Domain |
Entities, aggregate roots, value objects, typed ids, business rules, domain events. Zero dependencies. | Kernel |
Truss.Application |
Commands, queries, handlers, pipeline behaviors, dispatching, unit of work, plus the auth, tenancy and authorization contracts. | Kernel |
Truss.Messaging |
Integration events: versioned serialization, transactional outbox and inbox, transport seam, in-memory transport. | Capability |
Truss.Jobs |
Background jobs: transactional enqueueing, retry, timeout, live progress, scheduled and recurring jobs. | Capability |
Truss.Email |
The message shape, sender and validation contracts, and a console sender for development. | Capability |
Truss.Rbac |
Roles in code mapping to permissions, RequirePermission and claims enrichment. | Capability |
Truss.Observability |
Structured request logging, spans, metrics and ambient correlation. | Capability |
Truss.Remote |
Explicit synchronous queries to a context running as another service. | Capability |
Truss.EntityFrameworkCore |
Unit of work, outbox and inbox stores, job store, tenancy interceptors, role assignments and idempotency, registered per feature. | Integration |
Truss.AspNetCore |
Endpoint mapping with ProblemDetails, remote context endpoints, job and outbox endpoints, correlation and tenant resolution. | Integration |
Truss.Messaging.Postgres |
Durable Postgres transport: SKIP LOCKED queue with LISTEN/NOTIFY wake-up. | Integration |
Truss.Messaging.RabbitMq |
Durable RabbitMQ transport: quorum queues with publisher confirms and broker-side dead-lettering. | Integration |
Truss.Messaging.Redis |
Durable Redis transport over Streams with consumer groups. | Integration |
Truss.Email.Smtp |
SMTP delivery through MailKit and DNS-checked address validation. | Integration |
Truss.Email.Resend |
Delivery through the Resend API behind the same sender abstraction. | Integration |
Truss.Auth.Jwt |
PBKDF2 hashing, JWT issuing and JwtBearer wiring; the user model is scaffolded into your domain. | Integration |
Truss.Observability.OpenTelemetry |
OTLP export of the framework's traces, metrics and logs in one registration. | Integration |
Truss.Generators |
Compile-time handler discovery and dispatch, build diagnostics, and DTO mappers generated from partial methods. | Tooling |
Truss.Testing |
Integration test host: pipeline, throwaway database, transport and jobs in one call. | Tooling |
Truss.Cli |
The truss command line: scaffolding, module installation, code generation, splitting and deploy artifacts. |
Tooling |
Principles
- Explicit over implicit. No hidden conventions, no runtime magic.
- Minimal dependencies per layer. The domain layer depends on nothing; the application layer never sees the ORM.
- Developer experience first. Commands validate themselves, the unit of work commits automatically, domain events dispatch at the right moment.
- Failure transparency. Exceptions propagate with their original stack trace.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluentValidation (>= 12.1.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Truss.Domain (>= 0.5.2)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Truss.Application:
| Package | Downloads |
|---|---|
|
Truss.Messaging
Integration event runtime for Truss: versioned JSON serialization, transactional outbox with retry and dead-letter, transport abstraction, in-memory transport and consumer dispatch with a unit of work per message. |
|
|
Truss.Observability
Observability for Truss: structured logging of every request, traces and metrics through the BCL ActivitySource and Meter, and ambient correlation ids. Everything opt-in. |
|
|
Truss.Auth.Jwt
JWT authentication for Truss: PBKDF2 password hashing, access and refresh token issuing, and JwtBearer wiring. The user model stays in your domain. |
|
|
Truss.AspNetCore
ASP.NET Core integration for Truss: endpoint mapping for commands and queries with automatic ProblemDetails error responses, remote context endpoints, job and outbox management endpoints, correlation and tenancy middleware. |
|
|
Truss.Persistence.EntityFrameworkCore
Entity Framework Core persistence for Truss: unit of work with automatic commit and domain event dispatching before save. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.5.2 | 218 | 8/26/2026 |
| 0.5.1 | 197 | 8/26/2026 |
| 0.5.0 | 209 | 8/25/2026 |
| 0.4.0 | 117 | 8/10/2026 |
| 0.3.8 | 115 | 8/10/2026 |
| 0.3.7 | 118 | 8/10/2026 |
| 0.3.6 | 114 | 8/10/2026 |
| 0.3.5 | 120 | 8/10/2026 |
| 0.3.4 | 121 | 8/8/2026 |
| 0.3.3 | 123 | 8/8/2026 |
| 0.3.2 | 113 | 8/8/2026 |
| 0.3.1 | 128 | 8/7/2026 |
| 0.3.0 | 118 | 8/7/2026 |
| 0.2.0 | 111 | 8/6/2026 |
| 0.1.0 | 108 | 8/5/2026 |