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:

macOS e Linux
curl -fsSL https://jataicloud.com.br/install.sh | sh
Windows (PowerShell)
irm https://jataicloud.com.br/install.ps1 | iex
Homebrew
brew install jataicloud/tap/jatai
Windows (Scoop)
scoop bucket add jataicloud https://github.com/JataiCloud/scoop-bucket
scoop install jatai
npm (qualquer sistema com Node.js)
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

FlagDescrição
--no-browserSó 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

PerguntaDescrição
StackSó aparece se a detecção automática falhar ou você não confirmar
Nome do appO identificador (app:) é gerado a partir dele
Hexbase (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çãoDescrição
--branch BRANCHNome 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

FlagDescrição
--tail NNú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çãoDescrição
--queryTermo de busca
--levelFiltrar por nível (error, warn, info)
--sourceFiltrar por source (web, worker, system)
--sincePeríodo (ex: 1h, 24h, 7d)
--limitLimite 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çãoDescrição
--formatFormato de exportação (json ou csv; padrão json)
--sinceData/hora inicial
--untilData/hora final
--levelFiltrar 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çãoDescrição
--memoryMemó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