\n| Uso principal<\/td>\n | Est\u00e1ndares de c\u00f3digo, arquitectura, workflow<\/td>\n | Comandos de build, hallazgos de debug, preferencias<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n CLAUDE.md gan\u00f3 una estructura m\u00e1s rica en 2026. Soporta cuatro alcances<\/strong>: archivos managed policy<\/strong> desplegados por IT\/DevOps a nivel de organizaci\u00f3n (macOS en \/Library\/Application Support\/ClaudeCode\/CLAUDE.md<\/code>, Linux en \/etc\/claude-code\/CLAUDE.md<\/code>, Windows en C:Program FilesClaudeCodeCLAUDE.md<\/code>); archivos project<\/strong> espec\u00edficos del equipo (.\/CLAUDE.md<\/code> o .\/.claude\/CLAUDE.md<\/code>); archivos user<\/strong> que aplican a todos tus proyectos (~\/.claude\/CLAUDE.md<\/code>); y archivos local<\/strong> para notas personales de proyecto que van en .gitignore<\/code> (.\/CLAUDE.local.md<\/code>). Los alcances m\u00e1s espec\u00edficos sobrescriben a los m\u00e1s amplios.<\/p>\nLa mec\u00e1nica de carga tambi\u00e9n se ampli\u00f3. Partiendo del directorio de trabajo, Claude recorre hasta la ra\u00edz del sistema de archivos<\/strong> buscando CLAUDE.md<\/code> y CLAUDE.local.md<\/code> en cada carpeta; todas las coincidencias entran al contexto. Los CLAUDE.md de subcarpetas no se cargan al arrancar \u2014 lo hacen on-demand<\/strong> cuando Claude lee un archivo de esa carpeta. Si a\u00f1ades directorios extra con --add-dir<\/code>, define CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1<\/code> para que sus CLAUDE.md tambi\u00e9n carguen. Tras una compaction (\/compact<\/code>), el CLAUDE.md ra\u00edz del proyecto se recarga autom\u00e1ticamente; los anidados vuelven con la pr\u00f3xima lectura relevante.<\/p>\n \n<\/span>Novedades 2026: imports, .claude\/rules\/, interoperabilidad con AGENTS.md<\/span><\/h2>\nPara que CLAUDE.md no engorde hasta convertirse en un \u00fanico archivo gigante, Anthropic estandariz\u00f3 la sintaxis @path\/to\/import<\/code><\/strong>. Trae otros archivos Markdown a CLAUDE.md; soporta rutas relativas y absolutas; permite recursi\u00f3n hasta 5 saltos<\/strong>. Uso t\u00edpico:<\/p>\nSee @README for project overview and @package.json for available npm commands.\n\n# Additional Instructions\n- git workflow @docs\/git-instructions.md\n- personal preferences @~\/.claude\/my-project-instructions.md\n<\/code><\/pre>\nLa segunda gran adici\u00f3n es la carpeta .claude\/rules\/<\/code><\/strong> con sus path-scoped rules<\/strong>. En lugar de meter todas las instrucciones en un CLAUDE.md, parte las reglas en archivos Markdown por tema con frontmatter YAML que s\u00f3lo las active cuando Claude toque rutas que coinciden:<\/p>\n---\npaths:\n - "src\/api\/**\/*.ts"\n - "lib\/**\/*.{ts,tsx}"\n---\n\n# API Development Rules\n- All API endpoints must include input validation\n- Use the standard error response format\n- Include OpenAPI documentation comments\n<\/code><\/pre>\nLos archivos de reglas sin frontmatter paths<\/code> cargan siempre; los que lo tienen se activan s\u00f3lo cuando Claude trabaja en archivos coincidentes. Cr\u00edtico para monorepos donde varios equipos mantienen sus propios conjuntos de reglas. La configuraci\u00f3n claudeMdExcludes<\/code><\/strong> permite adem\u00e1s desactivar selectivamente CLAUDE.md de directorios ancestros.<\/p>\nLa tercera adici\u00f3n es la interoperabilidad con AGENTS.md<\/strong>. Cursor, Codex, Aider y otros agentes leen AGENTS.md; Claude Code s\u00f3lo lee CLAUDE.md. La forma est\u00e1ndar de resolver el choque:<\/p>\n@AGENTS.md\n\n## Claude Code\nUse plan mode for changes under `src\/billing\/`.\n<\/code><\/pre>\nMismo conjunto de instrucciones compartido por todas tus herramientas de agente; la secci\u00f3n breve espec\u00edfica de Claude a\u00f1ade los extras. Lado de comandos slash: \/init<\/code><\/strong> redacta el archivo, \/memory<\/code><\/strong> muestra los archivos cargados y permite editarlos, el hook InstructionsLoaded<\/code><\/strong> sirve para depurar qu\u00e9 carg\u00f3 cu\u00e1ndo. Con CLAUDE_CODE_NEW_INIT=1<\/code>, \/init<\/code> se convierte en un flujo interactivo multi-fase: un subagente inspecciona el repo, te pregunta por las lagunas y propone un archivo revisable antes de escribir.<\/p>\n \n<\/span>El enfoque idea file de Karpathy (abril de 2026)<\/span><\/h2>\nEl 3 de abril de 2026, Karpathy propuso en X y luego en un gist de GitHub un nuevo formato de compartir: el \u00abidea file\u00bb. Donde el open source cl\u00e1sico comparte c\u00f3digo, un idea file comparte la idea, y el agente del otro lado la reconstruye para su entorno<\/strong>. La raz\u00f3n es simple: en 2026 \u2014 con modelos de agente lo suficientemente fuertes \u2014 copiar la intenci\u00f3n<\/strong> es m\u00e1s eficiente que copiar el c\u00f3digo p\u00edxel a p\u00edxel.<\/p>\nLa forma concreta es una estructura de tres capas. Capa uno: la carpeta raw\/<\/code>; art\u00edculos, papers, im\u00e1genes, datasets aterrizan aqu\u00ed. El LLM lee pero nunca modifica<\/strong> esta carpeta \u2014 las fuentes son inmutables y verificables. Capa dos: la carpeta wiki\/<\/code>; p\u00e1ginas de resumen, de concepto y de entidades producidas por el LLM viven aqu\u00ed, cruzadas y creciendo acumulativamente<\/strong> en vez de re-derivarse por consulta. Capa tres: el archivo CLAUDE.md<\/code> (alternativamente AGENTS.md<\/code> o OPENCODE.md<\/code>); define el esquema<\/strong> del sistema entero y c\u00f3mo se mantiene.<\/p>\nEl sistema corre sobre tres operaciones. Ingest:<\/strong> cuando una nueva fuente aterriza en raw\/<\/code>, el LLM la lee y actualiza simult\u00e1neamente 10-15 p\u00e1ginas wiki, lleva un \u00edndice y un log de actividad. Query:<\/strong> las preguntas atraviesan la estructura; las respuestas valiosas se archivan como nuevas p\u00e1ginas \u2014 el conocimiento se compone. Lint:<\/strong> chequeos de salud peri\u00f3dicos sacan a la luz contradicciones, p\u00e1ginas hu\u00e9rfanas, conceptos faltantes y revisiones sugeridas. Karpathy lo conecta con el concepto Memex de Vannevar Bush (1945)<\/strong>; la pregunta no resuelta de Bush \u00ab\u00bfqui\u00e9n lo mantiene?\u00bb encuentra al fin respuesta con los LLM.<\/p>\nEsta arquitectura diverge del RAG (Retrieval-Augmented Generation) cl\u00e1sico en un punto medular. RAG vuelve a las fuentes y sintetiza en cada consulta; el enfoque idea file compila el conocimiento una vez y lo mantiene al d\u00eda<\/strong>, en lugar de redrivarlo en cada llamada. Seg\u00fan Karpathy: \u00abThe knowledge is compiled once and then kept current, not re-derived on every query.\u00bb<\/em> CLAUDE.md es el archivo esquema que convierte un chatbot gen\u00e9rico en un mantenedor wiki disciplinado<\/strong>.<\/p>\n \n<\/span>C\u00f3mo escribir un CLAUDE.md efectivo (est\u00e1ndares 2026)<\/span><\/h2>\nCuatro principios extra\u00eddos de la doc oficial de Anthropic forman el n\u00facleo de la escritura efectiva de CLAUDE.md. Tama\u00f1o:<\/strong> mantener el archivo bajo 200 l\u00edneas; los m\u00e1s largos consumen m\u00e1s contexto y bajan la tasa de adherencia. Si las instrucciones crecen, divide con path-scoped rules o imports. Estructura:<\/strong> instrucciones agrupadas bajo headings y bullets de Markdown son mucho m\u00e1s escaneables que p\u00e1rrafos sueltos; Claude lee como un humano. Especificidad:<\/strong> instrucciones verificables y concretas. \u00abFormat the code properly\u00bb<\/em> \u2192 \u00abUse 2-space indentation\u00bb<\/em>; \u00abTest your changes\u00bb<\/em> \u2192 \u00abRun npm test<\/code> before committing\u00bb<\/em>; \u00abKeep files organised\u00bb<\/em> \u2192 \u00abAPI handlers live in src\/api\/handlers\/<\/code>\u00bb.<\/em> Consistencia:<\/strong> en instrucciones contradictorias, Claude elige una al azar; revisa peri\u00f3dicamente CLAUDE.md y sus anidados.<\/p>\n\u00bfCu\u00e1ndo a\u00f1adir algo a CLAUDE.md? La recomendaci\u00f3n de Anthropic es directa: \u00abTreat CLAUDE.md as the place you write down what you’d otherwise re-explain.\u00bb<\/em> Si Claude comete el mismo error dos veces, si una convenci\u00f3n cazada en code review tambi\u00e9n deber\u00eda conocerla Claude, si te encuentras escribiendo hoy la misma correcci\u00f3n que la sesi\u00f3n pasada, o si un nuevo compa\u00f1ero necesitar\u00eda ese contexto para ser productivo \u2014 todo eso va a CLAUDE.md. Procedimientos multi-paso o reglas aplicables solo a un rinc\u00f3n del c\u00f3digo pertenecen a una skill<\/strong> o path-scoped rule<\/strong>, no a CLAUDE.md.<\/p>\nLa plantilla de abajo es el punto de partida m\u00ednimo funcional para un CLAUDE.md 2026. C\u00f3piala tal cual:<\/p>\n # Project Name\n\n## What this is\nOne-paragraph summary of what the project does and why it exists.\n\n## Tech stack\n- Language: Python 3.12 \/ TypeScript 5.4\n- Framework: FastAPI \/ Next.js 15\n- DB: PostgreSQL 16\n- Tests: pytest + httpx \/ vitest\n\n## Commands\n- Install: `uv sync` \/ `pnpm install`\n- Run dev: `uv run uvicorn app.main:app --reload` \/ `pnpm dev`\n- Test: `uv run pytest -x` \/ `pnpm test`\n- Lint: `uv run ruff check .` \/ `pnpm lint`\n- Typecheck: `uv run mypy app\/` \/ `pnpm typecheck`\n\n## Conventions\n- Type hints everywhere\n- Public functions: docstrings (Google style)\n- Tests live in `tests\/` matching `app\/` structure\n- No global state \u2014 pass dependencies explicitly\n\n## Don't\n- No emoji in code or commits\n- No `print()` for debug \u2014 use `logger.debug()`\n- No new dependencies without justifying in PR description\n- Don't write code comments that just restate what code does\n\n## Common pitfalls\n- DB migrations: run `alembic upgrade head` after pulling\n- The `vendor\/` folder is git-tracked but not editable\n- `pytest` requires `.env.test` (copy from `.env.test.example`)\n\n## Architecture in 3 lines\n- Request \u2192 middleware (auth) \u2192 router \u2192 service \u2192 repository \u2192 DB\n- Async I\/O end-to-end with `asyncpg`\n- Background jobs in `app\/jobs\/` use `arq` (not Celery)\n\n## Imports\n@README.md\n@docs\/architecture.md\n@AGENTS.md\n<\/code><\/pre>\nDos consejos de la pr\u00e1ctica de Karpathy: primero, la analog\u00eda \u00abAI is a junior dev with infinite enthusiasm\u00bb<\/em> \u2014 el agente IA es como un desarrollador junior talentoso pero amn\u00e9sico que espera el briefing de la ma\u00f1ana; CLAUDE.md es ese briefing puesto por escrito. Segundo, el principio de \u00abliving memory\u00bb<\/em>: el archivo no deber\u00eda ser un README de escribir y olvidar \u2014 debe crecer con cada nuevo error que cometa la IA.<\/p>\n \n<\/span>CLAUDE.md vs Cursor Rules vs ChatGPT Custom Instructions<\/span><\/h2>\nLas tres principales herramientas de coding con IA almacenan el contexto del desarrollador de formas distintas. A 2026 el sistema CLAUDE.md de Claude Code<\/strong> es el m\u00e1s rico y jer\u00e1rquico \u2014 managed\/project\/user\/local + path-scoped rules + auto memory + imports. Cursor<\/strong> ofrece una estructura similar con Markdown + YAML frontmatter dentro de .cursor\/rules\/<\/code>, pero sin un alcance de usuario compartido. ChatGPT Custom Instructions<\/strong> est\u00e1 ligado a tu cuenta de OpenAI, guardado en la nube, dos campos de texto plano \u2014 sin contexto de proyecto.<\/p>\n\n\n\n| Dimensi\u00f3n<\/th>\n | CLAUDE.md (Claude Code)<\/th>\n | Cursor Rules<\/th>\n | ChatGPT Custom Instructions<\/th>\n<\/tr>\n<\/thead>\n | \n\n| Ubicaci\u00f3n<\/td>\n | Repo + usuario + managed (org)<\/td>\n | .cursor\/rules\/*.md<\/code><\/td>\n| Cuenta OpenAI (nube)<\/td>\n<\/tr>\n | \n| Jerarqu\u00eda<\/td>\n | 4 alcances + anidados + auto memory<\/td>\n | Solo proyecto<\/td>\n | Solo usuario<\/td>\n<\/tr>\n | \n| Formato<\/td>\n | Markdown + YAML frontmatter (rules)<\/td>\n | Markdown + YAML frontmatter<\/td>\n | Texto plano (2 campos)<\/td>\n<\/tr>\n | \n| Imports<\/td>\n | @path<\/code> recursivo 5 saltos<\/td>\n| Limitados<\/td>\n | Ninguno<\/td>\n<\/tr>\n | \n| Path-scoped rules<\/td>\n | \u2705 .claude\/rules\/<\/code> + glob paths<\/code><\/td>\n| Parcial<\/td>\n | \u274c<\/td>\n<\/tr>\n | \n| Auto memory<\/td>\n | \u2705 v2.1.59+<\/td>\n | \u274c<\/td>\n | \u274c<\/td>\n<\/tr>\n | \n| Interop AGENTS.md<\/td>\n | \u2705 Import @AGENTS.md<\/code><\/td>\n| \u274c<\/td>\n | \u274c<\/td>\n<\/tr>\n | \n| Versionado<\/td>\n | S\u00ed (en Git)<\/td>\n | S\u00ed (en Git)<\/td>\n | No (solo nube)<\/td>\n<\/tr>\n | \n| Compartir en equipo<\/td>\n | S\u00ed<\/td>\n | S\u00ed<\/td>\n | No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n Recomendaci\u00f3n pr\u00e1ctica: si usas todas las herramientas en el mismo proyecto, escribe CLAUDE.md como fuente maestra<\/strong>, importa AGENTS.md desde \u00e9l y copia id\u00e9nticamente a .cursor\/rules\/<\/code> para Cursor. En ChatGPT Custom Instructions pon solo preferencias personales<\/strong> (p. ej. \u00abResponde en espa\u00f1ol, comentarios de c\u00f3digo en ingl\u00e9s\u00bb) \u2014 los detalles de proyecto no van ah\u00ed porque se aplican a cada proyecto de tu cuenta.<\/p>\n \n<\/span>Consejos pr\u00e1cticos para desarrolladores hispanohablantes<\/span><\/h2>\nLa adopci\u00f3n de CLAUDE.md se expandi\u00f3 r\u00e1pidamente en la comunidad de desarrolladores hispanohablantes desde finales de 2025. Se ve en side projects abiertos en GitHub desde Madrid, Barcelona, Buenos Aires, Ciudad de M\u00e9xico, Bogot\u00e1. La regla com\u00fan es la coherencia ling\u00fc\u00edstica<\/strong>: comentarios de c\u00f3digo, mensajes de error y docstrings en ingl\u00e9s; documentaci\u00f3n de usuario en espa\u00f1ol; descripciones de PR biling\u00fces. Una sola l\u00ednea en CLAUDE.md basta: \u00abCode comments, docstrings, error messages: English. Documentation in docs\/<\/code>: Spanish. PR descriptions: bilingual.\u00bb<\/em><\/p>\nSegundo tema recurrente en proyectos hispanos: encoding y locale<\/strong>. UTF-8 (sin BOM), collation utf8mb4_unicode_ci<\/code>, y es_ES.UTF-8<\/code> (o es_MX<\/code>, es_AR<\/code>) expl\u00edcito en tests sensibles al orden es pr\u00e1ctica est\u00e1ndar. Sin esa nota, la IA produce inconsistencias con tildes y \u00f1. Tercer bloque cr\u00edtico: regulaci\u00f3n y reglas de negocio locales<\/strong>: cumplimiento del RGPD (UE) o la LFPDPPP (M\u00e9xico), facturaci\u00f3n electr\u00f3nica en formatos CFDI (M\u00e9xico) o Facturae (Espa\u00f1a), formateo de precios en EUR f\"{amount:,.2f} \u20ac\"<\/code> o MXN\/ARS seg\u00fan el pa\u00eds \u2014 reglas que la IA no conoce por s\u00ed sola.<\/p>\n\u00daltimo consejo: versiona CLAUDE.md con el equipo<\/strong>. Archivo en main<\/code> y revisi\u00f3n en cada PR. Una regla a\u00f1adida por un desarrollador se convierte instant\u00e1neamente en el est\u00e1ndar del equipo porque la IA siempre lee la versi\u00f3n m\u00e1s reciente. Esa es la base del movimiento por el cual los equipos hispanohablantes codifican est\u00e1ndares t\u00e9cnicos junto con la IA.<\/p>\n | | | | |
|