Accueil › MemoryForge › CLAUDE.md
📄 GUIDE CLAUDE CODE

CLAUDE.md pour Claude Code : guide complet 2026

Mis à jour le 10 octobre 2026 · Publié le 30 avril 2026 · 9 min de lecture

Ce guide a été remis à jour le 10 octobre 2026 d'après la documentation officielle de Claude Code et l'outil MemoryForge 2.0.1 tel qu'il fonctionne aujourd'hui. Les exemples de fichiers sont fictifs.

Le fichier CLAUDE.md donne à Claude Code, l'agent de programmation d'Anthropic, des consignes durables sur un projet : contexte, conventions, commandes, décisions déjà prises. Chaque session de Claude Code démarre avec une fenêtre de contexte vide ; ce fichier est ce qui fait le lien d'une session à l'autre.

Ce guide explique où le placer, comment l'écrire, et comment le préparer à partir de vos conversations, avec deux exemples fictifs à adapter.

1. Qu'est-ce que CLAUDE.md ?

CLAUDE.md est un fichier Markdown écrit par vous. Claude Code le lit au début de chaque session et le traite comme du contexte, pas comme une configuration imposée : des consignes concrètes et vérifiables sont mieux suivies que des intentions vagues. Pour interdire une action quoi qu'il arrive, la documentation renvoie vers les hooks, pas vers CLAUDE.md.

Concrètement, c'est l'équivalent d'un README.md destiné à l'agent. Il documente :

2. Où placer le fichier

Claude Code reconnaît plusieurs emplacements, du plus large au plus précis. Tous les fichiers trouvés sont mis bout à bout, pas remplacés les uns par les autres (source : documentation Claude Code).

PortéeEmplacementUsage
OrganisationFichier géré par l'IT (ex. /etc/claude-code/CLAUDE.md sous Linux)Règles communes à toute l'entreprise
Utilisateur~/.claude/CLAUDE.mdVos préférences pour tous vos projets
Projet./CLAUDE.md ou ./.claude/CLAUDE.mdConsignes partagées avec l'équipe via Git
Local./CLAUDE.local.md (à ajouter au .gitignore)Vos préférences sur ce projet, non partagées

Les fichiers situés dans les dossiers parents du répertoire de travail sont chargés au lancement ; ceux des sous-dossiers, quand Claude Code commence à y travailler. La commande /init génère un premier CLAUDE.md à partir de votre code, et /memory liste et ouvre les fichiers chargés.

3. CLAUDE.md et passation MemoryForge : deux rôles différents

CritèreCLAUDE.md du projetPassation MemoryForge
Qui l'écritVous ou l'équipe, à la main ou avec /initVous, à partir de suggestions repérées dans vos conversations puis relues
ContenuConsignes durables : conventions, commandes, architectureÉtat d'un projet : objectif, décisions, contraintes, travail déclaré terminé, problèmes ouverts, prochaine action, préférences
Lecture par Claude CodeAutomatique à chaque sessionSeulement si vous fusionnez le contenu dans un CLAUDE.md ou le collez dans la conversation
Durée de vieTant que les consignes restent vraiesDatée du jour de la validation, à refaire à chaque étape
PartageL'équipe, via GitLe fichier que vous transmettez à l'assistant suivant

En pratique, combinez les deux : un CLAUDE.md stable à la racine du projet, et une passation relue pour reprendre un travail en cours. Le format des passations est une convention OutilsIA, décrite sur la page Format et réimport ; ce n'est pas un format que Claude Code charge de lui-même.

4. Structure recommandée d'un CLAUDE.md

Anthropic n'impose pas de liste de sections. Sa documentation recommande des titres Markdown et des puces, des consignes concrètes, et un fichier de moins de 200 lignes : au-delà, il consomme plus de contexte et les consignes sont moins bien suivies. Une organisation qui fonctionne bien :

Sections utiles

  1. Project Context — objectif du projet et état actuel
  2. Tech Stack — technologies principales avec versions
  3. Project Structure — dossiers et leur rôle
  4. Conventions — style de code, nommage, tests, workflow Git
  5. Decisions — choix techniques importants avec leur justification
  6. Commands — commandes utiles (compiler, tester, lancer)
  7. Constraints — limites de sécurité, de performance, de dépendances
  8. Lessons Learned — pièges déjà rencontrés

5. Exemple complet (fictif) — API Python

Projet, chemins et décisions inventés pour l'illustration. Remplacez-les par les vôtres.

# CLAUDE.md # Projet : Exemple — carnet de notes partagé (fictif) ## Project Context API qui permet à une petite équipe de créer, rechercher et partager des notes. Version actuelle : prototype interne, pas encore de données réelles. ## Tech Stack - Python 3.12, FastAPI - SQLite pour le prototype (migration éventuelle à rediscuter) - Tests : pytest - Frontend : pages HTML statiques, pas de framework JS ## Project Structure ``` exemple-notes/ ├── app/ │ ├── main.py # Point d'entrée FastAPI │ ├── routes/ # Une route par fichier │ └── storage.py # Accès SQLite ├── tests/ # Tests pytest, miroir de app/ └── static/ # Pages HTML ``` ## Conventions - Formatage : ruff format avant chaque commit - Une fonction publique = un test - Pas de chaîne formatée pour produire du HTML : gabarits uniquement - Configuration lue depuis les variables d'environnement, jamais écrite dans le code ## Decisions - Stockage : SQLite retenu pour le prototype ; PostgreSQL reporté - Authentification : hors périmètre tant que le prototype reste interne ## Commands ```bash uvicorn app.main:app --reload # Lancer en local pytest -q # Tests ruff check . && ruff format . # Lint et formatage ``` ## Constraints - Aucune donnée personnelle réelle dans les tests - Pas de service payant - Accessibilité clavier sur toutes les pages ## Lessons Learned - Le focus disparaissait après la suppression d'une note : ajouter un test clavier avant toute correction d'interface

6. Exemple court (fictif) — application React + TypeScript

# CLAUDE.md ## Project Context Application e-commerce B2B fictive (catalogue + panier + paiement). ## Tech Stack - React, TypeScript en mode strict - Vite, Tailwind CSS - Vitest + Playwright - Backend : API externe (pas dans ce dépôt) ## Conventions - Composants en PascalCase, fichiers en kebab-case - Imports absolus depuis @/ (alias) - Commits : conventional commits (feat:, fix:, chore:) ## Commands ```bash npm run dev # Serveur de développement npm run build # Build de production npm run test # Tests unitaires npm run test:e2e # Tests Playwright npm run lint # Lint ``` ## Decisions - Gestion d'état : bibliothèque légère plutôt qu'un store global complet ## Constraints - Pas de dépendance sous licence GPL/AGPL

Attention : dans un CLAUDE.md, une mention @chemin hors bloc de code importe le fichier correspondant. Écrivez-la entre accents graves (`@README`) si vous voulez seulement la citer.

7. Préparer un CLAUDE.md à partir de vos conversations

Deux points de départ complémentaires :

Le parcours MemoryForge 2.0.1, tel que nous l'avons rejoué sur la page en ligne le 9 octobre 2026 avec l'exemple fictif intégré :

  1. Collez une conversation ou ajoutez des fichiers (texte, Markdown, messages role/content, exports de conversations ChatGPT et Claude), puis cliquez Préparer la passation.
  2. Relisez les sept rubriques. Chaque suggestion indique sa source, son message, son auteur et sa ligne. Ici, l'outil a signalé la divergence « stockage : SQLite [e2] / PostgreSQL [e6] » : tranchez dans Votre arbitrage.
  3. Cliquez Valider ma relecture, choisissez la destination Claude Code · CLAUDE.md et la version (avec sources ou courte).
  4. Copiez ou téléchargez. Le fichier commence par « Destination proposée : CLAUDE.md. Fusion manuelle avec les consignes existantes ; aucun fichier d'application modifié automatiquement. » et rappelle que le travail déclaré terminé n'a été vérifié ni dans les fichiers ni par des tests.
  5. Fusionnez à la main ce qui doit durer (décisions, contraintes, préférences) dans votre CLAUDE.md, puis commitez : git add CLAUDE.md && git commit -m "docs: mise à jour CLAUDE.md"

Le repérage se fait par règles locales dans votre navigateur, sans modèle d'IA ni appel d'API : ce n'est pas un résumé exhaustif, et seules les décisions écrites « clé = valeur » ou « clé : valeur » sont comparées. Des clés, jetons et adresses e-mail courants sont masqués, sans garantie d'exhaustivité. MemoryForge n'écrit jamais dans votre dépôt.

À ne pas confondre : Claude Code tient aussi sa propre « mémoire automatique » (un index MEMORY.md dans ~/.claude/projects/<projet>/memory/, dont les 200 premières lignes ou 25 Ko sont chargés à chaque session). C'est Claude qui l'écrit. N'y déposez pas l'export MEMORY.md de MemoryForge : utilisez la destination CLAUDE.md et fusionnez.

⚡ Préparer une passation pour Claude Code

Collez une conversation, relisez le dossier, exportez la destination CLAUDE.md et fusionnez-la avec vos consignes.

🧠 Ouvrir MemoryForge

8. Bonnes pratiques d'utilisation

À faire

À éviter

9. CLAUDE.md et les fichiers des autres agents

FichierLu parEmplacement
CLAUDE.mdClaude CodeProjet, utilisateur ou organisation
AGENTS.mdClaude Code (quand aucun CLAUDE.md n'est présent), CursorRacine du projet et sous-dossiers
.cursor/rules/*.mdcCursorDossier du projet, versionné
MEMORY.md / USER.mdHermes Agent~/.hermes/memories/
Passation MemoryForgeAucun automatiquementFichier à coller ou à fusionner

Sources : Claude Code, Cursor, Hermes Agent. Si plusieurs agents travaillent sur le même dépôt, un CLAUDE.md peut importer un AGENTS.md commun avec @AGENTS.md pour éviter de maintenir deux fichiers.

10. Ce que la documentation officielle prévoit déjà

Plusieurs mécanismes utiles sont documentés par Anthropic :

Pour le détail et les évolutions, suivez la documentation Claude Code sur CLAUDE.md et la mémoire.

Pour aller plus loin

IA locale

→ Guides IA locale & Local Cockpit — hub OutilsIA