Claude Code

CLAUDE.md: el archivo que hace a Claude Code 10x más útil (con plantilla y ejemplos reales)

Qué poner en CLAUDE.md, dónde va, plantilla base para copiar, ejemplos reales de cada sección, y qué NO poner. La guía completa para configurar Claude Code en tu proyecto.

5 de junio de 2025·8 min de lectura·Aldama Dev

CLAUDE.md es el archivo que le dice a Claude Code cómo funciona tu proyecto antes de que toques una sola tecla. Es la diferencia entre empezar cada sesión explicando lo mismo y empezar directamente a trabajar. Un buen CLAUDE.md puede ahorrar 10–15 minutos por sesión y evitar los errores más comunes. Esta guía te dice qué poner, con ejemplos reales.

Si aún estás en tus primeras sesiones con Claude Code, lee primero la guía de primer proyecto. Si ya entiendes el flujo básico, este artículo es el siguiente paso.

Qué es CLAUDE.md y por qué existe

Cada vez que abres Claude Code en modo interactivo, el agente lee automáticamente el archivo CLAUDE.md si existe en la raíz del proyecto. También lee los CLAUDE.md que estén en subcarpetas cuando trabaja en esas partes del código.

El propósito es simple: darle a Claude el "onboarding" que le darías a un desarrollador nuevo. Qué hace el proyecto, cómo está organizado, qué tecnologías usa, qué convenciones seguimos, qué no debe tocar, cómo correr los tests. Todo eso en un archivo que se lee una sola vez y aplica en cada sesión.

Sin CLAUDE.md: repites contexto en cada sesión, Claude puede hacer suposiciones equivocadas sobre el stack y tienes más errores.

Con CLAUDE.md bien hecho: Claude arranca con contexto real, hace menos preguntas obvias y los resultados son más precisos desde el primer mensaje.

Dónde van los archivos CLAUDE.md

Hay tres niveles:

  • Global (~/.claude/CLAUDE.md): aplica a todos tus proyectos. Bueno para tus preferencias personales (idioma de los comentarios, estilo de commits, herramientas que siempre usas).
  • Raíz del proyecto (CLAUDE.md en la carpeta principal): el más importante. Aplica a toda la sesión. Compártelo con tu equipo metiéndolo al repositorio.
  • Subdirectorios (src/api/CLAUDE.md, etc.): Claude lo lee cuando trabaja en esa parte del código. Útil para módulos complejos con lógica propia o restricciones específicas.

Empieza con el de la raíz del proyecto. Los demás son optimizaciones para cuando el proyecto crece.

Qué poner en tu CLAUDE.md

1. De qué trata el proyecto

Una o dos frases. Claude ya puede leer el código, pero saber el propósito orienta las decisiones cuando hay ambigüedad.

# Proyecto: Panel de administración de inventario

Sistema web interno para gestionar el inventario de una cadena de tiendas.
Los usuarios son administradores de bodega, no técnicos. La simplicidad
de la UI es más importante que las funciones avanzadas.

2. Stack tecnológico

Qué lenguajes, frameworks, bases de datos y servicios usa el proyecto. Esto evita que Claude sugiera soluciones incompatibles.

## Stack
- Backend: Node.js 20 con Express
- Base de datos: PostgreSQL 15 con Prisma ORM
- Frontend: React 18 con Vite y TailwindCSS
- Autenticación: Supabase Auth
- Deploy: Vercel (frontend) + Railway (backend)

3. Comandos que se usan siempre

Los comandos de desarrollo, testing y build. Así Claude puede correrlos cuando necesita verificar su trabajo.

## Comandos
- Desarrollo: `npm run dev` (puerto 3000 frontend, 4000 backend)
- Tests: `npm test` (Jest, todos los archivos *.test.ts)
- Tests de un archivo: `npm test -- src/auth/login.test.ts`
- Build: `npm run build`
- Linting: `npm run lint` (ESLint + Prettier)

4. Estructura de carpetas importante

No necesitas documentar cada carpeta — solo las que no son obvias o las que tienen lógica especial.

## Estructura relevante
- `src/services/`: lógica de negocio, sin dependencias de HTTP
- `src/routes/`: solo reciben requests y llaman a services
- `src/db/migrations/`: NO editar manualmente, usar Prisma migrate
- `scripts/`: utilidades de CLI internas, no son parte de la app

5. Convenciones del equipo

Lo que no está en ningún linter pero el equipo siempre hace. Aquí es donde más tiempo se ahorra, porque Claude evita los "eso no va así" durante las revisiones.

## Convenciones
- Commits en español, en imperativo: "Agrega validación", "Corrige bug en login"
- Nombres de variables y funciones en inglés
- Archivos de componentes: PascalCase.tsx
- Archivos de utilidades: camelCase.ts
- No usar `any` en TypeScript. Si no sabes el tipo, preguntar antes de poner any.
- Siempre agregar JSDoc a funciones públicas de services
- Los errores se loguean con el logger de `src/utils/logger.ts`, no con console.log

6. Lo que NO debe tocar

Archivos o carpetas críticos, generados automáticamente o con restricciones especiales. Este bloque evita errores graves.

## No modificar sin consultar
- `src/db/schema.prisma`: cambios requieren migración y aprobación
- `src/config/permissions.ts`: lógica de permisos crítica, revisar con el equipo
- `public/`: archivos estáticos generados, no editar a mano
- `.env.example`: plantilla compartida, no agregar valores reales

7. Contexto de negocio que cambia el código

Decisiones de arquitectura con "por qué" detrás. Sin este contexto, Claude puede "mejorar" algo que en realidad tiene una razón para ser como es.

## Decisiones de arquitectura
- No usamos Redux ni estado global: la app es pequeña y el contexto de React es suficiente
- Los IDs de productos son strings UUID, no integers: compatibilidad con sistema legacy
- Autenticación por JWT sin refresh tokens: los usuarios son internos, la sesión dura 8h
- No hay soft delete: los registros eliminados se archivan en tablas _archived

Plantilla base para copiar

Copia este esqueleto y rellena con tu proyecto:

# [Nombre del proyecto]

[1-2 frases de qué hace y para quién]

## Stack
- [Lenguaje y versión]
- [Framework principal]
- [Base de datos]
- [Otros servicios relevantes]

## Comandos
- Desarrollo: `[comando]`
- Tests: `[comando]`
- Build: `[comando]`
- Linting: `[comando]`

## Estructura relevante
- [carpeta]: [qué hay ahí]
- [carpeta]: [qué hay ahí]

## Convenciones
- [Convención 1]
- [Convención 2]
- [Convención 3]

## No modificar sin consultar
- [archivo o carpeta]: [por qué]

## Contexto importante
- [Decisión de arquitectura con su razón]
- [Restricción del negocio que afecta el código]

Lo que NO poner en CLAUDE.md

  • Secretos o credenciales. CLAUDE.md va al repositorio. Las variables de entorno, API keys y contraseñas van en .env, nunca aquí.
  • Documentación que ya existe. Si tienes un README detallado, un CONTRIBUTING.md o documentación en otro archivo, no copies su contenido — solo referencia dónde está.
  • Demasiado texto. CLAUDE.md muy largo (más de 200 líneas) ocupa contexto y diluye lo importante. Si crece mucho, divide en CLAUDE.md por subdirectorio o usa el global para preferencias personales.
  • Instrucciones obvias. "Escribe código limpio" o "sé preciso" no sirven. Todo lo que Claude puede inferir del código, sobra en CLAUDE.md.

Cómo mantenerlo actualizado

El mejor momento para actualizar CLAUDE.md es durante una sesión con Claude Code, justo después de que le tuviste que corregir algo. Le pides:

Agrega al CLAUDE.md que en este proyecto los IDs siempre son UUID strings, no integers. Eso lo vas a necesitar en cualquier función que maneje IDs.

Otra táctica: al terminar una sesión larga, pídele que revise si aprendió algo que valga guardar:

¿Hay algo que descubriste hoy sobre este proyecto que debería estar en el CLAUDE.md y no está?

En resumen

CLAUDE.md es la inversión de 30 minutos que mejora todas las sesiones siguientes. La estructura que funciona: qué hace el proyecto, el stack, los comandos, la estructura relevante, las convenciones del equipo, qué no tocar y el contexto de negocio que afecta el código. Corto, específico y actualizado.

En Aldama tenemos CLAUDE.md en todos nuestros proyectos de desarrollo. Es una de las razones por las que podemos onboardear contexto nuevo rápidamente y mantener consistencia entre sesiones. Si quieres que un equipo con estas prácticas construya algo para ti, lo conversamos. Sin humo.

Preguntas frecuentes

¿Qué es CLAUDE.md?

Es el archivo de instrucciones persistentes que Claude Code lee automáticamente al inicio de cada sesión. Define el stack, los comandos, las convenciones y las restricciones del proyecto para que no tengas que repetirlos cada vez.

¿Dónde va el archivo CLAUDE.md?

Hay tres niveles: global (~/.claude/CLAUDE.md para tus preferencias personales), raíz del proyecto (el más importante, compártelo en el repositorio) y subdirectorios (para módulos con lógica especial).

¿Qué debo poner en CLAUDE.md?

De qué trata el proyecto, el stack tecnológico, los comandos de desarrollo y testing, la estructura de carpetas relevante, las convenciones del equipo, qué no debe tocar, y decisiones de arquitectura con su razón.

¿Qué NO debo poner en CLAUDE.md?

Secretos o credenciales (van en .env), documentación que ya existe en otros archivos, instrucciones obvias que Claude infiere del código, y texto innecesario (más de 200 líneas diluye lo importante).

¿Listo para el siguiente paso?

Revisamos tus procesos y te decimos qué automatizar primero

Sin compromiso. Una llamada de 30 minutos con un experto de Aldama para identificar el proceso de mayor impacto en tu empresa.

Agendar consultoría gratuita
CLAUDE.md configuracióncómo configurar Claude CodeCLAUDE.md ejemplosinstrucciones Claude Code proyectoCLAUDE.md plantilla