O que é o CLAUDE.md e como escrever um que realmente funcione

Você instalou o Claude Code. Rodou alguns prompts. Os resultados foram... ok. Talvez ele tenha sugerido instalar um pacote que você já tem. Talvez tenha usado CommonJS quando seu projeto inteiro é ESM. Talvez tenha escrito testes em Mocha quando você usa Vitest.
O problema não é o Claude Code. O problema é que o Claude Code não sabe nada sobre o seu projeto até você contar.
É para isso que serve o CLAUDE.md. É um arquivo markdown simples que fica na raiz do seu repositório e dá ao Claude Code o contexto de que ele precisa para trabalhar de forma eficaz no seu código específico. Pense nele como uma documentação de onboarding -- não para um novo contratado, mas para uma IA que consegue ler todo o seu código em segundos, mas ainda precisa conhecer as regras não escritas.
Este guia cobre tudo: o que é o CLAUDE.md, como estruturar um que realmente funcione, exemplos reais para diferentes tipos de projeto, erros a evitar e como aprimorá-lo ao longo do tempo.
Índice
- O que é o CLAUDE.md?
- Por que o CLAUDE.md importa mais do que você imagina
- Anatomia de um bom CLAUDE.md
- Exemplos reais por tipo de projeto
- Antipadrões: o que não fazer
- Como aprimorar seu CLAUDE.md
- Como o SuperBuilder ajuda
- Perguntas frequentes
O que é o CLAUDE.md?
O CLAUDE.md é um arquivo de configuração para o Claude Code -- o agente de código com IA da Anthropic que roda no seu terminal. Quando o Claude Code inicia uma sessão em um diretório, ele lê automaticamente o arquivo CLAUDE.md na raiz do projeto para entender as convenções, a arquitetura e as preferências do seu código.
Não é um formato de configuração rígido. Não há schema, nem campos obrigatórios, nem validação. É markdown simples. Você escreve qualquer contexto que ajude um agente inteligente a trabalhar de forma mais eficaz no seu projeto.
Aqui está um exemplo mínimo:
São 12 linhas. Leva dois minutos para escrever. E evita dezenas de suposições erradas.

Onde os arquivos CLAUDE.md ficam
O Claude Code lê arquivos CLAUDE.md de vários locais, combinados em ordem de precedência:
~/.claude/CLAUDE.md-- Preferências globais que se aplicam a todos os projetos (seu estilo de código pessoal, ferramentas preferidas)CLAUDE.mdna raiz do projeto -- Convenções de nível de projeto compartilhadas pela equipeCLAUDE.mdem subdiretórios -- Instruções com escopo para partes específicas de um monorepo ou base de código
Essa abordagem em camadas significa que você pode definir padrões globais e sobrescrevê-los por projeto ou por diretório.
Por que o CLAUDE.md importa mais do que você imagina
O Claude Code é poderoso. Ele consegue ler arquivos, executar comandos, editar código e executar planos de múltiplas etapas. Mas poder sem contexto leva a código de aparência plausível que erra o alvo.
Sem um CLAUDE.md, o Claude Code vai:
- Adivinhar sua stack. Ele pode sugerir
jestquando você usavitest, ouaxiosquando você usa a API nativafetch. - Ignorar convenções do projeto. Sua equipe coloca todas as consultas de banco de dados em uma pasta
repositories/? O Claude não sabe disso. - Usar padrões errados. Seu app React usa server components exclusivamente? O Claude pode usar
"use client"por padrão em tudo. - Pular etapas de build. Se seu projeto precisa de
npm run codegenantes de os testes passarem, o Claude não vai saber a menos que você diga.
Com um CLAUDE.md bem escrito, o Claude Code se torna um membro da equipe que de fato leu a documentação de onboarding. Ele segue seus padrões, usa suas bibliotecas preferidas e entende a arquitetura.
A diferença é dramática. Equipes que mantêm um bom CLAUDE.md relatam que o Claude Code acerta de primeira de 2 a 3 vezes mais do que ao escrever prompts sem ele.
Anatomia de um bom CLAUDE.md
Depois de analisar centenas de arquivos CLAUDE.md de projetos open-source e de nossos próprios usuários, uma estrutura clara emerge. Os melhores arquivos compartilham estas seções:
1. Visão geral do projeto (2-3 linhas)
Diga o que é o projeto e a stack tecnológica principal. Seja específico sobre versões quando isso importar.
2. Comandos principais
Liste os comandos que um desenvolvedor (ou IA) precisa para fazer build, testar, lintar e rodar o projeto. Esta é a seção de maior valor, porque evita que o Claude Code fique adivinhando.
3. Arquitetura e organização de arquivos
Descreva onde as coisas ficam. Isso evita que o Claude Code precise varrer toda a sua árvore de arquivos para entender a estrutura.
4. Convenções de código
É aqui que você codifica as regras não escritas. As coisas que um novo membro da equipe aprende na primeira semana.
5. Restrições importantes
Coisas que o Claude Code nunca deve fazer, ou sempre deve fazer.
6. Padrões de teste
Se sua configuração de testes tem convenções específicas, deixe-as explícitas.

Exemplos reais por tipo de projeto
A teoria é boa, mas você precisa de algo que possa copiar e adaptar. Aqui estão cinco arquivos CLAUDE.md para tipos de projeto comuns, baseados em padrões de projetos do mundo real.
Exemplo 1: App React + TypeScript
Exemplo 2: API Python (FastAPI)
Exemplo 3: Monorepo (Turborepo)
Exemplo 4: Ferramenta CLI (Go)
Exemplo 5: App mobile (React Native)

Antipadrões: o que não fazer
Um CLAUDE.md ruim pode ser pior do que nenhum CLAUDE.md, porque dá ao Claude Code um contexto confiante, mas errado. Aqui estão os erros mais comuns.
1. O romance (longo demais)
Se o seu CLAUDE.md tem mais de 500 linhas, está longo demais. O Claude Code processa o arquivo inteiro no início de cada sessão, e um arquivo excessivamente longo dilui as informações importantes com ruído.
Ruim:
Melhor: Crie um link para a documentação.
2. O aceno vago (genérico demais)
Instruções que poderiam se aplicar a qualquer projeto são espaço desperdiçado.
Ruim:
Melhor: Seja específico para o seu projeto.
3. A contradição
Quando o seu CLAUDE.md diz uma coisa, mas o seu código faz outra, o Claude Code fica confuso.
Ruim:
...mas metade do código usa CSS Modules.
Melhor: Reconheça a realidade.
4. O artefato desatualizado
Um CLAUDE.md escrito há seis meses que referencia pacotes já removidos, comandos de build que mudaram ou uma arquitetura que foi reestruturada.
Solução: Trate o CLAUDE.md como documentação viva. Atualize-o quando mudar sua stack ou suas convenções.
5. A injeção de prompt
Alguns desenvolvedores tentam usar o CLAUDE.md como um playground de engenharia de prompt, enchendo-o de instruções elaboradas no estilo system prompt.
Ruim:
Melhor: O CLAUDE.md é para contexto do projeto, não para instruções de personalidade. Foque em fatos sobre o seu código.

Como aprimorar seu CLAUDE.md
Seu primeiro CLAUDE.md não vai ser perfeito. E tudo bem. Aqui está um processo prático para melhorá-lo ao longo do tempo.
Comece pequeno
Comece com apenas três seções: visão geral do projeto, comandos principais e convenções. Isso cobre 80% do valor. Você sempre pode adicionar mais depois.
Fique atento a correções repetidas
Toda vez que você se pegar corrigindo o Claude Code com o mesmo feedback -- "não, usamos pnpm, não npm" ou "coloque isso na camada de services" -- adicione ao seu CLAUDE.md. Essas correções são a sua melhor fonte do que incluir.
Revise mensalmente
Crie um lembrete no calendário. Leia o seu CLAUDE.md uma vez por mês. Remova qualquer coisa desatualizada. Adicione qualquer coisa que você venha repetindo ao Claude Code nos prompts.
Peça ajuda ao Claude Code
Você pode literalmente pedir ao Claude Code que sugira melhorias para o seu CLAUDE.md:
O Claude Code vai varrer o seu projeto e sugerir convenções que percebe -- padrões de import, nomenclatura de arquivos, estruturas de teste e mais. Essa é uma ótima maneira de capturar convenções implícitas que você talvez não pensasse em documentar.
Use CLAUDE.md por diretório para projetos grandes
Se o seu projeto tem seções distintas com convenções diferentes (um frontend e um backend no mesmo repositório, por exemplo), use arquivos CLAUDE.md aninhados:

Como o SuperBuilder ajuda
O SuperBuilder é um aplicativo desktop construído sobre o Claude Code que torna mais fácil gerenciar seu fluxo de trabalho de código com IA -- incluindo o seu CLAUDE.md.
Editor visual de CLAUDE.md
Em vez de editar manualmente um arquivo markdown, o SuperBuilder oferece um editor estruturado que organiza o seu CLAUDE.md em seções. Adicione comandos, convenções e notas de arquitetura por meio de uma interface limpa, e o SuperBuilder gera o markdown devidamente formatado.
Sugestões de modelos
Quando você abre um novo projeto no SuperBuilder, ele varre seu package.json, pyproject.toml, go.mod ou outros arquivos de manifesto e sugere um modelo de CLAUDE.md adaptado à sua stack. Um projeto React + Vite + Vitest recebe sugestões diferentes de um projeto Django + PostgreSQL.
Sistema de memória
O SuperBuilder mantém uma memória persistente entre sessões que funciona em conjunto com o CLAUDE.md. À medida que você trabalha com o Claude Code pelo SuperBuilder, ele lembra correções e preferências, acumulando contexto que complementa seu arquivo CLAUDE.md estático. Pense no CLAUDE.md como a documentação da equipe e na memória do SuperBuilder como suas anotações pessoais.
Integração com o modo de depuração
Quando o Claude Code está depurando um problema, o SuperBuilder registra hipóteses, resultados de testes e descobertas. Esse contexto de depuração funciona junto com o seu CLAUDE.md -- a arquitetura e as convenções que você documenta ajudam o Claude Code a formar hipóteses melhores sobre onde os bugs podem estar.

Juntando tudo
Aqui está um checklist para escrever o seu CLAUDE.md hoje:
- Declare sua stack em 2-3 linhas no topo (framework, linguagem, bibliotecas principais)
- Liste todos os comandos que um desenvolvedor precisa (dev, test, lint, build, migrate)
- Mapeie sua estrutura de arquivos -- onde ficam os components, services, testes e configs?
- Anote suas convenções -- as regras não escritas que sua equipe segue
- Adicione restrições -- coisas que o Claude Code nunca deve fazer no seu projeto
- Mantenha-o com menos de 200 linhas para a maioria dos projetos (500 no máximo para monorepos grandes)
- Faça o commit no controle de versão para que toda a equipe se beneficie
- Revise-o mensalmente e atualize quando sua stack ou seus padrões mudarem
Os melhores arquivos CLAUDE.md não são obras de arte. São práticos, específicos e atuais. Levam 15 minutos para escrever e poupam horas corrigindo código gerado por IA que não combina com o seu projeto.
Se você está usando o Claude Code sem um CLAUDE.md, está usando-o a uma fração do seu potencial. Escreva um hoje. Comece pequeno, aprimore e veja a qualidade do código gerado por IA no seu projeto disparar dramaticamente.
Perguntas frequentes
Qual deve ser o tamanho de um CLAUDE.md?
Para a maioria dos projetos, de 50 a 200 linhas é o ideal. Monorepos podem chegar a 300-500 linhas. Se você está acima de 500 linhas, provavelmente está incluindo informações que pertencem a arquivos de documentação separados.
Devo fazer o commit do CLAUDE.md no controle de versão?
Sim. O CLAUDE.md de nível de projeto deve estar no seu repositório para que todos os membros da equipe e ambientes de CI se beneficiem dele. Seu ~/.claude/CLAUDE.md pessoal permanece local.
O CLAUDE.md funciona com outras ferramentas de IA?
O CLAUDE.md é específico do Claude Code (e de ferramentas construídas sobre ele, como o SuperBuilder). No entanto, convenções semelhantes existem para outras ferramentas -- o Cursor usa .cursorrules, o GitHub Copilot usa .github/copilot-instructions.md. O conteúdo costuma ser transferível mesmo que o formato do arquivo seja diferente.
Posso ter vários arquivos CLAUDE.md?
Sim. O Claude Code lê arquivos CLAUDE.md do seu diretório home, da raiz do projeto e de qualquer subdiretório em que você esteja trabalhando. Eles são combinados, com os arquivos mais específicos tendo precedência.
E se o meu CLAUDE.md contradizer o código?
O Claude Code geralmente segue as instruções do seu CLAUDE.md, mas também lê o seu código real. Se houver uma contradição, ele pode ficar confuso ou pedir esclarecimentos. A solução é manter o seu CLAUDE.md em sincronia com a realidade -- documente o que existe e anote as mudanças planejadas separadamente.
Devo incluir chaves de API ou segredos no CLAUDE.md?
Nunca. O CLAUDE.md é versionado e não deve conter segredos. Use nomes de variáveis de ambiente: "Defina DATABASE_URL no .env para desenvolvimento local."
Como o CLAUDE.md é diferente de um README?
Um README é para desenvolvedores humanos e geralmente cobre setup, uso e diretrizes de contribuição. O CLAUDE.md é otimizado para consumo por IA -- ele foca em convenções, restrições e padrões que um agente de IA precisa para gerar código correto. Há alguma sobreposição, mas o público e os objetivos diferem.

Quer extrair mais do Claude Code? O SuperBuilder dá a você uma interface visual para gerenciar o CLAUDE.md, memória persistente entre sessões e ferramentas poderosas de depuração. Baixe gratuitamente em superbuilder.sh.