← ClaudeAtlas

dare-layered-designlisted

Enforce arquitetura estrita de 4 camadas (Handlers, Services, Repositories, Models) em todos os projetos DARE, independente de linguagem ou framework. Inspirado em "Layered Design for Ruby on Rails Applications" de Vladimir Dementyev (Evil Martians).
dewtech-technologies/dare-method · ★ 3 · AI & Automation · score 76
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