Mateus.Tech.Templates 2.0.0

dotnet new install Mateus.Tech.Templates@2.0.0
                    
This package contains a .NET Template Package you can call from the shell/command line.

Mateus.Tech.Templates

This is a dotnet new template package that aims to make it easier to create complext .NET applications with most of the boilerplate code already created so you can get right to the code that matters.

Getting started

To use the templates included in this package, install the package first with

$ dotnet new install Mateus.Tech.Templates

All templates in this package are suffixed with (mateus.tech), e.g.:

$ dotnet new list
These templates matched your input:

Template Name                                 Short Name                  Language    Tags
--------------------------------------------  --------------------------  ----------  ----------------------------------------------------------------------
[...]
ASP.NET Core Web API (mateus.tech)            web-api-mateus              [C#]        mateus.tech/Web/Web API/Full
[...]

Prerequisites

The templates in this package target .NET 10.0. Make sure you have that SDK version installed in order to use it.

Aspire Support

Some templates in this package include integration with Aspire, Microsoft's cloud-native development stack for .NET. Aspire helps you build, run, and observe distributed applications with built-in support for service discovery, health checks, and dashboarding.

If you select a template with Aspire support, your solution will include Aspire components and configuration files. Make sure you have the Aspire workload installed:

$ dotnet workload install aspire

For more information on Aspire, visit the official documentation.

Available Templates

Web API [web-api-mateus]

This template includes an ASP.NET Core Web API project with the following tools implemented:

  • API: The API project uses ASP.NET Core Web API.
    • Swagger: full Swagger support available at the /swagger endpoint.
    • Endpoint Versioning: full endpoint versioning support with the [ApiVersion] attribute and Swagger integration. This project uses URL versioning, e.g. v1/[controller]. For documentation, go to https://github.com/dotnet/aspnet-api-versioning/wiki.
  • Functions: An Azure Functions app.
  • Application: The Application layer implements the MediatR query and command handlers.
  • Infrastructure.Data: The Infrastructure Data layer implementes the database context and migrations required to run the application.
  • Domain: The Domain layer implements the database entities and enums that model the application business use case.

Additional documentation

Each template contains a README file that describes what's included in it. Make sure you read it once you create your project with a template from this package.

Feedback

Have some feedback? Please file an issue or open a PR on our GitHub repo.

  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 245 7/3/2026
2.0.0-preview.1 562 8/9/2025
1.1.0 3,895 11/23/2023
1.0.0 861 11/17/2023

v2.0.0

* General NuGet package updates
* Replaced Tye with Aspire for local development
* Added Azure Functions project to WebApi template
* Moved WebApi template to target .NET 10
* Replaced MediatR with ControlTowR for query/command handling
* Added centralized package management (`Directory.Packages.props`) and a shared `Directory.Build.props` to reduce duplication across the solution's projects
* Replaced the MVC `IActionFilter`-based exception handling with the built-in `IExceptionHandler` + `AddProblemDetails()` pipeline, returning RFC 7807 ProblemDetails responses
* Added an `.editorconfig` for consistent code style and analyzer conventions
* Enabled container publish support (`dotnet publish -t:PublishContainer`) on the API project
* Updated documentation to reflect the .NET 10 baseline

v1.1.0

* Removed `Models` class library and created `Domain` class library
 - Fixed project references accordingly
 - This new class library includes:
   + "Models" folder containing EF entities
   + "Enums" folder containing enums
* Added a `MessageType` enum as an example on how to use enums and made it a `Message` property
 - Fixed `Application` queries, commands, and responses accordingly
* Created a new `InitialMigration` with `MessageType` in it
* Made `ApplicationDbContext` a sealed class
* Fixed some build warnings by turning `string` into `string?` when it might by null
* Added information about available templates to project README