A comprehensive library for implementing Clean Architecture with Minimal APIs on .NET 9 and .NET 10. It provides domain foundations, repositories, unit of work, specifications, security/encryption, and minimal-API extensions.
- Clean Architecture foundations (entities, repositories, unit of work, specifications, result pattern)
- Minimal API extensions (validation wiring, standardized error handling, OpenAPI helpers)
- Security & encryption (Data Protection/AES column encryption)
- Soft delete & auditing (IsDeleted + auditing timestamps/users)
- EF Core integration (repositories, unit of work, auditing/soft-delete filters)
- Packages: stable
0.1.7. Preview0.1.11-previewtargets .NET 9 and .NET 10. - Templates:
dotnet new install MinimalCleanArch.Templates(or local nupkg), thendotnet new mca -n MyApp(multi-project) or--single-project. Use--mcaVersionto pin preview packages. - Launch defaults: Swagger, randomized ports 5000–8000; adjust
Properties/launchSettings.jsonif needed. - Using local nupkgs? Add a
nuget.configwith your local feed (e.g.,artifacts/packages) before restoring.
| Package | Description |
|---|---|
MinimalCleanArch |
Core interfaces and base classes (Entities, Repositories, Specifications, Result pattern). |
MinimalCleanArch.DataAccess |
EF Core implementation (DbContextBase, Repository, UnitOfWork, SpecificationEvaluator). |
MinimalCleanArch.Extensions |
Minimal API enhancements (validation filters, error handling, standard responses). |
MinimalCleanArch.Validation |
FluentValidation integration components (often used via Extensions). |
MinimalCleanArch.Security |
Data encryption services (AES, Data Protection) and EF Core integration. |
MinimalCleanArch.Messaging |
Domain events/messaging helpers and Wolverine integration. |
MinimalCleanArch.Audit |
Audit logging components. |
MinimalCleanArch.Templates |
dotnet new mca templates (single- or multi-project, clean architecture). |
- Scaffold with the template:
dotnet new install MinimalCleanArch.Templates dotnet new mca -n MyApp # multi-project dotnet new mca -n MyApp --single-project - Or install packages directly:
dotnet add package MinimalCleanArch dotnet add package MinimalCleanArch.DataAccess dotnet add package MinimalCleanArch.Extensions dotnet add package MinimalCleanArch.Security dotnet add package MinimalCleanArch.Validation dotnet add package MinimalCleanArch.Messaging dotnet add package MinimalCleanArch.Audit
- Then follow the per-package guides (links above) for setup specifics.
- Core:
src/MinimalCleanArch/README.md - DataAccess:
src/MinimalCleanArch.DataAccess/README.md - Extensions:
src/MinimalCleanArch.Extensions/README.md - Validation:
src/MinimalCleanArch.Validation/README.md - Security:
src/MinimalCleanArch.Security/README.md - Messaging:
src/MinimalCleanArch.Messaging/README.md - Audit:
src/MinimalCleanArch.Audit/README.md - Templates:
templates/README.md - Sample app:
samples/MinimalCleanArch.Sample/README.md
Contributions are welcome! Please read CONTRIBUTING.md.
MIT License. See LICENSE.