Les mécanismes de configuration pour adapter Claude Code à votre projet, et les pratiques d'équipe issues de nos retours d'expérience (réunion développeurs du 26/06/2026).
Le fichier CLAUDE.md est chargé automatiquement par Claude Code à chaque session.
Il joue le rôle des custom instructions de Copilot, mais avec une portée hiérarchique
basée sur l'emplacement des fichiers plutôt que sur des globs.
| Emplacement | Portée | Cas d'usage |
|---|---|---|
| ~/.claude/CLAUDE.md | Tous les projets | Préférences personnelles, style de réponse |
| CLAUDE.md (racine) | Projet entier | Conventions, stack, architecture globale |
| src/api/CLAUDE.md | Fichiers dans ce dossier | Instructions spécifiques à un domaine |
Un CLAUDE.md peut inclure d'autres fichiers via la directive @, ce qui permet de découper les instructions par thème.
# Conventions du projet @.claude/conventions/typescript.md @.claude/conventions/api.md @.claude/conventions/tests.md ## Contexte général Stack : Next.js 15, tRPC, Drizzle ORM, PostgreSQL. Toujours typer explicitement les retours de fonctions. Préférer les Server Components sauf si l'interactivité l'exige.
Contrairement à Copilot, il n'y a pas de frontmatter YAML. Le fichier est du Markdown pur. La portée est déterminée uniquement par l'emplacement dans l'arborescence.
Les skills encapsulent un domaine d'expertise et sont invoqués automatiquement par Claude quand la description correspond au contexte, ou manuellement via une commande slash.
.claude/skills/nom-du-skill.md
--- name: api-rest description: "Conception REST : nommage des routes, versioning, pagination, gestion d'erreurs RFC 7807, OpenAPI." whenToUse: "Lorsqu'on crée ou révise des endpoints API." --- # Expertise API REST Contenu décrivant le domaine : conventions, exemples, anti-patterns à éviter, décisions architecturales...
La qualité du champ description est déterminante. Plus elle contient de mots-clés précis, plus Claude invoquera le skill de manière autonome au bon moment.
Les hooks exécutent des commandes shell en réaction aux événements de Claude Code.
Ils sont configurés dans .claude/settings.json.
{ "hooks": { "UserPromptSubmit": [ { "matcher": "", // "" = toujours "hooks": [ { "type": "command", "command": "npm run lint --silent" } ] } ], "PreToolUse": [ { "matcher": "Bash", // matcher sur le nom de l'outil "hooks": [ { "type": "command", "command": "echo 'running shell command'" } ] } ] } }
Préférer des commandes rapides (linting, formatage). Éviter les opérations longues dans les hooks — elles bloquent l'interaction.
Le protocole MCP connecte Claude à des outils et services externes.
La configuration se fait dans .claude/settings.json
(projet) ou ~/.claude/settings.json (global).
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" } }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"] } } }
Ne jamais écrire de tokens ou mots de passe directement dans settings.json. Toujours utiliser des variables d'environnement. Ajouter .claude/settings.local.json au .gitignore pour les surcharges locales sensibles.
Retour d'expérience : les MCP de « mémoire » sont peu performants pour conserver le contexte entre sessions. Préférer des fichiers Markdown versionnés dans le repo (notes, plans, états des lieux) — voir la section Gestion du contexte.
Les commandes slash sont des templates de prompts invocables via /nom
dans le chat. Équivalent des Prompt Files de Copilot.
.claude/commands/nom.md
--- description: "Crée un composant React selon le design system" --- Crée un composant React nommé $ARGUMENTS. Respecte les conventions de CLAUDE.md. Utilise les tokens du design system dans src/tokens.ts. Génère le fichier composant et son test unitaire associé. Structure attendue : - Props typées explicitement - Storybook story si applicable - Export nommé (pas default)
| Variable | Valeur injectée |
|---|---|
| $ARGUMENTS | Texte saisi après /commande |
| Référence fichier | Utiliser #fichier.ts dans le chat pour attacher un fichier |
Invocation : taper / dans le chat Claude Code pour afficher toutes les commandes disponibles du projet.
Claude Code peut déléguer des sous-tâches à des agents spécialisés,
chacun avec ses propres instructions, outils, et contexte de travail.
Les types d'agents personnalisés se définissent dans .claude/agents/.
Skill vs Agent : un skill injecte de la connaissance passive dans le contexte. Un agent est un sous-processus actif qui lit des fichiers, exécute des outils, et retourne un résultat — sans polluer le contexte principal.
Préférer un agent pour les tâches longues ou exploratoires : audit de code, recherche dans le codebase, génération de rapports — toute opération dont le volume de sortie encombrerait la conversation principale.
La direction de l'agence : produire le moins de code possible manuellement. Pour y parvenir, il faut identifier les bons cas d'usage, appliquer les bonnes pratiques, et rester efficace — l'objectif est le gain de temps, pas l'IA pour l'IA.
Toujours faire un plan avant chaque développement (mode Plan : Shift+Tab ou /plan).
Prendre le temps de le préparer : c'est un investissement qui fait gagner du temps par la suite.
Un plan validé évite les allers-retours et limite le code cassé.
Laisser l'IA améliorer les prompts : elle formule généralement mieux les instructions qu'un humain. Demander à Claude de reformuler ou d'enrichir un prompt avant de lancer un développement important.
Ne pas tomber dans la surqualité. Éviter aussi les reviews trop complexes : une review doit rester lisible et actionnable. Challenger systématiquement les propositions de l'IA plutôt que de les accepter par défaut.
La qualité des réponses dépend directement de la qualité du contexte. Trois règles issues de nos retours d'expérience :
# Quand le contexte devient trop lourd : > Fais un état des lieux de notre avancement dans docs/handoff.md : ce qui est fait, ce qui reste, les décisions prises et les fichiers concernés. # Puis nouvelle session : /clear > Lis docs/handoff.md et continue le développement.
| Commande | Usage |
|---|---|
| /init | Initialiser le projet : génère un CLAUDE.md à partir du codebase |
| /plan | Passer en mode plan avant tout développement |
| /review | Revue de code du diff courant ou d'une PR |
| /compact | Résumer la conversation pour libérer du contexte |
| /clear | Repartir sur une session vierge (après un état des lieux) |
Objectif : laisser Claude travailler sans interruption sur les opérations courantes,
tout en bloquant les commandes dangereuses. La configuration se fait dans
.claude/settings.json
(partagé équipe) ou settings.local.json (personnel).
{ "permissions": { "allow": [ "Bash(npm run:*)", "Bash(composer:*)", "Bash(git diff:*)", "Bash(git log:*)", "Bash(npx playwright test:*)" ], "deny": [ "Bash(rm -rf:*)", // jamais de suppression récursive "Bash(git push --force:*)", "Read(.env*)", // secrets hors de portée "Read(**/credentials*)" ] } }
Un fichier de configuration de référence sera partagé à toute l'équipe pour homogénéiser les permissions (autoriser large, sauf commandes destructrices). En cas de doute sur une règle, utiliser /permissions pour inspecter la configuration active.
Intégrer davantage Playwright dans nos développements. Claude est capable de lancer les tests Playwright lui-même, d'interpréter les échecs et de corriger — ce qui ferme la boucle développement → test → correction sans intervention manuelle.
> Implémente le formulaire de contact selon le plan validé. Critère de validation : npx playwright test contact.spec.ts doit passer, et la suite existante ne doit pas régresser.
Ne jamais transmettre à l'IA, quel que soit le canal (prompt, fichier, MCP) :
Vérifier l'authenticité des fichiers avant de télécharger ou d'installer des skills, commands ou MCP tiers : un skill est du contenu exécuté dans votre session, avec vos permissions. N'installer que des sources vérifiées ou internes à l'agence.
Pour travailler sur des données réalistes, utiliser des jeux de données anonymisés ou générés. Les règles de permissions ci-dessus (deny sur .env*) sont un filet de sécurité, pas une excuse pour relâcher la vigilance.
Être moteur sur le sujet : partager au maximum les outils, astuces, prompts, skills et
fichiers utiles avec l'équipe. Tout ce qui fonctionne pour un développeur doit être
versionné dans .claude/
(skills, commands, settings) pour profiter à tous — c'est le principe même de ce guide.