Imaginez que vous avez un collègue de travail brillant. Il résout des problèmes complexes, écrit du code clair et compréhensible, et comprend vos demandes du premier coup. Mais chaque matin, lorsque vous lui dites “ouvre le projet du cours”, il vous regarde avec un air perplexe et demande : “Quel cours ? Où ça ?”
Tous les jours. Sans exception.
C’est exactement comme vivre avec Leonard Shelby, le protagoniste de Memento. Cet homme incapable de créer de nouveaux souvenirs, obligé de se tatouer les choses importantes sur son corps pour ne pas les oublier.
Je travaille avec Claude Code sur quatre ou cinq projets différents chaque jour. Pendant des semaines, à chaque fois que je lui disais “accède au projet du cours” ou “ouvre le blog”, il commençait un find / -name "p101", tel un explorateur victorien cherchant les sources du Nil. Il passait cinq minutes à scanner le disque dur pour trouver un répertoire que j’utilise quotidiennement.
Cela me rendait fou.
Le problème : l’amnésie antérograde numérique
Votre agent d’IA commence chaque session avec une ardoise vierge. Il ne sait pas où vous habitez, quels projets vous avez, ni que ~/courses/p101/program existe, que votre blog est situé dans ~/code/frr.dev, ou que le dépôt Ansible s’appelle wuwei et se trouve dans ~/code/wuwei/ansible.
À chaque nouvelle session, c’est un recommencement. Tout comme Leonard qui se réveille à chaque fois dans une chambre de motel inconnue.
La première réaction naturelle est de lui dire l’emplacement, chaque fois. Manuellement. “C’est dans /Users/fernando/code/tokamak.” Et ça fonctionne, mais c’est comme devoir vous présenter à votre coéquipier chaque matin. Après trois semaines, vous commencez à vous demander si travailler seul ne serait pas plus facile.
La solution du monde réel : zoxide
Avant de parler des tatouages, intéressons-nous à un outil qui résout ce problème pour les humains.
zoxide est un cd avec mémoire. En d’autres termes, un remplaçant de la commande cd qui se souvient des répertoires où vous êtes allé et vous y ramène en fonction de vos habitudes avec un simple mot-clé partiel.
# Au lieu de cela :
cd /Users/fernando/courses/p101/program
# Vous écrivez ceci :
z p101
Et voilà. zoxide sait que lorsque vous tapez “p101”, vous voulez aller dans /Users/fernando/courses/p101/program, parce que c’est l’endroit où vous allez le plus souvent avec cette commande.
Cela fonctionne grâce à un algorithme appelé frecency — une combinaison de fréquence et de récence. Les répertoires que vous visitez fréquemment et récemment remontent en haut de la liste. Ceux que vous n’utilisez plus depuis des mois glissent vers le bas. Comme l’algorithme de TikTok, mais pour votre système de fichiers.
L’installation est simple
brew install zoxide
# Ajouter à votre shell (Fish dans mon cas) :
# dans ~/.config/fish/config.fish
zoxide init fish | source
À partir de là, chaque commande cd alimente la base de données de zoxide. Et avec z <motif>, vous accédez à votre répertoire cible sans réfléchir.
z tokamak # → /Users/fernando/code/tokamak
z blog # → /Users/fernando/code/frr.dev
z wuwei # → /Users/fernando/code/wuwei/ansible
z p101 # → /Users/fernando/courses/p101/program
S’il y a une ambiguïté (deux répertoires possibles), zi ouvre un sélecteur interactif avec fzf.
zoxide pour votre agent : zoxide query
Voici où cela devient intéressant. zoxide possède une commande query qui ne change pas le répertoire, mais renvoie simplement le chemin le plus probable :
zoxide query p101
# → /Users/fernando/courses/p101/program
C’est une mine d’or pour un agent d’IA. Plutôt que de parcourir l’intégralité du disque avec find, une seule commande zoxide query lui retourne le bon chemin en une fraction de seconde. Pas d’exploration, pas de tâtonnements.
Le problème est que votre agent ne sait pas que cela existe. C’est là que les tatouages entrent en jeu.
Le tatouage : CLAUDE.md
Memento contient une scène emblématique où Leonard se regarde dans le miroir et lit ce qu’il s’est tatoué : des faits. Des consignes. Des choses qu’il ne peut pas se permettre d’oublier.
Pour Claude Code, l’équivalent est le fichier CLAUDE.md. C’est un fichier texte simple qui est chargé automatiquement au début de chaque session. Tout ce que vous y inscrivez, Claude “s’en souvient” — ou, plus précisément, il le relit à chaque démarrage.
C’est la différence entre une mémoire réelle et un tatouage. Le résultat est le même : l’information est accessible quand vous en avez besoin.
Voici comment on tatoue les chemins :
# Dans ~/.claude/CLAUDE.md
## Outils
- **`zoxide`** est installé comme alias de `cd` dans Fish.
Si vous ne connaissez pas le chemin d'un projet, utilisez
`zoxide query <motif>` au lieu de `find`.
## Chemins fréquents des projets
| Projet | Chemin |
| -------------- | ----------------------------------- |
| Mon appli | `~/code/mon-appli` |
| Cours | `~/courses/mon-cours/program` |
| Blog (Hugo) | vérifier avec `zoxide query blog` |
| Infra (ansible)| `~/code/infra/ansible` |
Deux choses se produisent ici :
- Vous fournissez les chemins directement. Pour les projets les plus fréquents, aucune recherche n’est nécessaire. Ils sont déjà listés.
- Vous expliquez l’outil. Pour tout projet qui n’est pas dans la table, Claude sait qu’il peut utiliser
zoxide query <nom>pour trouver le chemin instantanément.
C’est une hiérarchie étagée :
- Regarder dans la table → chemin direct, zéro perte de temps.
zoxide query <motif>→ millisecondes, précis 99% du temps.find→ dernier recours, lent, bruyant. Mais rarement nécessaire.
Ce qui a changé
Avant les tatouages, une session typique commençait ainsi :
Moi : "Ouvre le projet du cours et vérifie les tests."
Claude : *exécute find . -name "p101" -type d*
Claude : *attend 8 secondes*
Claude : *essaie une autre commande find avec maxdepth*
Claude : "J'ai trouvé /Users/fernando/courses/p101/program."
Après :
Moi : "Ouvre le projet du cours et vérifie les tests."
Claude : *lit la table, va directement à ~/courses/p101/program*
Claude : "Il y a 3 tests échoués dans le module d'authentification..."
De 15 secondes perdues et plusieurs essais, on passe à une interaction fluide et directe. Si vous multipliez cela par les dizaines de fois où vous changez de projet chaque jour, c’est un temps précieux de gagné.
Le deuxième tatouage : memory
Claude Code possède un autre mécanisme de persistance très utile : les fichiers memory par projet. Ce sont des notes que l’agent (ou vous-même) pouvez enregistrer et qui ne sont chargées que lorsque vous travaillez sur ce projet spécifique.
Lorsque Claude perdait du temps à chercher un répertoire avec find, je lui ai demandé de noter cette erreur. Il a alors créé cela dans sa mémoire pour ce projet :
# zoxide-directories
Quand tu ne trouves pas le chemin d'un projet, utilise
`zoxide query <motif>` au lieu de `find`.
Temps perdu à chercher /courses/p101 avec find ;
`zoxide query p101` aurait résolu le problème instantanément.
C’est un peu comme les Post-it que Leonard colle dans sa chambre de motel. Des rappels pour son futur moi : “Ne cherche pas. Utilise zoxide.”
La véritable leçon
Le message ici n’est pas seulement “installez zoxide”. Cet outil est un exemple parmi tant d’autres. La véritable leçon est celle-ci :
Si votre agent répète une erreur, ne vous énervez pas — écrivez-lui un tatouage.
S’il utilise npm install alors qu’il devrait utiliser pnpm, ajoutez-le dans CLAUDE.md. S’il enregistre des fichiers avec des encodages incorrects, marquez-le. Il oublie que votre API nécessite un en-tête personnalisé ? Écrivez-le.
Chaque frustration répétée représente un tatouage que vous n’avez pas encore écrit.
C’est ici que réside une différence fondamentale avec un collègue humain : un humain apprend seul (normalement). Un agent d’IA, lui, a besoin qu’on lui inscrive les leçons. Mais une fois apprises, il ne les oublie jamais. Pas de jours sans, pas de distraction. Il ne décide jamais que “c’est bon, il sait” et qu’il peut ignorer les consignes.
Sur ce plan, Leonard et ses tatouages sont plus fiables que la majorité d’entre nous avec notre mémoire humaine perfectible.
Comment commencer
Si vous travaillez avec Claude Code (ou tout autre agent compatible avec des fichiers d’instructions), faites-vous une faveur :
Installez zoxide —
brew install zoxide, ajoutez l’initialisation à votre shell, et utilisezzau lieu decdpendant une semaine. Après cela, vous ne voudrez plus revenir en arrière.Créez votre CLAUDE.md — Commencez par l’essentiel : votre shell, vos chemins, vos outils préférés. Pas besoin d’en écrire une tonne. Cinq lignes utiles valent mieux qu’un essai interminable.
À chaque fois que l’agent fait deux fois la même erreur, prenez le temps de noter un tatouage. Pas au bout de la troisième fois, mais dès la deuxième. Une répétition n’est plus une simple erreur – c’est un problème systémique. Et les problèmes systémiques se tatouent.
# Votre tout premier tatouage pourrait être aussi simple que :
echo '- Shell : Fish. PAS bash/zsh.' >> ~/.claude/CLAUDE.md
Ce n’est pas glamour. Ce n’est pas une architecture complexe de plugins ou d’injections de dépendances. C’est un simple fichier texte, qui explique à votre agent comment fonctionne votre environnement.
Mais ça marche. Tous les jours. Sans oublier. Comme un bon tatouage.
Cet article a été publié en espagnol et traduit avec l’aide de l’IA.