CLI Reference
Referência dos comandos da CLI do Jataí. A CLI é um programa único para macOS, Linux e Windows: não precisa de Ruby nem de Node.js.
Instalação
Escolha o canal do seu sistema:
curl -fsSL https://jataicloud.com.br/install.sh | sh
irm https://jataicloud.com.br/install.ps1 | iex
brew install jataicloud/tap/jatai
scoop bucket add jataicloud https://github.com/JataiCloud/scoop-bucket
scoop install jatai
npm i -g jatai-cli
Para conferir: jatai --version.
Os comandos que leem o app (deploy, status, logs, env) usam o .jatai.yml da pasta atual. Para usar a CLI pelo seu agente de IA, veja Jataí + IA.
jatai login
Autentica pelo navegador: a CLI mostra um link e um código, você confere o código e aprova o acesso na sua conta. O token fica em ~/.jatai/credentials.json.
Uso
$ jatai login [--no-browser]
Opções
| Flag | Descrição |
|---|---|
--no-browser | Só mostra o link, sem abrir o navegador. Útil em servidor remoto: abra o link em outro aparelho |
Em CI, defina a variável de ambiente JATAI_TOKEN com um API token: ela tem prioridade sobre o login.
Exemplo
$ jatai login Abra https://jataicloud.com.br/cli/autorizar e confirme o código JGBF-CQFN. Abrimos o navegador para você. Aguardando a aprovação no navegador... Login realizado com sucesso! Conectado como dev@empresa.com.br.
jatai logout
Revoga o token no Jataí e apaga a credencial local.
Uso
$ jatai logout
Exemplo
$ jatai logout Logout realizado. O token foi revogado.
jatai init
Inicializa uma aplicação no diretório atual. Detecta automaticamente o stack (Rails, Node.js, estático ou Docker), pergunta o nome e o Hex e cria o arquivo .jatai.yml. É interativo: não recebe flags.
Uso
$ jatai init
O que ele pergunta
| Pergunta | Descrição |
|---|---|
Stack | Só aparece se a detecção automática falhar ou você não confirmar |
Nome do app | O identificador (app:) é gerado a partir dele |
Hex | base (R$ 29), escala_1 (R$ 59) ou escala_2 (R$ 119) — dá para trocar depois na aba Escalonamento do app, no painel |
Região e branch não são perguntados: region é sempre br-se1 enquanto a plataforma opera em região única, e o branch vem do Git. O banco também não é perguntado — todo app não-estático recebe um PG Base no jatai up.
Exemplo
$ jatai init Stack detectado: Rails Confirmar stack Rails? (Y/n) y Nome do app: meu-saas Hex: (Use ↑/↓ e Enter) ‣ Hex Base — R$ 29/mês (1 grátis por time) Hex Escala 1 — R$ 59/mês Hex Escala 2 — R$ 119/mês Arquivo .jatai.yml criado com sucesso! Branch: main Banco: PG Base provisionado automaticamente no `jatai up`. Execute `jatai up` para criar e fazer deploy do app.
jatai up
Cria o app a partir do .jatai.yml, provisiona a infraestrutura (com um PG Base, se o app não for estático) e faz o primeiro deploy enviando o código da pasta. Não precisa de GitHub. Se o app já existe, só faz um novo deploy. Sem .jatai.yml, rode antes o jatai init.
Uso
$ jatai up
Exemplo
$ jatai up
Criando app meu-saas...
Provisionando infraestrutura...
Infraestrutura provisionada!
Iniciando primeiro deploy...
Empacotando código...
Enviando 60KB...
Na fila...
Imagem construída em 74s
Aguardando o rollout completar...
Deploy concluído! App disponível em https://meu-saas.jataiapp.com.br
jatai deploy
Faz um novo deploy do app da pasta atual, enviando o código como está no disco.
Uso
$ jatai deploy [--branch BRANCH]
Opções
| Opção | Descrição |
|---|---|
--branch BRANCH | Nome do branch registrado no deploy (padrão: o do .jatai.yml) |
Exemplo
$ jatai deploy
Empacotando código...
Enviando 60KB...
Deploy #43 criado.
Na fila...
Imagem construída em 52s
Aguardando o rollout completar...
Deploy concluído com sucesso! (98s)
jatai status
Exibe o status atual da aplicação: stack, Hex contratado, banco e informações do último deploy.
Uso
$ jatai status
Exemplo
$ jatai status App: Meu SaaS Slug: meu-saas Stack: rails Status: active Região: br-se1 Hex: Hex Escala 1 Banco: PG Base URL: https://meu-saas.jataiapp.com.br Último deploy: ID: 42 Status: live Commit: abc1234 Data: 2026-08-24T10:00:00Z
jatai logs
Mostra as linhas mais recentes dos logs da aplicação.
Uso
$ jatai logs [--tail N]
Opções
| Flag | Descrição |
|---|---|
--tail N | Número de linhas (padrão: 100) |
Exemplo
$ jatai logs --tail 50 2026-10-21T10:30:00Z web [info] Started GET "/" for 200 2026-10-21T10:30:01Z web [info] Completed 200 OK in 45ms 2026-10-21T10:30:05Z worker [error] Timeout ao chamar a API de pagamento
jatai logs:search
Busca full-text nos logs da aplicação (requer a extensão de Logs com busca).
Uso
$ jatai logs:search [--query TERMO] [--level LEVEL] [--source SOURCE] [--since 1h] [--limit 100]
Opções
| Opção | Descrição |
|---|---|
--query | Termo de busca |
--level | Filtrar por nível (error, warn, info) |
--source | Filtrar por source (web, worker, system) |
--since | Período (ex: 1h, 24h, 7d) |
--limit | Limite de resultados (padrão 100) |
Exemplo
$ jatai logs:search --query "error" --level error --since 24h
jatai logs:export
Exporta os logs da aplicação em JSON ou CSV (requer a extensão de Logs).
Uso
$ jatai logs:export [--format json|csv] [--since DATA] [--until DATA] [--level LEVEL]
Opções
| Opção | Descrição |
|---|---|
--format | Formato de exportação (json ou csv; padrão json) |
--since | Data/hora inicial |
--until | Data/hora final |
--level | Filtrar por nível (error, warn, info) |
Exemplo
$ jatai logs:export --format csv --since 2026-07-01 > logs.csv
jatai env set
Cria ou altera variáveis de ambiente do app. A mudança passa a valer no próximo deploy: rode jatai deploy em seguida.
Uso
$ jatai env set KEY=VALUE [KEY2=VALUE2 ...]
Exemplo
$ jatai env set STRIPE_KEY=sk_live_xxx RAILS_LOG_LEVEL=info Variáveis de ambiente atualizadas.
jatai env list
Lista as variáveis de ambiente do app, com os valores.
Uso
$ jatai env list
Exemplo
$ jatai env list DATABASE_URL=postgres://meu_saas:…@pg-shared:5432/meu_saas RAILS_LOG_LEVEL=info STRIPE_KEY=sk_live_xxx
jatai env unset
Remove uma ou mais variáveis de ambiente. Também vale a partir do próximo deploy.
Uso
$ jatai env unset KEY [KEY2 ...]
Exemplo
$ jatai env unset RAILS_LOG_LEVEL Variáveis removidas: RAILS_LOG_LEVEL
jatai mcp
Inicia o servidor MCP (stdio) que deixa um agente de IA (Claude Code, Cursor, Codex, Gemini CLI) fazer login, criar o app, publicar, ler logs e cuidar das variáveis. Quem chama este comando é o agente, não você: a configuração de cada agente está em Jataí + IA.
Uso
$ jatai mcp
Exemplo
$ claude mcp add --scope user jatai -- jatai mcp
jatai update
Atualiza a CLI instalada pelo script de instalação. Se ela veio do npm, do Homebrew ou do Scoop, o comando mostra como atualizar por lá. A CLI também avisa sozinha quando sai uma versão nova.
Uso
$ jatai update
Exemplo
$ jatai update Atualizando para 2.0.1... jatai atualizada para 2.0.1.
jatai version
Exibe a versão instalada da CLI. O mesmo que jatai --version.
Uso
$ jatai version
Exemplo
$ jatai version jatai 2.0.0
Comandos que ainda estão só na CLI antiga
Os comandos abaixo ainda não chegaram à CLI nova. Enquanto isso, faça pelo painel (abas Escalonamento, Domínios, Extensões e Configurações do app) ou pela CLI antiga, em Ruby, que continua funcionando com a mesma conta:
$ gem install jatai
A CLI antiga precisa de Ruby 3.1 ou mais novo (página no RubyGems). As duas instalam o comando jatai: mantenha só uma no PATH.
jatai scaleSó na CLI antiga (gem)
Escala o número de réplicas (instâncias) da aplicação e/ou troca o Hex. Mostra o custo estimado e pede confirmação antes de aplicar. Cada réplica é um Hex inteiro — a segunda custa o mesmo que a primeira.
Uso
$ jatai scale [--replicas N] [--preset base|escala_1|escala_2]
Exemplo
$ jatai scale --replicas 3 Hex: Hex Escala 1 Réplicas: 3 CPU: 500m | RAM: 1Gi Custo estimado: R$ 177.00/mês Confirmar escalonamento? (Y/n) y Escalonamento aplicado com sucesso! $ jatai scale --preset escala_2 Hex: Hex Escala 2 Réplicas: 1 CPU: 1000m | RAM: 2Gi Custo estimado: R$ 119.00/mês Confirmar escalonamento? (Y/n) y Escalonamento aplicado com sucesso!
jatai domains addSó na CLI antiga (gem)
Adiciona um domínio personalizado à aplicação. Após adicionar, configure o DNS conforme as instruções.
Uso
$ jatai domains add DOMÍNIO
Exemplo
$ jatai domains add app.meusite.com.br Domínio adicionado: app.meusite.com.br Configure o DNS com um registro CNAME: app.meusite.com.br -> meu-saas.jataiapp.com.br Execute "jatai domains verify app.meusite.com.br" após configurar.
jatai domains listSó na CLI antiga (gem)
Lista todos os domínios configurados para a aplicação.
Uso
$ jatai domains list
Exemplo
$ jatai domains list Domínios de meu-saas: meu-saas.jataiapp.com.br (padrão) verificado app.meusite.com.br (custom) verificado api.meusite.com.br (custom) pendente
jatai domains removeSó na CLI antiga (gem)
Remove um domínio personalizado da aplicação.
Uso
$ jatai domains remove DOMÍNIO
Exemplo
$ jatai domains remove api.meusite.com.br Domínio api.meusite.com.br removido.
jatai redisSó na CLI antiga (gem)
Gerencia o Redis (cache) da aplicação: status, enable e disable.
Uso
$ jatai redis status
$ jatai redis enable [--memory 256|512|1024]
$ jatai redis disable
Opções
| Opção | Descrição |
|---|---|
--memory | Memória em MB para o enable (256, 512 ou 1024; padrão 256) |
Exemplo
$ jatai redis enable --memory 512 Provisionando Redis (512 MB)... OK REDIS_URL injetada nas variáveis de ambiente.
jatai destroySó na CLI antiga (gem)
Destrói a aplicação permanentemente. Esta ação não pode ser desfeita. Requer confirmação.
Uso
$ jatai destroy [--confirm NOME]
Exemplo
$ jatai destroy Tem certeza que deseja destruir "meu-saas"? Digite o nome do app para confirmar: meu-saas Destruindo app... OK App "meu-saas" foi removido permanentemente.
jatai db infoSó na CLI antiga (gem)
Exibe informações do banco de dados da aplicação, incluindo tipo, versão, tamanho e conexões.
Uso
$ jatai db info
Exemplo
$ jatai db info Banco de dados: meu-saas-db Tipo: PostgreSQL 16 Plano: standard Tamanho: 245 MB / 1 GB Conexões: 5 / 20 ativas Região: br-se1 Último backup: 2025-01-15 03:00 UTC