πΊοΈ Planejando em Plan Mode
Migracoes multi-arquivo sao as tarefas mais arriscadas em desenvolvimento. Antes de mudar uma unica linha de codigo, use o Plan Mode do Claude para mapear o escopo completo: quais arquivos serao afetados, quais dependencias existem e qual a ordem segura de execucao.
π― Conceito Principal
O Plan Mode (ativado com Shift+Tab ou configurando o modo para "plan") faz o Claude analisar sem modificar. Ele le os arquivos, mapeia dependencias e propoe um plano de execucao detalhado antes de tocar em qualquer codigo.
- β’ Analise de escopo: O Claude lista todos os arquivos que precisam mudar e por que. Nenhuma surpresa no meio da migracao
- β’ Mapa de dependencias: Identifica quais arquivos dependem de quais, determinando a ordem segura de modificacao
- β’ Estimativa de risco: O Claude avalia quais mudancas sao mecanicas (rename seguro) versus quais envolvem logica (maior risco)
- β’ Batches definidos: O plano divide a migracao em batches de 3-5 arquivos, cada batch testavel independentemente
π» Exemplo no Terminal
π‘ Dica Pratica
Nunca comece uma migracao multi-arquivo sem um plano. O tempo investido no planejamento se paga 10x evitando estados inconsistentes onde metade do codigo usa o nome antigo e metade o novo.
Salve o plano do Claude em um arquivo para referencia: "Salve este plano de migracao em MIGRATION_PLAN.md"
π Identificando arquivos afetados
O Claude Code pode mapear automaticamente todos os arquivos impactados por uma mudanca, usando grep, analise de imports e arvore de dependencias. Isso garante que nenhum arquivo seja esquecido durante a migracao.
π― Conceito Principal
Identificar impacto vai alem de um simples "find and replace". O Claude analisa imports, exports, tipos, interfaces, testes e documentacao para montar a lista completa de arquivos afetados, incluindo os que precisam de mudancas indiretas.
- β’ Referencias diretas: Arquivos que importam ou usam diretamente o que esta sendo modificado
- β’ Referencias indiretas: Arquivos que usam via re-export, heranca ou composicao
- β’ Testes relacionados: Arquivos de teste que verificam o comportamento sendo modificado
- β’ Configuracoes: package.json, tsconfig.json, .env, docker-compose.yml que podem precisar de ajuste
π» Exemplo no Terminal
π‘ Dica Pratica
Peca ao Claude para criar um checklist markdown com todos os arquivos afetados. Marque cada um conforme for modificado. Isso evita o problema mais comum em migracoes: esquecer um arquivo.
Verifique tambem arquivos de configuracao de build (webpack, vite, tsconfig paths) que podem ter aliases ou mapeamentos para o nome antigo.
β‘ Executando em batches
Nunca modifique todos os arquivos de uma vez. A execucao em batches de 3-5 arquivos permite detectar problemas cedo, manter o codigo compilavel entre batches e fazer rollback parcial se necessario.
π― Conceito Principal
Batch execution e a abordagem mais segura para migracoes grandes. Cada batch e um conjunto coeso de mudancas que pode ser commitado, testado e revertido independentemente. Se algo quebra no batch 3, voce so precisa reverter o batch 3, nao os anteriores.
- β’ Tamanho do batch: 3-5 arquivos e o sweet spot. Mais que isso e dificil de revisar. Menos e muito lento
- β’ Coesao do batch: Agrupe arquivos que dependem entre si no mesmo batch para evitar estados intermediarios quebrados
- β’ Commit por batch: Faca um commit apos cada batch bem-sucedido. Isso cria pontos de restauracao seguros
- β’ Instrucao ao Claude: "Execute apenas o batch 1 do plano de migracao. NAO avance para o batch 2 sem minha confirmacao."
π» Exemplo no Terminal
π‘ Dica Pratica
Comece pelos arquivos mais "internos" (models, types) e avance para os mais "externos" (controllers, routes, views). Isso garante que as dependencias ja estejam atualizadas quando voce chegar nos consumidores.
Se o projeto usa TypeScript, mantenha o build rodando entre batches: erros de tipo apontam imediatamente quais referencias voce esqueceu de atualizar.
β Testando apos cada batch
Testes entre batches sao a rede de seguranca da migracao. Apos cada batch, rode testes, build e linting para confirmar que o codigo esta num estado consistente antes de prosseguir. Sem isso, voce acumula problemas que se tornam impossΓveis de diagnosticar.
π― Conceito Principal
O ciclo por batch e: modifica β testa β comita β proximo batch. Se os testes falham, voce para, corrige no batch atual e so entao avanca. Nunca avance para o proximo batch com testes falhando.
- β’ Testes unitarios: Rode apos cada batch para pegar erros de referencia, imports quebrados e tipos incorretos
- β’ Build/compile: Para TypeScript, Go, Rust - rode o build para pegar erros de tipo que testes podem nao cobrir
- β’ Linting: ESLint, Pylint - pegam imports nao utilizados, variaveis mortas e outros problemas pos-rename
- β’ Commit de checkpoint: Cada batch testado e commitado cria um ponto seguro de retorno
π» Exemplo no Terminal
π‘ Dica Pratica
Use mensagens de commit numeradas para migracoes: "refactor: rename User β Account (batch 1/4 - models)". Isso facilita o rollback seletivo e a revisao do PR.
Se um batch falhar e o fix nao for obvio, faca git stash e analise o problema com calma antes de continuar.
π Sweep final (verificacao completa)
Apos todos os batches, faca um sweep final: uma varredura completa para encontrar referencias esquecidas, strings hardcoded, comentarios desatualizados e qualquer resquicio do nome/padrao antigo que tenha escapado dos batches.
π― Conceito Principal
O sweep final e a ultima linha de defesa. O Claude faz um grep global pelo nome/padrao antigo em todo o projeto, incluindo arquivos que nao estavam no plano original - configuracoes, scripts, documentacao, seeds e fixtures.
- β’ Grep global: Busca pelo nome antigo em TODOS os arquivos, incluindo .env, README, comments, strings, fixtures e seeds
- β’ Testes completos: Rode a suite inteira de testes, nao apenas os unitarios. Integracao e e2e podem revelar problemas que unitarios nao pegam
- β’ Review final: Peca ao Claude para fazer um /review de todas as mudancas da migracao juntas
- β’ Documentacao: Atualize README, API docs e qualquer documentacao que referencia o nome/padrao antigo
π» Exemplo no Terminal
π‘ Dica Pratica
O sweep final frequentemente encontra 5-10% de referencias esquecidas, especialmente em strings de log, mensagens de erro, nomes de tabelas de banco e fixtures de teste. Nunca pule essa etapa.
Faca o sweep em um commit separado: "refactor: rename User β Account - final sweep". Isso deixa claro na historia do git o que foi planejado vs o que foi pego no sweep.
π¦ /compact em migracoes longas
Migracoes multi-arquivo geram conversas muito longas com o Claude. O contexto cresce a cada batch e o Claude pode perder o foco. O /compact e essencial para manter o contexto gerenciavel sem perder o progresso da migracao.
π― Conceito Principal
Em migracoes longas, o /compact resume a conversa mantendo o plano de migracao, batches ja concluidos e o estado atual. Isso reduz o consumo de tokens e melhora a qualidade das respostas nos batches seguintes.
- β’ Quando compactar: Apos cada 2-3 batches completos, ou quando sentir que as respostas estao ficando lentas ou imprecisas
-
β’
Compact direcionado: Use
/compact mantenha o plano de migracao e o status de cada batchpara preservar o essencial - β’ Plano externo: Mantenha o plano de migracao em um arquivo .md separado para que o Claude possa rele-lo apos o compact
- β’ Economia real: Uma migracao de 20 arquivos pode consumir 200k+ tokens sem compact. Com compact a cada 3 batches, cai para 50-80k tokens
π» Exemplo no Terminal
π‘ Dica Pratica
A estrategia ideal e: plano no arquivo + compact na conversa. O plano fica persistido em MIGRATION_PLAN.md, e o Claude pode rele-lo a qualquer momento. A conversa fica leve com compact regular.
Para migracoes muito grandes (50+ arquivos), considere usar sessoes separadas para cada grupo de batches, em vez de uma unica sessao com compact.
ποΈ Exercicio Pratico
Executar rename/refactor em 10+ arquivos com o workflow completo
Planejar a migracao
Escolha um rename real no seu projeto e peca o plano:
Executar batches com testes
Execute cada batch, teste e comite:
Compact e continuar
Apos batch 3, compacte e continue:
Sweep final
Faca a varredura final e confirme que nada foi esquecido:
β Criterios de Sucesso
π Resumo do Modulo
Proximo Modulo:
3.9 - Agent Teams e Loop Agentico (2026)