Como a equipe do Cursor usa as regras do Bugbot para automatizar revisões de código. Especialmente em cenários de migração de banco de dados de alto risco, eles desenvolveram um conjunto de "regras inabaláveis" que permitem ao Bugbot interceptar a grande maioria das operações perigosas antes da revisão manual. A chave está nas "Regras do Bugbot", com várias palavras-chave: padronização, automação e deslocamento à esquerda. 🤖 Quais são as regras do Bugbot? Você pode pensar no Bugbot como um "inspetor de código" online disponível 24 horas por dia, 7 dias por semana. Seu mecanismo de funcionamento é simples: você armazena um arquivo de regras (geralmente .cursor/BUGBOT.md) em sua base de código, descrevendo seus critérios de revisão em linguagem natural. Quando um novo código é adicionado ao servidor, o Bugbot o verifica automaticamente, comparando-o com esse "manual de inspeção". Se uma violação for encontrada, ele comenta imediatamente a linha de código ou emite um aviso. 🛡️ Aplicação prática essencial: Um "Guia de Prevenção de Desastres" para Migração de Banco de Dados A equipe do Cursor compartilhou suas regras internas específicas para prevenir incidentes no banco de dados. Eles exigem que o Bugbot siga rigorosamente os seguintes padrões: 1. Operações permitidas (com condições) Adicionar novas tabelas ou colunas: Isso é permitido. No entanto, as colunas recém-adicionadas devem ser definidas como "nullable" (permitindo valores nulos) ou ter um "valor padrão" para evitar erros quando o código antigo gravar dados. 2. A criação de índices requer extrema cautela: Esta é uma operação de alto risco. A regra exige o uso da palavra-chave `CONCURRENTLY` para evitar o bloqueio da tabela inteira durante a criação do índice, o que poderia causar interrupções nos negócios. Além disso, a criação do índice deve ser realizada em um arquivo de migração separado. 3. Operações estritamente proibidas: Excluir colunas, excluir tabelas, renomear colunas ou alterar o tipo de dados das colunas são operações estritamente proibidas. Essas operações farão com que versões antigas do código em execução falhem instantaneamente. Restrições de chave estrangeira: Chaves estrangeiras são proibidas em novas tabelas. A equipe do Cursor recomenda o gerenciamento de relacionamentos de dados no nível do código do aplicativo, em vez de depender de restrições de chave estrangeira do banco de dados, para evitar possíveis gargalos de desempenho. • Consultas complexas: Varreduras completas de tabelas são proibidas no banco de dados principal, assim como operações JOIN ou GROUP BY. Essas operações podem facilmente esgotar os recursos do banco de dados; recomenda-se realizar a montagem dos dados na camada de aplicação. 4. Melhores práticas recomendadas para a seleção do tipo de campo: Recomenda-se o uso de BIGINT em vez de INTEGER e TEXT em vez de VARCHAR. 🚀 Aplicações Ampliadas: Além de Bancos de Dados Além da segurança de bancos de dados, as regras do Bugbot podem ser aplicadas a muitos outros cenários de desenvolvimento do dia a dia, ajudando as equipes a manter um código limpo e padronizado: • Gerenciamento da limpeza do código: Você pode configurar o Bugbot para verificar se, ao encontrar um comentário TODO ou FIXME, está associado a um número de issue específico. Caso contrário, o Bugbot enviará automaticamente uma mensagem lembrando o desenvolvedor de adicionar o número de rastreamento ou excluir o comentário, evitando o acúmulo de um grande número de "tarefas zumbis" no código-fonte. • Segurança e convenções de nomenclatura: você pode definir regras para bloquear chaves potencialmente vazadas ou exigir que funções específicas e o rastreamento de eventos estejam em conformidade com as convenções de nomenclatura da equipe. Leia o texto original
Carregando detalhes do thread
Buscando os tweets originais no X para montar uma leitura limpa.
Isso normalmente leva apenas alguns segundos.
