Refatoração automática completa
Entende dependência entre arquivos, refatora o projeto inteiro com um comando — não é só trocar nome de variável, é refatoração estrutural mesmo
Refatoração tradicional é uma dor que quem já fez sabe
Muda um nome de função, precisa procurar em 100 arquivos. Termina de mudar e fica na dúvida se faltou algo. Roda o teste e descobre que quebrou 3 coisas. Começa a fazer busca binária pra achar o culpado. Quanto maior o projeto, mais medo tem de mexer, resultado é que a dívida técnica só cresce e ninguém quer chegar perto daquele código bagunçado. Agora fala de coisas maiores como separar class, extrair módulo... sozinho leva no mínimo uma semana.
Como OpenClaw resolve isso
OpenClaw não fica só olhando o arquivo aberto. Lê o diretório inteiro, analisa as cadeias de import, chamadas de função, definições de tipo, dependências de módulo, daí mexe. Depois roda os testes sozinho pra confirmar que não quebrou nada. Você só fala "transforma esse projeto de class pra hooks", o resto é com ele.
Prompt que já vem pronto pra usar
Esses 3 Prompts cobrem os casos de refatoração mais comuns, copia e cola direto.
Analisa todos os arquivos com React Class Component do projeto.
Faz a refatoração assim:
1. Transforma cada class component em função + Hooks
2. this.state / this.setState → useState
3. componentDidMount / componentWillUnmount → useEffect
4. Extrai lógica reutilizável em Hook customizado
5. Mantém a interface das props igual, sem precisar mudar nada nos componentes pai
6. Roda os testes existentes pra confirmar que tá tudo ok
Listam separado pra cada arquivo o que mudou e por quê.
Analisa todo o tratamento de erro do projeto.
Auditoria do estado atual:
- Acha todos os blocos try-catch, chamadas .catch(), error callback
- Lista os lugares inconsistentes (uns ignoram o erro, outros só fazem console.log, outros relançam)
Plano uniforme:
1. Cria uma classe AppError uniforme (com code, message, cause)
2. Cria middleware de tratamento de erro global
3. Toda camada de negócio lança AppError, não faz throw new Error direto
4. Camada de API retorna uniforme { success: false, error: { code, message } }
5. Mostra a lista de arquivos modificados e os diffs
Vou migrar esse projeto JavaScript pra TypeScript.
Siga esses passos:
1. Analisa a estrutura, gera tsconfig.json (em strict mode)
2. Começa pelo arquivo de entrada, migra .js → .ts/.tsx em ordem de dependência
3. Adiciona type annotation pra todos os parâmetros e retornos de função
4. Minimiza o uso de any, usa tipos específicos ao máximo
5. Instala @types pra todas as libs de terceiros
6. Cria pasta types/ pra compartilhar definições de tipo
7. Confirma que tsc --noEmit passa e não tem erro de tipo
Listam resumo das mudanças pra cada arquivo. Se precisar usar any em algum lugar, explica o porquê.
Configuração recomendada
Pra refatoração usa essa config pra deixar IA mais cuidadoso e controlado.
# .openclaw/skill_config.yaml
refactor:
model: claude-opus-4-6 # Refatoração prefere Opus, melhor pra entender entre arquivos
context_depth: full # Lê a estrutura completa do projeto
safety:
dry_run: true # Mostra as mudanças antes de fazer pra valer
run_tests: true # Roda testes depois de mexer
backup: true # Faz backup antes de mexer
ignore:
- node_modules/
- dist/
- "*.min.js"
OpenClaw vs Copilot — Comparação de refatoração
- Entende o grafo inteiro de dependências do projeto, mexe em um lugar e atualiza todas as referências automaticamente
- Renomeia em massa entre arquivos, extrai módulo compartilhado, quebra arquivo gigante
- Roda testes depois pra validar, se quebrou algo desfaz tudo na hora
- Suporta regras customizadas de refatoração e blacklist
- Principalmente autocomplete e sugestão dentro do arquivo aberto
- Refatoração entre arquivos precisa abrir arquivo por arquivo
- Sem processo automático de validação com testes
- Depende do que a IDE consegue fazer, fica limitado pelo plugin
Comparação mais detalhada 👉 OpenClaw vs Copilot · OpenClaw vs Cursor
Caso real: Refatoração em projeto grande
Qual modelo usar em refatoração
Refatoração exige máximo da capacidade de entender código, não economiza aqui.
- Claude Opus 4.6 —— Primeiro escolha pra refatoração grande, melhor em rastrear dependência entre arquivos
- GPT-4o —— Refatoração média e pequena é ok, mais rápido
- DeepSeek V3.2 —— Plano apertado? Funciona também, resultado fica bom