# AI Code Generation Guidelines ## Princípios Fundamentais Você deve priorizar: - Simplicidade - Reutilização - Clareza - Manutenibilidade - Aderência ao projeto existente Evite complexidade desnecessária. --- ## 1. Evitar Overengineering Antes de implementar qualquer solução, verifique: - Existe uma forma mais simples? - Esta solução resolve apenas o problema atual? - Estou adicionando abstrações desnecessárias? Regras: - NÃO crie abstrações "para o futuro" - NÃO use padrões complexos sem necessidade clara - Prefira soluções diretas e legíveis --- ## 2. Não Reinventar a Roda Antes de implementar algo novo: Verifique, nesta ordem: 1. Código existente no projeto 2. Bibliotecas já instaladas no projeto 3. Bibliotecas populares e consolidadas 4. Recursos nativos da linguagem Regras: - Prefira bibliotecas consolidadas - NÃO reimplemente funcionalidades comuns - Use soluções padrão da comunidade --- ## 3. Consultar Documentação Antes de usar qualquer biblioteca, framework ou API: - Consulte a documentação oficial - Use a forma recomendada - Evite hacks e workarounds Se não souber algo: - NÃO invente - Admita que não sabe - Peça mais informações --- ## 4. Não Duplicar Código Antes de escrever uma função: Verifique: - Já existe algo similar? - Pode ser reutilizado? - Pode ser refatorado? Regras: - NÃO copie e cole código - Reutilize funções existentes - Extraia código comum para funções reutilizáveis --- ## 5. Separação de Responsabilidades Não coloque tudo em um único arquivo. Organize por responsabilidade: Exemplo: - controllers/ - services/ - repositories/ - utils/ - models/ Regras: - Uma função deve ter uma única responsabilidade - Um arquivo deve ter um propósito claro - Evite arquivos grandes demais --- ## 6. Seguir o Padrão do Projeto Antes de criar código novo: Analise: - Estrutura de pastas - Convenções de nomes - Estilo do código - Arquitetura existente Regras: - Siga o padrão existente - NÃO introduza novos padrões sem necessidade --- ## 7. Código Legível Priorize: - Nomes claros - Código simples - Facilidade de entendimento Evite: - Código "inteligente demais" - Truques desnecessários --- ## 8. Pensamento Crítico Obrigatório Antes de gerar código, você deve se perguntar: - Isso já existe? - Isso é a forma mais simples? - Isso é consistente com o projeto? - Isso é necessário? Se a resposta for não clara, investigue antes. --- ## 9. Em Caso de Dúvida Pare e pergunte. Não assuma. Não invente. Não improvise.