Click a command to watch the template in action.
Two complete feature domains, 10 fully functional endpoints, and zero bloat.
Each feature file contains its Request DTO, validation rules, handler logic, and endpoint mapping - all in one place. Add a feature? Add a file. Delete a feature? Delete a file.
No controllers, no attributes - just lambdas and route groups. Clean composition under /api/newsletters and /api/subscribers with shared OpenAPI tags.
A single generic ValidationFilter<T> handles validation for the entire API. Add [Required], [StringLength], [EmailAddress] to any request record - done.
Standard RFC 9457 error format. Structured Error records with {Feature}.{Reason} codes - easy to trace, easy to handle on the client.
No MediatR. No FluentValidation. No AutoMapper. No Carter. Zero unnecessary abstractions - only what .NET gives you out of the box.
Code-first with typed DbContextOptions, explicit entity configuration with HasMaxLength constraints, sealed DbContext, and auto-migrations in dev.
Latest LTS framework
Lightweight, high-performance endpoints
ORM with code-first migrations
Database provider via Npgsql
Modern API documentation (replaces Swagger)
Built-in request validation
โHow to structure a .NET 10 API using Vertical Slice Architecture
โHow to use Minimal APIs with route groups for clean endpoint composition
โHow to implement validation without FluentValidation using DataAnnotations + endpoint filters
โHow to organize Commands and Queries within feature slices (lightweight CQRS)
โHow to handle errors with structured error types and proper HTTP status codes
โHow to build a production-ready API with only 5 NuGet packages
Features organized by business capability, not technical concern
Commands and Queries separated into subfolders per feature
Cross-cutting validation via generic IEndpointFilter
All request/response types are sealed records
Correct HTTP verbs, status codes (201, 200, 204, 404, 409)
.Select() projections instead of loading full entities for reads
A production-ready starter Vertical Slice Architecture API template built with .NET 10 and Minimal APIs. Two complete feature domains - Newsletters (full CRUD + Publish) and Subscribers (full CRUD) - with 10 fully functional endpoints, structured error handling, and modern API docs via Scalar.
.NET developers who want to move beyond traditional N-layer / Clean Architecture. Backend engineers looking for a lightweight, maintainable API structure. Teams that want each feature independently buildable - and anyone tired of jumping between 5+ files to understand one feature.
The full .NET 10 VSA template, free, in your inbox.
Send me the templateNo credit card ยท unsubscribe anytime