CLI golive

A referência completa da linha de comandos — comando a comando, com argumentos, opções e exemplos. Tudo o que o dashboard faz, feito a partir do terminal.

Instalar

O registry npm não é usado — instala a CLI a partir do tarball do GoLive. Precisas de Node 18+.

$ npm install -g https://golive.co.ao/cli/golive-cli.tgz
$ golive login          # autentica (abre o browser)
$ golive init           # liga a pasta a um projecto
$ golive deploy         # publica

A CLI avisa quando há uma versão nova; actualiza com golive upgrade. Activa o auto-complete por Tab uma vez e os comandos e opções aparecem enquanto escreves.

Convenções

Três regras valem para (quase) todos os comandos — percebe-as uma vez e o resto encaixa:

ConvençãoO que faz
golive.jsonEscrito pelo init, liga a pasta a um projecto. Com ele presente, nenhum comando precisa de --project. Comita-o para a equipa e o CI partilharem o mesmo alvo.
--project <id>Escolhe o projecto sem golive.json — útil em CI ou fora da pasta. Aceite por todos os comandos de projecto.
--jsonFlag global. Devolve a saída dos comandos de leitura em JSON, para automação.

O exit code é sempre ≠ 0 em falha, em qualquer comando — seguro para usar em scripts e CI. Os exemplos abaixo omitem --project por assumirem um golive.json na pasta.

Sessão & conta

golive login

Autentica no GoLive. Por defeito abre o browser; há caminhos não-interactivos para CI e ambientes sem browser.

OpçãoO que faz
--token <token>Firebase ID token — login não-interactivo (CI).
--email <email>Login por email/password (não-interactivo). Usar com --password.
--password <password>Password (com --email).
--no-browserNão abre o browser: mostra o URL e pede o código de autorização (SSH/remoto).
--reauthForça novo login mesmo com sessão activa.
--emulatorAutentica contra o Firebase Auth emulator (localhost:19099).
--api-key <key> · --api <url>Avançado: Firebase web API key e URL base da API.
$ golive login                       # fluxo normal: abre o browser
$ golive login --no-browser          # copia o URL, cola o código
$ golive login --token "$FIREBASE_TOKEN"  # CI

golive whoami

Mostra a conta autenticada (email e plano). O token renova-se sozinho.

$ golive whoami
$ golive whoami --json

golive logout

Apaga a sessão guardada neste computador.

$ golive logout
Projecto

golive init

Liga a pasta actual a um projecto e escreve o golive.json. Sem --project, deixa-te escolher ou criar um projecto interactivamente.

OpçãoO que faz
--project <id>Salta a escolha interactiva e liga a este id.
--apps <nomes>Estrutura multi-alvo (monorepo): pares nome:pasta separados por vírgula.
$ golive init
$ golive init --project prj_ab12cd
$ golive init --apps site:web,api:api   # monorepo multi-alvo

Ver a estrutura do golive.json (campos, multi-alvo e Dev Pack) na documentação principal.

golive projects

Lista os teus projectos (id, slug, nome).

$ golive projects
$ golive projects --json

golive status

Estado do projecto e do último deploy — runtime, URL público e saúde.

$ golive status

golive rename <name>

Renomeia o projecto. Não muda o slug nem o subdomínio.

$ golive rename "Loja do Zé"

golive deleteirreversível

Apaga o projecto e todos os seus recursos. Alias: golive rm.

OpçãoO que faz
-y, --yesNão pedir confirmação (CI).
$ golive delete
$ golive rm --yes   # alias + sem confirmação

Irreversível — apaga a base de dados, os ficheiros de storage e os utilizadores de auth do projecto. Faz um backup antes, se precisares dos dados.

golive open

Abre o site publicado no browser — ou o dashboard do projecto.

OpçãoO que faz
--dashboardAbre o dashboard do projecto em vez do site.
$ golive open
$ golive open --dashboard
Deploy

golive deploy [app]

Publica o projecto. Deteta o runtime automaticamente (estático, Node, Go, Next.js, edge). Cada deploy é imutável e a activação é atómica (sem downtime). Produção é o default; preview publica uma versão de teste sem tocar na produção.

Argumento / OpçãoO que faz
[app]App a publicar num golive.json multi-alvo; vazio = a app da pasta actual (ou todas).
--dir <dir>Directório a publicar (default: detectado).
--no-buildNão corre o build; usa o output existente.
--prodDeploy de produção (é o default).
--previewDeploy de pré-visualização — não toca na produção.
-y, --yesNão pedir confirmação (produção).
$ golive deploy                 # pergunta produção/preview
$ golive deploy --preview       # versão de teste, isolada
$ golive deploy --prod --yes    # produção sem confirmação (CI)
$ golive deploy api             # só a app 'api' (multi-alvo)
$ golive deploy --dir dist --no-build

--prod e --preview são mutuamente exclusivas. O URL de preview é <slug>--preview.golive.ao; um preview nunca é promovido para produção por engano — quando estiver pronto, publica com --prod.

golive deploys

Histórico de deploys do projecto (id, estado, quando, autor).

$ golive deploys

golive rollback [deployId]

Activa um deploy anterior. Sem id, volta ao último deploy válido antes do actual. A activação é atómica.

$ golive rollback            # deploy anterior
$ golive rollback dep_9f2a   # um deploy específico

golive logs

Segue os logs do projecto (build + runtime) em directo.

OpçãoO que faz
--no-followImprime os logs disponíveis e sai (snapshot).
$ golive logs
$ golive logs --no-follow
GitHub

Liga um repositório GitHub ao projecto. A partir daí, cada git push faz deploy automático.

OpçãoO que faz
--repo <repo> (obrigatória)owner/name (ou URL git).
--branch <branch>Branch a seguir (default: main).
--no-deployApenas ligar, sem fazer deploy agora.
$ golive link --repo kwanza/loja
$ golive link --repo kwanza/loja --branch develop --no-deploy

Desliga o repositório GitHub do projecto (pára o deploy automático).

$ golive unlink
Variáveis de ambiente

Ficam do lado do servidor (nunca no git) e são injectadas no próximo deploy.

golive env set <pares...>

Define uma ou mais variáveis no formato KEY=VALUE.

$ golive env set API_KEY=abc123 DEBUG=1

golive env file <path>

Envia todas as variáveis de um ficheiro .env de uma só vez (escrita atómica).

$ golive env file .env.production

golive env ls

Lista as variáveis do projecto.

$ golive env ls

golive env rm <key>

Remove uma variável.

$ golive env rm API_KEY

golive env pull

Escreve as variáveis do projecto num ficheiro .env local.

OpçãoO que faz
--file <file>Ficheiro de destino (default: .env).
$ golive env pull
$ golive env pull --file .env.local
Base de dados

Postgres gerido, um por projecto. Referência do SDK: @golive/data.

golive db create

Cria a base de dados Postgres do projecto.

$ golive db create

golive db seed [file]

Aplica um ficheiro SQL à base de dados. É a forma recomendada de aplicar schema/dados a partir de um ficheiro. Sem argumento, usa o dev.seed do golive.json (ou seed.sql).

$ golive db seed               # aplica seed.sql (ou dev.seed)
$ golive db seed schema.sql    # um ficheiro específico

Escreve o seed idempotente (create table if not exists …) para poder correr várias vezes sem erro. No dashboard, o separador Base de dados traz um editor SQL completo e um navegador de tabelas.

golive db info

Mostra a base de dados do projecto: engine, nome e URL (mascarado).

$ golive db info

golive db url

Imprime a connection string completa, para ligar ferramentas externas (psql, DBeaver, um ORM).

$ golive db url
$ psql "$(golive db url)"              # abre a consola psql
$ export DATABASE_URL=$(golive db url)   # para um ORM local

golive db ls

Lista a base de dados do projecto (resumo tabular).

$ golive db ls

golive db destroyirreversível

Apaga a base de dados do projecto.

OpçãoO que faz
--yesNão pedir confirmação.
$ golive db destroy
$ golive db destroy --yes

Apaga todos os dados. Faz golive db backup create antes.

Backups da base de dados

Subcomandos de golive db backup — manuais, automáticos, restauro e agendamento.

golive db backup create

Cria um backup da base de dados agora (snapshot pontual).

$ golive db backup create

golive db backup ls

Lista os backups do projecto (id, tamanho, data). Mostra os manuais e os automáticos, lado a lado.

$ golive db backup ls

golive db backup restore <backupId>

Restaura a base de dados a partir de um backup. Substitui os dados actuais — não é aditivo.

OpçãoO que faz
--yesNão pedir confirmação.
$ golive db backup restore bkp_31af
$ golive db backup restore bkp_31af --yes

golive db backup rm <backupId>

Apaga um backup.

$ golive db backup rm bkp_31af

golive db backup schedule <periodicidade>

Agenda backups automáticos. Corre no servidor — não precisas de ter a CLI aberta. A periodicidade é um de três valores:

ValorO que faz
dailyUm backup automático todos os dias.
weeklyUm backup automático por semana.
offDesliga o agendamento (os backups já criados ficam).
$ golive db backup schedule daily    # backup automático diário
$ golive db backup schedule weekly   # uma vez por semana
$ golive db backup schedule off      # desliga os automáticos

Só aceita off, daily ou weekly — qualquer outro valor é rejeitado. Vê todos os backups (manuais + automáticos) com golive db backup ls.

Autenticação de utilizadores (MAU)

Login para os utilizadores finais da tua app (não a tua conta GoLive). Cobrado por utilizador activo mensal. SDK: @golive/auth.

golive auth enable

Activa a autenticação de utilizadores finais no projecto.

$ golive auth enable

golive auth status

Estado da autenticação: activa? quantos utilizadores activos (MAU)?

$ golive auth status

golive auth disableirreversível

Desactiva a autenticação e apaga os utilizadores finais.

OpçãoO que faz
--yesNão pedir confirmação.
$ golive auth disable --yes

golive auth users ls

Lista os utilizadores finais da app.

$ golive auth users ls

golive auth users add <email> <password>

Cria um utilizador final.

$ golive auth users add ana@loja.ao "S3nha!"

golive auth users rm <uid>

Remove um utilizador final (o uid vem do auth users ls).

$ golive auth users rm usr_7c1e
Armazenamento de ficheiros

Ficheiros do projecto, facturados por GB. SDK: @golive/storage.

golive storage ls [prefix]

Lista ficheiros e pastas, opcionalmente sob um prefixo.

$ golive storage ls
$ golive storage ls avatars/

golive storage upload <ficheiro> [destino]

Carrega um ficheiro local. O destino é o caminho no armazenamento (default: o nome do ficheiro).

$ golive storage upload foto.png
$ golive storage upload foto.png avatars/ana.png

golive storage download <caminho> [destino]

Descarrega um ficheiro do armazenamento para o disco.

$ golive storage download avatars/ana.png
$ golive storage download avatars/ana.png ./ana.png

golive storage rm <caminho>

Apaga um ficheiro — ou uma pasta inteira, com barra final.

$ golive storage rm avatars/ana.png
$ golive storage rm avatars/        # a pasta inteira
Edge functions

golive functions ls

Lista as rotas de edge functions e o consumo do período (invocações, GB-s, Kz). O comando tem o alias fn e ls tem o alias list. Ver Edge Functions.

$ golive functions ls
$ golive fn ls        # alias curto
Desenvolvimento local

Corre o Dev Pack (auth, db, storage, functions) + a tua app localmente, com painel em /__golive/. Ver Desenvolvimento local.

golive dev init

Configura o Dev Pack por menu interactivo — escolhe que serviços emular localmente. Escreve o bloco dev.emulators no golive.json.

OpçãoO que faz
--allActiva todos os serviços do Dev Pack.
--yesAceita defaults sem menu.
--emulators <list>Lista: auth,database,storage,functions (ou all).
$ golive dev init                       # menu: Space liga/desliga, Enter confirma
$ golive dev init --all --yes            # liga tudo, sem menu (CI)
$ golive dev init --emulators auth,database

golive dev [app]

Arranca o Dev Pack e a tua app. Painel de controlo em /__golive/. Em multi-alvo, corre todas as apps (cada uma na sua porta).

Argumento / OpçãoO que faz
[app]App do golive.json a correr; vazio = todas.
-p, --port <port>Porta base (golive.json > default 18321). Multi-alvo: cada app incrementa.
--no-openNão abre o browser no arranque.
--dbForça Postgres local (pglite) mesmo sem emulators.database.
--checkValida a compilação do projecto (executa npm run build / yarn build / pnpm run build, consoante o lock file) e sai. Exit code ≠ 0 se houver erros — útil em CI e antes de deploy.
$ golive dev
$ golive dev web --port 4000   # só a app 'web', noutra porta
$ golive dev --db --no-open
$ golive dev --check               # validar compilação e sair
Manutenção

golive upgrade

Actualiza a CLI para a versão mais recente. Alias: golive update.

OpçãoO que faz
--forceReinstala mesmo que já esteja actualizada.
$ golive upgrade
$ golive update --force   # alias + reinstalação

golive completion [shell]

Gera o script de auto-complete por Tab (bash, zsh ou fish) — com dicas dos comandos e parâmetros enquanto escreves. Instala-o uma vez:

# zsh
$ echo 'source <(golive completion zsh)' >> ~/.zshrc
# bash
$ echo 'source <(golive completion bash)' >> ~/.bashrc
# fish
$ golive completion fish > ~/.config/fish/completions/golive.fish
© 2026 GoLive · Documentação
Home Preços Termos Privacidade