Config Project (C#)
Overview
Executar setup determinístico e idempotente para bootstrap de projeto C# (.NET), organizado em solução (.sln) com múltiplos projetos (.csproj) para suportar Clean Architecture.
Estrutura alvo
project-root/
├── ProjectName.sln # Solução global
├── docker-compose.yml
├── .env / .env.example
├── .gitignore
├── src/
│ ├── ProjectName.Backend/ # ASP.NET Core API
│ │ ├── ProjectName.Backend.csproj
│ │ └── Program.cs
│ ├── ProjectName.Core/ # Domínio e Aplicação
│ │ └── ProjectName.Core.csproj
│ ├── ProjectName.Infrastructure/# Persistência e Infra
│ │ └── ProjectName.Infrastructure.csproj
│ └── ProjectName.Shared.Kernel/ # Kernel compartilhado
│ └── ProjectName.Shared.Kernel.csproj
└── tests/
├── ProjectName.UnitTests/ ← xUnit + Moq + Coverlet (≥95% domain/app)
└── ProjectName.IntegrationTests/ ← WebApplicationFactory — E2E API
Workflow
- Detectar se já existe arquivo
.slnno diretório atual. - Se ausente, inicializar solução com
dotnet new sln. - Criar projetos usando templates
webapi(Backend) eclasslib(Core, Infrastructure, Shared). - Adicionar projetos à solução:
dotnet sln add <path-to-csproj>. - Configurar referências entre projetos (Core -> Shared, Infrastructure -> Core, Backend -> Infrastructure/Core).
- Configurar o
Program.csno Backend com:- Middlewares padrão (Swagger, CORS, etc.).
- Injeção de dependências das outras camadas.
- Configurar
.env,.env.example,.gitignoreedocker-compose.yml. - Validar build e testes:
dotnet build&&dotnet test.
Commands
Fluxo padrão:
node config-project-cs/scripts/project-init-cs.mjs
Resources
agents/openai.yaml: Configuração do agente.scripts/project-init-cs.mjs: Script de bootstrap (placeholder).assets/project-template-cs/: Template completo da solução (.sln, .csproj, Program.cs).references/bootstrap-contract-cs.md: Detalhes da estrutura gerada.
Global Standards
- Consultar
../skills-standards.mdpara padrões globais de nomenclatura e convenções gerais entre skills.