Skip to main content

CLI

Usa el CLI de NachUI para inicializar tu proyecto, agregar, actualizar, eliminar y listar componentes directamente desde la terminal.

El CLI de NachUI es la forma más rápida de gestionar componentes en tu proyecto. Se conecta al registro oficial y te permite instalar, actualizar y eliminar componentes sin salir de tu terminal.

Instalación

No necesitas instalar nada de forma global. Usa pnpm dlx o npx para ejecutar el CLI bajo demanda:
1pnpm dlx nachui <comando>
2# o
3npx nachui <comando>

Comandos

init

Inicializa NachUI en tu proyecto. Este es el primer comando que debes ejecutar. Se encargará de:
  1. Obtener los temas disponibles desde el registro.
  2. Pedirte que selecciones un tema de forma interactiva.
  3. Crear un archivo de configuración nachui.json en la raíz de tu proyecto.
  4. Inyectar los tokens CSS de diseño en tu hoja de estilos (src/app/globals.css para Next.js o src/index.css para Vite).
  5. Generar la función utilitaria cn en la ruta definida por aliases.utils.
1pnpm dlx nachui init
Después de ejecutar init, tu proyecto contendrá un archivo nachui.json similar a este:
1{
2 "$schema": "...",
3 "style": "default",
4 "tailwind": {
5 "config": "",
6 "baseColor": "zinc",
7 "css": "src/app/globals.css"
8 },
9 "aliases": {
10 "components": "@/components/ui",
11 "utils": "@/lib/utils"
12 }
13}
Info
Si nachui.json ya existe, init lo detectará y omitirá la re-inyección de tokens para evitar duplicados.

add

Agrega un componente del registro a tu proyecto. Requiere que exista nachui.json (ejecuta init primero).
1pnpm dlx nachui add <componente>
Ejemplo:
1pnpm dlx nachui add button
¿Qué hace?
  • Obtiene el código fuente del componente desde el registro.
  • Escribe el archivo del componente en la ruta definida en aliases.components (ej: src/components/ui/button.tsx).
  • Verifica si el componente tiene dependencias externas.
  • Si faltan dependencias, te preguntará si deseas instalarlas automáticamente usando tu gestor de paquetes (npm, pnpm, yarn o bun — detectado automáticamente).
Tip
Usa pnpm dlx nachui list para ver todos los slugs de componentes disponibles.

list

Lista todos los componentes disponibles actualmente en el registro de NachUI.
1pnpm dlx nachui list
Ejemplo de salida:
1Button (button)
2Input (input)
3 Deps: react-hook-form
4Dialog (dialog)
Cada entrada muestra el nombre del componente, su slug (usado con add/update/remove) y las dependencias requeridas.

update

Obtiene la última versión de un componente ya instalado desde el registro y sobreescribe el archivo local.
1pnpm dlx nachui update <componente>
Ejemplo:
1pnpm dlx nachui update button
El comando:
  1. Verifica que el componente está instalado (el archivo existe en aliases.components).
  2. Obtiene el código más reciente desde el registro.
  3. Pide confirmación antes de escribir.
  4. Reemplaza el archivo local con la versión actualizada.

remove

Elimina un componente instalado de tu proyecto borrando su archivo (o carpeta) del directorio de componentes.
1pnpm dlx nachui remove <componente>
Ejemplo:
1pnpm dlx nachui remove button
El comando busca button.tsx (o una carpeta button/) dentro de src/components/ui/. Si lo encuentra, pide confirmación antes de eliminarlo de forma permanente.

Flujo de trabajo típico

1# 1. Inicializar NachUI en tu proyecto
2pnpm dlx nachui init
3
4# 2. Ver los componentes disponibles
5pnpm dlx nachui list
6
7# 3. Agregar un componente
8pnpm dlx nachui add button
9
10# 4. Actualizar un componente a la última versión
11pnpm dlx nachui update button
12
13# 5. Eliminar un componente que ya no necesitas
14pnpm dlx nachui remove button

Archivo de configuración

El archivo nachui.json es creado por init y es requerido por los comandos add, update y remove. Controla dónde se colocan los componentes y utilidades dentro de tu proyecto.
CampoDescripción
styleEl estilo de tema seleccionado
tailwind.cssRuta a tu archivo CSS principal
aliases.componentsAlias de importación para el directorio de componentes
aliases.utilsAlias de importación para la utilidad cn
Si este archivo no existe, la mayoría de los comandos fallarán y te pedirán que ejecutes nachui init primero.