Saltar al contenido
MaestrIA

Formación › Programar con Claude Code en 12 horas › Hora 3

Programar con Claude Code en 12 horas · hora 3 de 12

CLAUDE.md, AGENTS.md, reglas y memoria

CLAUDE.md es lo primero que Claude lee en cada sesión. Bien escrito, ahorra horas de explicaciones; demasiado largo, hace que Claude ignore justo lo importante. Verás el CLAUDE.md real que generó /init en el repositorio de práctica y lo mejorarás.

Al terminar sabrásEscribir un CLAUDE.md de menos de 200 líneas con comandos, reglas y trampas que Claude no puede deducir, decidir qué sobra con la pregunta «¿fallaría sin esto?» y conectarlo con AGENTS.md.

60 minutos· 1 esquema· 6 preguntas· 1 ejercicio· laboratorio· entregable

Repaso

Comprueba De la hora 2: diste una regla en un mensaje y, tras una compactación, Claude dejó de seguirla. ¿Cuál es el arreglo definitivo?

Comprueba De la hora 2: ¿qué no se puede deshacer con /rewind?

Comprueba De la hora 1: en la primera sesión, ¿qué hizo que el mapa del repositorio fuera fiable?

Vocabulario

CLAUDE.md
Un fichero de instrucciones que Claude lee al principio de cada sesión.
AGENTS.md
Un formato común de instrucciones que leen otros agentes de programación.
Regla por ruta
Un fichero de .claude/rules/ que solo se carga al trabajar con ciertos ficheros.
Memoria automática
Las notas que Claude escribe por su cuenta sobre tus preferencias y correcciones.

El ejemplo: lo que genera /init

/init analiza el proyecto y escribe un primer CLAUDE.md con los comandos y las convenciones que encuentra. Esta es la sesión real en el repositorio de práctica, con el fichero que dejó.

Antes y después /init en el repositorio de práctica

Qué es CLAUDE.md y dónde vive

CLAUDE.md se lee al principio de cada sesión. Hay varios niveles y se cargan todos:

FicheroPara qué
~/.claude/CLAUDE.mdTus preferencias personales en todos los proyectos
./CLAUDE.md (o ./.claude/CLAUDE.md)Las reglas del proyecto, compartidas con el equipo en Git
./CLAUDE.local.mdTus preferencias en este proyecto, fuera de Git (añádelo a .gitignore)
.claude/rules/*.mdReglas por tema; con paths:, solo al trabajar con ciertos ficheros
Qué carga Claude Code y cuándoCLAUDE.md, CLAUDE.local.md y la memoria se cargan siempre al empezar; las reglas por ruta, las skills y los subagentes se cargan cuando hacen falta. Todo eso es contexto que Claude tiene en cuenta; los hooks, en cambio, se ejecutan siempre y obligan.Se carga siempre, al empezarCLAUDE.md del proyecto~/.claude/CLAUDE.md y CLAUDE.local.mdMemoria automática (200 líneas o 25 KB)Se carga cuando hace faltaReglas con paths: (.claude/rules)Skills: primero solo la descripciónSubagentes: en su propio contextoTodo lo anterior es contexto: Claude lo tiene en cuenta.Los hooks son otra cosa: se ejecutan siempre y pueden bloquear (código de salida 2).
Lo que Claude Code carga siempre, lo que carga cuando hace falta y lo único que obliga.

Una idea clave de la documentación: CLAUDE.md es contexto, no una obligación. Claude lo tiene en cuenta, pero lo que debe pasar siempre, sin excepciones, es un hook (hora 10).

La regla de oro: corto y que no se pueda deducir

La guía oficial apunta a menos de 200 líneas por fichero y propone una pregunta para cada línea: «¿quitarla haría que Claude cometiera errores?». Si la respuesta es no, bórrala. Los CLAUDE.md inflados hacen que Claude ignore tus instrucciones de verdad.

AGENTS.md: un fichero para todos los agentes

Según la documentación de Claude Code, Claude lee AGENTS.md solo si no hay un CLAUDE.md en tu carpeta de trabajo o por encima; si hay los dos, solo lee CLAUDE.md. La solución oficial para tener una sola fuente es un CLAUDE.md que importe el otro:

CLAUDE.md que comparte las reglas con otros agentes
@AGENTS.md

## Solo para Claude Code
- Usa el modo plan para cambios de más de un fichero.

Reglas por ruta y memoria: en proyectos grandes, divide las instrucciones en .claude/rules/ con paths: para que se carguen solo cuando hacen falta. Y Claude apunta por su cuenta lo que aprende de tus correcciones en una memoria automática por repositorio, de la que carga las primeras 200 líneas o 25 KB al empezar. Revísala de vez en cuando.

Practica

Clasifica ¿Incluir en CLAUDE.md o dejar fuera?

  1. «Para una sola prueba: node --test --test-name-pattern="…" pruebas/x.test.js»
  2. «Escribe código limpio y bien documentado»
  3. «No modifiques nada en datos/: son datos de origen»
  4. La descripción del flujo entre ficheros, módulo a módulo
  5. «La prueba de formato necesita que Node traiga el idioma es-ES; si falla solo ahí, revisa Node antes que el código»
  6. La documentación completa de la API de un proveedor

Laboratorio Poda y completa el CLAUDE.md de /init

Reescribe el CLAUDE.md del repositorio de práctica (o el de tu proyecto). Las comprobaciones miden la forma; la prueba de verdad es ver si Claude cambia su comportamiento.

Las comprobaciones miden la estructura, no la calidad: la prueba de verdad es usarlo en tu herramienta.

  • Pendiente: Incluye los comandos de pruebas
  • Pendiente: Quita la línea genérica en inglés
  • Pendiente: Tiene una regla propia del proyecto
  • Pendiente: Dice qué no tocar
  • Pendiente: Dice cómo verificar antes de terminar
  • Pendiente: Tiene menos de 200 líneas

Comprueba lo que has aprendido

Comprueba Tu CLAUDE.md tiene 600 líneas y Claude se salta una regla importante. ¿Qué haces primero?

Comprueba Tu repositorio tiene AGENTS.md y acabas de crear un CLAUDE.md vacío. ¿Qué lee Claude Code?

Comprueba Quieres que nadie modifique datos/ en ningún caso. ¿Basta con escribirlo en CLAUDE.md?

Entregable Tu CLAUDE.md

Genera un CLAUDE.md con /init en el repositorio de práctica o en el tuyo y pódalo con la pregunta «¿fallaría sin esto?». Añade lo que falte: comandos, reglas propias, trampas, qué no tocar y cómo verificar. Pega aquí la versión final y una prueba: una tarea en la que Claude se comportó distinto gracias a una línea concreta.

Está bien si: tiene menos de 200 líneas; incluye al menos una regla que Claude no puede deducir del código; dice cómo verificar; y aportas la tarea en la que una línea cambió su comportamiento. Tiempo: unos 25 minutos.

Lo esencial

  • CLAUDE.md se lee en cada sesión: comandos, reglas propias, trampas, qué no tocar y cómo verificar.
  • Menos de 200 líneas y la pregunta «¿fallaría sin esto?» para cada línea.
  • /init da un buen punto de partida, pero hay que podarlo y completarlo.
  • AGENTS.md solo se lee si no hay CLAUDE.md: impórtalo con @AGENTS.md.
  • CLAUDE.md es contexto, no obligación: lo que debe pasar siempre va en un hook.

Fuentes y para seguir

Lección revisada el 24/10/2026 con la documentación oficial enlazada en sus fuentes. Revisamos los cursos cada trimestre.