Facebook
23 de setembro de 2026 | adrianosantostreina.com.br/blog Sobre o Autor

Da Sessão em Branco ao Pipeline no Ar: Um Fluxo Operacional para Trabalhar com Claude Code em Projetos Reais

Você abre o terminal, dispara o Claude Code em um projeto que já tem seis meses de história, e pede para ele “adicionar autenticação por token na API”. Vinte minutos depois, o agente entregou um código que compila, os testes passam, mas ele reescreveu o middleware de logging que outro desenvolvedor tinha ajustado na semana anterior, ignorou o padrão de tratamento de erro que o time usa em todo o resto do sistema e criou uma dependência nova que ninguém pediu. Nada está “errado” no sentido de quebrar a build. Mas está errado no sentido de que agora existe um código estranho ao projeto, escrito por uma ferramenta que não tinha ideia do que já existia ali.

Esse cenário se repete porque a maioria dos desenvolvedores trata o Claude Code como um gerador de trechos isolados — cola um prompt, recebe um bloco, copia, segue. Funciona para scripts avulsos. Não funciona quando o objetivo é entregar uma feature completa, testada e em produção, dentro de uma base de código que outras pessoas também tocam. O problema não é a ferramenta: é a ausência de um fluxo de trabalho definido, com etapas, checkpoints e responsabilidades claras entre você e o agente.

Este artigo apresenta um fluxo operacional — do commit inicial da sessão até o deploy — pensado para quem já usa Claude Code no dia a dia e quer parar de tratá-lo como sorteio de qualidade. Vamos cobrir estruturação de contexto, quebra de tarefas, revisão de diffs, integração com testes e o momento em que a IA deve sair de cena e o processo de deploy tradicional assumir.

Por que “abrir o terminal e pedir” não escala

Claude Code, como qualquer agente de codificação, opera bem quando o espaço de decisão é pequeno e o contexto está explícito. O problema surge porque o espaço de decisão em um projeto real nunca é pequeno: existem convenções não escritas, decisões de arquitetura tomadas há meses, dependências entre módulos que só quem trabalhou no código sabe reconhecer visualmente. Um agente que não recebe esse contexto vai preencher as lacunas com suposições razoáveis — e “razoável” para o modelo não é o mesmo que “consistente com o seu projeto”.

Segundo a discussão registrada em uma thread da comunidade r/ClaudeAI sobre os fluxos de trabalho mais usados com a ferramenta, o padrão que se repete entre quem usa Claude Code de forma produtiva não é “peça e receba”, mas sim um ciclo de planejamento, execução em etapas pequenas e revisão constante — muito mais próximo de como se trabalha com um desenvolvedor júnior competente do que com um oráculo que acerta de primeira.

O modelo mental correto: agente com contexto limitado, não oráculo

A analogia mais precisa é a de um consultor externo contratado para uma tarefa específica. Ele é competente, trabalha rápido, mas não conhece a política interna da empresa, não sabe quem decidiu o quê nem por que aquela gambiarra no módulo de pagamento existe há dois anos. Se você não brifa esse consultor, ele vai entregar um trabalho tecnicamente correto e organizacionalmente incompatível. O fluxo que vamos construir existe justamente para dar esse brifing de forma sistemática, sessão após sessão.

Etapa 1 — Preparando o terreno antes de qualquer prompt

Antes de pedir qualquer implementação, o projeto precisa ter um arquivo de contexto persistente que o Claude Code carrega automaticamente. Isso evita repetir, prompt após prompt, informações que deveriam estar fixadas: convenções de nomenclatura, estrutura de pastas, ferramentas de teste, política de tratamento de erro.

Um arquivo CLAUDE.md na raiz do repositório cumpre esse papel:

Esse arquivo não é documentação para humanos lerem depois — é a memória operacional que o agente consulta a cada sessão. Sem ele, cada interação começa do zero, e o agente reinventa decisões que o time já tomou.

💡 Dica do Mestre: em um tutorial introdutório de Claude Code voltado a quem está começando, fica evidente que a etapa de configuração inicial — arquivos de contexto, escopo de permissões, integração com o repositório — é tratada como pré-requisito, não como detalhe opcional. Pular essa etapa é a causa mais comum de sessões que “saem do trilho”.

Etapa 2 — Quebrando a tarefa antes de pedir código

O erro mais recorrente é jogar a tarefa inteira de uma vez: “implemente o módulo de recuperação de senha completo”. Isso força o agente a tomar decisões de arquitetura, de fluxo e de nomenclatura simultaneamente, aumentando a superfície de erro. O fluxo correto separa planejamento de execução.

Primeiro, peça um plano, sem código:

Com o plano em mãos, você valida antes de gastar uma única linha de código gerada. Se o passo 3 propõe alterar o middleware de autenticação global — algo sensível — você intervém ali, antes que o agente já tenha escrito e testado tudo em cima dessa premissa. Só depois de aprovar o plano é que se pede a execução, etapa por etapa:

Esse padrão de “planeje, aprove, execute em partes” é o mesmo descrito em um vídeo sobre construção de sistemas completos do zero com IA, no qual o autor mostra que sistemas maiores só se tornam manejáveis quando a IA trabalha sobre unidades pequenas e verificáveis, e não sobre a especificação inteira de uma vez.

Checkpoints entre etapas: o que revisar

A cada etapa concluída, antes de pedir a próxima, três verificações rápidas evitam acúmulo de dívida:

  • O diff toca apenas os arquivos previstos no plano? Se o agente alterou algo fora do escopo, pare e pergunte por quê antes de aceitar.
  • Os testes existentes continuam passando? Rode a suíte completa, não apenas o teste novo.
  • O padrão de erro e logging seguiu o que está descrito no arquivo de contexto?

Se qualquer um desses pontos falhar, a correção deve ser pedida imediatamente, antes de avançar. Deixar acumular três ou quatro etapas com pendências pequenas é o caminho mais direto para uma sessão de duas horas que termina em um git reset --hard.

Etapa 3 — Testes como contrato, não como formalidade

Pedir “escreva testes para isso” depois que o código já existe tende a gerar testes que confirmam o comportamento implementado, não que validam o comportamento esperado. A inversão — pedir o teste antes ou junto da implementação — funciona melhor com agentes de codificação porque cria um alvo objetivo para a geração.

Esse padrão aproxima o fluxo de TDD assistido: você valida a especificação através do teste — que é legível e revisável rapidamente — antes de avaliar a implementação inteira, que é mais longa e mais custosa de revisar linha a linha.

Etapa 4 — Revisão de diff como o portão real

Aceitar automaticamente tudo que o agente propõe é o ponto onde a maior parte dos problemas em produção nasce. O Claude Code integra bem com o fluxo padrão de revisão via Git, e isso deve ser usado deliberadamente: cada etapa gera um commit isolado, revisável.

Usar git add -p em vez de git add . força você a olhar cada trecho antes de confirmar — inclusive trechos que o agente alterou sem que você tenha pedido diretamente, como imports reorganizados ou formatação de arquivos vizinhos. Esse é o mesmo tipo de disciplina que se aplicaria à revisão de um pull request de qualquer colega: ninguém aprova um PR sem ler o diff, e não deveria haver excelência diferente quando quem escreveu foi um agente.

💡 Dica do Mestre: conforme apontado em uma comparação entre Claude Code e outras ferramentas de IA para desenvolvimento, o diferencial do Claude Code é rodar diretamente na sua máquina, com controle total do ambiente — o que também significa que a responsabilidade pela revisão do que ele produz é inteiramente sua, sem a rede de segurança adicional que plataformas mais fechadas às vezes oferecem.

Etapa 5 — Integração contínua: onde a IA para e o pipeline assume

Depois que as etapas locais estão validadas, o fluxo sai da sessão interativa com o Claude Code e entra no território determinístico do CI/CD. Esse é um ponto de corte importante: a IA participa da criação do código, mas não deve ser o critério de aprovação para o deploy. Essa função pertence ao pipeline, com testes automatizados, lint e build reproduzíveis.

Um exemplo de workflow com GitHub Actions ilustra esse limite:

O pull request gerado a partir de uma sessão de Claude Code passa pelas mesmas verificações que qualquer outro. Se o agente sugeriu uma dependência nova, o npm ci vai refletir isso no lockfile e o build vai expor eventuais incompatibilidades. Não existe atalho: o código gerado por IA entra na esteira como qualquer outro código.

Deploy: automação sim, confiança cega não

Uma vez que o pipeline aprova o pull request e ele é mesclado, o deploy pode ser automatizado normalmente — seja via contêiner, serverless ou build estático — sem que o Claude Code participe dessa etapa. A IA não deveria ter permissão de executar deploy diretamente para produção; sua função termina na entrega de um pull request revisável. Manter esse limite claro evita o cenário em que uma sessão automatizada de forma agressiva empurra código não revisado para produção porque “os testes passaram”.

Esse desenho — sessão interativa para o código, pipeline determinístico para a validação, script de deploy separado e disparado apenas após aprovação humana do merge — é o que aparece descrito de forma mais estruturada em um curso dedicado ao fluxo completo de Claude Code do zero ao deploy, que trata a etapa de validação de integrações e testes como parte inseparável da entrega, não como um apêndice opcional depois que “a IA terminou”.

Consolidando o fluxo em um checklist repetível

Reunindo as etapas anteriores em uma sequência prática para qualquer feature nova:

  • Contexto do projeto documentado em arquivo persistente (CLAUDE.md ou equivalente), atualizado quando decisões de arquitetura mudam.
  • Plano solicitado e aprovado antes de qualquer geração de código.
  • Execução em etapas pequenas, cada uma com commit isolado.
  • Testes definidos como especificação, revisados antes ou junto da implementação.
  • Revisão de diff manual, com git add -p, antes de cada commit.
  • Pull request submetido ao pipeline de CI com lint, testes e build.
  • Deploy automatizado apenas após merge aprovado por humano, nunca disparado diretamente pela sessão interativa.

Esse checklist não elimina a necessidade de julgamento técnico — ele apenas organiza onde o julgamento precisa ser aplicado, em vez de deixar tudo concentrado no momento em que você olha o código já pronto e tenta adivinhar se está certo.

Onde este fluxo costuma quebrar na prática

Duas armadilhas aparecem com frequência mesmo em times que já adotaram um fluxo estruturado. A primeira é deixar o arquivo de contexto desatualizado: o projeto evolui, novas convenções surgem, mas o CLAUDE.md continua descrevendo a arquitetura de seis meses atrás. O agente então volta a operar com informação obsoleta, e os sintomas se parecem exatamente com os do início — código fora do padrão, decisões estranhas. A solução é tratar esse arquivo como parte do código: atualizações nele entram no mesmo pull request que introduz a mudança de convenção.

A segunda armadilha é a fadiga de revisão: depois de dezenas de sessões bem-sucedidas, a tentação de aprovar diffs sem ler linha a linha cresce. É exatamente nesse momento de confiança acumulada que um erro sutil passa — uma condição de corrida introduzida em um trecho assíncrono, uma validação removida “para simplificar”. Manter a disciplina de revisão constante, independentemente do histórico de acertos da ferramenta, é o que separa um fluxo maduro de um fluxo que só parece maduro até o dia em que algo quebra em produção.

Leve esse fluxo para discussão com outros desenvolvedores

Um fluxo de trabalho só se prova robusto quando é testado contra a realidade de projetos diferentes dos seus. Na Comunidade Dev’s AI você encontra desenvolvedores aplicando Claude Code, Cursor e outras ferramentas de IA em contextos variados — de APIs corporativas a sistemas legados — e comparando o que funciona quando o código sai da tela do editor e vai para produção de verdade. Participar dessas trocas é a forma mais rápida de identificar falhas no seu próprio processo antes que elas apareçam como incidente.

Conclusão

Claude Code entrega valor real quando tratado como parte de um processo de engenharia, não como um substituto instantâneo para ele. O fluxo apresentado aqui — contexto persistente, planejamento antes da execução, etapas pequenas com checkpoints, testes como especificação, revisão de diff disciplinada e um pipeline determinístico decidindo o que chega a produção — não elimina a necessidade de conhecimento técnico. Pelo contrário: ele exige que esse conhecimento seja aplicado de forma mais consciente, em pontos de decisão bem definidos, em vez de disperso e tardio, quando o código já está pronto e o custo de corrigir é maior. Quem adota essa disciplina transforma o Claude Code de gerador de trechos avulsos em um componente confiável do próprio fluxo de entrega.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *