Skip to content

AutobaseNextCli

Herramienta CLI para sincronización de desarrollo con el servidor Autobase.

Instalación (y actualización)

  1. Descargar Autobase CLI

  2. Descomprimir

  3. Instalar, ejecutando

bash
install.bat
# o install.ps1

Configuració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 server

Selecciona el ambiente deseado:

  • Production - https://prod.autobase.dev (por defecto)
  • Testing - https://test.autobase.dev
  • Local - http://localhost:5000

La configuración es global y afecta todos los comandos del CLI.

2. Iniciar Sesión

bash
autobase login

Inicia 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 login

Con usuario como parámetro:

bash
autobase login juan.perez

Caracterí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 server

autobase status

Muestra el estado actual del CLI: servidor configurado, usuario logueado y estado de la sesión.

Ejemplo:

bash
autobase status

Salida:

╭─ 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 dev

Nota: Los tres parámetros son obligatorios.

autobase watch

Monitorea cambios en archivos locales y los sincroniza automáticamente con el servidor.

Ejemplo:

bash
autobase watch

Opciones:

  • -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 push

Caracterí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 convert

Con parámetros:

bash
autobase convert mycompany myapp dev

autobase 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 version

Archivo 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

  1. Configurar ambiente (opcional, solo para testing o local):

    bash
    autobase server
    # Seleccionar: Production / Testing / Local
  2. Iniciar sesión:

    bash
    autobase login
  3. Verificar estado:

    bash
    autobase status

Desarrollo con Proyecto Existente

  1. Clonar aplicación existente:

    bash
    autobase clone mycompany myapp dev
  2. Desarrollar con sincronización automática:

    bash
    autobase watch

    Ahora cualquier cambio en los archivos se sincronizará automáticamente con el servidor.

Despliegue Manual

  1. Verificar cambios:

    bash
    autobase push
  2. Compilar aplicación:

    bash
    autobase 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.json puede subirse a Git (no contiene secretos)
  • En modo DEBUG, el CLI usa http://localhost:5000 automáticamente
  • El comando watch incluye debounce y deduplicación de eventos para evitar sincronizaciones innecesarias