https://github.com/carloswm85/dotnet-template-kit
- DotNet Template Kit is a collection of opinionated .NET 10 solution templates for building web applications with architectures of increasing complexity.
- Choose:
- Lightweight monolith for smaller applications,
- N-layer solution for clear separation of concerns, or
- Clean Architecture template for domain-rich systems with strict dependency boundaries.
β Ready - π§ In progress - π Planned - β Blocked- Increasing complexity, top to bottom.
| Code | Architecture | Status | Recommended for | Template command | Documentation |
|---|---|---|---|---|---|
SMA |
Simple Monolith | β | CRUD applications, internal tools, and MVPs | dotnet new dtk-simple-monolith |
docs |
| Code | Architecture | Status | Recommended for | Template command | Documentation |
|---|---|---|---|---|---|
NLA |
N-Layer | β | Enterprise applications, large teams, and long-term maintenance | dotnet new dtk-nlayer |
docs |
VSA |
Vertical Slice | π | Independent API features, microservices, and modular monoliths | Not available yet | docs |
CNA |
Clean Architecture | β | Clean Architecture applications requiring implementing ASP.NET Core Identity API |
dotnet new dtk-clean-architecture |
docs |
`main` # Latest version of the project, this is the working branch
| # Working versions are migrated to latest available version
|-> `dtk-netcore10-identity` # Current and latest (2026)
|-> `dtk-netcore08-lightweight` # Archived, working but not receiving changes- .NET 10 SDK
- A development environment such as Visual Studio, Visual Studio Code, or JetBrains Rider
- Docker Desktop for templates that provide container orchestration
- Node.js and Angular tooling when using a template that includes an Angular client
Run the following command to verify the installed .NET SDKs:
dotnet --list-sdksClone the repository and install its templates from the repository root:
git clone https://github.com/carloswm85/dotnet-template-kit.git
Set-Location ./dotnet-template-kit
dotnet new install .List the installed DTK templates:
dotnet new list dtkTo identify the registration name before uninstalling the templates, run:
dotnet new uninstallThen pass the listed package or directory identifier to dotnet new uninstall.
Create a Basic N-Layer solution named Contoso.BackOffice:
dotnet new <template-name> --name ContosoBackOffice
Set-Location ./ContosoBackOffice
dotnet restoreUse another command from the available templates table to select a different architecture.
The available templates target .NET 10 and support the following shared options:
| Option | Type | Default | Description |
|---|---|---|---|
--name |
string |
Template-specific | Sets the generated solution and project name |
--IncludeDocumentation |
bool |
false |
Includes explanatory documentation in the generated solution |
Inspect every option supported by a template before creating a solution:
dotnet new <template-name> --helpExample with documentation included:
dotnet new <template-name> `
--name ContosoBackOffice `
--IncludeDocumentation true- Project documentation
- Microsoft .NET application architecture
- Azure Architecture Center
- .NET architecture guides
- Clean Architecture examples:
- The
mainbranch contains the latest supported templates and documentation. - Templates still under development are identified in the available templates table.
Issues and pull requests are welcome. Before proposing a change:
- Verify that it targets a supported template.
- Keep architecture-specific changes inside the corresponding template directory.
- Update the relevant template documentation.
- Confirm that the template installs and creates a new solution successfully.
DotNet Template Kit is available under the terms of the MIT License.

