Instalación
npm install -g @jelou/cli
Verifica la instalación:
jelou --version
# jelou/0.1.1
Para desinstalar:
npm uninstall -g @jelou/cli
Autenticación
jelou login
Autentícate con tu token de acceso personal.
jelou login
# Paste your access token: ****
# ✓ Logged in as ci-deploy
Opción Tipo Descripción --tokenstringToken directo (para CI) --profilestringGuarda las credenciales bajo este nombre de perfil
jelou login --token jfn_pat_tu_token
jelou login --token jfn_pat_otro_token --profile staging
Tus tokens comienzan con jfn_pat_ y deben tener al menos 20 caracteres. Las credenciales se guardan en ~/.jelou/credentials.json con permisos restringidos (0600).
jelou logout
Elimina tus credenciales almacenadas.
jelou logout
jelou logout --profile staging
jelou logout --all
Opción Descripción --profileElimina un perfil específico --allElimina todos los perfiles y el archivo de credenciales
jelou whoami
Muestra tu identidad autenticada actual.
jelou whoami
# ▸ Token: ci-deploy
# ▸ Prefix: jfn_pat_abc...
# ▸ Scopes: functions:read, functions:deploy
# ▸ API: https://api.jelou.ai
Perfiles
El CLI soporta múltiples cuentas mediante perfiles con nombre. Las credenciales se almacenan en ~/.jelou/credentials.json.
jelou auth list
Lista todos los perfiles guardados.
jelou auth list
# ▸ Profile Identity Type Active
# ▸ default jelou:3024 API Key ✓
# ▸ staging jelou:5011 API Key
jelou auth switch [name]
Cambia el perfil activo.
jelou auth switch staging
Sin argumento, muestra un menú interactivo para seleccionar el perfil.
jelou auth remove <name>
Elimina un perfil guardado. Pide confirmación a menos que uses --yes.
jelou auth remove staging
jelou auth remove staging -y
Orden de resolución del perfil: JELOU_TOKEN env > --profile flag > JELOU_PROFILE env > activeProfile en el archivo.
Proyecto
jelou init
Crea un nuevo proyecto o vincula una función remota existente.
jelou init
# ? Function slug: consultar-cliente
# ? Description: Busca información de clientes
# ? Create new or link existing? Create new
# ✓ Created consultar-cliente
Opción Tipo Descripción --slugstringSlug de la función --descriptionstringDescripción --modestringcreate o link--force— Sobreescribe jelou.json existente
Archivos generados:
Archivo Propósito jelou.jsonConfiguración del proyecto (function, entrypoint) index.tsTemplate inicial con define() deno.jsonImport map del SDK .envVariables de entorno locales .gitignoreExcluye .env y .jelou/
Desarrollo local
jelou dev
Inicia un servidor local con hot reload.
jelou dev
jelou dev --port 3001
jelou dev --env .env.local
jelou dev --no-watch
Opción Tipo Predeterminado Descripción --portnumber3000Puerto de escucha --envstring.envRuta al archivo de variables de entorno --no-watch— falseDesactiva la observación de archivos --local-sdkstring— Ruta a un SDK local (para desarrollo del SDK)
El servidor expone /__health y /mcp, observa archivos .ts, .js, .json con recarga automática (300ms debounce), y usa datos de contexto mock.
Despliegue
jelou deploy
Despliega el directorio actual a producción.
jelou deploy
jelou deploy --no-confirm
jelou deploy --follow
Opción Alias Descripción --no-confirm— Omite el prompt de confirmación --follow-fSigue los logs del despliegue en tiempo real --no-wait— No espera a que el despliegue termine
Cuando despliegas, el CLI lee jelou.json, recolecta tus archivos desplegables, muestra un resumen y los sube.
Extensiones permitidas: .ts, .js, .json, .md, .txt. Se ignoran node_modules, .git, .env, dist, .jelou y archivos ocultos.
jelou rollback [slug] [deploymentId]
Revierte a un despliegue anterior.
jelou rollback
jelou rollback consultar-cliente
jelou rollback consultar-cliente dep_abc123
Argumento Requerido Descripción slugNo Slug de la función (usa jelou.json si se omite) deploymentIdNo ID del despliegue al que revertir
Sin deploymentId, muestra un menú interactivo con despliegues recientes.
Despliegues
jelou deployments list [slug]
Lista los despliegues recientes de una función.
jelou deployments list consultar-cliente
# ▸ ID Status Source Files Deployed By Age
# ▸ dep_abc12345 active cli 3 [email protected] 2h ago
# ▸ dep_def67890 active cli 3 [email protected] 1d ago
Argumento Requerido Descripción slugNo Slug de la función (usa jelou.json si se omite)
jelou deployments info <slug> <id>
Muestra información detallada de un despliegue específico.
jelou deployments info consultar-cliente dep_abc12345
# ▸ ID: dep_abc12345-...
# ▸ Status: active
# ▸ URL: https://consultar-cliente.fn.jelou.ai
# ▸ Source: cli
# ▸ Deployed By: [email protected]
# ▸ Files: 3
# ▸ Source Size: 4.2 KB
# ▸ Artifact Size: 1.8 KB
# ▸ Artifact: available
Los IDs de despliegue soportan coincidencia por prefijo — solo necesitas los caracteres suficientes para que sea único (ej: dep_abc en lugar del ID completo).
jelou deployments download <slug> <id>
Descarga el artefacto del despliegue como archivo .tar.gz con los archivos fuente originales.
jelou deployments download consultar-cliente dep_abc12345
# ✓ Artifact saved to consultar-cliente-dep_abc12345.tar.gz
jelou deployments download consultar-cliente dep_abc12345 -o backup.tar.gz
# ✓ Artifact saved to backup.tar.gz
Opción Alias Tipo Descripción --output-ostringRuta del archivo de salida (predeterminado: {slug}-{id-prefix}.tar.gz)
Solo los despliegues con artefacto disponible pueden descargarse. Los despliegues anteriores a esta funcionalidad mostrarán Artifact: none.
Funciones
jelou functions list
Lista todas las funciones de tu cuenta.
jelou functions list
# ▸ Slug Status URL Updated
# ▸ consultar-cliente active https://consultar-cliente.fn.jelou.ai 2 hours ago
# ▸ procesar-pago active https://procesar-pago.fn.jelou.ai 1 day ago
jelou functions info <slug>
Muestra información detallada de una función.
jelou functions info consultar-cliente
# ▸ Name: Consultar Cliente
# ▸ Slug: consultar-cliente
# ▸ Status: active
# ▸ URL: https://consultar-cliente.fn.jelou.ai
# ▸ Deployment: dep_abc12345..
# ▸ Cron Synced: yes
jelou functions create
Crea una nueva función remota.
jelou functions create
jelou functions create --slug procesar-pago --name "Procesar Pago" --description "Procesa pagos"
Opción Tipo Descripción --slugstringSlug de la función --namestringNombre visible (default: slug) --descriptionstringDescripción
El slug debe coincidir con ^[a-z0-9][a-z0-9-]*[a-z0-9]$.
jelou functions delete <slug>
Elimina una función. Pide confirmación a menos que uses --yes.
jelou functions delete consultar-cliente
jelou functions delete consultar-cliente --yes
jelou functions delete consultar-cliente -y
Secrets
jelou secrets list [slug]
Lista las claves de secrets de una función.
jelou secrets list consultar-cliente
# ▸ Key Updated
# ▸ CRM_API_KEY 2 hours ago
# ▸ DATABASE_URL 3 days ago
jelou secrets set [slug] [...values]
Configura secrets. Tres modos de entrada:
Inline
Archivo .env
Interactivo
jelou secrets set consultar-cliente CRM_API_KEY=YOUR_API_KEY DATABASE_URL=postgres://...
jelou secrets set consultar-cliente --from-env .env.production
jelou secrets set consultar-cliente
# ? Secret key: CRM_API_KEY
# ? Secret value: ****
# ? Add another secret? (y/N) n
# ✓ Set 1 secret
Las claves deben ser UPPER_SNAKE_CASE (^[A-Z][A-Z0-9_]*$).
jelou secrets delete <slug> <key>
Elimina un secret.
jelou secrets delete consultar-cliente CRM_API_KEY
# ✓ Deleted CRM_API_KEY
Cron
jelou cron list [slug]
Lista los schedules cron de una función.
jelou cron list consultar-cliente
# ▸ Expression Timezone Enabled Last Triggered
# ▸ 0 9 * * * America/Guayaquil yes 2 hours ago
Los schedules cron son declarativos: se definen en config.cron y se sincronizan automáticamente en cada despliegue.
jelou cron logs [slug]
Muestra logs de ejecuciones cron.
jelou cron logs consultar-cliente
jelou cron logs consultar-cliente --state ERROR
Opción Tipo Descripción --statestringFiltra por estado de la ejecución --cursorstringCursor de paginación para obtener más resultados
Logs
jelou logs [slug]
Transmite logs en vivo o consulta el historial.
jelou logs consultar-cliente
jelou logs consultar-cliente --history
Opción Alias Predeterminado Descripción --follow-ftrueTransmite logs en vivo --history— falseObtiene un lote de logs históricos
Presiona Ctrl+C para detener la transmisión.
Skills para agentes IA
jelou skill install
Instala el skill de Jelou Functions en agentes de IA detectados.
jelou skill install
# ✓ Installed jelou-functions skill for 4 agents
Opción Descripción --globalInstala globalmente en lugar de por proyecto
Soporta Claude Code, Cursor, Windsurf, Cline, Continue, Roo Code, Amp, Codex, Gemini CLI, GitHub Copilot, y más.
Flags globales
Flag Descripción --profileUsa un perfil de autenticación específico --no-inputDesactiva prompts interactivos --jsonOutput en JSON estructurado a stdout --helpMuestra ayuda del comando --versionMuestra la versión del CLI
Variables de entorno
Variable Descripción JELOU_TOKENToken de acceso (sobreescribe credentials.json) JELOU_PROFILENombre del perfil a usar (sobreescribe activeProfile) JELOU_API_URLURL base de la API (sobreescribe config.json) CItrue activa modo no-interactivoJELOU_NO_INPUT1 desactiva prompts interactivos
Modo CI / No-Interactivo
El modo no-interactivo se activa automáticamente cuando:
Se pasa --no-input
CI=true está definido
JELOU_NO_INPUT=1 está definido
stdin no es un TTY
En este modo, los spinners emiten texto plano y los prompts usan valores de flags o defaults.
Comando Flags para uso no-interactivo login--token <token>, --profile <name>init--slug, --description, --mode, --forcefunctions create--slug, --name, --descriptionfunctions delete--yes / -yauth remove--yes / -ydeploy--no-confirmrollbackArgs posicionales: <slug> <deploymentId> secrets setArgs KEY=VALUE o --from-env
“No jelou.json found” — No estás en un directorio de proyecto. Ejecuta jelou init o navega al directorio correcto.“Not authenticated” — Ejecuta jelou login o define JELOU_TOKEN.“Invalid or expired token” — Tu token fue revocado o la URL de la API está mal configurada. Re-autentícate con jelou login.“Insufficient scope” — Tu token no tiene los permisos necesarios. Ejecuta jelou whoami para ver tus scopes actuales.“Entrypoint not found” — El archivo en jelou.json → entrypoint no existe. Verifica la ruta.Errores de límite en deploy — Máximo 20 archivos, 256 KB por archivo, 1 MB total. Extensiones permitidas: .ts, .js, .json, .md, .txt.Puerto en uso — Usa jelou dev --port 3001.CLI no encontrado — Verifica que instalaste el CLI con npm install -g @jelou/cli o úsalo con npx @jelou/cli.Desconexión en logs — jelou logs usa SSE. Usa jelou logs --history como alternativa.