Updated about 2 months ago

Build cloud-native with Aspire

A free Clean Architecture template wired up with .NET Aspire. One command boots the database, the API, and the dashboard together, with tracing, health checks, and service discovery already in place.

Secure Delivery
Instant Access
No Credit Card
Template user
Template user
Template user
Template user
Template user

2,000+ developers already using this

Aspire dashboard · localhost:17170
Resources$ dotnet run --project Aspire.AppHost
ResourceState
database
postgres:17 · :5432
StartingRunning
web-api
project · https://:7080
WaitingStartingRunning
Structured logsOTLP connected
database ready to accept connections
web-api applied 3 migrations
web-api now listening on https://localhost:7080

One dotnet run and the whole app comes up healthy.

2,000+

Developers

1

Command to run

.NET 10

Aspire 13.4

Free

Forever

The whole app model, in a dozen lines

The AppHost is plain C#. It declares the resources and how they connect, and Aspire runs them. Hover a line to see what it does.

src/Aspire.AppHost/AppHost.cs
var builder = DistributedApplication.CreateBuilder(args);
 
var database = builder
.AddPostgres("database")
.WithImage("postgres:17")
.AddDatabase("clean-architecture");
 
builder.AddProject<Projects.Web_Api>("web-api")
.WithReference(database)
.WaitFor(database);
 
builder.Build().Run();

No YAML, no compose file to keep in sync. The orchestration is code, refactored and type-checked like the rest of your app.

Skip the orchestration setup

The whole template is free. Drop your email and it is in your inbox in a minute.

Get the template

Every request is a trace you can read

ServiceDefaults instruments the API and the database driver, so one call to create a todo shows up in the dashboard as a span waterfall.

Traces · POST /todos
total 6.4 ms

POST /todos

web-api

6.4 ms

CreateTodoCommandHandler

application

5.1 ms

SELECT users

npgsql

1.5 ms

INSERT todo_items

npgsql

1.9 ms

No exporter to wire, no collector to run. The spans are there the first time you press F5.

Everything you need to go cloud-native

Aspire orchestration and Clean Architecture on .NET 10, decided and implemented, so day one is spent on your domain.

One command boots it all

dotnet run on the AppHost starts the database, the API, and the dashboard together, wired up and in the right order.

Telemetry in the box

ServiceDefaults ships OpenTelemetry logs, traces, and metrics. Every request is a distributed trace in the dashboard, no setup required.

Health checks and resilience

Liveness and readiness endpoints, service discovery, and HTTP resilience handlers are configured for every service by default.

Clean Architecture inside

The same layered Domain, Application, Infrastructure, and Web.Api projects, with the dependency rule enforced by architecture tests.

Local to cloud, one model

The same app model runs on your machine and deploys to Azure Container Apps or Kubernetes with the Aspire tooling.

Tests that guard the design

Architecture tests enforce the dependency rule, unit tests cover the handlers, and Testcontainers integration tests hit a real database.

Clean Architecture, with an AppHost on top

The layered projects you already know, plus two Aspire projects that orchestrate them and give every service the same defaults.

  • Aspire.AppHost declares and runs the resources, in C#
  • Aspire.ServiceDefaults adds OpenTelemetry, health checks, and resilience
  • Domain, Application, Infrastructure, and Web.Api, layered as usual
  • The dependency rule enforced by architecture tests
  • Unit and Testcontainers integration tests in tests/

Not ready for Aspire? The plain Clean Architecture template is the same layers without the AppHost, and it is also free.

aspire/
src/
├─ Aspire.AppHost/ # orchestrates the resources
├─ Aspire.ServiceDefaults/ # OTel, health, resilience
├─ Domain/ # entities, domain events
├─ Application/ # use cases, CQRS
├─ Infrastructure/ # EF Core, auth, caching
├─ Web.Api/ # endpoints, composition root
└─ SharedKernel/
 
tests/
├─ ArchitectureTests/
├─ Application.UnitTests/
└─ IntegrationTests/ # Testcontainers

One command, .NET 10, free forever. Orchestration and observability, already wired.

Get the template

Running in two minutes

1

Drop your email

The template lands in your inbox as a ready-to-run solution. No sign-up wall, no upsell required.

2

Run the AppHost

dotnet run --project src/Aspire.AppHost. The dashboard, the database, and the API come up together.

3

Open the dashboard

Watch resources go healthy, follow a request across its spans, and read structured logs, all in one place.

Questions people ask

What does Aspire actually add over the plain template?

Aspire is an orchestration and observability layer. The AppHost declares your resources (the database, the API) in C# and starts them together with one command. ServiceDefaults wires OpenTelemetry, health checks, service discovery, and HTTP resilience into every service. The dashboard shows logs, traces, and metrics out of the box.

Do I need Docker or Kubernetes to run it?

You need a container runtime like Docker Desktop for the PostgreSQL container the AppHost starts. You do not need Kubernetes to develop. The same app model deploys to Azure Container Apps or Kubernetes later with the Aspire tooling.

Which .NET and Aspire versions does it target?

It targets .NET 10 with Aspire 13.4. The underlying Clean Architecture is the same layered structure as the non-Aspire template.

Is this the same as the Clean Architecture template?

It is the Aspire flavor of it. Same Domain, Application, Infrastructure, and Web.Api layers, plus an Aspire.AppHost and Aspire.ServiceDefaults for orchestration and telemetry. If you do not want Aspire yet, the plain Clean Architecture template is also free.

Is it really free?

Yes. The template is free forever, and so are the updates. You get an email when a new version ships.

Ship cloud-native from the first run

The full Aspire Clean Architecture template, free, in your inbox. Clone it, run one command, and watch it come up.

Secure Delivery
Instant Access
No Credit Card

No credit card. Targets .NET 10 with Aspire 13.4.