Aller au contenu principal
Débutant10 min

La mémoire dans Claude Code

Ce que tu vas apprendre

  • Comment Claude Code se souvient de ton projet entre les sessions
  • La hiérarchie des fichiers mémoire (projet, personnel, auto)
  • Comment initialiser et modifier la mémoire

Prérequis

  • Claude Code v2.1+
  • Un projet avec un dépôt git (recommandé)

Le concept en 30 secondes

Claude Code charge automatiquement des fichiers CLAUDE.md au démarrage. Ces fichiers contiennent les règles de ton projet, tes préférences, les conventions d’équipe. Ils sont organisés en niveaux : organisation > projet > personnel > local. Plus un fichier est proche de ton dossier de travail, plus il a de poids.

Étapes

1. Initialiser la mémoire projet

Dans ton projet :

/init

Claude crée CLAUDE.md ou .claude/CLAUDE.md avec une structure de base.

Mode interactif amélioré (v2.1+) :

CLAUDE_CODE_NEW_INIT=1 claude
/init

2. Éditer la mémoire

/memory

Ouvre les fichiers mémoire dans ton éditeur système. Claude te propose :

  1. Managed Policy Memory
  2. Project Memory (./CLAUDE.md)
  3. User Memory (~/.claude/CLAUDE.md)
  4. Local Project Memory (./CLAUDE.local.md)

3. Comprendre la hiérarchie

Ordre de priorité (du plus fort au plus faible) :

@diagram:scale
Priorité de la mémoire, du plus fort (gauche) au plus faible (droite)
Organisation :: /Library/Application Support/ClaudeCode/CLAUDE.md — partagé
Organisation modulaire :: managed-settings.d/*.md — partagé
Projet :: ./CLAUDE.md ou ./.claude/CLAUDE.md — partagé (git)
Projet modulaire :: ./.claude/rules/*.md — partagé (git)
Utilisateur :: ~/.claude/CLAUDE.md — non partagé
Utilisateur modulaire :: ~/.claude/rules/*.md — non partagé
Projet local :: ./CLAUDE.local.md — git-ignoré
Auto :: ~/.claude/projects/<projet>/memory/ — non partagé

4. Créer un CLAUDE.md projet minimal

Fichier ./CLAUDE.md :

# Mon Projet

## Stack
- Node.js 20, React 18, PostgreSQL 16
- TypeScript strict
- Tests avec Vitest

## Conventions
- 2 espaces d'indentation
- Pas de `any` implicite
- Messages de commit en conventional commits
- PR requise avant merge sur main

## Commandes
- `npm run dev` → serveur local
- `npm test` → tests
- `npm run lint` → linting
- `npm run build` → build prod

Garde-le sous 300 lignes. Moins c’est long, plus c’est lu.

5. Ajouter des règles modulaires

Crée .claude/rules/api.md pour les standards API :

---
paths: src/api/**/*.ts
---

# Règles API

- Validation Zod obligatoire sur tous les endpoints
- Format de réponse uniforme : `{ success, data, error }`
- Pagination par curseur, pas par offset
- Rate limit : 1000 req/h authentifié

Les fichiers dans .claude/rules/ sont découverts récursivement. Les symlinks sont supportés.

6. Utiliser les imports

Référence un fichier existant au lieu de le copier :

# Projet

@README.md
@docs/architecture.md
@package.json
  • Chemins relatifs et absolus supportés (@~/.claude/mes-regles.md)
  • 5 niveaux d’imbrication max
  • Premier import externe → dialogue d’approbation
  • Pas d’évaluation dans les blocs de code

7. Gérer l’auto-mémoire

Claude écrit automatiquement dans ~/.claude/projects/<projet>/memory/MEMORY.md.

  • Les 200 premières lignes (ou 25 Ko) sont chargées au démarrage
  • Les fichiers thématiques sont chargés à la demande
  • Désactive avec CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude
  • Change le dossier avec autoMemoryDirectory dans settings.json (v2.1.74+)

8. Exclure des fichiers mémoire

Dans .claude/settings.json ou ~/.claude/settings.json :

{
  "claudeMdExcludes": [
    "packages/legacy-app/CLAUDE.md",
    "vendors/**/CLAUDE.md"
  ]
}

Utile dans les monorepos pour réduire le bruit.

Vérification

  • /init crée un fichier CLAUDE.md
  • /memory ouvre l’éditeur système
  • Les règles de ./.claude/rules/ s’appliquent aux bons fichiers
  • @README.md importe le contenu du README
  • CLAUDE.local.md est dans .gitignore

Pièges courants

  • Mémoire trop longue → Garde CLAUDE.md sous 300 lignes. Déplace les détails dans .claude/rules/
  • Règles obsolètes → Relis et met à jour régulièrement
  • Secrets dans CLAUDE.md → Jamais. Utilise des variables d’environnement
  • Conflits de priorité → Le fichier le plus proche du dossier courant l’emporte
  • Auto-mémoire désactivée → Vérifie la version (v2.1.59+ requis)

Récapitulatif

Fichier Quand l’utiliser Commit git
./CLAUDE.md Règles projet, stack, conventions Oui
./.claude/rules/*.md Règles spécifiques par dossier Oui
~/.claude/CLAUDE.md Préférences personnelles Non
./CLAUDE.local.md Overrides personnels sur ce projet Non
~/.claude/projects/.../MEMORY.md Notes auto-écrites par Claude Non

Pour aller plus loin


Inspiré du guide claude-howto de luongnv89 (MIT)