📁 Estrutura de pastas
Seis pastas, cada uma com proposito claro. Estrutura enxuta evita poluicao.
📐 Layout padrao
~/.memory/
├── prime.md (identidade, injetado SessionStart)
├── context.md (contexto critico, injetado SessionStart+PreCompact)
├── knowledge/ (long-term pesquisado)
│ ├── facts/
│ ├── decisions/
│ ├── patterns/
│ └── preferences/
├── archive/ (memorias arquivadas por decay)
│ └── 2026-Q1/
├── hooks/ (scripts executaveis)
│ ├── session_start.sh
│ ├── pre_compact.sh
│ ├── user_prompt.sh
│ └── session_end.sh
├── scripts/ (manutencao, nao hooks)
│ ├── promote.py
│ ├── decay.py
│ └── health_check.py
└── CLAUDE.md (regras promovidas)
# Comando de criacao
mkdir -p ~/.memory/{knowledge/{facts,decisions,patterns,preferences},archive,hooks,scripts}
touch ~/.memory/{prime.md,context.md,CLAUDE.md}💡 Nomes importam
Use os nomes do curso. Quando voce compartilha com colega que tambem conhece o padrao, ele entende em segundos.
🌱 Arquivos-semente
Sistema vazio nao ajuda ninguem. Preencha prime.md e context.md com dados reais ANTES de testar.
📐 Seeds obrigatorios
# prime.md (copie template do modulo 4.2, edite valores) Role: Backend engineer Stack: Python, FastAPI, Postgres Timezone: America/Sao_Paulo Style: PRs pequenos, test-first Team: Payments # Diretrizes para Claude - Responder em PT-BR - Checar context.md antes de sugerir # context.md (copie template do modulo 4.4, edite) ## Projeto ativo payments-v2 ## Foco atual Implementar retry logic no webhook da Stripe ## Bloqueios - Aguardando API key de staging ## Ultima decisao Escolhemos FastAPI (2026-04-20) ## Proximo passo Teste de integracao para webhook chunked
💡 Use dados reais
Nao invente 'projeto-teste'. Use o projeto ATUAL. Primeira sessao com dados reais prova o sistema.
🪝 Hooks em settings.json
Wire os 4 hooks principais. User-level: ~/.claude/settings.json.
📐 settings.json completo
{
"hooks": {
"SessionStart": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "$HOME/.memory/hooks/session_start.sh"
}]
}],
"PreCompact": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "$HOME/.memory/hooks/pre_compact.sh"
}]
}],
"UserPromptSubmit": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "$HOME/.memory/hooks/user_prompt.sh"
}]
}],
"SessionEnd": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "nohup $HOME/.memory/hooks/session_end.sh &"
}]
}]
}
}💡 SessionEnd com nohup &
Ele roda em background. Proxima sessao nao espera. Resumo via Gemini acontece sem voce notar.
✅ Teste de integracao
Antes de confiar, golden question test. Abra sessao, pergunte algo que so seu prime.md sabe.
Defina golden question
Algo especifico seu. Ex: 'qual meu projeto ativo?' — resposta esperada: 'payments-v2'.
Feche TODAS sessoes anteriores
Para garantir que e sessao fresh.
Abra nova sessao em diretorio neutro
Claude Code em $HOME para evitar vies de cwd.
Faca a golden question
Antes de qualquer outra coisa.
Valide resposta literal
Bateu com o que esta no prime/context? Sistema funciona.
Repita 5 vezes
5/5 acertos = deterministico. <5/5 = debugar.
💡 Automatize depois
Script que abre Claude Code headless, faz pergunta, valida resposta. CI para seu sistema de memoria.
🎁 Git: versione o sistema
Seu ~/.memory/ e ativo valioso. Tratar como repo.
📐 Git setup
cd ~/.memory git init git add . git commit -m 'initial memory system' # Remote privado (GitHub/GitLab/Codeberg) git remote add origin git@github.com:SEU_USER/private-memory.git git push -u origin main # .gitignore cat > .gitignore <<EOF .log .cache/ *.tmp EOF # Commit automatico semanal (cron) # 0 3 * * 0 cd ~/.memory && git add -A && git commit -m 'weekly snapshot' && git push
📊 Beneficios do git
- Rollback: se editar context.md errado, reverte
- Audit: 'quando adicionei essa regra?' → git blame
- Multi-device: clone em laptop + desktop
- Backup offsite: GitHub tem SLA melhor que sua maquina
📦 Backup e portabilidade
Alem de git, segundo backup local via tar. Paranoia compensa.
📐 Backup dual
# 1. Git remote (ja configurado acima) # 2. Tar local diario via cron # Roda 2h da manha, mantem 30 dias 0 2 * * * tar -czf ~/backup/memory-$(date +\%Y\%m\%d).tgz ~/.memory && find ~/backup -name 'memory-*' -mtime +30 -delete # 3. Sync opcional para cloud (rclone) 0 3 * * * rclone copy ~/backup/ remote:memory-backups/ --max-age 31d # Verificar integridade $ ls -lah ~/backup/ # -rw-r--r-- 2026-04-23 memory-20260423.tgz 5.2M # -rw-r--r-- 2026-04-22 memory-20260422.tgz 5.1M # ...
💡 Disaster recovery
Laptop morreu? git clone → sistema funcionando em 5 minutos. Sem git? tar -xzf → igual.
📝 Resumo do Modulo
Proximo:
6.3 — Scripts: promote.py e decay.py