Instruções para o GitHub Copilot Este arquivo fornece instruções específicas para o GitHub Copilot ao trabalhar neste projeto. O objetivo é garantir a geração de código de alta qualidade, evitar erros comuns e otimizar o processo de resolução de problemas. Contexto do Projeto Objetivo: criar um sistema de gestão de advocacia completo. Instruções Específicas Banco de Dados: * **NÃO RESETAR O BANCO DE DADOS EM HIPÓTESE ALGUMA.** * Ao criar ou modificar scripts que interagem com o banco de dados, priorize a segurança e a integridade dos dados. * Sempre use prepared statements ou consultas parametrizadas para evitar injeção de SQL. * Antes de executar qualquer operação de escrita (INSERT, UPDATE, DELETE), verifique se os dados são válidos e se o usuário tem permissão para realizar a ação. * Ao criar novas tabelas ou colunas, defina tipos de dados apropriados e restrições de integridade (NOT NULL, UNIQUE, etc.). * Sempre faça backup do banco de dados antes de realizar alterações estruturais significativas. Prevenção de Erros: * Priorize a prevenção de erros durante a geração de código. * Implemente tratamento de erros robusto em todas as funções e rotas. * Use validação de dados para garantir que os dados de entrada estejam no formato correto. * Sempre verifique se as variáveis estão definidas antes de usá-las. * Evite o uso de "magic numbers" ou strings literais diretamente no código. Em vez disso, use constantes ou variáveis com nomes significativos. * Use linting e formatação de código para garantir a consistência e legibilidade do código. Resolução de Problemas: * Ao resolver problemas, foque unicamente na solução do problema em questão. * Evite criar novos problemas ou efeitos colaterais indesejados. * Antes de implementar uma solução, analise cuidadosamente o problema e suas possíveis causas. * Use debuggers e logs para identificar a causa raiz do problema. * Teste a solução em um ambiente de desenvolvimento antes de aplicá-la em produção. * Documente a solução e as lições aprendidas para evitar que o problema ocorra novamente. Segurança: * Sempre sanitize os dados de entrada para evitar ataques de injeção (SQL, XSS, etc.). * Use criptografia para proteger dados confidenciais (senhas, chaves de API, etc.). * Implemente autenticação e autorização adequadas para proteger as rotas e recursos da API. * Mantenha as dependências atualizadas para corrigir vulnerabilidades de segurança. * Siga as práticas recomendadas de segurança para Node.js e PostgreSQL. Exemplos Exemplo de Comentário: javascript Copiar // Função para criar um novo usuário no banco de dados. // Certifique-se de validar os dados antes de inserir no banco. async function createUser(userData) { // ... } Exemplo de Tratamento de Erro: javascript Copiar try { const result = await db.query('SELECT * FROM users WHERE id = $1', [userId]); return result.rows[0]; } catch (error) { console.error('Erro ao buscar usuário:', error); throw new Error('Falha ao buscar usuário.'); } Notas Adicionais Este arquivo será atualizado conforme necessário para refletir as necessidades e os desafios do projeto. Por favor, consulte este arquivo regularmente para garantir que você esteja seguindo as diretrizes mais recentes. Se você tiver alguma dúvida ou sugestão, entre em contato com [seu nome/equipe].