MODULO 6.2

๐Ÿ—๏ธ Construindo ~/.memory/ do zero

Passo a passo: estrutura de pastas, seed files, hooks, primeira sessao validada. 45 minutos para sistema funcional.

6
Topicos
35
Minutos
Pratico
Nivel
Setup
Tipo
1

๐Ÿ“ 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.

2

๐ŸŒฑ 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.

3

๐Ÿช 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.

4

โœ… Teste de integracao

Antes de confiar, golden question test. Abra sessao, pergunte algo que so seu prime.md sabe.

1

Defina golden question

Algo especifico seu. Ex: 'qual meu projeto ativo?' โ€” resposta esperada: 'payments-v2'.

2

Feche TODAS sessoes anteriores

Para garantir que e sessao fresh.

3

Abra nova sessao em diretorio neutro

Claude Code em $HOME para evitar vies de cwd.

4

Faca a golden question

Antes de qualquer outra coisa.

5

Valide resposta literal

Bateu com o que esta no prime/context? Sistema funciona.

6

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.

5

๐ŸŽ 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
6

๐Ÿ“ฆ 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

โœ“
Estrutura de 6 pastas โ€” padrao versionavel.
โœ“
Seeds com conteudo real โ€” sistema vazio nao ajuda.
โœ“
Hooks wire com settings.json โ€” testar cada um isoladamente.
โœ“
E2E valida antes de confiar โ€” golden questions.

Proximo:

6.3 โ€” Scripts: promote.py e decay.py