🤖 Tutorial Oficial

Claude Code
do zero ao expert

Aprenda a usar o programador de IA mais poderoso do mundo. Prometemos: se você tem 12 anos e nunca tocou num terminal, você vai conseguir.

8 Módulos
50+ Comandos prontos
30+ Prompts para copiar
🎮 Pensa assim

Imagina que você tem um amigo hacker gênio que sabe programar em todas as linguagens do mundo. Você fala em português normal para ele: "cria um site para mim" ou "conserta esse bug" — e ele escreve o código inteiro. Claude Code é esse amigo, mas no seu terminal.

Claude Code é uma ferramenta de linha de comando (CLI) criada pela Anthropic que coloca uma IA superinteligente direto no seu terminal. Você escreve o que quer em português, ela entende o seu projeto, lê os arquivos, escreve código, roda comandos e resolve problemas.

A diferença para o ChatGPT comum? Claude Code vê os seus arquivos reais, edita eles, roda comandos no seu computador e mantém contexto de projetos inteiros.

⚡ Por que é diferente de tudo

Você não copia e cola código. A IA abre os arquivos, lê, escreve, testa e corrige — tudo sozinha. Você só fala o que quer.

💡
Claude Code roda no terminal (aquela tela preta onde você digita comandos). Não tem interface gráfica bonita — mas o que ele faz é muito mais poderoso do que qualquer interface.
⚙️
🎮 Pensa assim

Antes de jogar um jogo, você instala ele. Aqui é igual — a gente instala duas coisas: o motor (Node.js) e o jogo em si (Claude Code).

1
Instalar Node.js (se ainda não tiver)
Acesse nodejs.org e baixe a versão LTS (a recomendada). Instale normalmente como qualquer programa. Depois de instalar, abra o terminal e confirme:
TERMINAL
node --version npm --version # Deve aparecer algo como: v22.0.0 e 10.x.x
2
Instalar Claude Code
Com o Node.js instalado, rode esse comando no terminal. Ele baixa e instala o Claude Code globalmente no seu computador:
TERMINAL
npm install -g @anthropic-ai/claude-code
💡
O -g significa "global" — instala em todo o computador, não só numa pasta.
3
Fazer login na sua conta Anthropic
Agora você vai conectar o Claude Code com a sua conta. Rode o comando abaixo — ele vai abrir o navegador para você fazer login:
TERMINAL
claude # Vai aparecer uma tela de login — siga as instruções na tela
Se aparecer ✓ Logged in você está pronto! Se der erro, veja a seção de dicas abaixo.
⚠️
Problema no Windows? Se der erro de permissão ao instalar, abra o terminal como Administrador (clica com botão direito → "Executar como administrador") e tente de novo.
🎮
🎮 Pensa assim

O terminal é tipo o cockpit de um avião. Parece complicado de cara, mas tem só uns 5 comandos que você usa 99% do tempo. A gente vai aprender esses 5 agora.

Antes de abrir o Claude Code, você precisa navegar até a pasta do seu projeto no terminal. O Claude Code vai ler tudo que estiver na pasta onde você o abrir.

📁 cd nome-da-pasta
Entrar em uma pasta. CD = Change Directory (mudar de diretório).
Exemplo: cd Downloads/meu-projeto
🔼 cd ..
Voltar uma pasta. Os dois pontinhos significa "pasta de cima".
Exemplo: estava em /projetos/site, volta para /projetos
👀 ls (Mac/Linux)  |  dir (Windows)
Ver o que tem na pasta atual. Lista todos os arquivos e subpastas.
📍 pwd (Mac/Linux)  |  cd (Windows)
Ver em qual pasta você está agora. PWD = Print Working Directory.

Depois de ir para a pasta do seu projeto, abra o Claude Code com:

TERMINAL — abrindo o Claude Code
# 1. Navegue até a pasta do projeto cd Downloads/meu-projeto # 2. Abra o Claude Code claude # Vai aparecer o prompt interativo: # > █ (cursor piscando esperando você digitar)
💡
Dica de ouro: O Claude Code lê todos os arquivos da pasta onde você o abriu. Por isso, sempre entre na pasta certa antes de digitar claude.

Agora é só escrever em português o que você quer. Exemplos:

EXEMPLOS DE PRIMEIRAS MENSAGENS
# Dentro do Claude Code, você digita: > Explica o que esse projeto faz > Cria um arquivo index.html com um site simples de portfólio > Tem algum bug aparente nesse código? > Adiciona um botão de "Voltar ao topo" no site
🎮 Pensa assim

Slash commands são como cheats de jogo. Em vez de escrever uma instrução longa, você digita um atalho que começa com / e a IA executa uma ação especial instantaneamente.

/help
Mostra todos os comandos disponíveis. Sempre que travar, use esse.
🗑️ /clear
Limpa o histórico da conversa atual. Use quando quiser começar uma tarefa nova do zero.
💾 /commit
Faz commit no Git de todas as alterações que foram feitas. Ele cria a mensagem de commit automático.
⚙️ /model
Muda qual modelo de IA está sendo usado. Opus = mais inteligente, Haiku = mais rápido e barato.
🌳 /init
Cria um arquivo CLAUDE.md no projeto. Esse arquivo ensina o Claude tudo sobre o seu projeto (veja Módulo 7).
💸 /cost
Mostra quanto você gastou de tokens na sessão atual. Útil para controlar custo.
📊 /status
Mostra o estado atual: qual modelo, quanto de contexto usado, conta logada.
🚪 /exit
Fecha o Claude Code. Ou você pode apertar Ctrl+C duas vezes.
💬 /review
Revisa o código atual e aponta melhorias, bugs e problemas de segurança.
/fast
Ativa o modo rápido (mesmo modelo, mas com respostas mais velozes).
🔑 Comando mais importante

Sempre que travar ou não souber o que fazer, digite /help. Ele mostra tudo que o Claude Code consegue fazer no momento.

Você também pode usar o ! (exclamação) para rodar qualquer comando do terminal sem sair do Claude Code:

RODANDO COMANDOS DO TERMINAL DENTRO DO CLAUDE CODE
! ls # lista arquivos da pasta ! npm install # instala dependências ! git status # vê o estado do Git ! node index.js # roda seu arquivo
⌨️
🎮 Pensa assim

Atalhos de teclado são como os combos do Street Fighter. Parece difícil aprender, mas depois que aprende, você não consegue trabalhar sem eles.

Enter
Enviar mensagem / confirmar ação
Shift+Enter
Nova linha (sem enviar)
Ctrl+C
Cancelar / interromper a IA
Repetir último prompt enviado
Esc
Limpar o texto que você está digitando
Tab
Autocomplete de nomes de arquivos
Ctrl+L
Limpar a tela do terminal
Ctrl+K
Apagar a linha atual
💡
Dica PRO: Se a IA estiver gerando uma resposta muito longa e você quiser parar, aperte Ctrl+C. Ela para imediatamente e você pode dar uma instrução mais específica.

Modos de permissão — o que a IA pode fazer sozinha:

🟢 Auto — aprova tudo automaticamente
🟡 Default — pede confirmação para ações arriscadas
🔴 Manual — precisa aprovar cada ação
ABRINDO COM MODO ESPECÍFICO
# Modo automático (aprova tudo — use com cuidado!) claude --dangerously-skip-permissions # Alternativa mais segura claude --permission-mode auto
⚠️
Cuidado com o modo automático! No modo automático a IA pode deletar arquivos, rodar comandos, alterar o banco de dados — sem te pedir confirmação. Use só quando você confia 100% no que pediu.
🎮 Pensa assim

Imagine que você está dando uma missão para um super-herói. Se você fala "faz alguma coisa útil", ele fica perdido. Mas se você fala "vai ao endereço X, salva a pessoa Y, sem usar poderes Z" — ele executa perfeitamente. Quanto mais contexto você dá, melhor o resultado.

A fórmula de um bom prompt tem 4 partes:

FÓRMULA DO PROMPT PERFEITO
# [CONTEXTO] + [AÇÃO] + [DETALHES] + [FORMATO] # Exemplo fraco (não faça isso): > cria um site # Exemplo forte (faça isso): > Estou criando um portfólio pessoal para um designer gráfico. Cria um index.html com: header com nome e foto, seção de projetos com 3 cards, e footer com links do Instagram e LinkedIn. Usa cores escuras (fundo #0F0F0F) e tipografia sans-serif moderna.
Bom prompt
Específico sobre o que, onde, como e por quê.
"No arquivo server.js, linha 45, a função handleLogin não verifica se o email é válido antes de continuar. Adiciona essa validação usando regex."
Prompt fraco
Vago, sem contexto, sem especificações.
"conserta o login" / "faz funcionar" / "melhora o código"

Palavras mágicas que melhoram qualquer prompt:

  • "Sem quebrar o que já funciona" — pede para não estragar o resto
  • "Explica o que você fez" — pede para a IA te explicar as mudanças
  • "Primeiro lê o arquivo X" — garante que ela entendeu o contexto
  • "Só altera o arquivo Y, não mexa no resto" — limita o escopo
  • "Usa a mesma linguagem/estilo que já existe" — mantém consistência
  • "Me avisa se tiver riscos nisso" — pede alerta de problemas
  • "Faz em etapas, mostra antes de executar" — confirma plano antes de agir
📜
🎮 Pensa assim

Imagina que você contratou um funcionário novo todo dia. Toda manhã você teria que explicar tudo de novo: "o projeto é isso, as regras são essas, não faça aquilo". O CLAUDE.md é o manual que você escreve uma vez — e o Claude lê automaticamente toda vez que é aberto no seu projeto.

O arquivo CLAUDE.md fica na raiz do seu projeto e é lido automaticamente toda vez que o Claude Code é iniciado naquela pasta. Você pode ter um global (para tudo) e um por projeto.

CRIANDO UM CLAUDE.md AUTOMÁTICO
# Dentro do Claude Code, rode: /init # Ele analisa o projeto e cria um CLAUDE.md com o que encontrou. # Depois você edita e personaliza.

Exemplo de um bom CLAUDE.md:

CLAUDE.md — EXEMPLO COMPLETO
# Meu Projeto ## O que é isso Site de portfólio pessoal em React + Vite. URL de produção: meusite.com ## Stack - Frontend: React 18 + TypeScript + Tailwind CSS - Deploy: Vercel - Banco: não tem ## Regras IMPORTANTES - NUNCA altere as cores definidas em tailwind.config.js - Sempre use TypeScript (nunca .js puro) - Commits em português - Não instale novas dependências sem me perguntar ## Como rodar npm run dev → servidor local npm run build → build de produção npm run preview → preview do build ## Estrutura das pastas src/components/ → componentes reutilizáveis src/pages/ → páginas src/hooks/ → custom hooks public/ → imagens e assets estáticos
💡
Pro tip: Você também pode ter um CLAUDE.md global em ~/.claude/CLAUDE.md com regras que valem para todos os seus projetos — tipo preferências pessoais, idioma, estilo de código.
🚀

Essa é a seção mais prática. São prompts testados que funcionam muito bem. Copie, adapte com os seus dados e use.

Primeiro contato com projeto novo
Leia os arquivos principais do projeto e me dê um resumo: o que é esse projeto, qual a stack, quais são as funcionalidades principais, e o que está incompleto ou com problema.
Bom para quando você herda o código de outra pessoa ou volta depois de muito tempo.
Mapear estrutura de pastas
Me explica a estrutura de pastas desse projeto como se eu fosse um iniciante. Qual arquivo faz o quê, e por onde eu começo se quiser entender o fluxo principal?
Ideal para mapear projetos complexos com muitos arquivos.
Criar uma página HTML do zero
Cria um arquivo [nome].html com as seguintes seções: [liste as seções]. O estilo deve ser [descreva visual]. Usa apenas HTML e CSS puro — sem frameworks. Fundo: [cor], texto: [cor], destaque: [cor].
Substitua os [colchetes] com suas informações antes de usar.
Adicionar funcionalidade em arquivo existente
No arquivo [nome-do-arquivo], adiciona a seguinte funcionalidade: [descreva o que quer]. Não altere nenhuma outra parte do arquivo — só acrescente o necessário para isso funcionar. Me explica o que você adicionou depois.
Protege o código existente enquanto adiciona algo novo.
Criar API simples com Node.js
Cria um servidor Express em server.js com as seguintes rotas: GET /api/status (retorna {ok: true}), POST /api/[nome] (recebe [dados] e faz [ação]). Inclui tratamento de erros e comentários explicando cada rota.
Boa base para qualquer API backend.
Tem um erro no terminal
Estou recebendo esse erro: [cole o erro aqui]. Leia o arquivo [nome-do-arquivo] e me explica qual é a causa do problema e como corrigir. Antes de mudar qualquer coisa, me mostra o plano.
O "me mostra o plano" evita que ela faça mudanças erradas sem você revisar.
Algo parou de funcionar
Até ontem a funcionalidade [descreva] funcionava. Hoje não está funcionando mais. Eu não mudei nada. Analisa os arquivos relacionados e me diz o que pode ter causado isso e como corrigir.
Boa para quando você não sabe nem onde começar a procurar.
Revisar o código em busca de problemas
Leia os arquivos desse projeto e me diz: 1) tem algum bug evidente? 2) tem algum problema de segurança? 3) tem código duplicado ou desnecessário? Só me lista os problemas — não altere nada ainda.
Diagnóstico antes de qualquer mudança. Muito útil em projetos legados.
Fazer commit bem feito
Analisa tudo que foi alterado nessa sessão e faz um commit organizado. Agrupa as mudanças por tema se for necessário, e escreve mensagens de commit claras em português.
Muito melhor do que simplesmente usar /commit quando você fez muitas coisas.
Deploy na VPS via SSH
Me ajuda a fazer deploy desse projeto na minha VPS. O IP é [IP], usuário root, a pasta de destino é /var/www/[nome]. Me diz os comandos que eu preciso rodar, em ordem, e explica cada um.
Para subir projetos em servidores Linux.
Deixar o código mais limpo
Leia o arquivo [nome]. Ele está funcionando, mas o código está desorganizado. Refatora para ficar mais limpo e legível — mas sem mudar o comportamento. Me diz quais foram as principais mudanças.
Refactoring sem risco de quebrar o que funciona.
Explicar código que você não entende
Leia o arquivo [nome] e me explica em português simples — como se eu tivesse 14 anos — o que cada função faz. Foca especialmente nas partes mais complexas.
Para aprender com código de outras pessoas.
INSTALAÇÃO COMPLETA (rodar uma vez)
# Verificar Node.js node --version # Instalar Claude Code npm install -g @anthropic-ai/claude-code # Verificar instalação claude --version # Iniciar (vai pedir login na primeira vez) claude
ROTINA DIÁRIA DE USO
# 1. Entra na pasta do projeto cd Downloads/meu-projeto # 2. Abre o Claude Code claude # 3. Dentro do Claude Code, usa esses comandos: /help # vê o que pode fazer /status # vê quanto de contexto usou /clear # começa uma nova tarefa /commit # salva as alterações no Git
ATUALIZAR O CLAUDE CODE
# Atualiza para a versão mais recente npm update -g @anthropic-ai/claude-code # Confirma a versão atualizada claude --version
🎮 Pensa assim

Imagina que você está construindo um castelo. Você pode deixar a porta aberta e confiar em todo mundo — ou pode colocar grades, câmeras e um alarme. As automações são as câmeras. A segurança são as grades. Você faz isso uma vez e dorme tranquilo.

Git é o sistema de controle de versões — basicamente o histórico de tudo que foi feito no seu projeto. Cada "commit" é um ponto de salvamento que você pode voltar se algo quebrar.

WINDOWS & MAC — configurar Git pela primeira vez
# Configura quem você é (faz só uma vez) git config --global user.name "Seu Nome" git config --global user.email "seu@email.com" git config --global init.defaultBranch main
WINDOWS & MAC — iniciar Git em um projeto
# Entra na pasta e inicializa o Git cd meu-projeto git init # Adiciona todos os arquivos ao controle git add . # Cria o primeiro ponto de salvamento git commit -m "primeiro commit"
WINDOWS & MAC — rotina diária de salvamento
# Vê o que mudou git status # Adiciona tudo git add . # Salva com uma mensagem (descreva o que você fez) git commit -m "adiciona página de contato" # Envia para o GitHub (backup na nuvem) git push
💡
Dentro do Claude Code você pode só digitar /commit que ele faz tudo isso sozinho — analisa as mudanças, cria a mensagem certa e commita.

O arquivo .gitignore lista arquivos que o Git deve ignorar completamente — senhas, tokens, configurações locais, pastas pesadas como node_modules.

WINDOWS & MAC — .gitignore essencial
# Dependências (muito pesado para commitar) node_modules/ .pnp .pnp.js # Variáveis de ambiente (SENHAS E TOKENS — nunca commitar!) .env .env.local .env.production .env*.local # Builds gerados dist/ build/ .next/ out/ # Sistema operacional .DS_Store # Mac Thumbs.db # Windows desktop.ini # Windows # Editor .vscode/ .idea/ *.swp # Logs *.log npm-debug.log*

Nunca escreva senhas, chaves de API ou tokens diretamente no código. Use um arquivo .env — ele fica só na sua máquina, nunca vai para o Git.

WINDOWS & MAC — arquivo .env
# Crie um arquivo chamado .env na raiz do projeto # Formato: NOME_DA_VARIAVEL=valor (sem espaços) ANTHROPIC_API_KEY=sk-ant-... DATABASE_URL=postgresql://... SECRET_TOKEN=minha-senha-secreta PORT=3000
⚠️
REGRA DE OURO: O arquivo .env NUNCA vai para o GitHub. Adicione-o ao .gitignore imediatamente. Se você acidentalmente commitar senhas, troque-as na hora — alguém pode estar varrendo o GitHub em busca exatamente disso.

Hooks são ações automáticas que o Claude Code executa em momentos específicos — antes de rodar um comando, depois de criar um arquivo, ao iniciar a sessão, etc. Você configura uma vez e eles rodam sempre.

WINDOWS & MAC — onde fica o settings.json
# Windows: C:\Users\SeuNome\.claude\settings.json # Mac: ~/.claude/settings.json # Abrir para editar: # Windows: notepad %USERPROFILE%\.claude\settings.json # Mac: open ~/.claude/settings.json
settings.json — hooks essenciais de automação
{ "hooks": { // Roda git add automaticamente após cada edição de arquivo "PostToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "git add -A && git status" } ] } ], // Registra quando a sessão foi encerrada "Stop": [ { "hooks": [ { "type": "command", "command": "echo Sessao encerrada >> ~/.claude/sessoes.log" } ] } ] } }

GitHub é onde você guarda seus projetos online. Se seu computador quebrar, o projeto está salvo. E com o comando abaixo, tudo sincroniza automaticamente.

WINDOWS & MAC — conectar projeto ao GitHub
# 1. Cria o repositório em github.com (botão New) # 2. Conecta a pasta local ao GitHub: git remote add origin https://github.com/seu-usuario/repo.git git branch -M main git push -u origin main # A partir daí, para subir atualizações: git add . git commit -m "descreva o que fez" git push
  • Nunca commite .env — adicione ao .gitignore antes do primeiro commit
  • Use tokens com escopo mínimo — se o token é só para leitura, não dê permissão de escrita
  • Revogue tokens comprometidos imediatamente — anthropic.com → API Keys → Delete
  • Mantenha o Claude Code atualizadonpm update -g @anthropic-ai/claude-code
  • Revise antes de aprovar ações destrutivas — qualquer coisa que delete arquivo ou banco, leia com atenção
  • Use modo padrão (não automático) para tarefas novas — o default pede confirmação em ações arriscadas
  • Faça backup antes de refatorações grandesgit commit -m "backup antes da refatoração"
WINDOWS & MAC — verificar se tem segredos expostos no Git
# Ver se .env foi commitado alguma vez git log --all --full-history -- .env # Buscar senhas nos commits (segurança) git grep -i "password\|secret\|token\|api_key"

Se você tem um servidor ou VPS, o PM2 mantém seu app rodando mesmo se você fechar o terminal ou o servidor reiniciar.

WINDOWS & MAC — comandos essenciais PM2
# Instalar PM2 npm install -g pm2 # Iniciar uma aplicação pm2 start server.js --name meu-app # Ver apps rodando pm2 list # Ver logs em tempo real pm2 logs meu-app # Reiniciar / Parar pm2 restart meu-app pm2 stop meu-app # Salvar estado (sobrevive ao reboot do servidor) pm2 save pm2 startup
🎁
🎮 Pensa assim

Imagina ter o Claude direto no seu WhatsApp ou Telegram. Você manda uma mensagem de voz ou texto, ele responde, escreve código, explica coisa — tudo dentro do chat. É isso que você vai construir aqui.

📱 PARTE 1 — Bot Claude no Telegram

O Telegram permite criar bots com uma API oficial e gratuita. É o caminho mais fácil.

1
Criar o bot no Telegram
Abra o Telegram, pesquise por @BotFather e inicie a conversa. Depois mande:
NO TELEGRAM — conversa com @BotFather
/newbot # Dá um nome para o bot: Ex: Meu Assistente Claude # Dá um username (termina em bot): meuclaudebot # Ele retorna seu TOKEN — guarde com cuidado! # Ex: 7412345678:AAHxxxxxxxxxxxxxxxxxxxxxxx
2
Criar a pasta do projeto
WINDOWS
cd Downloads mkdir claude-telegram-bot cd claude-telegram-bot npm init -y npm install node-telegram-bot-api @anthropic-ai/sdk dotenv
MAC
cd ~/Downloads mkdir claude-telegram-bot && cd claude-telegram-bot npm init -y npm install node-telegram-bot-api @anthropic-ai/sdk dotenv
3
Criar o arquivo .env com as chaves
.env — na pasta do projeto
TELEGRAM_TOKEN=7412345678:AAHxxxxxxxxxxxxx ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxx
💡
Sua chave Anthropic está em: console.anthropic.com → API Keys → Create Key
4
Criar o arquivo bot.js
bot.js — código completo do bot
require('dotenv').config(); const TelegramBot = require('node-telegram-bot-api'); const Anthropic = require('@anthropic-ai/sdk'); const bot = new TelegramBot(process.env.TELEGRAM_TOKEN, { polling: true }); const claude = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); // Histórico de conversa por usuário const historico = {}; bot.on('message', async (msg) => { const chatId = msg.chat.id; const texto = msg.text; if (!texto) return; if (texto === '/start') { historico[chatId] = []; return bot.sendMessage(chatId, 'Olá! Sou o Claude. Como posso ajudar?'); } if (texto === '/clear') { historico[chatId] = []; return bot.sendMessage(chatId, 'Conversa reiniciada!'); } if (!historico[chatId]) historico[chatId] = []; historico[chatId].push({ role: 'user', content: texto }); try { bot.sendChatAction(chatId, 'typing'); const resposta = await claude.messages.create({ model: 'claude-haiku-4-5-20251001', max_tokens: 1024, messages: historico[chatId], }); const reply = resposta.content[0].text; historico[chatId].push({ role: 'assistant', content: reply }); bot.sendMessage(chatId, reply); } catch (err) { bot.sendMessage(chatId, 'Erro: ' + err.message); } }); console.log('Bot rodando...');
5
Rodar o bot
WINDOWS & MAC
node bot.js # Bot rodando... # Agora vá no Telegram e mande uma mensagem para seu bot!
Abra o Telegram, ache seu bot pelo username e mande /start. Funciona!
💬 PARTE 2 — Claude no WhatsApp

WhatsApp não tem API oficial gratuita para bots pessoais. A solução mais simples e legal é via Twilio (gratuito para testes) ou via Evolution API (open source, para VPS).

1
Criar conta gratuita no Twilio
Acesse twilio.com, crie uma conta grátis. Vá em Messaging → Try it out → Send a WhatsApp message e siga o tutorial do sandbox (scan do QR Code).
2
Instalar dependências
WINDOWS & MAC
mkdir claude-whatsapp-bot && cd claude-whatsapp-bot npm init -y npm install twilio @anthropic-ai/sdk express dotenv
3
Criar .env com as credenciais Twilio
.env
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxx TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxx TWILIO_WHATSAPP_FROM=whatsapp:+14155238886 ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxx PORT=3000
4
Criar server.js
server.js
require('dotenv').config(); const express = require('express'); const twilio = require('twilio'); const Anthropic = require('@anthropic-ai/sdk'); const app = express(); app.use(express.urlencoded({ extended: true })); const client = twilio(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN); const claude = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY }); const historico = {}; app.post('/webhook', async (req, res) => { const from = req.body.From; const texto = req.body.Body; if (!historico[from]) historico[from] = []; historico[from].push({ role: 'user', content: texto }); const resposta = await claude.messages.create({ model: 'claude-haiku-4-5-20251001', max_tokens: 1024, messages: historico[from], }); const reply = resposta.content[0].text; historico[from].push({ role: 'assistant', content: reply }); await client.messages.create({ from: process.env.TWILIO_WHATSAPP_FROM, to: from, body: reply, }); res.sendStatus(200); }); app.listen(process.env.PORT, () => console.log('Servidor na porta ' + process.env.PORT));
5
Expor o servidor local para a internet (Twilio precisa acessar)
WINDOWS & MAC — usando ngrok (gratuito)
# Terminal 1 — roda o bot node server.js # Terminal 2 — expõe para internet (instale ngrok.com) ngrok http 3000 # Ngrok vai te dar uma URL como: # https://abc123.ngrok.io # No painel Twilio → Sandbox → Webhook URL: # cole: https://abc123.ngrok.io/webhook
Mande uma mensagem pelo WhatsApp para o número do sandbox Twilio. O Claude vai responder em segundos.
💡
Para uso permanente (não só testes): Suba o server.js na sua VPS com PM2 (pm2 start server.js --name whatsapp-bot) e aponte o webhook do Twilio para o IP/domínio da VPS. Aí fica online 24/7 sem precisar do ngrok.
🏆 As 5 regras de ouro

1. Seja específico. Quanto mais contexto, melhor o resultado.
2. Um passo de cada vez. Não peça 10 coisas numa mensagem só.
3. Peça o plano antes de executar. Fale "me mostra o que vai fazer antes" em ações arriscadas.
4. Use /clear quando terminar uma tarefa e começar outra.
5. Mantenha o CLAUDE.md atualizado. Quanto mais informação ele tiver sobre o projeto, mais inteligente será a ajuda.