Uso de IA en el trabajo

Explicar las reglas del proyecto con CLAUDE.md

Organizamos de forma breve en el CLAUDE.md del proyecto el comando de ejecución, las reglas de datos, las prohibiciones y la forma de comprobar resultados que antes se repetían en cada solicitud. Distinguimos la función de `/init` para crear un borrador y el propósito de cada ubicación de archivo, y terminamos un archivo de reglas de 35 líneas adaptado al ejemplo del CSV de gastos.

Ver el índice

Para quién esUsuarios principiantes que modifican varias veces un mismo proyecto con Claude Code y quieren reducir la repetición de las mismas reglas en cada solicitud

Preparación
  • Tener expenses.csv y summarize.py en la carpeta vibe-expenses
  • Conocer el comando de ejecución de la herramienta de total mensual y su salida esperada
  • Entender que CLAUDE.md es contexto del proyecto, no una configuración coercitiva

01Mover al archivo del proyecto solo las reglas que se repiten

En el artículo anterior, cada solicitud a Claude Code incluía directamente el archivo de entrada, el uso de la biblioteca estándar, la prohibición de modificar el CSV original, el comando de ejecución y la salida esperada. Si se sigue trabajando en el mismo proyecto, estas reglas pueden organizarse en CLAUDE.md en lugar de escribirlas de nuevo cada vez. Claude Code lee este archivo al inicio de la sesión y lo usa como contexto del proyecto.

Sin embargo, CLAUDE.md no debe considerarse un mecanismo de control de acceso ni una regla absoluta. Según la documentación oficial, este archivo aporta contexto y resulta más fácil de seguir cuanto más concreto y conciso sea. Por tanto, no hay que suponer que «siempre se cumplirá perfectamente»; los cambios reales deben seguir revisándose.

Regla repetidaEjemplo que se puede escribir en CLAUDE.mdMotivo
Entradaexpenses.csv / UTF-8 / columnas fijasReduce la posibilidad de asumir arbitrariamente otros archivos o columnas
ImplementaciónUsar solo la biblioteca estándar de PythonAclara el límite para añadir paquetes
Ejecuciónpython summarize.py expenses.csvFija el comando de verificación
ProhibiciónNo modificar expenses.csvDefine el criterio de conservación de los datos originales
Criterio de finalizaciónDos líneas con los valores mensuales esperadosProporciona valores que la persona puede comparar después del trabajo

02Distinguir las ubicaciones para reglas compartidas por el equipo, comunes personales y personales del proyecto

La documentación oficial describe ubicaciones con propósitos distintos. `./CLAUDE.md`, en la raíz del proyecto, es adecuado para reglas del proyecto compartidas con el equipo. `~/.claude/CLAUDE.md` contiene notas personales comunes a todos los proyectos, y `./CLAUDE.local.md` sirve para notas personales de un proyecto concreto y puede añadirse a .gitignore.

Instrucción
./CLAUDE.md
~/.claude/CLAUDE.md
./CLAUDE.local.md

En este ejemplo usamos `./CLAUDE.md` porque contiene información propia del proyecto, como el comando de ejecución y las reglas de datos. Es más fácil de mantener si las preferencias personales o las rutas locales no se mezclan en un archivo compartido por el equipo.

03Crear un borrador con /init sin aceptarlo tal cual

Al usar `/init` dentro de una sesión, Claude Code puede analizar la base de código y crear un borrador de CLAUDE.md con comandos de compilación, pruebas y convenciones. La documentación oficial explica que, si ya existe CLAUDE.md, no lo sobrescribe, sino que propone mejoras. Por tanto, conviene entender `/init` no como un comando que decide las reglas automáticamente, sino como un punto de partida para obtener un borrador que una persona revisará.

Instrucción
/init

Cuando se genere el borrador, comprueba si incluye comandos que no encajan con el proyecto real, pruebas inexistentes o instrucciones demasiado generales. Como en este artículo no se ejecutó realmente Claude Code, no inventamos una respuesta de ejemplo atribuyéndole frases concretas generadas por `/init`.

04Organizar en 35 líneas el CLAUDE.md del ejemplo de gastos

El siguiente ejemplo es un CLAUDE.md que reúne solo las reglas necesarias para el proyecto ficticio de esta serie. La documentación oficial recomienda menos de 200 líneas por archivo, y este ejemplo se mantiene en 35 líneas. Separamos objetivo, datos, reglas de Python, comandos de ejecución, resultado esperado y reglas de trabajo para que también resulte claro para una persona.

Instrucción
# Project: vibe-expenses

## Goal
- Read expenses.csv and summarize expense amounts.
- Keep the example small and understandable for beginners.

## Data
- Input file: expenses.csv
- Encoding: UTF-8
- Columns: date, category, amount
- date format: YYYY-MM-DD
- category values stay in English.
- amount is treated as an integer.

## Python rules
- Use only the Python standard library.
- Prefer csv for reading CSV files.
- Do not add third-party packages.
- Keep functions short and names descriptive.
- Do not modify expenses.csv.

## Commands
- Run: python summarize.py expenses.csv
- On Windows, py summarize.py expenses.csv is also acceptable.

## Expected result
- 2026-09 = 26600
- 2026-10 = 9800

## Working rules
- Explain the planned change before editing files.
- Change only files needed for the requested task.
- Do not invent extra input columns or business rules.
- If a requirement is unclear, ask before expanding scope.
- After editing, show what changed and how to verify it.

No incluimos aquí contraseñas, claves de API ni rutas reales de clientes. Un archivo de instrucciones del proyecto sirve para transmitir contexto de trabajo, por lo que es más seguro centrarse en reglas que no causen problemas aunque el archivo se publique o se comparta.

05Priorizar reglas verificables frente a explicaciones largas

Un CLAUDE.md no es mejor por ser más largo. Son más útiles reglas que se puedan contrastar con el resultado real, como «no añadir paquetes externos», «no modificar expenses.csv» o «este es el comando de ejecución», que frases difíciles de evaluar como «escribe buen código». Si fuera necesario, se puede usar la sintaxis `@ruta` para incorporar el contenido de otros archivos, pero este ejemplo pequeño no necesita incluir archivos adicionales.

  • Escribir solo nombres de archivo y comandos que existan realmente en el proyecto.
  • No acumular en CLAUDE.md instrucciones para tareas que solo se necesitan una vez.
  • Escribir las prohibiciones de forma concreta, indicando qué no debe hacerse.
  • Dejar valores esperados o comandos de comprobación que permitan decidir si el trabajo está terminado.
  • No incluir secretos personales ni claves de API en el archivo de reglas del proyecto.

Incluso después de añadir reglas, hay que revisar por separado qué archivos modifica realmente Claude Code. CLAUDE.md no sustituye la revisión; reduce el contexto del proyecto que tendría que explicarse repetidamente.

06Volver a leer el archivo de reglas antes del siguiente trabajo

Después de guardar CLAUDE.md, conviene que una persona lo lea una vez antes de pedir la siguiente función. Si han cambiado el código actual o el comando de ejecución pero quedan instrucciones antiguas, el archivo puede aportar contexto incorrecto. En particular, si cambian la salida esperada o los nombres de archivo, también debe actualizarse el archivo de reglas.

Pregunta de revisiónRespuesta que debe tener el ejemploSeñal de que hay que corregir
¿Es correcto el archivo de entrada?expenses.csvQueda otro nombre de archivo
¿Es correcto el comando de ejecución?python summarize.py expenses.csvQueda el nombre de un script anterior
¿Es correcta la regla de paquetes?Usar solo la biblioteca estándarExige un paquete externo innecesario
¿Son correctos los valores esperados?26600 / 9800Aparecen números distintos a los del ejemplo actual
¿Está claro lo que no debe modificarse?No modificar expenses.csvSolo hay expresiones ambiguas

En el siguiente artículo mantendremos estas reglas y, en lugar de implementar de inmediato una nueva función, la diseñaremos primero en modo plan. El objetivo será revisar durante la planificación qué cambios requiere una opción `--by-category` que muestre para 2026-09 food 20500, transport 2900 y supplies 3200.

Qué comprobar por tu cuenta

Redactado con base en la documentación oficial de Claude Code (consultada el 2026-09-22) y en el ejemplo ficticio de esta serie · Claude Code no se ejecutó realmente · Este artículo no contiene código Python que deba ejecutarse

  • Comprobar que las ubicaciones y usos de `./CLAUDE.md` del proyecto, `~/.claude/CLAUDE.md` personal global y `./CLAUDE.local.md` personal del proyecto coincidan con la documentación oficial
  • Comparar con la documentación oficial la explicación de que `/init` analiza la base de código para crear un borrador y, si ya existe CLAUDE.md, propone mejoras en lugar de sobrescribirlo
  • Comprobar que CLAUDE.md se describa como contexto del proyecto y no como una configuración coercitiva
  • Comprobar que el CLAUDE.md de ejemplo tenga 35 líneas y esté por debajo de la recomendación oficial de menos de 200 líneas por archivo
  • Comprobar que las reglas de ejemplo incluyan comando de ejecución, reglas de datos, prohibiciones, resultado esperado y flujo de verificación
  • Comprobar que no se afirme haber creado resultados reales de `/init` ni respuestas reales de Claude Code
Límites de la verificación

En este artículo no se ejecutaron realmente `/init` ni las funciones de archivos de memoria de Claude Code. El ejemplo de CLAUDE.md es un texto editorial basado en los requisitos del proyecto ficticio de esta serie; en un proyecto real, una persona debe revisarlo según la estructura de archivos y los comandos vigentes.