modularcore init
Qué hace
Sección titulada «Qué hace»init es el primer comando que se ejecuta en cualquier proyecto. Detecta automáticamente el framework usado (React, Svelte, Vue, Angular, Blade o ninguno) y el gestor de paquetes del proyecto, pregunta las rutas donde se instalarán los componentes y la URL del registry, y escribe el fichero modularcore.json que el resto de comandos necesita para funcionar.
La detección de framework solo se auto-selecciona cuando es inequívoca: exactamente un framework detectado y el directorio actual no es la raíz de un workspace/monorepo. En cualquier otro caso —cero coincidencias, más de una, o raíz de workspace— el comando explica el motivo y pide elegir el framework manualmente mediante un prompt interactivo (react, svelte, vue, angular, blade o vanilla).
La lista de frameworks no está en el código de la CLI: sale del catálogo que publica el registry (frameworks.json), que reúne los seis de casa con los que aporte cualquier componente en su frameworkDefs. Por eso init pregunta la URL del registry antes que nada. Si el registry no responde, avisa y sigue con los frameworks que la CLI ya conoce, para no depender de la red.
vanilla es la opción para páginas sin framework —Astro, HTMX, Rails, 11ty— cuya interactividad es TypeScript plano en un <script>. Un proyecto Laravel queda siempre en blade, porque composer.json lo delata antes de llegar aquí. Se detecta a partir de astro en las dependencias; con cualquier otro generador, elígelo a mano. La ausencia de todo marcador no basta para deducirlo: un proyecto que aún no ha instalado su framework es un proyecto desconocido, no uno sin framework, así que ahí init pregunta igual. Un Astro con islas de React declara ambos y también pregunta: elegir entre la isla y el script plano es decisión tuya.
Tras elegir framework, pregunta interactivamente:
- La ruta para componentes (
paths.components), con un valor por defecto según el framework (p. ej.src/components, oresources/views/componentspara Blade). - La ruta para la librería (
paths.lib), con valor por defectosrc/lib/modularcore(oresources/js/modularcoreen Blade). - La URL del registry, con valor por defecto
http://localhost:5173/registry.
Al finalizar, escribe modularcore.json en el directorio actual con la forma { registryUrl, framework, paths, installed: {} }, e informa por consola qué gestor de paquetes se detectó (npm, pnpm, yarn, etc.).
Sintaxis
Sección titulada «Sintaxis»modularcore initNo acepta argumentos ni flags adicionales — toda la configuración se recoge de forma interactiva mediante prompts.
Parámetros
Sección titulada «Parámetros»Ninguno. El comando no toma argumentos posicionales ni opciones de línea de comandos; todas las decisiones (framework, rutas, URL del registry) se hacen a través de los prompts interactivos descritos arriba.
Ejemplo
Sección titulada «Ejemplo»cd mi-proyecto-reactmodularcore init◆ modularcore init│◇ Framework detectado: react│◇ Ruta para componentes (paths.components)│ src/components│◇ Ruta para librería (paths.lib)│ src/lib/modularcore│◇ URL del registry│ http://localhost:5173/registry│◆ modularcore.json escrito. Package manager detectado: pnpm.Errores comunes
Sección titulada «Errores comunes»- Si cancelas cualquier prompt (Ctrl+C / Esc), la operación se aborta con “Operation cancelled.” sin escribir ningún fichero.
- Si el directorio parece la raíz de un workspace (monorepo), o se detectan varios frameworks a la vez, o ninguno,
initno adivina: te pedirá elegir el framework manualmente y explicará el motivo.
Ver también
Sección titulada «Ver también»- Visión general del CLI
add— usamodularcore.jsonpara saber dónde escribir los componentesupdate— reinyecta componentes ya instalados