DotCraft 1.0.3

dotnet tool install --global DotCraft --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DotCraft --version 1.0.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DotCraft&version=1.0.3
                    
nuke :add-package DotCraft --version 1.0.3
                    

DotCraft

NuGet NuGet Downloads

O CLI de scaffolding de soluções .NET

DotCraft é uma ferramenta de linha de comando que gera soluções .NET completas e prontas para produção seguindo padrões modernos de arquitetura — Clean Architecture ou Vertical Slice — com todo o boilerplate já configurado para que você foque no que importa: a lógica de negócio.


Instalação

dotnet tool install --global DotCraft

Atualização

dotnet tool update --global DotCraft

Uso

dotcraft new solution [opções]

Opções

Opção Descrição Valores Padrão
-n, --name Nome da solução string
-a, --architecture Padrão de arquitetura clean | vertical
-d, --db Banco de dados sqlserver | postgres | oracle
--docs Documentação da API scalar | swagger
-v, --version Versão do .NET 9 | 10 10
--format Formato do arquivo de solução sln | slnx slnx
--tests Projetos de teste adicionais integration | acceptance | all | none all

Exemplos

# Clean Architecture com PostgreSQL e Scalar
dotcraft new solution -n MeuProjeto -a clean -d postgres --docs scalar -v 10 --tests all

# Vertical Slice com SQL Server e Swagger
dotcraft new solution -n MeuProjeto -a vertical -d sqlserver --docs swagger -v 9 --tests integration

# Setup mínimo sem testes adicionais
dotcraft new solution -n MeuProjeto -a clean -d postgres --docs scalar --tests none

O que é gerado

Clean Architecture

MeuProjeto/
├── src/
│   ├── MeuProjeto.Api            # Camada HTTP (endpoints, middleware, setup)
│   ├── MeuProjeto.Application    # Lógica de negócio (CQRS, validação)
│   ├── MeuProjeto.Infrastructure # Persistência, EF Core, repositórios
│   └── MeuProjeto.Domain         # Entidades, value objects, exceções
├── tests/
│   ├── MeuProjeto.UnitTests
│   ├── MeuProjeto.IntegrationTests
│   └── MeuProjeto.AcceptanceTests
├── docs/
├── .editorconfig
├── .gitignore
├── Directory.Build.props
├── Directory.Packages.props
├── Dockerfile
└── docker-compose.yml

Vertical Slice

MeuProjeto/
├── src/
│   └── MeuProjeto.Api
│       ├── Features/          # Uma pasta por feature
│       ├── Shared/            # Abstrações, Result pattern, behaviors
│       ├── Infrastructure/    # Persistência, DbContext, repositórios
│       └── Setups/            # Configuração do builder e pipeline
├── tests/
│   ├── MeuProjeto.UnitTests
│   ├── MeuProjeto.IntegrationTests
│   └── MeuProjeto.AcceptanceTests
├── .editorconfig
├── .gitignore
├── Directory.Build.props
├── Directory.Packages.props
├── Dockerfile
└── docker-compose.yml

O que está incluído

Sempre gerado

  • Directory.Build.props — configuração de build centralizada
  • Directory.Packages.props — versões de pacotes NuGet centralizadas via CPM
  • .editorconfig — convenções de estilo de código
  • .gitignore — gitignore padrão para .NET
  • Dockerfile — build multi-stage Alpine com usuário não-root
  • docker-compose.yml — pré-configurado para o banco de dados escolhido

Por arquitetura

  • Result pattern (Result<T>, Error, ErrorType)
  • Contratos CQRS (ICommand, IQuery, ICommandHandler, IQueryHandler)
  • ValidationBehavior com pipeline do FluentValidation
  • GlobalExceptionHandler com ProblemDetails
  • Classe base Entity com UUIDv7, campos de auditoria e eventos de domínio
  • Classe base ValueObject
  • Contratos IRepository<T> e IUnitOfWork
  • AppDbContext com ApplyConfigurationsFromAssembly
  • BaseEntityTypeConfiguration<T> para mapeamentos do EF Core
  • Implementação de UnitOfWork
  • Extensions de DependencyInjection por camada
  • BuilderSetup e PipelineSetup
  • Health checks configurados para o banco escolhido
  • Documentação da API (Scalar ou Swagger)
  • Program.cs pronto para rodar

Versões de pacotes

Todas as versões de pacotes NuGet são resolvidas em tempo de geração diretamente da API do NuGet — sempre atualizadas e compatíveis com a versão do .NET escolhida.


Stack técnica

Responsabilidade Biblioteca
Mediator Mediator.SourceGenerator
Validação FluentValidation
Documentação Scalar / Swashbuckle
Health Checks AspNetCore.Diagnostics.HealthChecks
ORM Entity Framework Core
Banco de dados SQL Server / PostgreSQL / Oracle

Requisitos


Licença

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.3 107 4/12/2026
1.0.2 97 4/12/2026
1.0.0 101 4/11/2026