#055

/init en Claude Code: mucho más que un CLAUDE.md de plantilla

Por defecto `/init` te genera un CLAUDE.md básico. Con la variable `CLAUDE_CODE_NEW_INIT=1` desbloqueas un flujo interactivo que también scaffolda skills y hooks analizando tu repo, y aplica la regla "solo lo que Claude no inferiría solo".

De cero a profesional: tips, tutoriales y guías en profundidad de Claude Code.

Explorar el hub

Los dos modos de /init: por defecto genera un CLAUDE.md básico; con CLAUDE_CODE_NEW_INIT=1 scaffolda CLAUDE.md mínimo + skills + hooks

TL;DR Por defecto /init te genera un CLAUDE.md básico. Con la variable CLAUDE_CODE_NEW_INIT=1 desbloqueas un flujo interactivo que también scaffolda skills y hooks analizando tu repo, y aplica la regla "solo lo que Claude no inferiría solo".

/init es uno de esos comandos built-in que casi todo el mundo ejecuta una vez el primer día y nunca más. Y se quedan con el modo pobre: un CLAUDE.md genérico que Anthropic ya considera deprecated en su filosofía actual ("CLAUDE.md is loaded into every Claude Code session, so it must be concise — only include what Claude would get wrong without it").

El flujo nuevo va más allá: te puede generar también las primeras skills del proyecto y hooks básicos. Y lo importante: aplica disciplina en CLAUDE.md desde el primer momento. Si ya tienes uno y está lleno de basura, re-ejecutar /init con el flujo nuevo es la forma más limpia de empezar de cero.

Cómo funciona internamente

Cuando ejecutas /init, Claude Code carga uno de dos prompts según la variable CLAUDE_CODE_NEW_INIT:

Modo Variable Descripción Qué genera
Default (no definida) "Initialize a new CLAUDE.md file with codebase documentation" CLAUDE.md básico + nota sobre /plugin
Nuevo CLAUDE_CODE_NEW_INIT=1 "Initialize new CLAUDE.md file(s) and optional skills/hooks with codebase documentation" CLAUDE.md mínimo + skills (opcional) + hooks (opcional)

El modo nuevo se gobierna por la regla literal del prompt: "CLAUDE.md is loaded into every Claude Code session, so it must be concise — only include what Claude would get wrong without it." Es decir: nada de listar dependencias del package.json, estructura de carpetas, o convenciones del lenguaje — Claude las infiere solo.

Cómo lo activas

Solo para una sesión:

CLAUDE_CODE_NEW_INIT=1 claude

Y dentro de la sesión:

/init

Permanentemente en tu shell:

echo 'export CLAUDE_CODE_NEW_INIT=1' >> ~/.zshrc

Cuándo re-ejecutarlo

/init no es "una vez y olvidar":

  • Refactor mayor: si moviste código a un monorepo, cambiaste de framework o introdujiste skills nuevas, re-init para que CLAUDE.md y los hooks reflejen el nuevo estado.
  • Tras eliminar deprecated: si tu CLAUDE.md describe un módulo que ya no existe, mejor regenerar que parchear.
  • Antes de onboarding: el primer día de un nuevo developer, un CLAUDE.md limpio acelera la curva.

Bonus: /init-verifiers

Existe un comando hermano que casi nadie conoce:

/init-verifiers

Genera skills específicos para verificación automatizada de cambios de código. Útil si quieres que ciertas comprobaciones (linter, tests específicos, validación de tipos) se ejecuten consistentemente como skills auto-invocables después de cada edit.

Referencia

Comando Para qué
/init (default) CLAUDE.md básico generado por análisis automático
CLAUDE_CODE_NEW_INIT=1 + /init CLAUDE.md mínimo + skills + hooks
/init-verifiers Skills de verificación post-edit

Documentación oficial: Comandos de Claude Code

Recibe solo lo esencial

Si no hay nada que decir, no escribo. Si hay algo importante, te aviso. 7.000+ profesionales ya confían en esto.

¿Eres desarrollador/a Web profesional?
No

Cancela la suscripción en cualquier momento.