Aula 0

Dica de Ouro — Só Isso Já Basta Para Comecar

Uma linha de verificação é tudo.

No terminal, digite:

claude --version

Se aparecer um número de versão como 2.1.x — é o Claude Code de verdade. Você pode fazer as aulas 1 a 11 deste curso.

Se o comando não for reconhecido, ou se o que você está usando agora é o chat dentro do Cursor, Antigravity ou Windsurf — isso não é Claude Code. São programas diferentes, ainda que usem o mesmo modelo Claude. O piloto automático deste curso não funciona lá.

Uma frase para guardar:

Agente ≠ Modelo. Mesmo Opus, em programas diferentes, tem capacidades diferentes.

Instalação em uma linha (Mac / Ubuntu / WSL):

curl -fsSL https://claude.ai/install.sh | bash

No Windows, WSL ou Docker vêm primeiro. Tratamos disso no corpo do texto abaixo.


Experiência Rápida

Dê a mesma ordem para os dois e veja a diferença entre CLI e chat de IDE com os próprios olhos. Leva 3 minutos.

No Claude Code (CLI):

“Crie um hello.py na pasta vazia. Coloque um erro de sintaxe de propósito, execute para ver o erro, depois corrija sozinho e execute de novo. Até aparecer ‘Hello’.”

O Claude Code CLI — cria o arquivo, executa diretamente, lê o erro, corrige e roda de novo. Não pergunta o que fazer a cada passo. O loop autônomo gira.

Se puser a mesma frase no chat de extensão de IDE (Cursor/Antigravity/Windsurf) — o código é sugerido, mas a execução precisa de um clique seu, o erro precisa ser copiado e colado de volta, e a aprovação fica esperando a cada passo. O loop só fecha passando pela pessoa.

Essa diferença é tudo o que a Aula 0 tem a dizer. E este curso inteiro foi projetado com base no primeiro caso.


Por Que Dar Ordens Assim

Você provavelmente já construiu algo “com Claude Code”. Assistiu a um tutorial no YouTube, falou com o chat, viu o código sair.

Mas tenho uma pergunta. O que você usou era mesmo Claude Code?

Se isso parece bobagem, ouça o que acontece nos onboardings reais.

Agente ≠ Modelo

Um usuário pediu ajuda porque o app que estava fazendo com vibe coding travou. Ele disse que estava “desenvolvendo com Claude Code”. Ficou dias sem sair do lugar. As coisas não faziam o que ele mandava, e a IA perguntava “o que prefere, opção A, B ou C?” a cada bifurcação, o que emperrava o andamento.

A causa não era o julgamento dele. O que ele usava era o chat Claude dentro da extensão Antigravity IDE. Não era o Claude Code CLI. Os dois usam o modelo Claude Opus. O modelo é o mesmo. Mesmo assim, o resultado foi completamente diferente.

Por quê? Porque mesmo o modelo sendo igual, o agente é diferente.

  • Modelo (Model): O cérebro — Opus, Sonnet. A capacidade de ler e escrever em si.
  • Agente (Agent): O programa que coloca esse cérebro para funcionar. Qual system prompt é dado, quais ferramentas (leitura/escrita de arquivo, execução de comandos) são entregues, até onde vai sozinho sem aprovação humana — tudo isso é definido pelo agente.

O mesmo cavalo (modelo), solto num campo sem rédeas ou montado com sela e arreios — os lugares que consegue alcançar são diferentes. O agente é exatamente essa sela e esses arreios — o dispositivo que permite colocar as rédeas (reins). (Voltamos a isso na Aula 5.)

Modo de chat simples (extensão IDE etc.)Agente autônomo CLI (Claude Code)
ModeloClaude (igual)Claude (igual)
Acesso a arquivosLimitado e manualRead/Write/Edit automático
Execução de comandosGeralmente impossívelExecuta diretamente via Bash
Execução de CLIs externas (yongol, hurl etc.)ImpossívelPossível
Progresso autônomoAprovação a cada passoLoop próprio
SubagentesManualCriação automática

Por Que um Agente Mediano Não Serve — Por Que Este Nível de Agente

Agentes têm níveis. E o nível que este curso (aulas 1 a 11) exige se distingue por um único critério.

O núcleo deste curso é uma frase:

A IA escreve o código, a máquina valida, você só confirma “passou?”.

Para isso funcionar, a IA precisa executar sozinha as ferramentas de validação e ler os resultados para decidir a próxima ação. Rodar yongol validate, ler o erro, corrigir, rodar de novo — se uma pessoa precisar intermediar cada etapa, não é autonomia, é trabalho.

Loop autônomo possível:
  IA executa validate → lê erro → corrige → validate de novo → passa → próxima
  (0 intervenções humanas)

Pessoa intermediando cada passo:
  IA diz "execute validate assim" → pessoa copia e executa →
  pessoa copia resultado → cola para a IA → IA sugere correção → pessoa executa de novo...

Aula 3 Hurl, Aula 4 yongol, Aula 6 tsma, Aula 8 filefunc — todos são ferramentas CLI. Elas só fazem sentido se a IA as rodar de forma autônoma. Com um agente que não consegue fechar esse loop, metade do curso não funciona.

Então o critério de “agente mediano” não é a marca, é esta pergunta:

Este agente executa yongol validate / hurl / tsma sozinho, lê os resultados e decide a próxima ação? Ou precisa de cópia e aprovação minha a cada passo?

  • Se o primeiro — é um agente onde se pode colocar rédeas. (O Claude Code CLI se enquadra aqui.)
  • Se o segundo — é um agente mediano. Por mais inteligente que o modelo seja, trava neste curso.

Atenção: “extensão de IDE = sempre não” não é verdade. O modo agente do Cursor e Windsurf, por exemplo, executa comandos de forma autônoma e faz o loop. Ao contrário, o modo de chat simples dentro do mesmo produto passa pela pessoa a cada passo. Julgue pelo critério acima, não pelo nome do produto. Nos onboardings reais onde travou, não foi “por ser IDE”, foi porque o modo de chat usado não conseguia rodar o loop CLI de forma autônoma.

Por isso a Aula 0 é a entrada do curso. Escolher a ferramenta errada transforma as onze aulas seguintes em mentira.

A Armadilha do YouTube

O problema é este. A maioria dos tutoriais de vibe coding no YouTube e nas comunidades não distingue agentes que fazem o loop autônomo de modos de chat simples — e chama os dois de “Claude Code”.

Por isso o iniciante não tem como saber a diferença. Fala com o chat achando que está “usando Claude Code”. E culpa a si mesmo quando as coisas não saem como no tutorial.

Não é isso. A ferramenta foi mal escolhida. Mais precisamente, o YouTube ensinou a ferramenta errada. Com apenas um critério — “roda CLI sozinho?” — você não cai nessa armadilha.

Instalando o Claude Code

Este curso usa Ubuntu (ou WSL) como referência. Usuários de Mac seguem quase o mesmo caminho.

Pré-requisitos

  1. Conta Anthropic: Cadastre-se em https://console.anthropic.com
  2. Plano de assinatura: Claude Pro ($20/mês), Max ($100/mês ou $200/mês). Max tem limites de uso mais generosos
  3. Ubuntu / Mac / WSL ou Docker: Usuários Windows escolhem um dos dois caminhos abaixo

Mac · Ubuntu · Dentro do WSL — Instalação nativa (recomendado)

O método mais simples, sem precisar de Node.js.

curl -fsSL https://claude.ai/install.sh | bash

Após a instalação, verifique:

claude --version

Se aparecer um número de versão como 2.1.x, sucesso.

Windows Opção A: WSL (recomendado)

Abra o PowerShell do Windows como administrador e execute:

wsl --install

Essa linha cuida de tudo: ativar o WSL, baixar o kernel Linux e instalar o Ubuntu. Após reiniciar, o Ubuntu abre pedindo nome de usuário e senha. Digite um nome curto em letras minúsculas.

Atenção: Todo o trabalho a partir daqui é feito dentro do terminal Ubuntu. Instalar o Claude Code no PowerShell ou CMD gera o erro “Windows is not supported”.

Depois, execute a linha de instalação nativa acima dentro do Ubuntu.

Dica WSL: O projeto deve ficar obrigatoriamente no sistema de arquivos Linux (/home/nome_usuario/). Se ficar no lado Windows (/mnt/c/), a leitura de arquivos fica extremamente lenta.

Windows Opção B: Docker (quando WSL não funciona)

Se políticas da empresa ou problemas de ambiente impedem o WSL, use o Docker para subir um container Linux e use o Claude Code dentro dele.

# Na pasta do projeto, suba um container ubuntu e monte a pasta atual
docker run -it -v "$(pwd)":/work -w /work ubuntu:24.04 bash

# Dentro do container
apt update && apt install -y curl
curl -fsSL https://claude.ai/install.sh | bash
claude --version

-v "$(pwd)":/work conecta a pasta do seu projeto ao /work dentro do container. O que for feito dentro do container fica salvo na sua pasta.

Método alternativo: instalação via npm

Para quem já tem experiência com Node.js. Se for iniciante, use a instalação nativa acima.

# Instalar nvm e depois Node.js LTS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install --lts

# Instalar o Claude Code
npm install -g @anthropic-ai/claude-code

Atenção: Não use sudo npm install -g. Gera problemas de permissão e riscos de segurança.

Primeiro acesso e autenticação

# Vá para a pasta do projeto (crie se não existir)
mkdir -p ~/projects/my-first-app
cd ~/projects/my-first-app

# Execute o Claude Code
claude

Na primeira execução, o navegador abre pedindo login na Anthropic. Após o login, a autenticação está completa. Da próxima vez, a conexão é automática.

Lista de Verificação da Instalação

Se os três itens abaixo estiverem marcados, você está pronto para a Aula 1.

  • claude --version exibe o número de versão 2.1.x
  • Executar claude abre o prompt (janela de conversa)
  • A autenticação via login no navegador foi concluída
  • Na experiência rápida acima, a IA sozinha criou o arquivo, executou e corrigiu (sem pedir aprovação a cada passo)

O último item é o mais importante. Se a IA executou comandos e corrigiu o erro por conta própria — você está usando o Claude Code de verdade.

Extensões de IDE São Só Apoio

Não estou dizendo que Cursor, Antigravity e Windsurf são ferramentas ruins. Para olhar o código linha a linha e fazer ajustes finos, são excelentes. São ótimas ferramentas para programadores.

Mas a pilotagem automática deste curso é feita no CLI. As extensões de IDE servem como janela auxiliar para inspecionar o código, e o loop de “criar, validar e travar” fica a cargo do Claude Code CLI. Use os dois juntos, mas com papéis bem separados.


Prática: Confirmando o Que É Real

Objetivo: Confirmar que o que uso é o Claude Code CLI e rodar o loop autônomo uma vez.

Passo 1 — Verificar a instalação

claude --version

Confirme se a versão aparece como 2.1.x. Se não aparecer, volte ao procedimento de instalação acima. No Windows, configure primeiro o WSL (Opção A) ou Docker (Opção B).

Passo 2 — Observar o loop autônomo

Execute claude e, em uma pasta vazia, dê a seguinte ordem:

Crie um hello.py na pasta vazia. Coloque um erro de sintaxe de propósito,
execute para ver o erro, depois corrija sozinho e execute de novo.
Até aparecer "Hello".

O que observar:

  • A IA criou o arquivo diretamente? (Você não copiou e colou o código)
  • A IA executou python hello.py diretamente?
  • Quando deu erro, a IA leu e corrigiu sozinha?
  • Neste processo todo, o que você fez foi só a primeira frase e (se necessário) aprovar a execução?

Se tudo for “sim” — você passou pelo portão. Vá para a Aula 1.

(Se estava usando chat de IDE) Coloque a mesma frase no chat da IDE e veja onde trava. Sentir essa diferença uma vez faz você nunca esquecer por que a Aula 0 existe.


Resumo

  1. Agente ≠ Modelo. Mesmo modelo Claude, em programas diferentes (agentes diferentes), as capacidades são completamente distintas.
  2. Boa parte do que o YouTube chama de “Claude Code” é modo de chat simples, que não faz o loop autônomo. O critério não é a marca, é “roda CLI sozinho?”.
  3. Este curso foi projetado com base no CLI. Aula 3 Hurl, Aula 4 yongol, Aula 6 tsma, Aula 8 filefunc — todas são ferramentas CLI que só fazem sentido quando a IA as executa de forma autônoma.
  4. Instalação em uma linha. curl -fsSL https://claude.ai/install.sh | bash. No Windows, WSL ou Docker vêm primeiro.
  5. Critério para passar: claude --version retorna 2.1.x, e a IA cria, executa e corrige arquivos sozinha.

Escolher a ferramenta errada transforma as onze aulas seguintes em mentira. A entrada do curso foi fechada aqui.

Próxima aula: “Como Comandar a IA.” Agora que você tem o Claude Code de verdade, aprende o que mandar e como mandar para a IA escrever código sem precisar saber programar.


Tarefas

  1. Confirmar a identidade da sua ferramenta: Verifique se o que você usava como “Claude Code” é CLI ou chat de IDE. claude --version é a resposta.
  2. Rodar o loop autônomo uma vez: Faça o exercício hello.py acima até o fim e conte quantas etapas a IA processou sozinha sem intervenção humana.
  3. (Usuários Windows) Definir o ambiente: Escolha entre WSL e Docker o que funciona no seu ambiente e finalize a configuração.

Artigos Relacionados

Mais Para Ler (Externo)

  • Agent Harness Engineering — Addy Osmani. “Um modelo razoável com um harness excelente vence um modelo excelente com um harness ruim.” Casos onde só trocar o harness (mantendo o modelo fixo) inverteu o ranking de benchmarks. A versão definitiva de Agente ≠ Modelo.
  • Agents are models using tools in a loop — Simon Willison. A definição padrão de agente. O “loop” onde os resultados das ferramentas são realimentados ao modelo é o que separa agentes reais de termos de marketing.
  • Which AI Coding Harness Actually Works Without You? — Paweł Józefiak. Divide ferramentas de codificação em três categorias: Orchestrator (autônomo) / Pair Programmer (instrução passo a passo) / Supervised IDE (recusa decisões sozinho). Confundir as três é o erro central — coincide exatamente com a “armadilha do YouTube” da Aula 0.

Curso Completo de Reins Engineering

AulaTítulo
Aula 0Instalando o Claude Code
Aula 1Como Comandar a IA
Aula 2Como Não Confiar na IA
Aula 3O App que Não Quebra
Aula 4Decisões Fora do Código
Aula 5IA com Rédeas
Aula 6Passou, Trava
Aula 7Como Reverter a Bajulação
Aula 8A Fábrica do Agente
Aula 9Automação Além do Código
Aula 10A Lei dos Dados
Aula 11Como Salvar o Vibe Coding Fracassado

Fontes

  • Anthropic. “Claude Code overview.” Anthropic Documentation. link
  • Anthropic. “Set up Claude Code.” Anthropic Documentation. link
  • Karpathy, A. (2025). “Vibe coding” — origem do termo para programar pelo feeling sem ler o código.