Visão Geral do CLI
Um único binário para fazer deploy, gerenciar e monitorar seus apps pelo terminal.
O que é o CLI sh0
O CLI sh0 é um binário independente que se comunica com seu servidor sh0 pela API REST. Ele fornece mais de 30 comandos para tudo que você pode fazer no dashboard — deploys, logs, scaling, variáveis de ambiente, cron jobs, templates e mais.
Funciona de qualquer máquina: seu laptop, um runner CI ou um servidor remoto. Autentique uma vez com sh0 login e estará pronto.
Instalação
Um comando, sem dependências. Suporta Linux e macOS em x64 e ARM64.
curl -fsSL https://get.sh0.dev | bashO script detecta seu SO e arquitetura, baixa o binário correto do GitHub Releases e o coloca em /usr/local/bin/sh0. Veja Instalação para download manual e opções de configuração.
Quatro Fluxos Principais
1. Push Deploy
Faça deploy diretamente de um diretório local. O CLI detecta sua stack, envia arquivos, constrói um container e retorna uma URL online — tudo em um comando.
sh0 init # Optional: detect stack, create .sh0ignore
sh0 push # Deploy to live URLO primeiro push cria um novo app. Pushes subsequentes o atualizam. O vínculo é armazenado em .sh0/link.json para que o CLI saiba qual app atualizar. Use sh0 link <app> para conectar um diretório a um app existente. Veja Push Deploy para o guia completo.
2. Modo Watch
Para fluxos de desenvolvimento, sh0 watch monitora seu projeto para mudanças de arquivo e refaz push automaticamente após um atraso de debounce configurável (padrão: 2 segundos).
sh0 watch # Watch current directory
sh0 watch --debounce 3000 # 3s debounceRespeita padrões .sh0ignore. Pressione Ctrl+C para parar.
3. Gerenciamento de Deploy Git
Para apps conectados a um repositório Git, o CLI permite acionar deploys, gerenciar variáveis de ambiente, configurar domínios e controlar o ciclo de vida do app:
sh0 deploy myapi --wait
sh0 env myapi set DATABASE_URL="postgres://..."
sh0 domains myapi add api.example.com
sh0 restart myapi4. Monitoramento & Operações
Transmita logs, verifique status, conecte via SSH em containers, gerencie cron jobs e controle o ciclo de vida do app — tudo sem sair do 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 lsErgonomia do Desenvolvedor
O CLI inclui comandos para otimizar seu fluxo de trabalho diário:
sh0 init— Detectar sua stack e gerar um arquivo.sh0ignorecom padrões apropriadossh0 link <app>— Conectar um diretório local a um app existente para futuros pushessh0 open [app]— Abrir a URL do app no seu navegador padrãosh0 config show|set|get— Visualizar e gerenciar configuração do CLI (URL do servidor, token)sh0 restart|stop|start|delete— Controle completo do ciclo de vida do app pelo terminalsh0 domains <app> list|add|remove— Gerenciar domínios personalizados para qualquer app
CLI vs Dashboard
O CLI e o dashboard são complementares. Ambos usam a mesma API REST e têm paridade completa de recursos.
| Cenário | Melhor opção |
|---|---|
| Deploy rápido de projeto local | sh0 push |
| Integração com pipeline CI/CD | CLI com saída --json |
| Visão geral visual de stacks e recursos | Dashboard |
| Deploys de template com um clique | Dashboard |
| Streaming de logs durante depuração | sh0 logs --follow |
| Alterar vars de ambiente em lote | Scripts CLI |
--json para saída legível por máquina. Encaminhe para jq, alimente scripts ou integre com qualquer ferramenta de automação.