Skip to main content

CLI reference

note

This page is generated from the CLI's own --help by pnpm docs in the CLI repository, so it can never drift from the tool. The CLI's messages are currently in Portuguese.

moatgator 0.1.0: CLI da Moatgator para qualquer CI

Uso: moatgator <comando> [opções]

Comandos:
init Cria um moatgator.yml válido para este projeto
validate Confere o moatgator.yml (linha e coluna de cada erro)
scan Analisa um APK, AAB ou IPA (Scan estático, sem login)
verify-build Confere, sem rede, se o APK/AAB está pronto para a loja e com a proteção montada
protect Registra o build, envia o pacote e confere o resultado
protect-apk Protege um APK JÁ COMPILADO, sem SDK nem mudança de código (no-code / post-compile)
status Mostra o estado de um build
whoami Mostra qual app, plano e escopos a credencial atual enxerga
doctor Diagnostica o ambiente: Node, rede, credencial, permissões e moatgator.yml

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Autenticação:
MOATGATOR_API_KEY chave de API (mg_live_…) com os escopos necessários
MOATGATOR_APP_ID com OIDC (GitHub Actions), o app que confia neste repositório

Códigos de saída: 0 ok · 1 erro interno · 2 uso inválido · 3 autenticação · 4 falha (proteção, nota baixa, pacote recusado) · 5 prazo esgotado

Ajuda de um comando: moatgator <comando> --help

moatgator init​

moatgator init: Cria um moatgator.yml válido para este projeto

Uso: moatgator init [--profile recommended|strict|pix-shield] [--package com.x.y] [--bundle-id com.x.y] [--force] [--path moatgator.yml]

Opções:
--profile <PERFIL> Perfil de partida (padrão: recommended)
--package <PACOTE> Pacote Android (se não for possível detectar)
--bundle-id <ID> Bundle ID do iOS (se não for possível detectar)
--path <ARQUIVO> Onde gravar (padrão: moatgator.yml)
--force Sobrescreve um arquivo que já existe

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator init
moatgator init --profile strict --package com.acme.pay

moatgator validate​

moatgator validate: Confere o moatgator.yml (linha e coluna de cada erro)

Uso: moatgator validate [arquivo]

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator validate
moatgator validate config/moatgator.yml --json

moatgator scan​

moatgator scan: Analisa um APK, AAB ou IPA (Scan estático, sem login)

Uso: moatgator scan <arquivo> [--min-grade C] [--json]

Opções:
--min-grade <NOTA> Falha (código 4) se a nota for pior que esta, ex.: C

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator scan app-release.aab
moatgator scan app.apk --min-grade B --json

moatgator verify-build​

moatgator verify-build: Confere, sem rede, se o APK/AAB está pronto para a loja e com a proteção montada

Uso: moatgator verify-build <apk|aab> [--strict] [--json]

Opções:
--strict Avisos também falham (código 4)

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator verify-build app/build/outputs/bundle/release/app-release.aab
moatgator verify-build app-release.apk --strict --json

moatgator protect​

moatgator protect: Registra o build, envia o pacote e confere o resultado

Uso: moatgator protect <arquivo.apk|aab|ipa> --app-version 1.4.0 [--commit SHA] [--platform android|ios] [--require-protected]

Opções:
--app-version <VERSÃO> Versão do app (ou MOATGATOR_APP_VERSION)
--commit <SHA> Commit do build (padrão: o do CI)
--platform <PLATAFORMA> android ou ios (padrão: pela extensão do arquivo)
--app-id <ID> Com OIDC, o app que confia no repositório (ou MOATGATOR_APP_ID)
--out <PASTA> Onde gravar o pacote protegido quando o motor o produzir
--require-protected Falha (código 4) se não houver pacote protegido para baixar

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator protect app-release.aab --app-version 3.4.1
moatgator protect app.ipa --app-version 2.0.0 --require-protected --json

moatgator protect-apk​

moatgator protect-apk: Protege um APK JÁ COMPILADO, sem SDK nem mudança de código (no-code / post-compile)

Uso: moatgator protect-apk <app.apk> --sdk-aar <moatgator-release.aar> --ks <keystore> --ks-alias <ALIAS> [--out <arquivo>] [--stdlib <kotlin-stdlib.jar>] [--android-sdk <dir>]

Opções:
--sdk-aar <AAR> AAR do SDK Moatgator a injetar
--out <ARQUIVO> APK de saída (padrão: <entrada>-protected.apk)
--stdlib <JAR> kotlin-stdlib.jar (necessário quando o app minificado não traz todo o stdlib)
--android-sdk <DIR> Android SDK (padrão: ANDROID_HOME/ANDROID_SDK_ROOT)
--api-key <CHAVE> Chave de API injetada como <meta-data> (telemetria/attest)
--endpoint <URL> Endpoint da API injetado como <meta-data>
--env <ENV> Ambiente (prod|dev) injetado como <meta-data>
--ks <ARQUIVO> Keystore para assinar o APK de saída
--ks-pass <SENHA> Senha do keystore (ex.: android)
--ks-alias <ALIAS> Alias da chave no keystore
--key-pass <SENHA> Senha da chave

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator protect-apk app.apk --sdk-aar moatgator-release.aar --ks debug.keystore --ks-pass android --ks-alias androiddebugkey --key-pass android

moatgator status​

moatgator status: Mostra o estado de um build

Uso: moatgator status <build-id>

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator status bld_abc123

moatgator whoami​

moatgator whoami: Mostra qual app, plano e escopos a credencial atual enxerga

Uso: moatgator whoami [--json]

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
MOATGATOR_API_KEY=mg_live_… moatgator whoami
moatgator whoami --json

moatgator doctor​

moatgator doctor: Diagnostica o ambiente: Node, rede, credencial, permissões e moatgator.yml

Uso: moatgator doctor [--json]

Opções globais:
--json Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
--api-url <URL> Endereço da API (padrão: https://api.moatgator.com (ou MOATGATOR_API_URL))
--timeout <SEGUNDOS> Prazo total de espera por comandos que aguardam (padrão: 600)
-h, --help Mostra a ajuda

Exemplos:
moatgator doctor

Opções globais (todas)​

  • --json: Saída em JSON no stdout (mensagens para pessoas vão para o stderr)
  • --api-url: Endereço da API
  • --timeout: Prazo total de espera por comandos que aguardam
  • --help: Mostra a ajuda