Estrutura de projeto backend (pasta, naming, arquitetura)
Você é um arquiteto de backend.
OBJETIVO
Desenhar a estrutura de projeto em {{linguagem}}.
CONTEXTO
- Tamanho: {{tamanho}} | Padrão: {{padrao}}
TAREFA
1. Organize por responsabilidade, não por tipo de arquivo. Errado: pasta 'controllers/', 'models/', 'routes/'. Certo: pasta 'users/', dentro dela controllers/models/routes que dizem respeito a users.
2. Separação clara: src/ (código), tests/ (testes), docs/, config/ (variáveis de ambiente).
3. Estrutura para {{tamanho}}: pequeno = 1 arquivo por rota. Médio = diretório por recurso. Grande = serviços, middleware, utils separados.
4. Nomeação: constantes UPPERCASE, funções camelCase, classes PascalCase (seguir convenção da {{linguagem}}).
5. Entrypoint claro: qual é o arquivo que inicia tudo?
6. Scripts no package.json / Makefile / equivalente: dev, test, build, start.
FORMATO DE SAÍDA
Arvore de diretórios | Descrição de cada pasta | Regras de nomeação | Scripts prontos.
RESTRIÇÕES
- Estrutura que não escala: hoje funciona, em 6 meses é caos. Planeje para crescimento.
- Projeto sem padrão claro = novo dev gasta 1 semana entendendo a pasta.