Ad Space (horizontal)
Advanced

O Guia Completo para Escrever CLAUDE.md: Boas Práticas de Configuração de Projeto

Um guia completo para escrever arquivos CLAUDE.md eficazes. Aprenda a comunicar seu tech stack, convenções e estrutura do projeto para maximizar a qualidade das respostas do Claude Code.

O Que É CLAUDE.md?

CLAUDE.md é um arquivo de contexto que ajuda o Claude Code a entender seu projeto. Coloque-o na raiz do seu projeto, e o Claude Code o lê automaticamente no início de cada sessão. Um CLAUDE.md bem escrito pode melhorar drasticamente a qualidade das respostas do Claude Code.

Locais dos Arquivos e Prioridade

Você pode colocar arquivos CLAUDE.md em múltiplos locais, e todos são carregados:

~/.claude/CLAUDE.md          # Configurações globais (compartilhadas entre projetos)
./CLAUDE.md                   # Raiz do projeto (compartilhada com a equipe)
./CLAUDE.local.md             # Configurações locais (adicione ao .gitignore)
./src/CLAUDE.md               # Configurações de subdiretório
  • Global: Suas preferências pessoais de estilo de código
  • Raiz do projeto: Regras e tech stack compartilhados pela equipe
  • Local: Configurações pessoais que não vão para o Git
  • Subdiretório: Contexto adicional para módulos específicos

Template Inicial

Aqui está um template prático de CLAUDE.md:

# Visão Geral do Projeto

API backend de e-commerce. Gerencia pedidos, inventário e autenticação de usuários.

## Tech Stack

- Linguagem: TypeScript 5.x
- Runtime: Node.js 22
- Framework: Fastify
- DB: PostgreSQL 16 + Prisma ORM
- Testes: Vitest
- CI: GitHub Actions

## Estrutura de Diretórios

src/
  routes/       # Definições de endpoints da API
  services/     # Lógica de negócios
  repositories/ # Camada de acesso a dados
  middleware/   # Auth, logging, tratamento de erros
  utils/        # Funções utilitárias
  types/        # Definições de tipos

## Convenções de Código

- Usar arrow functions
- Sempre usar try-catch para tratamento de erros com classes de erro personalizadas
- Nomenclatura: camelCase (variáveis/funções), PascalCase (tipos/classes)
- Nomes de arquivo: kebab-case
- Usar alias de caminho `@/` em vez de imports relativos

## Comandos Comuns

- Executar testes: `npm test`
- Verificação de tipos: `npx tsc --noEmit`
- Lint: `npm run lint`
- Migração do DB: `npx prisma migrate dev`
- Servidor de dev: `npm run dev`

## Regras Importantes

- Sempre criar uma migration após alterar prisma/schema.prisma
- Todo endpoint de API deve ter um schema de validação Zod
- Registrar novas rotas em routes/index.ts

Dicas para Escrever CLAUDE.md Eficazes

1. Mantenha Conciso

O CLAUDE.md consome tokens da janela de contexto. Evite explicações verbosas e prefira tópicos.

# Exemplo ruim
Este projeto usa TypeScript. TypeScript é uma linguagem desenvolvida
pela Microsoft que adiciona tipos ao JavaScript...

# Exemplo bom
- Linguagem: TypeScript 5.x (modo strict)

2. Documente o Que Você Não Quer

Listar explicitamente anti-padrões é surpreendentemente eficaz.

## Proibido

- Nenhum tipo `any`
- Nenhum default export (apenas exports nomeados)
- Nenhum console.log para debug (use o logger)
- Nunca deletar ou pular testes existentes

3. Defina Workflows

Oriente o Claude Code sobre como as tarefas devem ser abordadas.

## Adicionando uma Nova Funcionalidade

1. Criar definições de tipo em `src/types/`
2. Implementar a camada de acesso a dados em `src/repositories/`
3. Implementar a lógica de negócios em `src/services/`
4. Definir endpoints em `src/routes/`
5. Escrever testes unitários para cada camada
6. Verificar que todos os testes passam com `npm test`

4. Capture o Conhecimento Tribal

Documente informações importantes que não estão escritas em nenhum outro lugar.

## Notas Específicas do Projeto

- `user_id` usa UUID v7 (para ordenação cronológica)
- Todos os cálculos de preço devem usar `Decimal.js` (para evitar erros de ponto flutuante)
- Variáveis de ambiente são centralizadas em `src/config.ts` — nunca acesse process.env diretamente

Uso em Equipe

Configuração do .gitignore

Mantenha configurações pessoais fora do controle de versão:

# .gitignore
CLAUDE.local.md

Inclua nas Revisões de Código

Trate o CLAUDE.md como um documento importante do projeto. Inclua-o nas revisões de PRs e mantenha-o atualizado como equipe.

Quando Atualizar o CLAUDE.md

  • Ao adicionar uma nova biblioteca
  • Ao mudar convenções de código
  • Ao reestruturar diretórios
  • Quando perceber que o Claude Code está cometendo o mesmo erro repetidamente

Conclusão

O CLAUDE.md transforma o Claude Code em um especialista no seu projeto específico. Comece gerando uma base com /init, depois refine conforme trabalha. Compartilhe com sua equipe para que todos se beneficiem de interações otimizadas com o Claude Code.

Ad Space (rectangle)
#Claude Code #CLAUDE.md #configuration #best practices #project management