Pular para o conteúdo

Builder OS

Builder · OS
L05 · CLAUDE.md
~10 MIN DE LEITURA

Lição 5 de 10: O CLAUDE.md e a memória do projeto

lição 5/10 do Módulo 1
AO FIM, VOCÊ VAI TER
  • 3 seções do CLAUDE.md personalizadas pro seu produto
  • Um commit feat(claude-md): personalize for <produto> no GitHub
  • Prova: segunda sessão do Claude que cita os termos do **seu** domínio na primeira resposta, sem você pedir

Um Project Overview que muda a primeira resposta

Olha o CLAUDE.md do CEAP (dashboard público, em produção):

# 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.

Três linhas. Quando o Claude abre uma sessão nesse projeto, a primeira resposta dele já cita "cota parlamentar", "dados abertos da Câmara" e "dashboard de transparência", sem você pedir.

Agora compara com o CLAUDE.md do Starter que você clonou na lição 04:

## Project Overview

<!-- TODO: substitua os 2 placeholders abaixo por 2-4 frases que descrevem seu produto. -->

**O que é:** [um produto que faz X para Y]

**Por que existe:** [problema específico que resolve, com 1 número quando possível]

Mesma estrutura, conteúdo placeholder. O Claude lê isso e responde genérico: "seu projeto Next.js...". Esta lição troca o placeholder por brief real, em 3 seções, e prova que mudou.

Passo 1: Escreva o brief do seu produto

Antes de pedir pro Claude editar qualquer coisa, você precisa contar pra ele o que está construindo. Preenche os 4 campos abaixo. Eles substituem as variáveis do prompt: você preenche uma vez aqui e vale pra página inteira.

prompt · text
Aqui vai um brief curto do meu produto. Use isso pra personalizar o CLAUDE.md.

Produto: 
Para quem: 
Dor que resolve: 
Termos do domínio que você precisa usar literalmente: 

Quero que você faça três coisas no CLAUDE.md, **mantendo todo o resto exatamente como está**:

1. Preencha a seção `Project Overview` (substitua os placeholders `[um produto que faz X para Y]` e `[problema específico...]` pelo brief acima, em pt-BR, mantendo as marcações em negrito e os `<!-- TODO -->` removidos).

2. Adicione uma nova seção chamada `## Domain Vocabulary` logo depois de `## Tech Stack`, com cada termo do domínio numa linha, em formato `**termo** — definição curta em pt-BR.` Se algum termo for regulatório (ex: NFS-e, MEI, LGPD), marque com `(regulatório)` no fim.

3. Olhe a seção `## Tech Stack` e me diga se algo deveria mudar pra esse produto específico (ex: se eu vou precisar de Postgres em vez do default, ou se Tailwind+shadcn não faz sentido pra um product mais formal). Não edite ainda — só me proponha as mudanças.

Mostre o diff antes de aplicar a edição.
PRODUTO[PRODUTO]em 1 frase. Ex: SaaS que emite recibo digital pra contador autônomo brasileiro.
PARA_QUEM[PARA_QUEM]usuário-alvo, com 1 característica concreta. Ex: contador autônomo MEI ou ME, com 5–50 clientes mensais.
DOR[DOR]o problema específico que ele resolve. Ex: hoje os recibos saem em Word, sem padronização, sem histórico, e custam 10min cada.
TERMOS_DO_DOMINIO[TERMOS_DO_DOMINIO]3-5 palavras do seu domínio que o Claude precisa usar literalmente, separadas por vírgula. Ex: recibo, RPS, NFS-e, lançamento, cliente.

Passo 2: Cole o prompt no Claude e aprove os edits

Cola o prompt renderizado acima dentro da interface do Claude e aperta Enter. O Claude pede aprovação ([y/n]) antes de cada mudança no CLAUDE.md. Se algo no diff não bate, responde n e corrige. Esse arquivo molda toda sessão futura, então vale os 30 segundos extras pra acertar.

O Claude responde em três blocos:

1. A edição proposta da seção Project Overview, em formato de diff. Vai aparecer algo assim (linhas exatas variam; o que importa é a região marcada Project Overview):

saída esperada
Edit file CLAUDE.md
Around the "## Project Overview" section:
- **O que é:** [um produto que faz X para Y]
- **Por que existe:** [problema específico que resolve, com 1 número quando possível]
+ **O que é:** {{PRODUTO}}
+ **Por que existe:** {{DOR}}

Do you want to proceed? [y/n]

Aprova com y se o conteúdo bate com o seu brief.

2. A nova seção Domain Vocabulary, também em diff. Mesmo procedimento.

3. Sugestões de ajuste no Tech Stack em formato de texto (sem edição automática). Ex: "você mencionou que precisa armazenar histórico de recibos, sugiro adicionar Postgres na stack." Se concordar, pede: "aplica essa mudança no Tech Stack também."

Passo 3: Primeiro commit do projeto

Com o CLAUDE.md personalizado, é hora do primeiro commit. Pede pro Claude fazer:

prompt · text
Faz o primeiro commit do projeto seguindo Conventional Commits. Stage só o CLAUDE.md, com mensagem feat(claude-md): personalize for <nome curto do produto>.

O Claude pede aprovação pra rodar dois comandos:

saída esperada
Bash command
git add CLAUDE.md
Stage the personalized CLAUDE.md

Do you want to proceed? [y/n]
saída esperada
Bash command
git commit -m "feat(claude-md): personalize for {{PRODUTO}}"
Commit the staged changes

Do you want to proceed? [y/n]

Aprova os dois. Confere no GitHub: abre https://github.com/seu-usuario/{nome-do-projeto}/commits/main e o seu primeiro commit deve estar lá.

Passo 4: A prova. Feche o Claude, reabra, e veja o que mudou

Esse passo separa "editei um arquivo" de "configurei a memória do projeto."

Sai do Claude. Isso encerra a sessão atual: ele esquece a conversa, mas o CLAUDE.md fica em disco e é relido na próxima abertura.

  • Terminal: aperta Ctrl+D (ou digita exit + Enter).
  • Cursor / VS Code: fecha o painel do Claude (X no canto do painel).
  • Desktop app: fecha a janela e reabre.

Agora abre o Claude de novo do mesmo jeito da lição 04 (claude no terminal, ou painel/janela na sua IDE/app). Cola este prompt:

prompt · text
Em uma frase, o que este projeto faz, e quem é o usuário?

A resposta deve falar do seu produto especificamente: algo que reflete o que você escreveu em PRODUTO e PARA_QUEM, e idealmente usa pelo menos um dos termos que você listou em Domain Vocabulary.

Se não usar nenhum termo, pede o segundo teste:

prompt · text
Como você implementaria a feature de criar um novo registro principal nesse produto? Use os termos do domínio.

Aqui ele tem que usar os seus termos. Se ainda não usar, é sinal de que o CLAUDE.md não foi recarregado. Veja o troubleshooting abaixo.

Takeaways

  • CLAUDE.md é do projeto: ele molda o que o Claude faz por padrão em toda sessão futura, não só descreve o repo pra um leitor humano.
  • Três seções fazem a diferença: Project Overview (o produto), Tech Stack (a stack real) e Domain Vocabulary (termos que ele tem que usar literalmente).
  • A prova de que funcionou: nova sessão, pergunta genérica, resposta que cita os seus termos sem você pedir.
  • O CEAP cabe em 3 linhas de Project Overview. Três linhas específicas rendem mais que um parágrafo vago.

Confirma que deu certo