Como revisar com o Claude Code o código que você gerou no DeepSeek antes de abrir o PR

revisão de código do DeepSeek com Claude Code antes do pull request
Resposta rápida

Revisar código do DeepSeek com Claude Code é simples: você aplica o trecho gerado no chat em arquivos reais do repositório, deixa ele no working tree ou commita na sua branch, e roda /code-review no terminal (sem GitHub App). A revisão pega os commits à frente do upstream mais o que não foi commitado, reporta bugs de correção e ainda aponta reuso, simplificação e eficiência. Depois passa o /security-review, que checa o diff da branch atual atrás de vulnerabilidade. O chat do DeepSeek nunca viu o seu repositório, então essa conferência é o que separa o trecho bonito do PR que não quebra nada

O trecho que o DeepSeek te entrega parece certo

Indentado, comentado, com nome de variável bonitinho, tudo no lugar

E é justamente por parecer certo que ele passa direto pro projeto sem ninguém olhar de perto

O cenário é conhecido: você abre o chat.deepseek.com, que é gratuito, joga o problema lá, o DeepSeek-V4-Pro-0813 responde com uma função completa (o modelo tem janela de até 1 milhão de tokens de contexto e pesos abertos sob licença MIT), você copia e cola no arquivo

Só que tem um detalhe que muda tudo: aquele contexto gigante estava cheio da SUA conversa, não do seu repositório

O chat nunca viu a sua pasta src, nunca abriu o seu package.json, não sabe qual biblioteca o time decidiu banir em 2024 e não faz ideia se aquele helper que ele acabou de inventar já existe três pastas acima

Então bora montar o fluxo de conferência: o que checar no código que veio do chat e como o Claude Code entra depois, lendo o diff já aplicado no repositório, antes de você abrir o PR

O que você precisa antes de rodar a revisão

Domine o Claude Code do básico ao avançado
Pré-inscrição Formação Claude Code

Domine o Claude Code do básico ao avançado

Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!

A revisão do Claude Code lê CÓDIGO, não conversa

Isso muda a ordem das coisas, se liga:

  • O trecho do DeepSeek já aplicado em arquivos do repositório, porque a revisão trabalha em cima do diff, e não do texto que ficou na aba do navegador
  • Uma branch própria com upstream configurado, já que por padrão a revisão local cobre os commits da sua branch à frente do upstream mais qualquer alteração não commitada no working tree
  • Um CLAUDE.md na raiz do projeto, que é o arquivo markdown que o Claude Code lê no início de toda sessão, onde moram padrões de código, decisões de arquitetura, bibliotecas preferidas e checklists de revisão

E o que NÃO é pré-requisito, pra tirar essa dúvida logo: o /code-review roda direto no terminal, sem precisar instalar o GitHub App

Não tem etapa de configurar integração, autorizar org, esperar aprovação de admin, nada disso

Abriu o terminal no projeto, roda 🙂

Passo a passo: revisando no Claude Code o código gerado no DeepSeek

A ideia aqui é transformar isso num ritual curto, de dois comandos, que você repete antes de todo PR

  1. Aplique o trecho em arquivos reais

Cola o código do chat no arquivo que ele deveria viver, ajusta imports e nomes, e deixa assim: ou commitado na sua branch, ou solto no working tree

Os dois estados entram na revisão padrão

O erro comum deste passo: deixar o código "quase aplicado", metade no arquivo e metade num rascunho .txt do lado, achando que depois organiza. O que não está no diff não é revisado

  1. Escreva o CLAUDE.md com os padrões do projeto

Se você ainda não tem o arquivo, o comando /init gera um CLAUDE.md inicial baseado na estrutura atual do projeto

/init

Depois você enxuga na mão e coloca o que importa de verdade: bibliotecas preferidas, decisões de arquitetura e o checklist de revisão do time

O erro comum deste passo: escrever um calhamaço

Os arquivos CLAUDE.md são carregados por INTEIRO, independentemente do tamanho, e arquivos mais curtos produzem melhor aderência

Ou seja, aquele documento de 40 telas não deixa o agente mais obediente, deixa ele mais disperso

  1. Rode o /code-review sem argumentos
/code-review

Ele pega o diff padrão (commits da sua branch à frente do upstream mais as mudanças não commitadas) e reporta bugs de correção, além de oportunidades de reuso, simplificação e eficiência

O erro comum deste passo: esperar que ele revise o texto que você colou no chat

Não é isso. Ele revisa o que está no repositório

  1. Direcione a revisão quando o alvo for outro

O /code-review aceita um alvo, que pode ser um caminho de arquivo, um número de PR, um nome de branch ou um intervalo de refs

/code-review main...my-feature

Muito útil quando o trecho do DeepSeek entrou faz três dias e o diff da branch já virou uma feira

  1. Passe o /security-review
/security-review

Esse checa o diff em busca de vulnerabilidades de segurança e cobre apenas as mudanças da branch atual

É o passo que eu não pularia em código que veio de chat, e o porquê está na próxima seção

  1. Decida o que aplicar (lendo!)

Duas flags fazem o trabalho braçal: --fix aplica os achados no working tree depois da revisão, e --comment posta os achados como comentários inline no PR

/code-review --fix

O erro comum deste passo: mandar --fix e sair pro café

Você acabou de colar código que um modelo escreveu sem ver o repo, aí manda outro modelo consertar sem você ler nada? Aí o PR vira um telefone sem fio ✋

Vale o mesmo cuidado de sempre com revisar o que o agente escreveu antes de commitar

  1. Automatize a higiene com um hook

Hooks PostToolUse disparam depois que uma chamada de ferramenta é bem-sucedida, e dá pra usar um matcher para as ferramentas Edit e Write (Edit|Write) rodando o seu linter após cada edição de arquivo

Assim o problema bobo (formatação, import não usado, regra de lint) morre na hora da edição, e a revisão sobra pro que é difícil

Os três erros que mais chegam do chat para o repositório

Erro 1: a dependência que simplesmente não existe

Sintoma: o código roda lindo na cabeça, mas o install falha, ou pior, INSTALA algo que você nunca ouviu falar

Causa: alucinação de pacote

Um estudo publicado em março de 2025 analisou 576 mil amostras de código Python e JavaScript geradas por LLMs e encontrou que em cerca de 20% dos casos os pacotes recomendados não existiam

Desses nomes inventados, 38% pareciam inspirados em pacotes reais, 13% eram erro de digitação e o restante era completamente inventado

E tem o recorte que interessa aqui: a taxa é pior em modelos open source, com o DeepSeek citado entre eles, enquanto ferramentas comerciais como o ChatGPT-4 alucinaram a uma taxa de cerca de 5%

Só que o problema não para no erro de instalação

O mesmo estudo registrou mais de 200 mil nomes de pacotes alucinados únicos, sendo que 43% se repetiam de forma consistente em prompts similares e 58% reapareciam pelo menos uma vez em dez execuções

Nome inventado que se repete deixa de ser acidente e vira ENDEREÇO

É o que sustenta o slopsquatting: atacantes publicam pacotes maliciosos em índices como PyPI e npm usando os nomes que os modelos costumam inventar

Diferente do typosquatting, não depende de você digitar errado, depende do modelo sugerir certinho o nome errado

Já teve caso confirmado: o pacote unused-imports executava scripts de post-install desenhados para roubar credenciais e chaves de API

Solução: confira cada import novo no registro oficial antes de instalar qualquer coisa, e passe o diff pelo /security-review

Como prevenir: fixe as bibliotecas permitidas no CLAUDE.md, na seção de bibliotecas preferidas

Erro 2: arquivo, função ou caminho que não existe no projeto

Sintoma: o trecho importa um utils/formatDate que ninguém nunca criou, ou chama um método do seu service com uma assinatura levemente diferente da real

Causa: o chat não enxerga o seu repositório

Ele não está adivinhando mal, ele está PREENCHENDO, com o que costuma existir em projetos parecidos

Solução: rodar o /code-review sobre o diff já aplicado

A diferença é que agora o código está no contexto real, ao lado dos arquivos que existem de verdade, então a checagem é contra o seu projeto, não contra a média da internet

Como prevenir: aplicar primeiro, revisar depois. Nunca o contrário

Erro 3: padrão diferente do resto do repositório

Sintoma: funciona, passa no teste, e mesmo assim o PR volta cheio de comentário do time

Tratamento de erro num estilo, nomenclatura noutro, uma camada de abstração a mais que ninguém pediu

Causa: o chat entregou o padrão dele, não o seu

Solução: manter o CLAUDE.md como fonte dos padrões da sessão (ele é lido no início de toda sessão) e usar a revisão pra pegar as oportunidades de reuso, simplificação e eficiência

Muita coisa que veio do chat é helper novo pra fazer o que já existia

Como prevenir: checklist de revisão curto dentro do próprio CLAUDE.md

Esse ponto pesa ainda mais quando o repositório não é seu, tipo em projeto de cliente, onde o padrão da casa é lei

Quando usar /code-review local e quando chamar o modo ultra

Tem dois tamanhos de revisão e a escolha é bem prática

Pra trecho pequeno colado no dia a dia, o /code-review local resolve: roda no terminal, é imediato e não exige o GitHub App

Agora, quando a branch cresceu, virou refatoração ampla ou é aquele PR que vai direto pra produção, existe o /code-review ultra (o ultrareview), que roda uma revisão multiagente na infraestrutura do Claude Code na web, lançando uma frota de agentes revisores em sandbox remoto pra caçar bugs na branch ou no pull request

Situação Comando Onde roda Tempo e custo
Trecho pequeno colado no dia a dia /code-review Terminal, sem GitHub App Imediato
Alvo específico (arquivo, PR, branch, ref range) /code-review main...my-feature Terminal Imediato
Vulnerabilidade no diff da branch /security-review Terminal Imediato
Branch grande, refatoração ampla, PR pra produção /code-review ultra Sandbox remoto (Claude Code na web) 5 a 10 minutos, US$ 5 a US$ 25 por revisão

Sobre o ultra, alguns detalhes que valem antes de apertar o botão:

Sem argumentos, ele revisa o diff entre a branch atual e a branch padrão, incluindo mudanças não commitadas e staged

A revisão leva tipicamente de 5 a 10 minutos, então não é comando de "rodar e ficar olhando"

Depois das execuções gratuitas, o custo por revisão fica tipicamente entre US$ 5 e US$ 25 em créditos de uso, dependendo do tamanho da mudança, e o diálogo de lançamento mostra a estimativa antes de cada execução (dá pra desistir ali mesmo)

E a ressalva de disponibilidade, que é importante em ambiente corporativo: o ultrareview NÃO está disponível no Claude Code com Amazon Bedrock, Google Cloud Agent Platform ou Microsoft Foundry, nem para organizações com Zero Data Retention habilitado

Ah, e se você viu /review por aí: hoje ele é um alias de /code-review. Em versões anteriores à v2.1.223 era um comando separado, que rodava uma revisão read-only de um pull request do GitHub

Conclusão

A divisão de trabalho aqui é bem clara, e ela funciona

O DeepSeek escreve rápido, no chat gratuito, com contexto de sobra pra você despejar o problema inteiro

O Claude Code confere contra o repositório de VERDADE, aquele com os seus arquivos, os seus padrões e as suas dependências reais

Um gera, o outro checa. O que não dá é pedir pro mesmo texto que nunca viu o seu projeto garantir que ele encaixa no seu projeto…

Próximo passo concreto, pra rodar hoje: dispara o /init, enxuga o CLAUDE.md até sobrar só o que o time realmente segue, e transforma /code-review mais /security-review no ritual fixo antes de todo PR

Dois comandos, um minuto, e o PR que você abre deixa de ser aposta

até o próximo post! 😀

Perguntas frequentes

Preciso instalar o GitHub App pra revisar com o Claude Code o código que veio do DeepSeek?

Não. O /code-review roda direto no terminal, sem precisar instalar o GitHub App. É abrir o terminal no projeto e rodar o comando, sem etapa de integração ou aprovação de admin.

O Claude Code revisa o texto que ainda está no chat do DeepSeek?

Não, e esse é o ponto central do fluxo. A revisão trabalha em cima do diff do repositório: por padrão, os commits da sua branch à frente do upstream mais qualquer alteração não commitada no working tree. Enquanto o código estiver só na aba do navegador, ele não entra na revisão.

Qual a diferença entre /code-review e /review no Claude Code?

Hoje /review é um alias de /code-review, então os dois comandos fazem a mesma coisa. Em versões anteriores à v2.1.223, o /review era um comando separado, que rodava uma revisão read-only de um pull request do GitHub.

Quanto custa rodar o /code-review ultra depois de gastar as execuções gratuitas?

O custo fica tipicamente entre US$ 5 e US$ 25 em créditos de uso por revisão, variando com o tamanho da mudança. Essa estimativa aparece no diálogo de lançamento antes de cada execução, então dá pra decidir se vale rodar naquele diff específico.

O /security-review substitui o /code-review na hora de revisar código do DeepSeek?

Não, eles cobrem coisas diferentes. O /code-review reporta bugs de correção e oportunidades de reuso, simplificação e eficiência, enquanto o /security-review checa o diff em busca de vulnerabilidades de segurança, cobrindo apenas as mudanças da branch atual.

Por que o DeepSeek tem mais chance de inventar nome de pacote do que o ChatGPT?

Um estudo de março de 2025 mostrou que a taxa de alucinação de pacotes é pior em LLMs open source, com o DeepSeek citado entre eles, enquanto ferramentas comerciais como o ChatGPT-4 alucinaram a uma taxa de cerca de 5%. É por isso que dependência sugerida pelo DeepSeek merece checagem antes de instalar.



Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares