Skip to main content

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ónTipoDescripció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ónDescripció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ónTipoDescripción
--slugstringSlug de la función
--descriptionstringDescripción
--modestringcreate o link
--forceSobreescribe jelou.json existente
Archivos generados:
ArchivoPropó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ónTipoPredeterminadoDescripción
--portnumber3000Puerto de escucha
--envstring.envRuta al archivo de variables de entorno
--no-watchfalseDesactiva la observación de archivos
--local-sdkstringRuta 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ónAliasDescripción
--no-confirmOmite el prompt de confirmación
--follow-fSigue los logs del despliegue en tiempo real
--no-waitNo 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
ArgumentoRequeridoDescripción
slugNoSlug de la función (usa jelou.json si se omite)
deploymentIdNoID 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
ArgumentoRequeridoDescripción
slugNoSlug 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ónAliasTipoDescripció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ónTipoDescripció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:
jelou secrets set consultar-cliente CRM_API_KEY=YOUR_API_KEY DATABASE_URL=postgres://...
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ónTipoDescripció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ónAliasPredeterminadoDescripción
--follow-ftrueTransmite logs en vivo
--historyfalseObtiene 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ónDescripció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

FlagDescripció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

VariableDescripció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-interactivo
JELOU_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.
ComandoFlags para uso no-interactivo
login--token <token>, --profile <name>
init--slug, --description, --mode, --force
functions create--slug, --name, --description
functions delete--yes / -y
auth remove--yes / -y
deploy--no-confirm
rollbackArgs 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.jsonentrypoint 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 logsjelou logs usa SSE. Usa jelou logs --history como alternativa.