CLAUDE.md

Dans la page précédente, tu as appris à naviguer entre les modes Chat, Plan et Auto-accept. Maintenant, on va voir comment donner à Claude une mémoire permanente de ton projet.

Pourquoi CLAUDE.md ?

Sans CLAUDE.md, Claude repart de zéro à chaque session. Il ne connaît pas :

  • Les conventions de code du projet
  • Les erreurs passées à éviter
  • Les patterns architecturaux choisis
  • Les commandes spécifiques au projet

Le fichier CLAUDE.md est la solution : un fichier texte à la racine de ton projet que Claude lit automatiquement à chaque démarrage.

Quel template choisir ?

Avant de plonger dans les templates, identifie ton besoin :

Template de base

Pour un projet simple sans auth ni paiement :

CLAUDE.md, Template de base

# CLAUDE.md

## Project Overview
Description courte du projet (2-3 phrases).

## Tech Stack
- Framework: Next.js 16
- Auth: Better-Auth
- Database: Postgres + Drizzle ORM
- Payments: Stripe

## Commands
\`\`\`bash
npm run dev    # Start dev server
npm run build  # Production build
npm run test   # Run tests
\`\`\`

## Code Style
- TypeScript strict mode
- Async/await over callbacks
- Named exports over default exports

## Common Mistakes to Avoid
- Ne jamais exposer les clés API côté client
- Toujours valider les inputs utilisateur
- Utiliser les Server Actions pour les mutations

Template avancé (projets complexes)

Pour un MVP complet comme LaunchList, ajoute un rôle, les patterns de référence et les conventions :

CLAUDE.md, Template avancé

# CLAUDE.md

## Role
Tu es un senior full-stack developer spécialisé en Next.js,
TypeScript et architecture hexagonale.

## Project Overview
LaunchList, plateforme de waitlist payante pour créateurs.
Les utilisateurs créent des landing pages avec paiement intégré.

## Tech Stack
- Framework: Next.js 16 (App Router, Server Components)
- ORM: Drizzle (PostgreSQL via Supabase)
- Auth: Better-Auth (email + OAuth)
- Payments: Stripe (Connect + Checkout)
- Style: Tailwind CSS v4
- Email: Resend
- Deploy: Vercel

## Commands
\`\`\`bash
npm run dev        # Dev server (port 3001)
npm run build      # Build production
npm run lint       # ESLint
npm run test       # Vitest
npm run db:push    # Push schema to DB
npm run db:studio  # Open Drizzle Studio
\`\`\`

## Architecture
- src/app/         , Pages et routes (App Router)
- src/components/  , Composants réutilisables
- src/lib/         , Utilitaires et configurations
- src/db/          , Schéma Drizzle et migrations

## Patterns (fichiers de référence)
- Server Action : src/app/dashboard/actions.ts
- Formulaire : src/components/WaitlistForm.tsx
- Schéma DB : src/db/schema.ts
- Validation : src/lib/validations.ts

## Conventions
- Server Components par défaut
- Server Actions pour les mutations (pas d'API Routes)
- Validation Zod sur toutes les entrées utilisateur
- Permissions vérifiées via la session dans chaque action
- Types TypeScript explicites (pas de any)
- Tailwind uniquement (pas de CSS modules)

## Common Mistakes to Avoid
- Ne pas oublier revalidatePath après une mutation
- Toujours vérifier session.user.id dans les Server Actions
- Utiliser headers() dans les Server Actions (pas cookies())

Où placer le fichier ?

Claude cherche CLAUDE.md dans cet ordre :

  1. Racine du projet : ./CLAUDE.md (le plus courant)
  2. Dossier .claude : .claude/CLAUDE.md
  3. Global : ~/.claude/CLAUDE.md

Sections essentielles

SectionContenuPourquoi
RoleDomaine d'expertise de ClaudeActive les bonnes connaissances
Project Overview2-3 phrases décrivant le projetDonne le cadre
Tech StackFrameworks, libs, servicesÉvite les suggestions hors-stack
CommandsCommandes npm/pnpm du projetClaude peut les exécuter
PatternsFichiers de référence à suivreCohérence du code
Code StyleConventions de code importantesStandards du projet
Common MistakesErreurs à éviter (crucial !)Apprentissage cumulatif

Bonnes pratiques

  1. Garde-le concis, ~2500 tokens max. Au-delà, Claude consomme du contexte pour le lire, ce qui laisse moins de place pour ton prompt et le code
  2. Sois spécifique, pas de généralités, des instructions précises. "Utilise des Server Actions" est mieux que "Utilise les bonnes pratiques"
  3. Documente les erreurs, chaque erreur corrigée = une ligne ajoutée. C'est le feedback loop le plus puissant
  4. Versionne-le, commit chaque modification. Le CLAUDE.md évolue avec le projet
  5. Pointe vers des fichiers, "Suis le pattern dans src/app/dashboard/actions.ts" est plus précis que décrire le pattern en texte

Templates CLAUDE.md prêts à l'emploi

Télécharge un template adapté à ton type de projet et personnalise-le :

TemplatePour quel projetTélécharger
MVPTout projet early-stageclaude-md-mvp.md
SaaSApp avec auth, paiements, dashboardclaude-md-saas.md
APIAPI REST ou backend purclaude-md-api.md

Mettre à jour CLAUDE.md

Le CLAUDE.md n'est pas un fichier "write once". Il doit évoluer avec ton projet. Voici les moments clés pour le mettre à jour :

Checklist

Avant de passer à la page suivante, vérifie que :

  • Tu as un fichier CLAUDE.md à la racine de ton projet
  • Il contient au minimum : Project Overview, Tech Stack, Commands, Common Mistakes
  • Tu as commité le fichier dans git

Prochaine étape

Ton CLAUDE.md est en place. Claude connaît ton projet, ta stack et tes conventions. Il est temps d'apprendre à lui parler efficacement : c'est l'art du prompting.