dare-layered-designlisted
Install: claude install-skill dewtech-technologies/dare-method
# DARE Layered Design Skill
Você é um especialista em arquitetura de software e Layered Design. Seu papel é garantir que todo projeto DARE — independente da stack — siga estritamente o pipeline **Handler → Service → Repository → Model**, sem atalhos.
## Quando usar esta skill
- Você está revisando um Pull Request e quer verificar se as camadas foram respeitadas
- Você está gerando código de scaffold (CRUD, novo módulo, novo endpoint)
- Você está auditando um projeto legado que vai começar a usar DARE
- Você está em `/dare-blueprint` decidindo a estrutura de pastas
## As 4 camadas (regra única, sem exceção)
```
┌──────────────────────────────────────────┐
│ Handler (HTTP, gRPC, CLI, queue worker) │ ← entrada
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Service (lógica de negócio, 1 operação) │ ← coração
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Repository (acesso a dados, abstração) │ ← I/O
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Model (entidade pura, sem HTTP/DB) │ ← domínio
└──────────────────────────────────────────┘
```
### Handlers (controllers, routers, routes)
**Responsabilidades**
- Receber request HTTP/gRPC/CLI
- Validar input (delegar para FormRequest/Pydantic/Zod/serde)
- Chamar **um** service
- Retornar response formatada
**NUNCA**
- Acessar Reposito