CLAUDE.md — le cerveau de ton projet
Donne à Claude un contexte permanent avec un seul fichier markdown
⏱ Estim. ~4 min
01 · Lire
Chaque fois que tu ouvres une nouvelle session Claude Code, Claude part de zéro. Il ne se souvient pas de votre dernière conversation, de ton style de code, des conventions de ton projet, ni même du framework que tu utilises. Tu dois tout réexpliquer à chaque fois.
CLAUDE.md résout ça. C'est un fichier markdown que Claude lit au début de chaque session — le manuel d'instructions permanent de ton projet.
💡 Imagine çaImagine CLAUDE.md comme le document d'onboarding d'un nouveau membre de l'équipe. Au lieu d'expliquer les conventions tous les matins, tu l'écris une seule fois. CLAUDE.md, c'est ce document — Claude le lit chaque fois qu'il « commence à travailler ».
Points clés
- Chaque session Claude Code repart de zéro — aucun souvenir des conversations passées
- CLAUDE.md se charge automatiquement au début de chaque session
- Il indique à Claude les règles, conventions et contexte important de ton projet
- C'est juste un fichier markdown — tu l'édites comme n'importe quel autre fichier
02 · Lire
CLAUDE.md peut vivre à trois endroits, chacun avec un scope différent.
Niveau projet — place CLAUDE.md à la racine du repo (ou .claude/CLAUDE.md). Partagé avec l'équipe via git. Utilisé pour les conventions du projet, les commandes de build, les patterns d'architecture.
Niveau utilisateur — place-le dans ~/.claude/CLAUDE.md. Personnel, actif sur tous tes projets. Utilisé pour tes préférences personnelles.
Sous-répertoires — un fichier CLAUDE.md dans un sous-répertoire est chargé à la demande quand Claude lit des fichiers dans ce répertoire. Idéal pour des instructions spécifiques à un module.
Points clés
- Niveau projet (./CLAUDE.md) : partagé avec l'équipe, commit dans git
- Niveau utilisateur (~/.claude/CLAUDE.md) : personnel, sur tous tes projets
- CLAUDE.md de sous-répertoire : chargé à la demande pour un module spécifique
- En cas de conflit, les règles projet l'emportent sur les règles utilisateur
03 · Exemple de code
Un bon CLAUDE.md inclut les commandes de build, le style de code, l'architecture et les conventions propres au projet. Voici un exemple concret.
Exemple de CLAUDE.md
# Build & Test
- `npm run dev` — start frontend dev server
- `npm run build` — TypeScript check + production build
- `npm test` — run tests (Vitest)
# Code Style
- TypeScript strict mode, ES modules (import/export)
- 2-space indentation, single quotes
- Functional React components, no class components
# Architecture
- API routes in `server/src/routes/`
- Database schema in `server/src/db/schema.ts`
- Frontend components in `src/components/`
# Important
- The `--color-purple` CSS variable is actually orange (#FF6B35)
- Auth cookies use sameSite: 'none' for cross-origin
Regarde bien ce qui est inclus : des choses que Claude ne pourrait pas découvrir en lisant simplement le code. Commandes de build, conventions de nommage inhabituelles, bizarreries entre sources. N'inclus pas ce que Claude peut découvrir en explorant — concentre-toi sur ce qui n'est pas évident.
04 · Exemple de code
Quand ton CLAUDE.md grossit, tu peux le découper en fichiers ciblés avec des imports et un dossier rules.
CLAUDE.md avec @import
# Project Overview
See @README.md for project description
See @specs/ARCHITECTURE.md for system design
# Code Style
@docs/code-style.md
Structure du dossier rules
.claude/
├── CLAUDE.md (main instructions)
└── rules/
├── api-design.md (API conventions)
├── testing.md (test patterns)
└── security.md (security rules)
Le préfixe @ importe le contenu d'un autre fichier dans CLAUDE.md. Le dossier .claude/rules/ contient des règles spécifiques à un thème, que Claude charge automatiquement. Ça garde le CLAUDE.md principal concis tout en donnant à Claude accès à des connaissances détaillées par domaine.
05 · Quiz
Tu as des conventions de projet que chaque dev de l'équipe devrait suivre. Où placer ton CLAUDE.md pour le partager avec l'équipe ?
- Ton répertoire personnel (~/.claude/CLAUDE.md)
- Racine du repo (./CLAUDE.md), commit dans git
- Un Google Doc lié depuis le README
- Un message épinglé sur un canal Slack
06 · Compléter
Pour importer un autre fichier dans CLAUDE.md, ajoute _____ devant le chemin
Autres leçons de ce chapitre
⚠ L'expérience interactive complète nécessite JavaScript. Active-le et recharge la page.
※ Ce site est un projet éducatif indépendant — pas un produit officiel d'Anthropic. Claude™ est une marque déposée d'Anthropic, PBC.