Resumen del CLI
Un solo binario para desplegar, gestionar y monitorear tus apps desde la terminal.
Qué es el CLI de sh0
El CLI de sh0 es un binario independiente que se comunica con tu servidor sh0 a través de su API REST. Proporciona más de 30 comandos para todo lo que puedes hacer en el panel de control -- despliegues, logs, escalado, variables de entorno, trabajos cron, plantillas y más.
Funciona desde cualquier máquina: tu laptop, un runner de CI o un servidor remoto. Autentícate una vez con sh0 login y estarás listo.
Instalar
Un comando, sin dependencias. Soporta Linux y macOS en x64 y ARM64.
curl -fsSL https://get.sh0.dev | bashEl script detecta tu SO y arquitectura, descarga el binario correcto desde GitHub Releases y lo coloca en /usr/local/bin/sh0. Ver Instalación para opciones de descarga manual y configuración.
Cuatro flujos principales
1. Push Deploy
Despliega directamente desde un directorio local. El CLI detecta tu stack, sube archivos, construye un contenedor y devuelve una URL en vivo -- todo en un comando.
sh0 init # Optional: detect stack, create .sh0ignore
sh0 push # Deploy to live URLEl primer push crea una nueva app. Los pushes subsiguientes la actualizan. El vínculo se almacena en .sh0/link.json para que el CLI sepa qué app actualizar. Usa sh0 link <app> para conectar un directorio a una app existente. Ver Push Deploy para la guía completa.
2. Modo observación
Para flujos de desarrollo, sh0 watch monitorea tu proyecto en busca de cambios de archivos y re-push automáticamente después de un retraso de debounce configurable (por defecto: 2 segundos).
sh0 watch # Watch current directory
sh0 watch --debounce 3000 # 3s debounceRespeta patrones .sh0ignore. Presiona Ctrl+C para detener.
3. Gestión de despliegues Git
Para apps conectadas a un repositorio Git, el CLI te permite activar despliegues, gestionar variables de entorno, configurar dominios y controlar el ciclo de vida de la app:
sh0 deploy myapi --wait
sh0 env myapi set DATABASE_URL="postgres://..."
sh0 domains myapi add api.example.com
sh0 restart myapi4. Monitoreo y operaciones
Transmite logs, verifica estado, accede a contenedores por SSH, gestiona trabajos cron y controla el ciclo de vida de apps -- todo sin salir de tu terminal:
sh0 logs myapi --follow --tail 50
sh0 status
sh0 ssh myapi -- ls /app
sh0 restart myapi
sh0 open myapi # Open in browser
sh0 cron lsErgonomía del desarrollador
El CLI incluye comandos para optimizar tu flujo de trabajo diario:
sh0 init-- Detectar tu stack y generar un archivo.sh0ignorecon patrones apropiadossh0 link <app>-- Conectar un directorio local a una app existente para futuros pushessh0 open [app]-- Abrir la URL de la app en tu navegador predeterminadosh0 config show|set|get-- Ver y gestionar la configuración del CLI (URL del servidor, token)sh0 restart|stop|start|delete-- Control completo del ciclo de vida de la app desde la terminalsh0 domains <app> list|add|remove-- Gestionar dominios personalizados para cualquier app
CLI vs. panel de control
El CLI y el panel de control son complementarios. Ambos usan la misma API REST y tienen paridad completa de funciones.
| Escenario | Mejor opción |
|---|---|
| Despliegue rápido desde proyecto local | sh0 push |
| Integración de pipeline CI/CD | CLI con salida --json |
| Resumen visual de stacks y recursos | Panel de control |
| Despliegues de plantilla de un clic | Panel de control |
| Transmisión de logs durante depuración | sh0 logs --follow |
| Cambios masivos de variables de entorno | Scripting CLI |
--json para salida legible por máquinas. Canaliza a jq, alimenta scripts o intégrate con cualquier herramienta de automatización.