A amnésia do robô

Imagine que você contrata um programador brilhante. Resolve problemas complexos, escreve código limpo, entende sua arquitetura. Mas tem um pequeno defeito: a cada poucas horas apagam a memória dele. Volta a começar do zero. Não lembra o que estava fazendo, o que vocês decidiram juntos, nem por que o código está como está.

Pois é exatamente isso que acontece com Claude Code e outros agentes de IA.

Quando o contexto lota (e lota rápido se você está trabalhando em um projeto real), o sistema faz uma “compactação”. Em português claro: resume a conversa e joga fora todo o resto. O problema é que esse resumo perde nuances, decisões e, principalmente, o estado das tarefas em andamento.

A solução? Duas ferramentas que se complementam: Linear para você e Beads para sua IA.

Linear: Sua visão de produto

Linear é um gerenciador de issues moderno. Se você já usou Jira, imagine o contrário: rápido, limpo, e que não te faz querer arrancar os olhos.

Para o que uso

  • Backlog de produto: Features, bugs, épicas. Tudo que precisa ser feito no nível de negócio
  • Roadmap: O que vai primeiro, o que vem depois
  • Comunicação: O resto da equipe (se houver) pode ver o status

Exemplo real

QIN-500: Adicionar dark mode à aplicação
QIN-501: Otimizar carregamento de imagens
QIN-502: Integrar gateway de pagamento

Essas são tarefas de produto. São o “o que precisa ser feito”. Não dizem nada sobre como fazer. Esse é trabalho do desenvolvedor… ou do seu agente de IA.

Beads: A memória da sua IA

Aqui entra o Beads, criado por Steve Yegge (o mesmo dos famosos rants do Google e Amazon).

Beads é um issue tracker que vive dentro do seu repositório. Mas não é para você, é para seu agente de IA. É a memória persistente dele.

O problema que resolve

Quando trabalho com Claude Code numa tarefa complexa, acontecem coisas assim:

  1. Leio o issue QIN-500 do Linear
  2. Investigo a arquitetura atual
  3. Crio um plano mental de 5 passos
  4. Começo a implementar…
  5. 💥 COMPACTAÇÃO 💥
  6. “Olá, sou Claude. Em que posso ajudar?”

Todo o contexto, o plano, o progresso… evaporou. É como o filme Memento, mas menos cinematográfico e mais frustrante.

A solução

Com Beads, antes da compactação, o estado persiste em .beads/ dentro do repo:

bd create --title "Investigar sistema de temas atual" --priority P2
bd create --title "Criar ThemeContext" --priority P2
bd create --title "Adicionar toggle em Settings" --priority P2

Depois da compactação, a primeira coisa que faço é:

bd ready

E pronto: sei exatamente onde estava.

📋 Ready work (2 issues with no blockers):

1. [P2] acme-a3f2: Criar ThemeContext
2. [P2] acme-b4c5: Adicionar toggle em Settings

Como funciona

Beads salva tudo no seu repo:

seu-projeto/
└── .beads/
    ├── beads.db       # Banco de dados SQLite
    ├── issues.jsonl   # Issues em formato versionável
    └── config.yaml    # Configuração

Como está no git, versiona com seu código. Você pode ver o histórico, fazer branch, merge… É código, não um serviço externo.

A convivência: Linear + Beads

Aqui está o truque: não competem, se complementam.

AspectoLinearBeads
UsuárioVocê (humano)Sua IA
NívelProdutoImplementação
GranularidadeFeatures, épicasPassos técnicos
Vida útilSemanas/mesesHoras/dias
Exemplo“Adicionar dark mode”“Criar ThemeContext”

O fluxo na prática

VOCÊ (no Linear):
  QIN-500: Adicionar dark mode

CLAUDE (no Beads, durante a sessão):
  acme-a1b2: Investigar sistema de temas [DONE]
  acme-c3d4: Criar ThemeContext [IN PROGRESS]
  acme-e5f6: Adicionar toggle em Settings [BLOCKED by c3d4]
  acme-g7h8: Testes para dark mode [BLOCKED by e5f6]

COMMIT (ao terminar):
  feat(web): add dark mode toggle (QIN-500)

Linear tem o o quê. Beads tem o como.

Instalação rápida

Beads

Importante: o CLI bd se instala uma vez no seu sistema. Mas .beads/ se inicializa por projeto. É como git: você instala git uma vez, mas faz git init em cada repo.

# 1. Instalar CLI (uma vez só, global)
curl -fsSL https://raw.githubusercontent.com/gastownhall/beads/main/scripts/install.sh | bash

# 2. Adicionar ao PATH (se não fez automaticamente)
# No fish:
fish_add_path ~/.local/bin
# No bash/zsh:
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

# 3. Configurar integração com Claude Code (uma vez só)
bd setup claude

# 4. Inicializar em CADA projeto onde quiser usar
cd seu-projeto
bd init

Depois do bd init, você verá um diretório .beads/ no seu projeto. Decida: commita no repo (compartilhado com a equipe) ou adiciona ao .gitignore (memória privada da sua IA)?

Eu commito. Assim se mais alguém trabalhar com Claude no mesmo repo, tem o contexto.

Linear

Linear é um serviço web. Crie uma conta em linear.app e pronto. Se usar Claude Code, instale o MCP do Linear para que ele possa ler e criar issues diretamente.

Comandos essenciais do Beads

# Ver tarefas sem bloqueadores
bd ready

# Criar tarefa
bd create --title "Implementar feature X" --priority P2

# Ver detalhes
bd show acme-a1b2

# Fechar tarefa
bd close acme-a1b2 --reason "Committed in abc123"

# Listar todas
bd list --all

# Ver grafo de dependências
bd graph

Vale a pena?

Olha, se você usa Claude Code para tarefas pequenas e isoladas, provavelmente não precisa do Beads. Um TodoWrite efêmero resolve.

Mas se trabalha em projetos reais, com sessões longas que inevitavelmente compactam, com contexto que importa… então Beads é a diferença entre ter um assistente útil e um com Alzheimer.

E o melhor: como vive no repo, você não depende de nenhum serviço externo. Se amanhã Beads desaparecer, você tem seus dados em JSON. Outra coisa boa é que existem UIs comunitárias se você não curte CLI: beads-ui te dá um kanban local.

Aviso

Beads é novo. Há reports de que não funciona perfeitamente com Opus 4.5. Comigo funcionou, mas sua experiência pode variar.

Como diria um engenheiro sensato: teste num projeto secundário antes de se comprometer.


TL;DR: Linear é para você (o que fazer). Beads é para sua IA (como está fazendo). Juntos, evitam que cada compactação seja um reinício do zero.

Agora me deem licença que preciso fechar uns beads.

Este artigo foi escrito originalmente em espanhol e traduzido com a ajuda de IA.