Buscar/Alterar uma base de código com vários pacotes sem quebrar o que já funciona

Alterar uma base de código com vários pacotes sem quebrar o que já funciona

Use quando uma IA editar um repositório com vários pacotes. Ela descobre o pacote responsável e suas regras, mantém o comportamento e os nomes públicos atuais, adiciona testes e documentação, pede aprovação para novas dependências e informa o que foi verificado e os riscos que restam.

Para usar estas regras de IA
## Antes de editar, descobrir qual pacote é responsável e quais são suas regras Antes de editar, identifique a raiz do repositório, o pacote ou subsistema responsável pelo comportamento e as instruções aplicáveis para colaboradores mais próximas do trecho afetado. - Encaminhe o trabalho ao menor escopo correto. - Leia as referências locais de arquitetura, convenções, compilação e testes necessárias para esse escopo. - Use uma pesquisa direcionada para um único símbolo e um grafo de dependências disponível para localizar chamadores entre arquivos, imports, o impacto de uma renomeação ou um raio de alteração amplo. - Confirme as versões do ambiente de execução e do gerenciador de pacotes, as definições do espaço de trabalho e os pré-requisitos de compilação a partir da configuração registrada no controle de versão. - Trate os arquivos de instruções vinculados ou gerados como visualizações da fonte oficial que eles declaram; edite apenas o arquivo de origem. Se as instruções entrarem em conflito ou a responsabilidade não estiver clara, pare antes de escrever e apresente o conflito exato. Não modifique pacotes sem relação durante a investigação. ## Manter o comportamento e os nomes públicos atuais e respeitar a arquitetura Evite prejudicar os usuários existentes. Não altere um valor padrão nem retire um nome público, a menos que a alteração aprovada exija isso expressamente. Mantenha os nomes legados funcionando e acompanhe a descontinuação com uma transição documentada e testes do comportamento antigo. Respeite a arquitetura já estabelecida pelo repositório: - mantenha o comportamento dentro de sua camada responsável ou limite de extensão; - preserve a equivalência entre adaptadores oficiais quando o contrato central mudar; - mantenha a configuração em cascata e os contratos públicos de personalização; - neutralize o conteúdo controlado pelo usuário e evite poluir o espaço de nomes global; - atenda aos requisitos declarados de internacionalização e acessibilidade; e - prefira os utilitários existentes e o mínimo de dependências em vez de mecanismos paralelos. Se uma alteração incompatível for inevitável, indique-a com destaque, explique o contrato afetado e ofereça um caminho de migração. ## Fazer a menor alteração possível, com testes e documentação Faça a menor alteração coerente que atenda ao requisito. Siga o estilo de código, comentários e documentação já estabelecido pelo pacote. Para alterações de comportamento: 1. Adicione ou atualize testes unitários focados. 2. Adicione os testes adequados de integração, navegador ou ponta a ponta quando o comportamento atravessar um limite. 3. Execute as compilações prévias necessárias antes dos testes dos pacotes dependentes. 4. Execute os comandos específicos de verificação de código, tipos, estilo e testes para o escopo afetado. 5. Atualize guias públicos, referências de API, exemplos, notas de migração ou entradas do registro de alterações quando o usuário puder perceber a mudança. 6. Atualize as instruções para colaboradores do escopo somente quando a mudança criar uma convenção, local, restrição ou dificuldade recorrente e duradoura. Não declare a conclusão enquanto faltarem os testes necessários ou a documentação voltada ao usuário. Registre qualquer teste que não pôde ser executado e o motivo concreto. ## Pedir aprovação antes de adicionar dependências e verificar antes do lançamento Obtenha a aprovação da pessoa responsável pela manutenção antes de adicionar uma dependência de terceiros. Verifique as licenças das dependências diretas e transitivas, o estado de manutenção, as implicações de segurança, o custo de empacotamento ou execução e se o repositório já oferece essa capacidade. Siga as convenções do repositório para ramificações, solicitações de alteração, revisões e registro de alterações. Mantenha o histórico de mudanças fácil de revisar, evite reescrever o histórico compartilhado e separe trabalhos sem relação. Em trabalhos que durem vários dias, preserve um ponto de controle visível com o método de colaboração aprovado pelo repositório. Antes do lançamento, confirme que os testes de compatibilidade abrangem o comportamento novo e o antigo, que a documentação necessária está presente, que os artefatos gerados estão atualizados e que as variantes do pacote ou os adaptadores previstos foram testados. ## Informar os testes executados e os riscos que restam Retorne um relatório de verificação conciso que liste: - o comportamento alterado e seu escopo; - os arquivos ou componentes afetados; - os testes, compilações e verificações de código e tipos executados, com seus resultados; - as considerações de compatibilidade e segurança; - as atualizações de documentação ou do registro de alterações; e - tudo que não foi executado, os riscos restantes e a próxima ação necessária. Separe os resultados verificados das suposições. Destaque qualquer alteração incompatível ou verificação obrigatória incompleta antes dos detalhes secundários.