Qué hace
spraxium new crea un directorio de proyecto nuevo desde cero. Ejecuta un asistente interactivo que recoge nombre de proyecto, plantilla, paquetes extra opcionales y preferencia de Git. Cuando termina el asistente, el CLI hace scaffolding del directorio, instala todas las dependencias y opcionalmente inicializa un repositorio Git. Terminas con un proyecto funcional listo para spraxium dev.
Ejecuta el comando desde cualquier directorio fuera de tu proyecto actual. También puedes pasar el nombre del proyecto directamente como argumento para omitir el primer prompt.
spraxium new
spraxium new my-bot
# alias:
spraxium n my-botEl principal beneficio de usar el asistente en lugar de crear archivos a mano es la consistencia. Empiezas con la estructura de carpetas, el conjunto de paquetes, la configuración de TypeScript y el wiring del framework que Spraxium espera, lo que reduce limpieza posterior.
Qué pregunta el asistente
Nombre del proyecto
Puedes escribir el nombre del proyecto de forma interactiva o pasarlo por línea de comandos. El CLI usa ese nombre para el directorio y los metadatos del paquete.
Plantilla
Elige el punto de partida que más se parezca al bot que quieres construir. Esta elección controla qué archivos y paquetes se precargan.
Paquetes opcionales
En la plantilla default, el asistente te permite incluir paquetes adicionales del framework para que la instalación inicial encaje con tu caso de uso.
Inicialización de Git
Decide si el CLI debe inicializar un repositorio Git inmediatamente. Es conveniente para proyectos nuevos, pero opcional.
Plantillas disponibles
Hay tres plantillas disponibles. Cada una representa una configuración inicial distinta, y el asistente te deja elegir entre ellas antes del scaffolding.
Elige la plantilla más pequeña que aun así encaje con la forma del proyecto que sabes que necesitas. Es más fácil añadir un paquete después que cargar piezas sin uso desde el día uno.
Paquetes opcionales
Cuando eliges la plantilla default, el asistente muestra un prompt de casillas donde puedes seleccionar cualquier combinación de los siguientes paquetes extra. Las plantillas no default usan un conjunto fijo.
Si estás empezando, la opción más segura suele ser comenzar con lo mínimo y añadir paquetes cuando aparezca el primer caso de uso real. Para equipos con experiencia y arquitectura definida, preseleccionar los paquetes correctos desde el inicio reduce la primera ronda de ajustes.
Qué instala el asistente
El CLI siempre instala un conjunto fijo de paquetes core, sin importar la plantilla: @spraxium/common, @spraxium/core, @spraxium/env y discord.js. Las dependencias de desarrollo incluyen @spraxium/cli, typescript, @types/node y tsdown.
Cualquier paquete extra que selecciones se añade en la misma pasada de instalación. El instalador detecta si estás dentro de un monorepo y resuelve referencias locales de workspace cuando corresponde. Si no detecta un package manager, el CLI usa pnpm por defecto.
Qué obtienes inmediatamente después de la generación
Cuando el comando termina, ya tienes lo esencial:
- Un directorio de proyecto funcional.
- Una carpeta src lista para editar con los archivos iniciales de la plantilla.
- Un archivo spraxium.config.ts alineado con la configuración elegida.
- Dependencias instaladas.
- Un repositorio Git opcional si lo activaste.
Eso es suficiente para pasar directo a la configuración de entorno y a spraxium dev sin una fase de bootstrap manual separada.
El directorio no debe existir
Si ya existe un directorio con ese nombre de proyecto en la ruta actual, el comando se detiene inmediatamente sin escribir archivos. Renombra o elimina el directorio en conflicto antes de ejecutar el asistente otra vez.
Siguientes pasos recomendados
Después del scaffolding, la secuencia habitual es:
- Completar las variables de entorno.
- Ejecutar spraxium dev una vez para confirmar que la app arranca.
- Usar spraxium generate para agregar el primer módulo, servicio o comando real.
Así mantienes el proyecto avanzando en pasos pequeños y verificables, en lugar de añadir mucho código antes del primer arranque exitoso.