Lição 1 de 10: O que é o Claude Code
- Clareza das 3 diferenças entre Claude Code e ChatGPT (agente / memória / permissões)
- O modelo mental dos 4 itens que o Módulo 1 entrega
Bem-vindo ao Builder OS. Você está no Módulo 1, e esta primeira lição é a única que não pede pra instalar nem configurar nada. Ela é a que faz todo o resto do curso fazer sentido, então vale os cinco minutos.
Você provavelmente já usou o ChatGPT pra programar: pede um trecho de código, copia, cola, ajusta na mão. Nos próximos módulos você vai construir um produto inteiro com o Claude Code, e ele é outra categoria de ferramenta. Antes de pôr a mão na massa, vamos entender o que ele realmente é e por que ele muda o jogo.
A forma mais rápida de ver a diferença é olhar um projeto de verdade. Sem instalar nada ainda, abra o repo do CEAP (é open source) e repara no que vive lá dentro:
ceap/
├── CLAUDE.md
└── .claude/
├── settings.json
├── commands/
│ ├── atualizar-dados.md
│ ├── checar-fonte.md
│ ├── gerar-relatorio.md
│ └── publicar-dashboard.md
└── rules/
├── dados-publicos.md
└── numeros-conferidos.mdEsses 8 arquivos não existem num projeto que só conversa com ChatGPT. Eles existem porque o Claude Code lê o repo, roda comandos custom (/atualizar-dados, /publicar-dashboard) e segue regras que alguém escreveu pro projeto. Não precisa entender cada arquivo agora; ao longo da lição você vai sacar por que essa estrutura existe, sem ter instalado nada.
As três diferenças que importam
Tudo que separa o Claude Code do ChatGPT cabe em três ideias, e o resto do curso é detalhe em cima delas: ele age em vez de só responder, ele lembra do seu projeto entre sessões, e ele pede aprovação antes de fazer coisa irreversível. Vamos uma por uma.
Diferença 1: Ele age como agente
Com ChatGPT, você é o executor: copia o texto que ele gera, cola, edita arquivos na mão, roda comandos, lida com erros, volta pra perguntar.
O Claude Code executa esse trabalho. Você descreve o que quer; ele decide os passos, edita os arquivos, roda os comandos, e te mostra o que fez.
Você aprova, corrige ou para. O ciclo só anda com o seu aval.
Exemplo concreto: você pede "adiciona uma rota nova /dashboard que mostra os últimos 10 pedidos do usuário logado." ChatGPT te dá um snippet em React e três bullets explicando onde colar. Claude Code faz a sequência:
src/app/ e cria o arquivo dashboard/page.tsx.npm run dev pra você ver no browser.A intenção é a mesma. A diferença é onde cada um para: o ChatGPT entrega o snippet, o Claude Code deixa a rota rodando.
Diferença 2: Memória do projeto
ChatGPT começa cada conversa do zero. Você precisa re-explicar a stack, as convenções, o que está construindo, como você gosta de organizar, toda vez.
Claude Code lê na primeira mensagem de cada sessão. Esse arquivo mora no seu repo (você vai personalizar ele na lição 05), e contém: o que o produto é, qual a stack, quais as convenções de código, o que evitar.
Olhe o CLAUDE.md do CEAP (primeiras linhas):
# CEAP — Análise de Gastos Parlamentares
## Project Overview
Dashboard público de transparência sobre a cota parlamentar (CEAP) de deputados federais.
SPA estática que consome JSON pré-processado dos dados abertos da Câmara.
Público-alvo: jornalistas de dados, auditores e cidadãos.
## Architecture
- `docs/` — saída do GitHub Pages (HTML estático, pt-BR, voltado ao público)
- `data/*.json` — números pré-processados (fonte de verdade do que o dashboard mostra)
- `pipeline/` — scripts que baixam e cruzam os dados abertos da CâmaraMeses depois, quando você volta no projeto pra mexer numa feature, o Claude já sabe que docs/ é output (não pra editar à mão), que data/*.json é a fonte de verdade dos números, e que é o pipeline/ que regenera esses dados. Ele não guarda isso de memória própria: lê o arquivo versionado no Git no começo da sessão.
A lição 05 é toda sobre isso. Por enquanto: a memória é explícita, mora num arquivo que você controla, e funciona porque é versionada junto com o código.
Diferença 3: Modelo de permissões
ChatGPT escreve texto. Não tem como ele apagar nada.
Claude Code roda comandos. Pode rodar npm install, git commit, git push, rm, curl, qualquer coisa. Mas ele não roda tudo livremente: antes de cada comando, você vê:
Bash command
npm install zod
Install zod for input validation
Do you want to proceed? [y/n]Você aprova (y), recusa (n), ou pede mudança. Isso acontece em cada comando, toda vez, menos nos que você escolheu antes deixar passar sem perguntar. Essa lista é o settings.json que você vai configurar na lição 09.
A regra mental: comandos seguros e repetidos viram ; comandos destrutivos viram denylist; o resto pede aprovação. Assim você sempre vê o que vai rodar antes de acontecer.
Você descreve o que quer e aprova os passos.
A pergunta que o curso responde
"Por que isso é diferente o suficiente pra justificar um curso inteiro?"
Porque o ChatGPT, o Cursor (quando usado como autocomplete), e até o Claude Code mal-configurado entregam 70% do que dá pra extrair de um agente. O 30% restante, onde mora a velocidade, vem dos arquivos que você viu no topo:
- Um
CLAUDE.mdque descreve seu projeto bem o suficiente. - Uma ou duas regras custom (
.claude/rules/) que codificam decisões que importam. - Um
settings.jsonapertado o suficiente pro[y/n]aparecer só onde precisa. - O fluxo
plan-then-workativado quando o trabalho é não-trivial.
Esses 4 itens são o que o Módulo 1 entrega, ao longo das lições 02 a 10.
Onde o Claude Code roda
O Claude Code roda no terminal, na extensão do Cursor/VS Code, ou no app desktop. As três superfícies fazem a mesma coisa. A lição 03 cobre cada uma; na maior parte do curso, escolhe a que você já usa.
Takeaways
- Claude Code edita arquivos e roda comandos; ChatGPT entrega texto. Você aprova cada passo destrutivo.
- A memória entre sessões vive em
CLAUDE.mdno repo: versionada no Git, explícita, sob seu controle. - O modelo de permissões (allowlist / denylist / pergunta) é o que torna o agente seguro pra rodar comandos reais no seu projeto.
- O Módulo 1 entrega 4 peças:
CLAUDE.md, uma regra custom,settings.jsonapertado, e o fluxoplan-then-work.