{"id":1205,"date":"2026-09-08T04:01:32","date_gmt":"2026-09-08T07:01:32","guid":{"rendered":"https:\/\/adrianosantostreina.com.br\/blog\/fluxo-operacional-claude-code-zero-ao-deploy\/"},"modified":"2026-09-08T04:01:38","modified_gmt":"2026-09-08T07:01:38","slug":"fluxo-operacional-claude-code-zero-ao-deploy","status":"publish","type":"post","link":"https:\/\/adrianosantostreina.com.br\/blog\/fluxo-operacional-claude-code-zero-ao-deploy\/","title":{"rendered":"Da Sess\u00e3o em Branco ao Pipeline no Ar: Um Fluxo Operacional para Trabalhar com Claude Code em Projetos Reais"},"content":{"rendered":"<p>Voc\u00ea abre o terminal, dispara o Claude Code em um projeto que j\u00e1 tem seis meses de hist\u00f3ria, e pede para ele &#8220;adicionar autentica\u00e7\u00e3o por token na API&#8221;. Vinte minutos depois, o agente entregou um c\u00f3digo que compila, os testes passam, mas ele reescreveu o middleware de logging que outro desenvolvedor tinha ajustado na semana anterior, ignorou o padr\u00e3o de tratamento de erro que o time usa em todo o resto do sistema e criou uma depend\u00eancia nova que ningu\u00e9m pediu. Nada est\u00e1 &#8220;errado&#8221; no sentido de quebrar a build. Mas est\u00e1 errado no sentido de que agora existe um c\u00f3digo estranho ao projeto, escrito por uma ferramenta que n\u00e3o tinha ideia do que j\u00e1 existia ali.<\/p>\n<p>Esse cen\u00e1rio se repete porque a maioria dos desenvolvedores trata o Claude Code como um gerador de trechos isolados \u2014 cola um prompt, recebe um bloco, copia, segue. Funciona para scripts avulsos. N\u00e3o funciona quando o objetivo \u00e9 entregar uma feature completa, testada e em produ\u00e7\u00e3o, dentro de uma base de c\u00f3digo que outras pessoas tamb\u00e9m tocam. O problema n\u00e3o \u00e9 a ferramenta: \u00e9 a aus\u00eancia de um fluxo de trabalho definido, com etapas, checkpoints e responsabilidades claras entre voc\u00ea e o agente.<\/p>\n<p>Este artigo apresenta um fluxo operacional \u2014 do commit inicial da sess\u00e3o at\u00e9 o deploy \u2014 pensado para quem j\u00e1 usa Claude Code no dia a dia e quer parar de trat\u00e1-lo como sorteio de qualidade. Vamos cobrir estrutura\u00e7\u00e3o de contexto, quebra de tarefas, revis\u00e3o de diffs, integra\u00e7\u00e3o com testes e o momento em que a IA deve sair de cena e o processo de deploy tradicional assumir.<\/p>\n<h2>Por que &#8220;abrir o terminal e pedir&#8221; n\u00e3o escala<\/h2>\n<p>Claude Code, como qualquer agente de codifica\u00e7\u00e3o, opera bem quando o espa\u00e7o de decis\u00e3o \u00e9 pequeno e o contexto est\u00e1 expl\u00edcito. O problema surge porque o espa\u00e7o de decis\u00e3o em um projeto real nunca \u00e9 pequeno: existem conven\u00e7\u00f5es n\u00e3o escritas, decis\u00f5es de arquitetura tomadas h\u00e1 meses, depend\u00eancias entre m\u00f3dulos que s\u00f3 quem trabalhou no c\u00f3digo sabe reconhecer visualmente. Um agente que n\u00e3o recebe esse contexto vai preencher as lacunas com suposi\u00e7\u00f5es razo\u00e1veis \u2014 e &#8220;razo\u00e1vel&#8221; para o modelo n\u00e3o \u00e9 o mesmo que &#8220;consistente com o seu projeto&#8221;.<\/p>\n<p>Segundo a discuss\u00e3o registrada em <a href=\"https:\/\/www.reddit.com\/r\/ClaudeAI\/comments\/1ry9aqa\/most_used_claude_code_development_workflows\/?tl=pt-br\" target=\"_blank\" rel=\"noopener\">uma thread da comunidade r\/ClaudeAI sobre os fluxos de trabalho mais usados com a ferramenta<\/a>, o padr\u00e3o que se repete entre quem usa Claude Code de forma produtiva n\u00e3o \u00e9 &#8220;pe\u00e7a e receba&#8221;, mas sim um ciclo de planejamento, execu\u00e7\u00e3o em etapas pequenas e revis\u00e3o constante \u2014 muito mais pr\u00f3ximo de como se trabalha com um desenvolvedor j\u00fanior competente do que com um or\u00e1culo que acerta de primeira.<\/p>\n<h3>O modelo mental correto: agente com contexto limitado, n\u00e3o or\u00e1culo<\/h3>\n<p>A analogia mais precisa \u00e9 a de um consultor externo contratado para uma tarefa espec\u00edfica. Ele \u00e9 competente, trabalha r\u00e1pido, mas n\u00e3o conhece a pol\u00edtica interna da empresa, n\u00e3o sabe quem decidiu o qu\u00ea nem por que aquela gambiarra no m\u00f3dulo de pagamento existe h\u00e1 dois anos. Se voc\u00ea n\u00e3o brifa esse consultor, ele vai entregar um trabalho tecnicamente correto e organizacionalmente incompat\u00edvel. O fluxo que vamos construir existe justamente para dar esse brifing de forma sistem\u00e1tica, sess\u00e3o ap\u00f3s sess\u00e3o.<\/p>\n<h2>Etapa 1 \u2014 Preparando o terreno antes de qualquer prompt<\/h2>\n<p>Antes de pedir qualquer implementa\u00e7\u00e3o, o projeto precisa ter um arquivo de contexto persistente que o Claude Code carrega automaticamente. Isso evita repetir, prompt ap\u00f3s prompt, informa\u00e7\u00f5es que deveriam estar fixadas: conven\u00e7\u00f5es de nomenclatura, estrutura de pastas, ferramentas de teste, pol\u00edtica de tratamento de erro.<\/p>\n<p>Um arquivo <code>CLAUDE.md<\/code> na raiz do reposit\u00f3rio cumpre esse papel:<\/p>\n<pre><code># Contexto do projeto: api-pagamentos\n\n## Stack\n- Node.js 20, TypeScript, Fastify\n- Banco: PostgreSQL via Prisma\n- Testes: Vitest + Supertest\n\n## Conven\u00e7\u00f5es\n- Toda rota fica em src\/routes\/{recurso}.ts\n- Erros de neg\u00f3cio usam a classe DomainError (src\/errors)\n- Nunca lan\u00e7ar exce\u00e7\u00e3o gen\u00e9rica; sempre mapear para DomainError\n- Toda fun\u00e7\u00e3o p\u00fablica precisa de teste unit\u00e1rio correspondente\n\n## Decis\u00f5es de arquitetura j\u00e1 tomadas\n- Autentica\u00e7\u00e3o \u00e9 feita via middleware globalAuth, n\u00e3o repetir\n  l\u00f3gica de verifica\u00e7\u00e3o de token em rotas individuais\n- Logs estruturados com pino, nunca console.log\n\n## O que N\u00c3O fazer\n- N\u00e3o instalar bibliotecas novas sem justificar no PR\n- N\u00e3o alterar o schema do Prisma sem gerar migration correspondente\n<\/code><\/pre>\n<p>Esse arquivo n\u00e3o \u00e9 documenta\u00e7\u00e3o para humanos lerem depois \u2014 \u00e9 a mem\u00f3ria operacional que o agente consulta a cada sess\u00e3o. Sem ele, cada intera\u00e7\u00e3o come\u00e7a do zero, e o agente reinventa decis\u00f5es que o time j\u00e1 tomou.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Dica do Mestre:<\/strong> em <a href=\"https:\/\/www.youtube.com\/watch?v=yDO21vewdes\" target=\"_blank\" rel=\"noopener\">um tutorial introdut\u00f3rio de Claude Code voltado a quem est\u00e1 come\u00e7ando<\/a>, fica evidente que a etapa de configura\u00e7\u00e3o inicial \u2014 arquivos de contexto, escopo de permiss\u00f5es, integra\u00e7\u00e3o com o reposit\u00f3rio \u2014 \u00e9 tratada como pr\u00e9-requisito, n\u00e3o como detalhe opcional. Pular essa etapa \u00e9 a causa mais comum de sess\u00f5es que &#8220;saem do trilho&#8221;.<\/p><\/blockquote>\n<h2>Etapa 2 \u2014 Quebrando a tarefa antes de pedir c\u00f3digo<\/h2>\n<p>O erro mais recorrente \u00e9 jogar a tarefa inteira de uma vez: &#8220;implemente o m\u00f3dulo de recupera\u00e7\u00e3o de senha completo&#8221;. Isso for\u00e7a o agente a tomar decis\u00f5es de arquitetura, de fluxo e de nomenclatura simultaneamente, aumentando a superf\u00edcie de erro. O fluxo correto separa planejamento de execu\u00e7\u00e3o.<\/p>\n<p>Primeiro, pe\u00e7a um plano, sem c\u00f3digo:<\/p>\n<pre><code>Antes de escrever qualquer c\u00f3digo, liste as etapas necess\u00e1rias\npara implementar recupera\u00e7\u00e3o de senha por e-mail neste projeto,\nrespeitando o CLAUDE.md. N\u00e3o escreva implementa\u00e7\u00e3o ainda, apenas\no plano em passos numerados, com os arquivos que ser\u00e3o criados\nou alterados em cada etapa.\n<\/code><\/pre>\n<p>Com o plano em m\u00e3os, voc\u00ea valida antes de gastar uma \u00fanica linha de c\u00f3digo gerada. Se o passo 3 prop\u00f5e alterar o middleware de autentica\u00e7\u00e3o global \u2014 algo sens\u00edvel \u2014 voc\u00ea interv\u00e9m ali, antes que o agente j\u00e1 tenha escrito e testado tudo em cima dessa premissa. S\u00f3 depois de aprovar o plano \u00e9 que se pede a execu\u00e7\u00e3o, etapa por etapa:<\/p>\n<pre><code>Execute apenas a etapa 1 do plano: criar o endpoint\nPOST \/auth\/recover-password que gera o token e dispara o e-mail.\nN\u00e3o avance para as pr\u00f3ximas etapas.\n<\/code><\/pre>\n<p>Esse padr\u00e3o de &#8220;planeje, aprove, execute em partes&#8221; \u00e9 o mesmo descrito em <a href=\"https:\/\/www.youtube.com\/watch?v=8mRVsnKKgXU\" target=\"_blank\" rel=\"noopener\">um v\u00eddeo sobre constru\u00e7\u00e3o de sistemas completos do zero com IA<\/a>, no qual o autor mostra que sistemas maiores s\u00f3 se tornam manej\u00e1veis quando a IA trabalha sobre unidades pequenas e verific\u00e1veis, e n\u00e3o sobre a especifica\u00e7\u00e3o inteira de uma vez.<\/p>\n<h3>Checkpoints entre etapas: o que revisar<\/h3>\n<p>A cada etapa conclu\u00edda, antes de pedir a pr\u00f3xima, tr\u00eas verifica\u00e7\u00f5es r\u00e1pidas evitam ac\u00famulo de d\u00edvida:<\/p>\n<ul>\n<li>O diff toca apenas os arquivos previstos no plano? Se o agente alterou algo fora do escopo, pare e pergunte por qu\u00ea antes de aceitar.<\/li>\n<li>Os testes existentes continuam passando? Rode a su\u00edte completa, n\u00e3o apenas o teste novo.<\/li>\n<li>O padr\u00e3o de erro e logging seguiu o que est\u00e1 descrito no arquivo de contexto?<\/li>\n<\/ul>\n<pre><code>git diff --stat\nnpm test\n<\/code><\/pre>\n<p>Se qualquer um desses pontos falhar, a corre\u00e7\u00e3o deve ser pedida imediatamente, antes de avan\u00e7ar. Deixar acumular tr\u00eas ou quatro etapas com pend\u00eancias pequenas \u00e9 o caminho mais direto para uma sess\u00e3o de duas horas que termina em um <code>git reset --hard<\/code>.<\/p>\n<h2>Etapa 3 \u2014 Testes como contrato, n\u00e3o como formalidade<\/h2>\n<p>Pedir &#8220;escreva testes para isso&#8221; depois que o c\u00f3digo j\u00e1 existe tende a gerar testes que confirmam o comportamento implementado, n\u00e3o que validam o comportamento esperado. A invers\u00e3o \u2014 pedir o teste antes ou junto da implementa\u00e7\u00e3o \u2014 funciona melhor com agentes de codifica\u00e7\u00e3o porque cria um alvo objetivo para a gera\u00e7\u00e3o.<\/p>\n<pre><code>Escreva o teste de integra\u00e7\u00e3o para o endpoint\nPOST \/auth\/recover-password cobrindo:\n1. E-mail v\u00e1lido gera token e retorna 202\n2. E-mail inexistente retorna 202 tamb\u00e9m (n\u00e3o revelar exist\u00eancia)\n3. Requisi\u00e7\u00e3o sem campo email retorna 400 com DomainError\n\nDepois de eu aprovar o teste, implemente o endpoint para\nfaz\u00ea-lo passar.\n<\/code><\/pre>\n<p>Esse padr\u00e3o aproxima o fluxo de TDD assistido: voc\u00ea valida a especifica\u00e7\u00e3o atrav\u00e9s do teste \u2014 que \u00e9 leg\u00edvel e revis\u00e1vel rapidamente \u2014 antes de avaliar a implementa\u00e7\u00e3o inteira, que \u00e9 mais longa e mais custosa de revisar linha a linha.<\/p>\n<h2>Etapa 4 \u2014 Revis\u00e3o de diff como o port\u00e3o real<\/h2>\n<p>Aceitar automaticamente tudo que o agente prop\u00f5e \u00e9 o ponto onde a maior parte dos problemas em produ\u00e7\u00e3o nasce. O Claude Code integra bem com o fluxo padr\u00e3o de revis\u00e3o via Git, e isso deve ser usado deliberadamente: cada etapa gera um commit isolado, revis\u00e1vel.<\/p>\n<pre><code>git add -p\ngit commit -m \"feat: endpoint de recupera\u00e7\u00e3o de senha (etapa 1)\"\n<\/code><\/pre>\n<p>Usar <code>git add -p<\/code> em vez de <code>git add .<\/code> for\u00e7a voc\u00ea a olhar cada trecho antes de confirmar \u2014 inclusive trechos que o agente alterou sem que voc\u00ea tenha pedido diretamente, como imports reorganizados ou formata\u00e7\u00e3o de arquivos vizinhos. Esse \u00e9 o mesmo tipo de disciplina que se aplicaria \u00e0 revis\u00e3o de um pull request de qualquer colega: ningu\u00e9m aprova um PR sem ler o diff, e n\u00e3o deveria haver excel\u00eancia diferente quando quem escreveu foi um agente.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Dica do Mestre:<\/strong> conforme apontado em <a href=\"https:\/\/www.instagram.com\/p\/DYUnJ5mCVtI\/?hl=en\" target=\"_blank\" rel=\"noopener\">uma compara\u00e7\u00e3o entre Claude Code e outras ferramentas de IA para desenvolvimento<\/a>, o diferencial do Claude Code \u00e9 rodar diretamente na sua m\u00e1quina, com controle total do ambiente \u2014 o que tamb\u00e9m significa que a responsabilidade pela revis\u00e3o do que ele produz \u00e9 inteiramente sua, sem a rede de seguran\u00e7a adicional que plataformas mais fechadas \u00e0s vezes oferecem.<\/p><\/blockquote>\n<h2>Etapa 5 \u2014 Integra\u00e7\u00e3o cont\u00ednua: onde a IA para e o pipeline assume<\/h2>\n<p>Depois que as etapas locais est\u00e3o validadas, o fluxo sai da sess\u00e3o interativa com o Claude Code e entra no territ\u00f3rio determin\u00edstico do CI\/CD. Esse \u00e9 um ponto de corte importante: a IA participa da cria\u00e7\u00e3o do c\u00f3digo, mas n\u00e3o deve ser o crit\u00e9rio de aprova\u00e7\u00e3o para o deploy. Essa fun\u00e7\u00e3o pertence ao pipeline, com testes automatizados, lint e build reproduz\u00edveis.<\/p>\n<p>Um exemplo de workflow com <a href=\"https:\/\/github.com\/features\/actions\" target=\"_blank\" rel=\"noopener\">GitHub Actions<\/a> ilustra esse limite:<\/p>\n<pre><code>name: ci\non: [pull_request]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - uses: actions\/setup-node@v4\n        with:\n          node-version: 20\n      - run: npm ci\n      - run: npm run lint\n      - run: npm test -- --coverage\n      - run: npm run build\n<\/code><\/pre>\n<p>O pull request gerado a partir de uma sess\u00e3o de Claude Code passa pelas mesmas verifica\u00e7\u00f5es que qualquer outro. Se o agente sugeriu uma depend\u00eancia nova, o <code>npm ci<\/code> vai refletir isso no lockfile e o build vai expor eventuais incompatibilidades. N\u00e3o existe atalho: o c\u00f3digo gerado por IA entra na esteira como qualquer outro c\u00f3digo.<\/p>\n<h3>Deploy: automa\u00e7\u00e3o sim, confian\u00e7a cega n\u00e3o<\/h3>\n<p>Uma vez que o pipeline aprova o pull request e ele \u00e9 mesclado, o deploy pode ser automatizado normalmente \u2014 seja via cont\u00eainer, serverless ou build est\u00e1tico \u2014 sem que o Claude Code participe dessa etapa. A IA n\u00e3o deveria ter permiss\u00e3o de executar deploy diretamente para produ\u00e7\u00e3o; sua fun\u00e7\u00e3o termina na entrega de um pull request revis\u00e1vel. Manter esse limite claro evita o cen\u00e1rio em que uma sess\u00e3o automatizada de forma agressiva empurra c\u00f3digo n\u00e3o revisado para produ\u00e7\u00e3o porque &#8220;os testes passaram&#8221;.<\/p>\n<pre><code>name: deploy\non:\n  push:\n    branches: [main]\n\njobs:\n  deploy:\n    needs: test\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - run: npm ci &amp;&amp; npm run build\n      - name: Deploy\n        run: .\/scripts\/deploy-production.sh\n<\/code><\/pre>\n<p>Esse desenho \u2014 sess\u00e3o interativa para o c\u00f3digo, pipeline determin\u00edstico para a valida\u00e7\u00e3o, script de deploy separado e disparado apenas ap\u00f3s aprova\u00e7\u00e3o humana do merge \u2014 \u00e9 o que aparece descrito de forma mais estruturada em <a href=\"https:\/\/www.udemy.com\/course\/claude-code-do-zero-ao-deploy\/?srsltid=AfmBOopYDNl7XaUCZiEMy0UFf3Dbj_EfbpNXO9KLRGohrfbsC0wZ3nXd\" target=\"_blank\" rel=\"noopener\">um curso dedicado ao fluxo completo de Claude Code do zero ao deploy<\/a>, que trata a etapa de valida\u00e7\u00e3o de integra\u00e7\u00f5es e testes como parte insepar\u00e1vel da entrega, n\u00e3o como um ap\u00eandice opcional depois que &#8220;a IA terminou&#8221;.<\/p>\n<h2>Consolidando o fluxo em um checklist repet\u00edvel<\/h2>\n<p>Reunindo as etapas anteriores em uma sequ\u00eancia pr\u00e1tica para qualquer feature nova:<\/p>\n<ul>\n<li>Contexto do projeto documentado em arquivo persistente (<code>CLAUDE.md<\/code> ou equivalente), atualizado quando decis\u00f5es de arquitetura mudam.<\/li>\n<li>Plano solicitado e aprovado antes de qualquer gera\u00e7\u00e3o de c\u00f3digo.<\/li>\n<li>Execu\u00e7\u00e3o em etapas pequenas, cada uma com commit isolado.<\/li>\n<li>Testes definidos como especifica\u00e7\u00e3o, revisados antes ou junto da implementa\u00e7\u00e3o.<\/li>\n<li>Revis\u00e3o de diff manual, com <code>git add -p<\/code>, antes de cada commit.<\/li>\n<li>Pull request submetido ao pipeline de CI com lint, testes e build.<\/li>\n<li>Deploy automatizado apenas ap\u00f3s merge aprovado por humano, nunca disparado diretamente pela sess\u00e3o interativa.<\/li>\n<\/ul>\n<p>Esse checklist n\u00e3o elimina a necessidade de julgamento t\u00e9cnico \u2014 ele apenas organiza onde o julgamento precisa ser aplicado, em vez de deixar tudo concentrado no momento em que voc\u00ea olha o c\u00f3digo j\u00e1 pronto e tenta adivinhar se est\u00e1 certo.<\/p>\n<h2>Onde este fluxo costuma quebrar na pr\u00e1tica<\/h2>\n<p>Duas armadilhas aparecem com frequ\u00eancia mesmo em times que j\u00e1 adotaram um fluxo estruturado. A primeira \u00e9 deixar o arquivo de contexto desatualizado: o projeto evolui, novas conven\u00e7\u00f5es surgem, mas o <code>CLAUDE.md<\/code> continua descrevendo a arquitetura de seis meses atr\u00e1s. O agente ent\u00e3o volta a operar com informa\u00e7\u00e3o obsoleta, e os sintomas se parecem exatamente com os do in\u00edcio \u2014 c\u00f3digo fora do padr\u00e3o, decis\u00f5es estranhas. A solu\u00e7\u00e3o \u00e9 tratar esse arquivo como parte do c\u00f3digo: atualiza\u00e7\u00f5es nele entram no mesmo pull request que introduz a mudan\u00e7a de conven\u00e7\u00e3o.<\/p>\n<p>A segunda armadilha \u00e9 a fadiga de revis\u00e3o: depois de dezenas de sess\u00f5es bem-sucedidas, a tenta\u00e7\u00e3o de aprovar diffs sem ler linha a linha cresce. \u00c9 exatamente nesse momento de confian\u00e7a acumulada que um erro sutil passa \u2014 uma condi\u00e7\u00e3o de corrida introduzida em um trecho ass\u00edncrono, uma valida\u00e7\u00e3o removida &#8220;para simplificar&#8221;. Manter a disciplina de revis\u00e3o constante, independentemente do hist\u00f3rico de acertos da ferramenta, \u00e9 o que separa um fluxo maduro de um fluxo que s\u00f3 parece maduro at\u00e9 o dia em que algo quebra em produ\u00e7\u00e3o.<\/p>\n<h2>Leve esse fluxo para discuss\u00e3o com outros desenvolvedores<\/h2>\n<p>Um fluxo de trabalho s\u00f3 se prova robusto quando \u00e9 testado contra a realidade de projetos diferentes dos seus. Na <a href=\"https:\/\/adrianosantos.link\/ComunidadeDevAI\" target=\"_blank\" rel=\"noopener\">Comunidade Dev&#8217;s AI<\/a> voc\u00ea encontra desenvolvedores aplicando Claude Code, Cursor e outras ferramentas de IA em contextos variados \u2014 de APIs corporativas a sistemas legados \u2014 e comparando o que funciona quando o c\u00f3digo sai da tela do editor e vai para produ\u00e7\u00e3o de verdade. Participar dessas trocas \u00e9 a forma mais r\u00e1pida de identificar falhas no seu pr\u00f3prio processo antes que elas apare\u00e7am como incidente.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Claude Code entrega valor real quando tratado como parte de um processo de engenharia, n\u00e3o como um substituto instant\u00e2neo para ele. O fluxo apresentado aqui \u2014 contexto persistente, planejamento antes da execu\u00e7\u00e3o, etapas pequenas com checkpoints, testes como especifica\u00e7\u00e3o, revis\u00e3o de diff disciplinada e um pipeline determin\u00edstico decidindo o que chega a produ\u00e7\u00e3o \u2014 n\u00e3o elimina a necessidade de conhecimento t\u00e9cnico. Pelo contr\u00e1rio: ele exige que esse conhecimento seja aplicado de forma mais consciente, em pontos de decis\u00e3o bem definidos, em vez de disperso e tardio, quando o c\u00f3digo j\u00e1 est\u00e1 pronto e o custo de corrigir \u00e9 maior. Quem adota essa disciplina transforma o Claude Code de gerador de trechos avulsos em um componente confi\u00e1vel do pr\u00f3prio fluxo de entrega.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea abre o terminal, dispara o Claude Code em um projeto que j\u00e1 tem seis meses de hist\u00f3ria, e pede para ele &#8220;adicionar autentica\u00e7\u00e3o por token na API&#8221;. Vinte minutos depois, o agente entregou um c\u00f3digo que compila, os testes passam, mas ele reescreveu o middleware de logging que outro desenvolvedor tinha ajustado na semana [&hellip;]<\/p>\n","protected":false},"author":127,"featured_media":1206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/users\/127"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1205"}],"version-history":[{"count":1,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1205\/revisions"}],"predecessor-version":[{"id":1207,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/posts\/1205\/revisions\/1207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media\/1206"}],"wp:attachment":[{"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianosantostreina.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}