Appearance
AutobaseNextCli
Herramienta CLI para sincronización de desarrollo con el servidor Autobase.
Instalación (y actualización)
Descargar Autobase CLI
Descomprimir
Instalar, ejecutando
bash
install.bat
# o install.ps1Configuración Inicial
1. Configurar Servidor (Opcional)
Por defecto, el CLI se conecta al servidor de Producción. Para desarrollo interno del staff, puedes cambiar al servidor de Testing o Local:
bash
autobase serverSelecciona el ambiente deseado:
Production-https://prod.autobase.dev(por defecto)Testing-https://test.autobase.devLocal-http://localhost:5000
La configuración es global y afecta todos los comandos del CLI.
2. Iniciar Sesión
bash
autobase loginInicia sesión con tu usuario y contraseña.
Comandos Disponibles
🔐 Autenticación
autobase login [username]
Inicia sesión en el servidor usando credenciales de usuario.
Modo interactivo:
bash
autobase loginCon usuario como parámetro:
bash
autobase login juan.perezCaracterísticas:
- Solicita la contraseña de forma segura (no se muestra en pantalla)
- Guarda el token de sesión localmente
- La sesión se mantiene hasta que se ejecute
logout - Muestra información del tenant y usuario después del login exitoso
autobase logout
Cierra la sesión actual y elimina el token de sesión guardado localmente.
Ejemplo:
bash
autobase logout⚙️ Configuración
autobase server
Selecciona el ambiente del servidor (Production/Testing/Local).
Opciones disponibles:
- Production -
https://prod.autobase.dev(por defecto) - Testing -
https://test.autobase.dev - Local -
http://localhost:5000
Ejemplo:
bash
autobase serverautobase status
Muestra el estado actual del CLI: servidor configurado, usuario logueado y estado de la sesión.
Ejemplo:
bash
autobase statusSalida:
╭─ Autobase CLI Status ─╮
│ Server: production (https://prod.autobase.dev) │
│ User: juan.perez │
│ Session: active │
╰──────────────────────────────────────────────────╯📦 Desarrollo y Despliegue
autobase clone <tenant> <app> <env>
Descarga todos los archivos de una aplicación del servidor e inicializa el proyecto local creando el archivo autobase.json en la carpeta actual.
Sintaxis:
bash
autobase clone <tenant> <app> <env>Ejemplo:
bash
autobase clone mycompany myapp devNota: Los tres parámetros son obligatorios.
autobase watch
Monitorea cambios en archivos locales y los sincroniza automáticamente con el servidor.
Ejemplo:
bash
autobase watchOpciones:
-d|--debounce <ms>- Tiempo de espera en milisegundos antes de sincronizar (default: 1000)
Características:
- File system watcher en tiempo real
- Debounce de eventos (evita sincronizaciones múltiples)
- Deduplicación de eventos
- Ignora archivos temporales (.tmp, .swp, ~)
- Ignora directorios (.git, bin, obj)
autobase push
Despliega archivos al servidor. Compara hashes SHA256 y solo sube archivos modificados.
Ejemplo:
bash
autobase pushCaracterísticas:
- Compara hashes para detectar cambios
- Solo sube archivos modificados
- Muestra tabla con archivos a actualizar
autobase compile-app
Compila la aplicación en el servidor.
Ejemplo:
bash
autobase compile-app🔧 Operaciones Avanzadas
autobase promote <tenant> <app> <source-env> <target-env>
Copia todos los archivos de un ambiente de origen a uno de destino (sobrescribe el destino).
Ejemplo:
bash
autobase promote mycompany customerportal dev prod⚠️ PRECAUCIÓN: Esta operación sobrescribe completamente el ambiente de destino.
autobase convert [tenant] [app] [env]
Convierte una aplicación del motor clásico al motor NEXT (solo en servidor, sin efecto en cliente).
Modo interactivo:
bash
autobase convertCon parámetros:
bash
autobase convert mycompany myapp devautobase update-client-app [version]
Actualiza la aplicación cliente a la última versión o a una versión específica.
Ejemplos:
bash
# Actualizar a la última versión
autobase update-client-app
# Actualizar a una versión específica
autobase update-client-app 1.2.3ℹ️ Información
autobase version
Muestra la versión del CLI.
Ejemplo:
bash
autobase versionArchivo de Configuración
autobase.json
Archivo de configuración del proyecto creado por autobase clone:
json
{
"tenant": "mycompany",
"app": "myapp",
"env": "dev",
"createdAtUtc": "2025-04-06T12:00:00Z"
}Nota: Este archivo puede subirse a Git (no contiene secrets).
Flujo de Trabajo Típico
Configuración Inicial
Configurar ambiente (opcional, solo para testing o local):
bashautobase server # Seleccionar: Production / Testing / LocalIniciar sesión:
bashautobase loginVerificar estado:
bashautobase status
Desarrollo con Proyecto Existente
Clonar aplicación existente:
bashautobase clone mycompany myapp devDesarrollar con sincronización automática:
bashautobase watchAhora cualquier cambio en los archivos se sincronizará automáticamente con el servidor.
Despliegue Manual
Verificar cambios:
bashautobase pushCompilar aplicación:
bashautobase compile-app
Promoción a Producción
Para copiar todos los archivos de desarrollo a producción:
bash
autobase promote mycompany myapp dev prod⚠️ PRECAUCIÓN: Esta operación sobrescribe completamente el ambiente de destino.
Notas
- La configuración del servidor es global y afecta todos los comandos del CLI
- El archivo
autobase.jsonpuede subirse a Git (no contiene secretos) - En modo DEBUG, el CLI usa
http://localhost:5000automáticamente - El comando
watchincluye debounce y deduplicación de eventos para evitar sincronizaciones innecesarias