CleanArchitecture

GitHub

Clean Architecture Solution Template for ASP.NET Core

AI Prompts & Endpoints
CodeWiki Knowledge Base

Repository: jasontaylordev/CleanArchitecture


Stars: 19925

README.md

Clean Architecture Solution Template

![Build](https://github.com/jasontaylordev/CleanArchitecture/actions/workflows/build.yml)
![CodeQL](https://github.com/jasontaylordev/CleanArchitecture/actions/workflows/codeql.yml)
![Nuget](https://www.nuget.org/packages/Clean.Architecture.Solution.Template)
![Nuget](https://www.nuget.org/packages/Clean.Architecture.Solution.Template)
!Twitter Follow

The goal of this template is to provide a straightforward and efficient approach to enterprise application development, leveraging the power of Clean Architecture and ASP.NET Core. Using this template, you can effortlessly create a new app with Angular, React, or Web API only, powered by ASP.NET Core and Aspire. Getting started is easy - simply install the .NET template (see below for full details).

For full documentation, visit cleanarchitecture.jasontaylor.dev.

If you find this project useful, please give it a star. Thanks! ⭐

Getting started

Prerequisites

- .NET 10.0 SDK or later
- Node.js (LTS) — only required if you plan to use the Angular or React frontend
- Docker Desktop or Podman (or any OCI-compliant container runtime) — only required when using SQL Server or PostgreSQL. Not required when using SQLite (the default).

Install the template

bash
dotnet new install Clean.Architecture.Solution.Template

Create a new solution

Create a new solution using the template. Specify the client framework using --client-framework (-cf) and the database provider using --database (-db):

bash
dotnet new ca-sln --client-framework [angular|react|none] --database [postgresql|sqlite|sqlserver] --output YourProjectName

| Option | Values | Default |
|---|---|---|
| --client-framework | angular, react, none | angular |
| --database | postgresql, sqlite, sqlserver | sqlite |

Examples:

🅰️ Angular SPA with ASP.NET Core Web API and PostgreSQL:

bash
dotnet new ca-sln -cf angular -db postgresql -o YourProjectName

⚛️ React SPA with ASP.NET Core Web API and SQL Server:

bash
dotnet new ca-sln -cf react -db sqlserver -o YourProjectName

🔌 ASP.NET Core Web API only with SQLite:

bash
dotnet new ca-sln -cf none -db sqlite -o YourProjectName

💡 Tip: Run dotnet new ca-sln --help to see all available template options.

Run the app

bash
dotnet run --project .\src\AppHost

The Aspire dashboard will open automatically, showing the application URLs and logs.

To learn more, see the Getting started guide and Architecture overview.

Technologies

* ASP.NET Core 10
* Aspire
* Entity Framework Core 10
* Angular 21 or React 19
* MediatR
* AutoMapper
* FluentValidation
* NUnit, Shouldly, Moq & Respawn
* Scalar

Versions

The main branch is on .NET 10.0. Previous versions are available:

| Version | Branch |
|---|---|
| .NET 9.0 | net9.0 |
| .NET 8.0 | net8.0 |
| .NET 7.0 | net7.0 |
| .NET 6.0 | net6.0 |
| .NET 5.0 | net5.0 |
| .NET Core 3.1 | netcore3.1 |

Architectural decisions

Key design decisions are documented as Architecture Decision Records.

Learn more

- 📖 Clean Architecture Solution Template documentation

Support

If you are having problems, please let me know by raising a new issue.

License

This project is licensed under the MIT License.