Ad Space (horizontal)
Advanced

Le guide complet pour rédiger un CLAUDE.md : Bonnes pratiques de configuration de projet

Un guide approfondi pour rédiger des fichiers CLAUDE.md efficaces. Apprenez à communiquer votre stack technologique, vos conventions et la structure de votre projet pour maximiser la qualité des réponses de Claude Code.

Qu’est-ce que CLAUDE.md ?

CLAUDE.md est un fichier de contexte qui aide Claude Code à comprendre votre projet. Placez-le à la racine de votre projet, et Claude Code le lit automatiquement au début de chaque session. Un CLAUDE.md bien rédigé peut considérablement améliorer la qualité des réponses de Claude Code.

Emplacements du fichier et priorité

Vous pouvez placer des fichiers CLAUDE.md à plusieurs endroits, et tous sont chargés :

~/.claude/CLAUDE.md          # Paramètres globaux (partagés entre tous les projets)
./CLAUDE.md                   # Racine du projet (partagé avec l'équipe)
./CLAUDE.local.md             # Paramètres locaux (à ajouter au .gitignore)
./src/CLAUDE.md               # Paramètres au niveau d'un sous-répertoire
  • Global : Vos préférences personnelles de style de code
  • Racine du projet : Règles partagées de l’équipe et stack technologique
  • Local : Paramètres personnels non versionnés dans Git
  • Sous-répertoire : Contexte supplémentaire pour des modules spécifiques

Modèle de départ

Voici un modèle pratique de CLAUDE.md :

# Présentation du projet

API backend e-commerce. Gère les commandes, l'inventaire et l'authentification des utilisateurs.

## Stack technologique

- Langage : TypeScript 5.x
- Runtime : Node.js 22
- Framework : Fastify
- BDD : PostgreSQL 16 + Prisma ORM
- Tests : Vitest
- CI : GitHub Actions

## Structure des répertoires

src/
  routes/       # Définitions des endpoints d'API
  services/     # Logique métier
  repositories/ # Couche d'accès aux données
  middleware/   # Authentification, logging, gestion des erreurs
  utils/        # Fonctions utilitaires
  types/        # Définitions de types

## Conventions de code

- Utiliser les fonctions fléchées
- Toujours utiliser try-catch pour la gestion des erreurs avec des classes d'erreur personnalisées
- Nommage : camelCase (variables/fonctions), PascalCase (types/classes)
- Noms de fichiers : kebab-case
- Utiliser l'alias de chemin `@/` au lieu des imports relatifs

## Commandes courantes

- Lancer les tests : `npm test`
- Vérifier les types : `npx tsc --noEmit`
- Lint : `npm run lint`
- Migration BDD : `npx prisma migrate dev`
- Serveur de développement : `npm run dev`

## Règles importantes

- Toujours créer une migration après avoir modifié prisma/schema.prisma
- Chaque endpoint d'API doit avoir un schéma de validation Zod
- Enregistrer les nouvelles routes dans routes/index.ts

Conseils pour rédiger des fichiers CLAUDE.md efficaces

1. Restez concis

CLAUDE.md consomme des tokens de la fenêtre de contexte. Évitez les explications verbeuses et privilégiez les listes à puces.

# Mauvais exemple
Ce projet utilise TypeScript. TypeScript est un langage développé
par Microsoft qui ajoute des types à JavaScript...

# Bon exemple
- Langage : TypeScript 5.x (mode strict)

2. Documentez ce que vous ne voulez pas

Lister explicitement les anti-patterns est étonnamment efficace.

## Interdit

- Pas de types `any`
- Pas d'exports par défaut (exports nommés uniquement)
- Pas de console.log pour le débogage (utiliser le logger)
- Ne jamais supprimer ni ignorer les tests existants

3. Définissez des workflows

Guidez Claude Code sur la manière d’aborder les tâches.

## Ajouter une nouvelle fonctionnalité

1. Créer les définitions de types dans `src/types/`
2. Implémenter la couche d'accès aux données dans `src/repositories/`
3. Implémenter la logique métier dans `src/services/`
4. Définir les endpoints dans `src/routes/`
5. Écrire des tests unitaires pour chaque couche
6. Vérifier que tous les tests passent avec `npm test`

4. Capturez le savoir tribal

Documentez les informations importantes qui ne sont écrites nulle part ailleurs.

## Notes spécifiques au projet

- `user_id` utilise UUID v7 (pour un tri chronologique)
- Tous les calculs de prix doivent utiliser `Decimal.js` (pour éviter les erreurs de virgule flottante)
- Les variables d'environnement sont centralisées dans `src/config.ts` — ne jamais accéder directement à process.env

Utilisation en équipe

Configuration du .gitignore

Gardez les paramètres personnels hors du contrôle de version :

# .gitignore
CLAUDE.local.md

Inclure dans les revues de code

Traitez CLAUDE.md comme un document de projet important. Incluez-le dans les revues de PR et tenez-le à jour en équipe.

Quand mettre à jour CLAUDE.md

  • Lors de l’ajout d’une nouvelle bibliothèque
  • Lors d’un changement de conventions de code
  • Lors d’une restructuration des répertoires
  • Lorsque vous remarquez que Claude Code commet la même erreur de façon répétée

Conclusion

CLAUDE.md transforme Claude Code en expert de votre projet spécifique. Commencez par générer une structure de base avec /init, puis affinez-la au fil du temps. Partagez-la avec votre équipe pour que tout le monde bénéficie d’interactions optimisées avec Claude Code.

Ad Space (rectangle)
#Claude Code #CLAUDE.md #configuration #best practices #project management