Usar agentes de IA en monorepos grandes
En un monorepo, un agente de IA se pierde fácilmente en el subproyecto equivocado. Con la estructura correcta de CLAUDE.md, se mantiene enfocado.
El problema en repos grandes
Un monorepo suele contener muchos subproyectos: un backend, un frontend, bibliotecas compartidas. Un único archivo CLAUDE.md para todo se vuelve o bien enorme (y consume contexto en cada sesión, incluso cuando la tarea no lo necesita) o demasiado general como para ayudar de verdad.
La solución: varios archivos CLAUDE.md
En lugar de un archivo para todo, creas un CLAUDE.md propio por cada subproyecto. Un archivo en el directorio raíz contiene las reglas que aplican en todas partes (estilo de commit, estructura general). Cada subproyecto tiene su propio archivo con sus comandos y convenciones específicas.
Cómo funciona la carga
Si inicias el agente en el directorio raíz, al arrancar carga solo el CLAUDE.md de la raíz; los archivos en subcarpetas se cargan solo cuando el agente realmente lee archivos ahí. Si lo inicias directamente en un subproyecto, obtiene el archivo de esa carpeta más todos los de las carpetas superiores, pero por defecto solo tiene acceso a ese subárbol.
Forzar el enfoque
Para tareas que claramente pertenecen a un subproyecto, vale la pena iniciar el agente ahí directamente en lugar de en el directorio raíz. Eso mantiene el contexto y el acceso a archivos automáticamente acotados, sin que tengas que explicar en cada tarea qué partes del repo son irrelevantes en ese momento.
EJEMPLO
Un monorepo con packages/api, packages/web y packages/shared recibe un CLAUDE.md raíz ('Tres paquetes: api (Node/Express), web (React/Vite), shared (utilidades TS). Ejecutar siempre los comandos dentro de la carpeta del paquete correspondiente.') más su propio packages/api/CLAUDE.md con los comandos de test específicos de la API. Si el agente se inicia directamente en packages/api/, ve ambos archivos, pero nada de packages/web/.
QUIZ RÁPIDO
¿Qué ocurre por defecto si inicias Claude Code directamente en una subcarpeta de un monorepo (por ejemplo, packages/api/) en lugar del directorio raíz?
FUENTES
- Claude Code Doku: Monorepos und große Codebases ↗ code.claude.com
- Claude Code Doku: CLAUDE.md und Memory ↗ code.claude.com
- Claude Code Doku: Subagents ↗ code.claude.com