Outils & Modèles Par
Dernière mise à jour :

CLAUDE.md : exemple, emplacement et contenu pour Claude Code

Un fichier CLAUDE.md est un fichier Markdown que Claude Code lit automatiquement au début de chaque session pour connaître le projet. On le place à la racine du dépôt (la commande /init peut en générer une première version) et on y met les commandes de build et de test, les conventions de l'équipe, l'architecture en une phrase et les zones à ne pas toucher sans revue.

Son rôle est précis : porter ce qui reste vrai d'une session à l'autre, pas ce qui se discute dans le prompt du jour. Sans lui, l'agent redemande les commandes de test, propose un nommage qui ne correspond pas aux conventions internes, ou modifie un module que personne ne voulait voir toucher.

Ce guide détaille où placer le fichier, ce qui mérite d'y figurer, un exemple commenté, le cas du monorepo, et la manière de le faire vivre à plusieurs sans qu'il devienne un fourre-tout périmé.

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

Claude Code charge le contenu de CLAUDE.md avant de traiter la première demande de la session. Cette information reste disponible pendant toute la conversation, sans que l'utilisateur ait à la répéter. C'est la différence fondamentale avec un prompt : le prompt décrit une tâche ponctuelle, le fichier de contexte décrit un projet. Pour les procédures réutilisables plus longues, les skills Claude complètent le fichier.

Cette distinction guide tout le reste. Une information qui vaut pour une tâche unique n'a rien à faire dans CLAUDE.md : elle encombre le contexte de l'agent pour toutes les sessions suivantes, y compris celles qui n'ont aucun rapport avec elle. À l'inverse, une convention stable répétée dans chaque prompt est un signal que le fichier de contexte mérite d'être complété.

Sur des équipes qui adoptent Claude Code, notamment lorsqu'il s'agit de déployer Claude Code en équipe, la question qui revient le plus en formation n'est pas « comment écrire le fichier » mais « quoi y mettre ». La réponse tient en un critère simple : une information mérite d'y figurer si elle reste vraie indépendamment de la tâche du jour. La question du choix de l'outil se traite dans Claude Code ou Cursor.

2. Où placer le fichier CLAUDE.md ?

Le nom doit être exact, CLAUDE.md en majuscules pour CLAUDE, et le fichier se place à la racine du dépôt, à côté du package.json ou du pyproject.toml. Claude Code le charge quand une session démarre dans ce dossier. Trois emplacements coexistent :

  • Racine du projet : ./CLAUDE.md, versionné avec le code et partagé par toute l'équipe.
  • Sous-dossier : un CLAUDE.md dans un paquet ou un module, utile pour un monorepo (voir plus bas).
  • Niveau utilisateur : ~/.claude/CLAUDE.md, pour vos préférences personnelles valables sur tous vos projets.

Pour démarrer vite, lancez /init dans Claude Code : l'agent analyse le dépôt et propose un premier fichier. Relisez-le et élaguez-le, car une génération automatique est souvent trop bavarde.

3. Ce qui mérite de figurer dans le fichier

Un socle utile couvre un nombre restreint de catégories. Les détailler une à une évite le réflexe d'y verser toute la documentation du projet.

Commandes de build, de test et de lint

C'est l'information la plus consultée par l'agent, et celle dont l'absence coûte le plus de temps. Sans elle, l'agent devine une commande, se trompe, ou pose la question à chaque session.

## Commandes
- Installer les dépendances : pnpm install
- Lancer les tests : pnpm test
- Lancer un seul fichier de test : pnpm test -- chemin/du/fichier.test.ts
- Linter : pnpm lint
- Build de production : pnpm build

Architecture en une phrase

L'objectif n'est pas de documenter l'architecture, mais de donner à l'agent un repère immédiat pour situer un fichier avant de le modifier.

## Architecture
API FastAPI dans src/, pages Jinja2 dans frontend/, logique métier
partagée dans src/services/. Le frontend n'appelle jamais la base
de données directement, toujours via src/services/.

Conventions de nommage et de style d'équipe

Les conventions qui ne sont pas déjà imposées par un linter automatique valent d'être écrites. Un linter qui bloque une pull request suffit sans CLAUDE.md ; une convention qui repose sur la relecture humaine ne suffit pas.

  • Nommage des fichiers, des composants, des branches git
  • Langue du code (variables en anglais, commentaires en français, par exemple)
  • Structure attendue d'un commit ou d'une pull request

Chemins sensibles et zones à ne pas toucher

C'est la catégorie la plus souvent oubliée, et celle qui évite le plus d'incidents. Un fichier de configuration de production, un script de migration déjà exécuté, ou un module legacy qu'une seule personne comprend encore méritent une ligne explicite.

## Zones sensibles
- Ne jamais modifier migrations/ sans validation d'un lead
- src/legacy_billing.py : code de facturation historique, ne pas
  refactorer sans ticket dédié, couverture de tests insuffisante
- .env.example à jour uniquement, jamais de secret réel dans le dépôt

4. Exemple de fichier CLAUDE.md commenté

Voici un exemple de CLAUDE.md court pour une application web FastAPI. Chaque bloc répond à une erreur que l'agent commettrait sans lui.

# Projet Facturo (API FastAPI + frontend Jinja2)

## Commandes
- Tests : pytest -q
- Lint : ruff check .
- Lancer en local : uvicorn src.main:app --reload

## Architecture
Routes dans src/routers/, logique métier dans src/services/.
Un router n'accède jamais à la base directement.

## Conventions
- Code en anglais, commentaires et messages utilisateur en français
- Un commit = un changement, message à l'impératif

## Zones sensibles
- migrations/ : ne jamais modifier sans validation d'un lead
- .env : jamais de secret réel dans le dépôt
BlocErreur évitée
CommandesL'agent devine ou redemande comment lancer les tests
ArchitectureDu code métier écrit dans une route
ConventionsUn nommage ou une langue incohérents avec l'équipe
Zones sensiblesUne migration ou un fichier de secrets modifié par erreur

5. Ce qui n'a pas sa place dans le fichier

Un CLAUDE.md efficace se définit autant par ce qu'il exclut que par ce qu'il contient.

  • Le détail qui périme vite : la liste des tickets en cours, l'état d'avancement d'une fonctionnalité, un bug connu en cours de correction. Ces informations ont leur place dans un ticket ou une pull request, pas dans un fichier lu à chaque session pendant des mois.
  • La documentation complète du projet : un README existant ou une documentation technique détaillée ne se recopient pas dans CLAUDE.md. Un lien vers ce document, avec une phrase de résumé, suffit.
  • Les secrets et identifiants : clés d'API, mots de passe, tokens. Un fichier de contexte est lu par l'agent et, en pratique, il est aussi committé et parfois partagé. Aucun secret ne doit s'y trouver, au même titre que dans n'importe quel fichier versionné.

Un fichier qui mélange ces catégories avec le socle utile perd vite en lisibilité. L'agent traite tout le contenu de la même façon : une information périmée noyée au milieu de commandes valides pèse autant, dans le contexte, qu'une information à jour.

6. Le cas du monorepo

Un monorepo regroupe plusieurs paquets ou applications dans un seul dépôt. La question qui se pose systématiquement en formation sur ce sujet est de savoir s'il faut un fichier unique ou un fichier par paquet. La réponse dépend de ce qui varie réellement entre les paquets.

Un fichier racine pour ce qui vaut partout

Le fichier à la racine du dépôt porte ce qui reste vrai pour tout le monorepo : gestionnaire de paquets utilisé, convention de commit, structure générale des dossiers, politique de revue de code.

Un fichier par paquet pour ce qui varie

Chaque paquet ou application ajoute son propre fichier CLAUDE.md dans son sous-dossier, avec ses commandes spécifiques (un paquet backend en Python n'a pas les mêmes commandes de test qu'un paquet frontend en TypeScript) et ses particularités d'architecture interne.

Ce qui s'hérite entre les deux niveaux

Claude Code lit le fichier du dossier de travail courant et remonte vers la racine pour compléter le contexte. En pratique, cela signifie qu'une session ouverte dans un paquet précis dispose des deux niveaux d'information, sans duplication nécessaire. Une convention de commit définie une seule fois à la racine n'a pas besoin d'être répétée dans chaque paquet.

7. Versionner et faire vivre le fichier à plusieurs

Un fichier CLAUDE.md non versionné dérive rapidement de la réalité du code. Le committer avec le reste du projet est la règle, sauf cas particulier où l'équipe préfère un fichier local non partagé pour des préférences strictement individuelles.

La revue de code comme garde fou

Une modification de CLAUDE.md mérite le même traitement qu'une modification de configuration partagée : elle passe par une pull request, relue par au moins une autre personne. Cela évite qu'une convention change silencieusement pour un seul contributeur pendant que le reste de l'équipe continue sur l'ancienne règle. Cette relecture suit les mêmes principes que ceux détaillés pour relire du code généré par IA : vérifier les décisions non explicites, pas seulement la syntaxe.

Ce qui déclenche une reprise du fichier

Plusieurs signaux indiquent qu'une mise à jour est nécessaire, plutôt que d'attendre une révision périodique arbitraire :

  • Changement d'outil de build, de gestionnaire de paquets ou de framework de test
  • Nouvelle convention adoptée en équipe après une rétrospective
  • Ajout d'un nouveau module ou service dont l'architecture mérite une phrase de repère
  • Correction répétée du même écart par l'agent, signe qu'une règle manque ou est mal formulée

8. Le piège du fichier trop long

Un fichier CLAUDE.md consomme de la fenêtre de contexte à chaque session, sur chaque tâche, même la plus simple. Un fichier qui accumule des règles obsolètes, des explications redondantes ou des sections copiées d'une documentation externe n'apporte rien en échange de cette consommation.

Le signal le plus fiable qu'un fichier est devenu trop long n'est pas sa longueur en elle-même, mais son effet observé : l'agent commence à ignorer certaines instructions, à mélanger des règles issues de contextes différents, ou à traiter une information ancienne comme encore valide. Un fichier utile tient, dans la grande majorité des projets, sur une à deux pages.

La correction est presque toujours la même : déplacer le détail vers la documentation classique du projet, et ne garder dans CLAUDE.md que ce qui sert réellement à chaque session, quelle que soit la tâche. Ce principe rejoint celui qui structure les dynamic workflows dans Claude Code : un contexte ciblé produit de meilleurs résultats qu'un contexte exhaustif.

Pour une équipe qui connecte aussi Claude Code à des outils externes via le Model Context Protocol, la même discipline s'applique : le fichier de contexte décrit le projet, les connecteurs exposent les données à la demande, les deux ne se substituent pas l'un à l'autre.

Repère pratique

Une bonne question de relecture, une fois le fichier écrit : si on retirait cette ligne, l'agent commettrait-il une erreur concrète sur la prochaine tâche ? Si la réponse est non, la ligne appartient probablement ailleurs, dans la documentation du projet ou dans le prompt de la session en cours.

En pratique, un fichier CLAUDE.md ne se termine jamais vraiment. Il évolue avec le projet, se corrige après chaque friction observée avec l'agent, et se discute en équipe comme n'importe quelle convention partagée. Le socle proposé ici (commandes, architecture en une phrase, conventions, zones sensibles) suffit pour démarrer sur la grande majorité des projets, monorepo compris.

Pour aller plus loin

Formation Claude

Vous voulez que votre équipe s'en serve vraiment ?

Une formation Claude en intra, construite sur vos fichiers et vos cas : prise en main, usage avancé, Claude Code, ou un métier précis comme Excel ou le cabinet comptable. Finançable par votre OPCO via notre organisme partenaire certifié Qualiopi.

Articles liés

Outils & Modèles

Déployer Claude Code dans une équipe de développement

Comment introduire Claude Code dans une équipe déjà en place, sur une base de code existante, sans faire diverger les pratiques ni casser la revue de code.

Lire l'article
Outils & Modèles

Claude pour Excel : ce que l'add-in fait et ce qu'il ne fait pas

Formules, TCD, consolidation, macros : ce que l'add-in Claude pour Excel gère vraiment et où il faut garder la main, d'après deux sessions de formation terrain.

Lire l'article
Outils & Modèles

Claude Code : ce qui sort de l'entreprise et ce que l'agent exécute

Claude Code sécurité entreprise : ce qui est transmis, ce que l'agent peut exécuter sans validation, et comment cadrer permissions et relecture du code.

Lire l'article
Stratégie IA

Ce qu'on ne colle pas dans Claude : écrire une charte d'usage

Quelles données ne pas coller dans Claude ? Le guide pour écrire une charte d'usage courte et applicable, avec un modèle d'une page prêt à réutiliser en équipe.

Lire l'article
Stratégie IA

Pourquoi votre équipe n'utilise Claude que pour résumer des textes

Claude est installé, l'équipe s'en sert pour résumer des mails et rien de plus. Voici pourquoi ce palier existe et comment passer à un usage quotidien.

Lire l'article
Outils & Modèles

Claude Fable 5.1 : ce qui change pour votre entreprise

Claude Fable 5.1 est sorti le 1er septembre 2026. Capacités, prix, benchmarks, données et limites : le décryptage utile pour une entreprise.

Lire l'article
Anas Rabhi, ingénieur IA et data scientist, fondateur de Tensoria
Anas R. Ingénieur IA, fondateur de Tensoria ianas.fr

Je suis ingénieur IA et data scientist, fondateur de Tensoria. Depuis plus de 6 ans, j'accompagne les entreprises dans l'exploitation concrète de l'IA pour leur métier : assistants internes basés sur RAG, agents IA en production, automatisations sur mesure, traitement intelligent de documents. J'interviens du cadrage initial à la mise en production, sur stacks LLM modernes (Mistral, Claude, GPT) et infrastructures souveraines quand la confidentialité l'exige.