L’amnésie du robot
Imaginez que vous engagez un programmeur brillant. Il résout des problèmes complexes, écrit du code propre, comprend votre architecture. Mais il a un petit défaut: toutes les quelques heures, on lui efface la mémoire. Il repart de zéro. Il ne se souvient plus de ce qu’il faisait, de ce que vous avez décidé ensemble, ni pourquoi le code est comme ça.
Eh bien, c’est exactement ce qui se passe avec Claude Code et d’autres agents IA.
Quand le contexte se remplit (et il se remplit vite si vous travaillez sur un vrai projet), le système fait une “compactage”. Dit en français: il résume la conversation et jette tout le reste. Le problème, c’est que ce résumé perd les nuances, les décisions, et surtout, l’état des tâches en cours.
La solution? Deux outils qui se complètent: Linear pour vous et Beads pour votre IA.
Linear: Votre vue produit
Linear est un gestionnaire d’issues moderne. Si vous avez utilisé Jira, imaginez l’opposé: rapide, propre, et qui ne vous donne pas envie de vous arracher les yeux.
À quoi ça me sert
- Backlog produit: Features, bugs, épiques. Tout ce qu’il faut faire au niveau business
- Roadmap: Ce qui passe en premier, ce qui vient après
- Communication: Le reste de l’équipe (s’il y en a une) peut voir l’état
Exemple concret
QIN-500: Ajouter le dark mode à l'application
QIN-501: Optimiser le chargement des images
QIN-502: Intégrer la passerelle de paiement
Ce sont des tâches produit. C’est le “quoi faire”. Elles ne disent rien sur comment le faire. C’est le boulot du développeur… ou de votre agent IA.
Beads: La mémoire de votre IA
C’est là qu’entre Beads, créé par Steve Yegge (le même des fameux rants de Google et Amazon).
Beads est un issue tracker qui vit dans votre dépôt. Mais c’est pas pour vous, c’est pour votre agent IA. C’est sa mémoire persistante.
Le problème que ça résout
Quand je bosse avec Claude Code sur une tâche complexe, il se passe des trucs comme ça:
- Je lis l’issue QIN-500 de Linear
- J’investigate l’architecture actuelle
- Je crée un plan mental de 5 étapes
- Je commence à implémenter…
- 💥 COMPACTAGE 💥
- “Salut, je suis Claude. Comment je peux t’aider?”
Tout le contexte, le plan, le progrès… évaporé. C’est comme le film Memento, mais moins cinématographique et plus frustrant.
La solution
Avec Beads, avant de compacter, l’état est persisté dans .beads/ dans le repo:
| |
Après le compactage, la première chose que je fais c’est:
| |
Et boom: je sais exactement où j’en étais.
📋 Ready work (2 issues with no blockers):
1. [P2] qinqin-a3f2: Créer ThemeContext
2. [P2] qinqin-b4c5: Ajouter toggle dans Settings
Comment ça fonctionne
Beads sauvegarde tout dans votre repo:
votre-projet/
└── .beads/
├── beads.db # Base de données SQLite
├── issues.jsonl # Issues en format versionnable
└── config.yaml # Configuration
Comme c’est dans git, ça se versionne avec votre code. Vous pouvez voir l’historique, faire des branches, merger… C’est du code, pas un service externe.
La cohabitation: Linear + Beads
Voilà le truc: ils ne se font pas concurrence, ils se complètent.
| Aspect | Linear | Beads |
|---|---|---|
| Utilisateur | Vous (humain) | Votre IA |
| Niveau | Produit | Implémentation |
| Granularité | Features, épiques | Étapes techniques |
| Durée de vie | Semaines/mois | Heures/jours |
| Exemple | “Ajouter dark mode” | “Créer ThemeContext” |
Le flux en pratique
VOUS (dans Linear):
QIN-500: Ajouter dark mode
CLAUDE (dans Beads, pendant la session):
qinqin-a1b2: Investiguer système de thèmes [DONE]
qinqin-c3d4: Créer ThemeContext [IN PROGRESS]
qinqin-e5f6: Ajouter toggle dans Settings [BLOCKED by c3d4]
qinqin-g7h8: Tests pour dark mode [BLOCKED by e5f6]
COMMIT (à la fin):
feat(web): add dark mode toggle (QIN-500)
Linear a le quoi. Beads a le comment.
Installation rapide
Beads
Important: le CLI bd s’installe une fois sur votre système. Mais .beads/ s’initialise par projet. C’est comme git: vous installez git une fois, mais vous faites git init dans chaque repo.
| |
Après le bd init, vous verrez un répertoire .beads/ dans votre projet. À vous de voir: vous le committez dans le repo (partagé avec l’équipe) ou vous l’ajoutez à .gitignore (mémoire privée de votre IA)?
Moi je le committe. Comme ça si quelqu’un d’autre bosse avec Claude sur le même repo, il a le contexte.
Linear
Linear est un service web. Créez-vous un compte sur linear.app et c’est bon. Si vous utilisez Claude Code, installez le MCP de Linear pour qu’il puisse lire et créer des issues directement.
Commandes essentielles de Beads
| |
Ça vaut le coup?
Écoutez, si vous utilisez Claude Code pour des petites tâches isolées, vous avez probablement pas besoin de Beads. Un TodoWrite éphémère vous suffit.
Mais si vous bossez sur de vrais projets, avec des sessions longues qui se compactent inévitablement, avec du contexte qui compte… alors Beads c’est la différence entre avoir un assistant utile et un avec Alzheimer.
Et le mieux: comme ça vit dans le repo, vous dépendez d’aucun service externe. Si demain Beads disparaît, vous avez vos données en JSON. Autre point positif: il y a des UIs communautaires si le CLI vous botte pas: beads-ui vous donne un kanban local.
Avertissement
Beads est nouveau. Il y a des rapports que ça fonctionne pas parfaitement avec Opus 4.5. Moi ça a marché, mais votre expérience peut varier.
Comme dirait un ingénieur sensé: testez sur un projet secondaire avant de vous marier avec.
TL;DR: Linear c’est pour vous (quoi faire). Beads c’est pour votre IA (comment elle le fait). Ensemble, ils évitent que chaque compactage soit un redémarrage à zéro.
Bon maintenant si vous m’excusez, je dois aller fermer quelques beads.