5.2 Trilha 5 ~40 min

🧠 CLAUDE.md e memória persistente

O CLAUDE.md como instruções permanentes do projeto. Memória entre sessões, o que guardar vs evitar, contexto enxuto e convenções de time que o Claude realmente respeita.

1 📄 O que é o CLAUDE.md

🚀 Sessão Claude inicia 📄 CLAUDE.md leitura automática ao iniciar 🧠 Contexto projeto compreendido ✅ Resposta precisa e coerente

O CLAUDE.md é lido automaticamente no início de cada sessão

O CLAUDE.md não é apenas um README. É o arquivo de instruções que o Claude lê antes de qualquer prompt. Define o que o projeto é, como ele funciona e quais regras o agente deve seguir.

CLAUDE.md — estrutura recomendada
# my-project — Instruções do agente

## Visão geral
Dashboard pessoal de produtividade. Stack: Bun + React +
Vite + Tailwind. Deploy: Cloudflare Pages via wrangler.

## Estrutura do projeto
```
src/          → componentes React e lógica de UI
scripts/      → data pipeline e automação
docs/adr/     → decisões de arquitetura
```

## Regras obrigatórias
- NUNCA ler ou escrever arquivos fora deste repo
- Dashboard é READ-ONLY — sem mutações de dados
- Variáveis sensíveis em .env (nunca em src/)
- Commits seguem Conventional Commits

## Stack e versões
- Bun 1.1.x como runtime
- React 19 + TanStack Query v5
- Tailwind CSS 4.x

## Convenções de código
- TypeScript strict mode ativado
- Nomes de arquivos em kebab-case
- Componentes em PascalCase
- testes com Vitest

✓ CLAUDE.md eficaz

  • • Visão geral em 2-3 linhas
  • • Estrutura de pastas com propósito
  • • Regras obrigatórias explícitas
  • • Versões de stack fixadas
  • • Convenções de nomenclatura

✗ CLAUDE.md problemático

  • • 500 linhas de história do projeto
  • • Tokens de API em texto limpo
  • • Regras vagas ("seja cuidadoso")
  • • Desatualizado há 6 meses
  • • Copia-e-cola de docs genéricos

2 💾 Memória entre sessões

O Claude não tem memória nativa entre sessões. Toda "memória" deve ser construída explicitamente como arquivos que o Claude pode ler na próxima sessão.

Hierarquia de memória explícita

📄

CLAUDE.md — memória permanente

Instruções que nunca mudam entre sessões: arquitetura, regras, stack, convenções. Lido automaticamente.

📋

docs/decisions.md — memória de decisões

Log de decisões tomadas com o Claude. "Em 2026-05-10 decidimos usar TanStack Query em vez de SWR porque..."

💬

Session handoff prompt — contexto da sessão anterior

Ao encerrar: "Resuma o que fizemos hoje em 5 bullets e salve em docs/session-2026-05-15.md".

💡

Dica: session handoff

Ao terminar uma sessão longa, peça: "Escreva um handoff de sessão em docs/handoff.md: o que foi feito, o que está pendente e quaisquer decisões tomadas." Na próxima sessão, peça ao Claude para ler o handoff antes de começar.

3 ✂️ Contexto enxuto

Um CLAUDE.md de 2.000 linhas é tão inútil quanto um de 10 linhas. A informação crítica deve estar no início, e cada linha deve justificar sua presença.

Prioridade de informação no CLAUDE.md

1

Visão geral + propósito do projeto

O que o projeto faz em 2-3 linhas

2

Regras obrigatórias e restrições

O que o Claude NUNCA pode fazer

3

Stack e estrutura de pastas

Onde fica cada coisa

4

Convenções e preferências

Nomes, commits, revisão de código

✓ O que incluir

  • • Propósito do projeto (2 linhas)
  • • Restrições críticas de segurança
  • • Stack com versões importantes
  • • Mapa de pastas com tree
  • • Convenções que divergem do padrão

✗ O que não incluir

  • • Tokens, chaves de API, senhas
  • • Histórico completo de decisões
  • • Tutoriais de como usar a stack
  • • Todo o conteúdo do CHANGELOG
  • • Comentários sobre sessões passadas

4 📋 Convenções do time

O Claude segue convenções quando elas estão escritas explicitamente. Sem isso, ele adota suas próprias convenções — que podem ser boas, mas não serão as suas.

CLAUDE.md — seção de convenções
## Convenções de código

### Nomenclatura
- Arquivos: kebab-case (meu-componente.tsx)
- Componentes React: PascalCase (MeuComponente)
- Funções: camelCase (calcularTotal)
- Constantes: UPPER_SNAKE_CASE (MAX_RETRIES)
- Tipos/interfaces: PascalCase (UserData)

### Commits (Conventional Commits)
- feat: nova feature
- fix: correção de bug
- refactor: refatoração sem mudança de comportamento
- docs: documentação
- test: testes

### Git
- Branches: feat/nome-da-feature ou fix/nome-do-bug
- Sem commits direto na main
- PR revisado antes de merge

### Imports
- Absolutos quando disponível (src/lib/utils)
- Relativos para arquivos no mesmo diretório
💡

Convenções vagas não funcionam

"Use nomes descritivos" não é uma convenção, é uma aspiração. "Funções em camelCase, arquivos em kebab-case, constantes em UPPER_SNAKE" é uma convenção que o Claude pode seguir mecanicamente.

5 🔐 O que guardar vs não guardar

O CLAUDE.md é um arquivo versionado — qualquer dado sensível nele pode vazar via git history, push acidental para repositório público ou logs de API.

⚠️

Nunca coloque no CLAUDE.md

  • OPENAI_API_KEY=sk-...
  • • Credenciais de banco de dados
  • • Tokens OAuth ou JWT
  • • Dados pessoais de usuários
  • • Chaves privadas ou certificados
.env.example — template seguro
# Copie para .env e preencha os valores reais
# NUNCA commit o .env — está no .gitignore

OPENAI_API_KEY=          # sua chave OpenAI
ANTHROPIC_API_KEY=       # sua chave Anthropic
PINECONE_API_KEY=        # sua chave Pinecone
DATABASE_URL=            # postgresql://...
CLOUDFLARE_ACCOUNT_ID=   # ver Cloudflare Dashboard

✓ No CLAUDE.md

  • • Nomes de variáveis env (sem valores)
  • • Onde as configs ficam
  • • Regras de acesso e permissões
  • • Quais dados são sensíveis

✗ No CLAUDE.md

  • • Valores reais de API keys
  • • Strings de conexão com senha
  • • Dados de usuários de produção
  • • Segredos internos da empresa

6 🔄 Evolução do CLAUDE.md

O CLAUDE.md é um documento vivo. Projetos mudam, stacks evoluem, convenções melhoram. O arquivo precisa acompanhar essa evolução.

Cadência de revisão

📅

A cada mudança de stack — imediato

Mudou de Node para Bun? Atualize o CLAUDE.md no mesmo PR. Nunca deixe divergir da realidade.

🗓️

Mensal — limpar obsoleto

Remove referências a módulos deletados, atualiza versões de pacotes, revisa regras que já não fazem sentido.

📆

Trimestral — revisão completa

Relê tudo com olho crítico: o que ainda é verdade? O que mudou? O que está faltando?

💡

CLAUDE.md no git

Versione o CLAUDE.md no git como qualquer outro arquivo. Isso cria histórico de como as instruções evoluíram e permite rollback se uma mudança causar comportamento inesperado.

📋 Resumo do módulo

✅ Você aprendeu
  • • CLAUDE.md como instruções permanentes
  • • Hierarquia de memória explícita
  • • Contexto enxuto e priorizado
  • • Convenções em linguagem mecânica
  • • Segurança: o que nunca vai no CLAUDE.md
  • • Cadência de revisão do documento
🚀 Próximos passos
  • • Escreva o CLAUDE.md do seu projeto
  • • Crie um .env.example com todos os vars
  • • Configure session handoff workflow
  • • Agende revisão trimestral no calendário