Utiliser des agents IA dans de grands monorepos
Dans un monorepo, un agent IA se perd facilement dans le mauvais sous-projet â avec la bonne structure de CLAUDE.md, il reste concentrĂ©.
Le problĂšme dans les gros repos
Un monorepo contient souvent plusieurs sous-projets : un backend, un frontend, des bibliothĂšques partagĂ©es. Un seul fichier CLAUDE.md pour tout devient soit Ă©norme (et bouffe du contexte Ă chaque session, mĂȘme pour des tĂąches qui n'en ont pas besoin), soit reste trop gĂ©nĂ©ral pour vraiment aider.
La solution : plusieurs fichiers CLAUDE.md
Au lieu d'un seul fichier pour tout, tu crées un CLAUDE.md propre à chaque sous-projet. Un fichier à la racine contient les rÚgles valables partout (style de commit, structure générale). Chaque sous-projet reçoit son propre fichier avec ses commandes et conventions spécifiques.
Comment fonctionne le chargement
Si tu dĂ©marres l'agent Ă la racine, il ne charge au lancement que le CLAUDE.md racine ; les fichiers dans les sous-dossiers ne sont chargĂ©s que quand l'agent y lit effectivement des fichiers. Si tu le dĂ©marres directement dans un sous-projet, il reçoit le fichier de ce dossier plus tous ceux des dossiers parents â mais par dĂ©faut, il n'a accĂšs qu'Ă cette sous-arborescence.
Forcer le focus
Pour les tĂąches qui appartiennent clairement Ă un sous-projet, ça vaut le coup de dĂ©marrer l'agent directement lĂ plutĂŽt qu'Ă la racine. Ăa garde le contexte et l'accĂšs aux fichiers automatiquement restreints â sans que tu aies besoin d'expliquer Ă chaque tĂąche quelles parties du repo sont hors sujet.
EXEMPLE
Un monorepo avec packages/api, packages/web et packages/shared reçoit un CLAUDE.md racine (« Trois paquets : api (Node/Express), web (React/Vite), shared (utilitaires TS). Toujours exĂ©cuter les commandes depuis le dossier du paquet concernĂ©. ») plus un packages/api/CLAUDE.md propre avec les commandes de test spĂ©cifiques Ă l'API. Si l'agent dĂ©marre directement dans packages/api/, il voit les deux fichiers â mais rien de packages/web/.
QUIZ RAPIDE
Que se passe-t-il par défaut si tu démarres Claude Code directement dans un sous-dossier d'un monorepo (par ex. packages/api/) plutÎt qu'à la racine ?
SOURCES
- doc Claude Code : Monorepos et grandes codebases â code.claude.com
- doc Claude Code : CLAUDE.md et Memory â code.claude.com
- doc Claude Code : Subagents â code.claude.com