CLAUDE.md : le fichier d’instructions de Claude Code

Logo Claude sur fond sombre, visuel de la formation Claude Code de Dyma
💡
En bref — CLAUDE.md est un fichier Markdown que Claude Code lit au début de chaque session : vous y écrivez ce qu’il ne peut pas deviner en lisant le code (commandes de test, conventions, pièges du projet). La commande /init en génère une première version. Gardez-le sous 200 lignes, avec des consignes précises et vérifiables : c’est du contexte, pas une règle que Claude est obligé de suivre.
📣
Nouveau le 18/09/2026 — Claude Code lit directement le fichier AGENTS.md d’un projet qui n’a ni CLAUDE.md ni CLAUDE.local.md (version 2.1.277 et suivantes). Un dépôt déjà configuré pour d’autres agents fonctionne sans rien ajouter.

Pour apprendre à configurer et piloter Claude Code sur un vrai projet, la formation Claude Code de Dyma consacre au fichier CLAUDE.md un chapitre entier, « La mémoire : CLAUDE.md et auto-mémoire ». Ce guide explique où placer le fichier CLAUDE.md, quoi y mettre, comment le garder court et comment il cohabite avec AGENTS.md et la mémoire automatique. Tout a été vérifié le 2 novembre 2026 sur la documentation officielle d’Anthropic (Claude Code 2.1.316). Il fait partie de notre série sur les modules de Claude Code, avec les skills, les hooks et MCP.

Qu’est-ce que le fichier CLAUDE.md ?

Chaque session de Claude Code commence sans souvenir des précédentes. Le fichier CLAUDE.md comble ce vide : Claude Code le charge au démarrage et l’ajoute à la conversation, juste après ses propres instructions. Vous y décrivez votre projet comme à un nouveau collègue : comment lancer les tests, quelles conventions suivre, quels dossiers sont trompeurs.

La documentation insiste sur un point : Claude traite ce fichier comme du contexte, pas comme une configuration imposée. Plus une consigne est précise, plus elle est suivie ; mais rien ne garantit qu’elle le soit à chaque fois. Pour une règle sans exception, comme interdire une commande, il faut un hook.

Où placer CLAUDE.md ?

Plusieurs fichiers CLAUDE.md peuvent coexister. Ils ne s’écrasent pas : Claude Code les met bout à bout, du plus général au plus précis.

Emplacement Portée Partagé avec l’équipe
Dossier système géré par l’administrateur Toute l’organisation Oui, imposé
~/.claude/CLAUDE.md Tous vos projets Non
./CLAUDE.md ou ./.claude/CLAUDE.md Le projet Oui, par Git
./CLAUDE.local.md Le projet, pour vous seul Non : à ajouter au .gitignore

Claude Code remonte aussi les dossiers parents : lancé dans monorepo/api/, il lit le CLAUDE.md de monorepo/ puis celui de api/. Les fichiers des sous-dossiers, eux, ne sont chargés qu’à la demande, quand Claude lit ou modifie un fichier de ce sous-dossier. Si deux fichiers se contredisent, la documentation prévient que Claude peut choisir l’une des deux consignes arbitrairement : relisez l’ensemble.

Créer un CLAUDE.md avec /init

  1. Lancez /init à la racine du projet : Claude explore le code et propose un premier fichier.
  2. Relisez la proposition et retirez tout ce que Claude devinerait seul en lisant le code.
  3. Ajoutez ce qui manque : commandes exactes, décisions absentes du dépôt, pièges connus.
  4. Committez le fichier pour que toute l’équipe en profite.
  5. Complétez-le au fil de l’eau, chaque fois que vous corrigez Claude deux fois sur le même point.

Si un CLAUDE.md existe déjà, /init propose des améliorations sans l’écraser. Il reprend aussi les règles écrites pour d’autres outils, comme .cursorrules ou .github/copilot-instructions.md. La commande /memory liste les fichiers d’instructions de vos différents niveaux et ouvre celui que vous voulez modifier ; /context montre ceux qui ont été chargés au démarrage.

Que mettre dans CLAUDE.md ?

La règle officielle tient en une phrase : n’y mettez que ce que Claude ne peut pas déduire du code. Un exemple sur le modèle de celui de la documentation :

# Commandes
- Installer : pnpm install
- Lancer un fichier de test : pnpm vitest run chemin/du/fichier.test.ts
- Vérifier les types : pnpm tsc --noEmit

# Conventions
- Utiliser les helpers d'erreur de src/lib/errors.ts, jamais de chaîne levée brute
- src/legacy/ est encore en service, mais ne pas copier ses façons de faire

# Pièges
- Les tests d'intégration demandent DATABASE_URL, voir .env.example

Écrivez des consignes vérifiables. La documentation donne ces exemples :

Trop vague Précis
Formater correctement le code Indentation de 2 espaces
Tester ses changements Lancer npm test avant chaque commit
Garder les fichiers organisés Les handlers d’API sont dans src/api/handlers/

Les bons moments pour ajouter une ligne : Claude répète la même erreur, une revue de code relève ce qu’il aurait dû savoir, vous retapez la même correction, ou un nouvel arrivant aurait besoin de la même explication. Une procédure en plusieurs étapes ou propre à une partie du code a sa place ailleurs, dans un skill ou une règle ciblée.

Garder CLAUDE.md court

La documentation recommande moins de 200 lignes par fichier : un fichier plus long consomme du contexte à chaque requête et ses consignes sont moins bien suivies. Ajouter « IMPORTANT » devant une ligne ignorée n’y change probablement rien, selon le guide des bonnes pratiques d’Anthropic. Deux outils aident à alléger.

Les imports. Une ligne comme @docs/git-instructions.md insère un autre fichier, sur quatre niveaux d’imbrication au plus. Le chemin est relatif au fichier qui importe. Attention : un import range le fichier, il ne réduit pas ce qu’il coûte en contexte.

Les règles ciblées. Les fichiers Markdown du dossier .claude/rules/ se chargent comme CLAUDE.md. Avec un champ paths, ils ne se chargent que lorsque Claude touche un fichier correspondant, ce qui, cette fois, économise du contexte :

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

# Règles de l'API

- Chaque endpoint valide ses entrées
- Utiliser le format d'erreur standard

Pour faire le ménage, /doctor propose de retirer ce qui se déduit du code.

CLAUDE.md, AGENTS.md et les autres outils

AGENTS.md est le fichier d’instructions que lisent d’autres agents de code. Depuis la version 2.1.277, Claude Code le lit aussi, selon cette règle officielle :

Votre dépôt contient Claude Code lit
Un AGENTS.md, et aucun CLAUDE.md ni CLAUDE.local.md AGENTS.md
Un AGENTS.md et un CLAUDE.md (ou CLAUDE.local.md) Les CLAUDE.md seulement
Un CLAUDE.md qui importe AGENTS.md Le CLAUDE.md, AGENTS.md compris

Pour partager un seul fichier entre plusieurs outils, la documentation propose un CLAUDE.md qui commence par @AGENTS.md, suivi des consignes propres à Claude. Le réglage « Project instructions » de /config permet aussi de charger les deux fichiers.

CLAUDE.md ou mémoire automatique ?

Claude Code tient aussi ses propres notes, la mémoire automatique, activée par défaut. Les deux se chargent à chaque session, mais ne servent pas à la même chose :

CLAUDE.md Mémoire automatique
Qui écrit Vous Claude
Contenu Instructions et règles Ce que Claude a appris en travaillant
Où Dans le projet, partageable Sur votre machine, par dépôt
Chargé En entier Les 200 premières lignes (ou 25 Ko) de l’index

Quand vous demandez à Claude de « retenir » quelque chose, il l’écrit dans sa mémoire automatique. Pour l’inscrire dans CLAUDE.md, dites-le explicitement : « ajoute ceci au CLAUDE.md ».

Aller plus loin

CLAUDE.md dit à Claude comment travailler ; les autres modules lui donnent des savoir-faire et des garde-fous. Les skills empaquettent une procédure qu’il charge seulement quand il en a besoin, les hooks imposent ce qui doit toujours se produire, et MCP le relie à vos outils. Si vous débutez, commencez par notre tutoriel Claude Code.

La formation Claude Code met tout cela en pratique sur un projet complet. Pour construire vos propres applications et agents avec les modèles d’IA, voyez la formation IA pour développeurs ; pour Claude au quotidien, la formation Claude.

Questions fréquentes

Faut-il committer le fichier CLAUDE.md ?

Oui pour le CLAUDE.md du projet : toute l’équipe partage ainsi les mêmes consignes. Vos préférences personnelles vont dans CLAUDE.local.md, à ajouter au .gitignore, ou dans ~/.claude/CLAUDE.md pour tous vos projets.

Pourquoi Claude ne suit-il pas mon CLAUDE.md ?

Le fichier est du contexte, pas une contrainte. Vérifiez avec /context qu’il a bien été chargé, rendez la consigne plus précise, retirez les contradictions et raccourcissez le fichier. Pour une règle qui ne tolère aucune exception, utilisez un hook.

Quelle taille doit faire un CLAUDE.md ?

Moins de 200 lignes par fichier, selon la documentation. Claude Code avertit au démarrage quand un fichier dépasse la longueur recommandée. Déplacez les procédures dans des skills et les règles propres à un dossier dans .claude/rules/.

Claude Code lit-il le fichier AGENTS.md ?

Oui, depuis la version 2.1.277, quand le projet n’a ni CLAUDE.md ni CLAUDE.local.md. S’il en a un, seul CLAUDE.md est lu, sauf s’il importe AGENTS.md avec la ligne @AGENTS.md, ou si le réglage « Project instructions » de /config demande de charger les deux.

CLAUDE.md fonctionne-t-il dans VS Code et sur le web ?

Oui : le fichier du projet fait partie du dépôt, et toutes les surfaces de Claude Code partagent le même moteur. Le fichier personnel ~/.claude/CLAUDE.md, lui, reste sur votre machine.
Quentin de Vial

Quentin de Vial

Dix ans à enseigner le code, deux ans à enseigner l’IA. Co-créateur de Dyma, il vient de la conception de produits et suit de près ce que les agents changent au métier de développeur.
Erwan Vallée

Erwan Vallée

Co-créateur de Dyma, dix ans de code enseigné et deux ans d’IA. Il vient de l’architecture et de la mise en production, et défend une idée simple : on n’apprend l’IA qu’en construisant avec elle.