Le problème de la mémoire

Claude Code a un problème: il oublie tout. Tu fermes la session, tu en ouvres une autre, et c’est comme parler à quelqu’un qui ne te connaît pas. Tu peux charger du contexte avec CLAUDE.md, certes, mais qu’est-ce qui se passe avec les tâches à moitié finies? Les bugs que t’as trouvés mais pas corrigés? Le plan que t’avais pour demain?

Il y a trois solutions qui se complètent: Linear (ou ton outil de produit), Beads (plugin git-backed) et Tasks (intégrées dans Claude Code). Chacune pour un horizon temporel différent.

Tasks: La mémoire de travail

Tasks est le système interne de Claude Code pour tracker ce qu’il fait maintenant. Quand tu lui demandes quelque chose de complexe, Claude crée automatiquement une liste de tâches.

Appuie sur Ctrl+T pour les voir:

┌─────────────────────────────────────────────────┐
│ Tasks                                           │
├─────────────────────────────────────────────────┤
│ ✓ Lire structure du projet                      │
│ ● Implémenter endpoint d'authentification       │
│ ○ Écrire tests                                  │
│ ○ Mettre à jour documentation                   │
└─────────────────────────────────────────────────┘

Caractéristiques

  • Automatiques: Claude les crée quand le travail a plusieurs étapes
  • Persistantes après compaction: Survivent quand le contexte se compacte
  • Visibles avec Ctrl+T: Toggle rapide de la vue
  • Limitées à 10: Montre seulement les 10 premières (demande “show me all tasks” pour en voir plus)

Partager entre sessions

Par défaut, les Tasks meurent avec la session. Mais tu peux les rendre persistantes:

1
CLAUDE_CODE_TASK_LIST_ID=qualitra claude

Ça sauvegarde les tâches dans ~/.claude/tasks/qualitra/. La prochaine fois que tu démarres avec le même ID, tu récupères la liste.

Quand utiliser Tasks

SituationTasks
Implémenter une feature en une session
Suivre un plan de travail défini
Debugging étape par étape
Refactoring avec étapes claires

Tasks c’est pour l’exécution. Tu sais ce qu’il faut faire, tu as juste besoin de suivi.

Beads: La mémoire du projet

Beads est un plugin qui ajoute un issue tracker complet, stocké dans git. Pense à lui comme “Linear mais local et gratuit”.

1
bd list --status open
ID          TYPE    PRI  STATUS       TITLE
qua-1       epic    P2   open         Scoring Raven
qua-2       task    P1   in_progress  Implémenter scoring module
qua-3       bug     P0   blocked      Stack overflow dans acquireStartLock

Caractéristiques

  • Git-backed: Les issues vivent dans .beads/ et se committent avec ton code
  • Dépendances: Un issue peut en bloquer un autre
  • Priorités et types: Epics, tasks, bugs, features, chores
  • Multi-session: Le contexte persiste entre sessions (et personnes)
  • Hooks: Se synchronise automatiquement avec bd sync

Le flux de travail

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# Trouver du travail disponible
bd ready

# Voir détails
bd show qua-2

# Commencer à travailler
bd update qua-2 --status in_progress

# Créer des sous-tâches
bd create --title="Écrire tests PBT" --type=task
bd dep add qua-5 qua-2  # qua-5 dépend de qua-2

# Terminer
bd close qua-2

# Synchroniser
bd sync

Quand utiliser Beads

SituationBeads
Travail qui s’étend sur plusieurs sessions
Bugs découverts pendant développement
Features avec dépendances
Projets avec plusieurs agents/personnes
Tracking de dette technique
Issues que tu veux dans git history

Beads c’est pour la planification. Tu sais pas exactement ce que tu vas faire, mais tu sais quels problèmes il faut résoudre.

La différence clé

Tasks: “Je fais X, qui a les étapes A, B, C”

Beads: “Il faut résoudre X, Y, Z. Maintenant je travaille sur X.”

Tasks c’est la liste de courses pendant que tu cuisines. Beads c’est le menu de la semaine.

Les utiliser ensemble

Le flux idéal combine les deux:

  1. Beads pour capturer le travail (issues, bugs, idées)
  2. Tasks pour exécuter ce travail étape par étape
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 1. Début de session: qu'est-ce qui est en attente?
bd ready

# 2. Je choisis un issue
bd show qua-42
bd update qua-42 --status in_progress

# 3. Claude crée des Tasks pour les étapes
# (automatique quand je lui demande d'implémenter qua-42)

# 4. Pendant la session, je trouve un bug
bd create --title="Race condition dans cache" --type=bug --priority=1

# 5. Je termine le travail original
bd close qua-42

# 6. Le bug reste pour une autre session
bd sync
git push

Migration mentale

Si tu viens d’autres systèmes:

Tu viens de…Tasks équivaut à…Beads équivaut à…
JiraSubtasks d’un ticketTickets du backlog
Linear-Linear complet
GitHub Issues-Issues
NotionChecklistDatabase de tâches
PapierListe d’aujourd’huiCarnet de projet

Setup rapide

Tasks

Déjà incluses. Rappelle-toi juste:

  • Ctrl+T pour toggle de vue
  • CLAUDE_CODE_TASK_LIST_ID=nom pour persistance
  • “clear all tasks” pour nettoyer

Beads

1
2
3
4
5
6
7
8
# Installer plugin
claude mcp add beads-marketplace -- npx -y @anthropics/beads-mcp

# Dans ton projet
bd init

# Voir commandes
bd help

Commandes utiles

Tasks

CommandeCe que ça fait
Ctrl+TToggle vue des tâches
/todosLister tâches actuelles
“show me all tasks”Voir toutes (pas que 10)
“clear all tasks”Effacer liste

Beads

CommandeCe que ça fait
bd readyIssues sans blocages
bd list -s openTous les ouverts
bd show <id>Détail d’issue
bd createNouvel issue
bd update <id>Modifier issue
bd close <id>Fermer issue
bd syncSynchroniser avec git
bd blockedVoir ce qui est bloqué

L’erreur commune

N’utilise pas Beads comme Tasks. J’ai vu ça:

1
2
3
4
# MAL: Beads pour micro-tâches de session
bd create --title="Lire fichier X"
bd create --title="Modifier fonction Y"
bd create --title="Exécuter tests"

Ça c’est le boulot de Tasks, pas de Beads. Beads c’est pour les trucs qui importent demain:

1
2
3
4
# BIEN: Beads pour travail significatif
bd create --title="Implémenter authentification OAuth" --type=feature
bd create --title="Memory leak dans worker" --type=bug
bd create --title="Migrer DB vers PostgreSQL" --type=epic

Le système à trois couches

Si tu travailles avec Claude Code sur des projets sérieux, tu utilises probablement déjà quelque chose comme Linear, Jira ou GitHub Projects pour la vision produit. Où est-ce que ça s’intègre?

La réponse c’est un système à trois couches par horizon temporel et audience:

CoucheHorizonAudienceOutil
StratégiqueSemaines/moisHumainLinear, Jira, etc.
TactiqueJours/sessionsLLMBeads
ExécutionMinutes/heuresLLMTasks

Pourquoi ça marche

Linear (ou ton outil de produit) a ce que Beads peut pas offrir:

  • Roadmaps visuels
  • Cycles et sprints
  • Intégrations (Slack, GitHub, etc.)
  • UI pour penser en grand
  • Collaboration avec stakeholders

Beads a ce que Linear peut pas offrir:

  • Vit dans le repo (le LLM le voit sans config)
  • Zéro latence (local)
  • Dépendances que le LLM comprend nativement
  • Git history des décisions
  • Marche offline

Tasks a ce qu’aucun des autres offre:

  • Création automatique
  • Visualisation en temps réel
  • Zéro friction

Le flux naturel

Linear (roadmap)
    ↓ tu décomposes manuellement
Beads (sprint/semaine)
    ↓ Claude décompose automatiquement
Tasks (session)

Éviter la duplication

Ne copie pas les issues de Linear vers Beads littéralement. Beads devrait avoir le travail concret, pas la description produit.

# Linear (ce que tu veux)
"Implémenter authentification OAuth avec Google et GitHub"

# Beads (ce qu'il faut faire)
qua-12: Configurer OAuth provider dans Supabase
qua-13: Endpoint /auth/callback
qua-14: Refresh token rotation
qua-15: Tests e2e du login flow

# Tasks (ce que je fais maintenant)
✓ Lire documentation de Supabase Auth
● Créer migration pour table oauth_tokens
○ Implémenter callback handler

Linear dit ce que tu veux. Beads dit ce qu’il faut faire. Tasks dit ce que je fais.

Résumé

AspectTasksBeadsLinear
HorizonHeuresJoursSemaines/mois
AudienceLLMLLMHumain
PortéeSessionProjetProduit
PersistanceOptionnelleGitCloud
DépendancesNonOuiOui
CréationAutomatiqueManuelleManuelle
CollaborationNonOui (git)Oui (équipe)
ButExécutionTactiqueStratégie

TL;DR: Trois couches de mémoire pour travailler avec l’IA: Linear pour vision produit (semaines), Beads pour travail tactique (jours), Tasks pour exécution (heures). Linear dit ce que tu veux, Beads dit ce qu’il faut faire, Tasks dit ce que je fais. Ne duplique pas entre couches.

Plus d’info: