Communitygithub.com

Prevu CLI

Use ao executar, configurar ou depurar a CLI do Prevu (binário `prevu`) - gerenciamento de ambientes de staging, exposição de portas, acesso SSH, tokens de API, login, listagem de ambientes e comandos de serviço. Menções: prevu, prevu env, prevu auth, prevu keys, prevu.cloud, app.prevu.cloud, prevu.page, PREVU_TOKEN, ambiente de staging para agentes de codificação.

O que é Prevu CLI?

A habilidade Prevu CLI é o repositório de referência para interagir com a ferramenta de linha de comando `prevu`, que provisiona máquinas Linux persistentes (ambientes de staging) acessíveis via SSH, com portas expostas e URLs públicas. Ela documenta de forma abrangente os comandos de instalação, autenticação, gerenciamento de ambientes (criar, destruir, listar), exposição de serviços, chaves SSH e códigos de saída padronizados. A habilidade enfatiza o uso do formato JSON para automação, regras rígidas como nunca destruir ambientes automaticamente e a reutilização de um único ambiente por projeto. Embora forneça detalhes profundos sobre comandos individuais, ela direciona fluxos de trabalho de vários passos (como espelhar código para visualização em dispositivos móveis) para uma habilidade complementar chamada `prevu-flows`. As plataformas suportadas incluem qualquer sistema com Node >= 20, ambientes CI e terminais não-interativos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/prevu-cloud/prevu/tree/main/skills/prevu

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Prevu CLI faz?

O Prevu provisiona uma VM Linux persistente na qual você pode fazer SSH, expor portas e acessar via URL pública. A CLI prevu é a superfície suportada (sem ferramentas de infraestrutura).

Esta habilidade é a referência: instalação, mapa de comandos, contrato de saída, códigos de saída, com detalhes mais aprofundados em references/*.md. Para fluxos de trabalho de vários passos voltados ao usuário (como espelhar o desenvolvimento local para uma visualização revisável em telefone, compartilhar um branch WIP), consulte a habilidade prevu-flows - carregue-a quando o usuário descrever um cenário em vez de um único comando.

Instalação + login

npm install -g @prevu/cli
prevu --version              # 0.2.0+ (URLs apenas com slug e env exec precisam de 0.2.0+)
prevu auth login             # cole um token de https://app.prevu.cloud/keys

Requer Node >= 20. O token é armazenado em ~/.prevu/config.json (modo 0600).

Para CI / não-TTY:

export PREVU_TOKEN=prv_...

Ordem de resolução: flag --token -> variável de ambiente PREVU_TOKEN -> ~/.prevu/config.json.

PREVU_API_URL padrão é https://app.prevu.cloud. Substitua com --api-url apenas para APIs Prevu auto-hospedadas.

Mapa de comandos

NamespaceComandoDetalhe em
authlogin / logout / whoamireferences/auth.md
envlist, get, create, destroyreferences/env.md
envwaitreferences/env.md + references/lifecycle.md
envssh, ssh-command, execreferences/env.md
envurlsreferences/env.md
envservice start/list/logs/restart/stopreferences/env.md
envexpose, unexposereferences/env.md
keyslistreferences/keys.md

Execute prevu <namespace> --help para ajuda inline.

Contrato de saída - sempre use --format json ao analisar

A saída padrão é uma tabela legível para humanos; para qualquer chamada scriptada, use --format json. O envelope é fixo:

// sucesso
{ "data": { ... } }
// falha
{ "error": { "type": "auth", "message": "...", "hint": "..." } }

NO_COLOR=1 ou --no-color remove ANSI no modo tabela. JSON é sempre sem cores.

Códigos de saída (analise estes, não o texto de stderr)

CódigoTipoO que significa
0sucessocontinue
1genéricoimprima e pare
2usoflags inválidas - corrija e tente novamente
3authdiga ao usuário para executar prevu auth login
4não_encontradoenv/chave não existe; crie ou escolha outro
5conflitojá existe / status errado - geralmente inofensivo
6limite_taxaaguarde >=30s e tente novamente
7servidortransitório; tente novamente uma vez
8tempo_esgotadoenv wait expirou - abra o painel

Esboço de recuperação idiomática:

prevu env get meu-projeto --format json >/dev/null 2>&1
case $? in
  0) ;;                                    # existe
  4) prevu env create meu-projeto --format json ;;
  3) echo "Execute \`prevu auth login\`" >&2; exit 1 ;;
  *) exit 1 ;;
esac

Regras rígidas - por favor, não quebre estas

  1. Ambientes são produtos pagos persistentes. Reutilize-os deliberadamente; nunca destrua automaticamente por TTL ou fim de sessão.
  2. Um ambiente por projeto, não por tarefa. Reutilize o mesmo slug entre sessões; o usuário retorna ao mesmo espaço de trabalho.
  3. Use exposição HTTPS para prévias no navegador (padrão). O modo TCP é para serviços não-HTTP como Postgres.
  4. Imprima URLs publicamente em destaque. O usuário geralmente está no celular; não enterre a URL na saída do shell.
  5. Use env service para processos de aplicação de longa duração. Não escreva manualmente nohup, arquivos PID ou comandos pkill -f genéricos.
  6. A CLI/API é a única superfície suportada. Não tente usar ferramentas de infraestrutura.

Quando carregar detalhes mais aprofundados

  • references/auth.md - fluxos de login, onde o token reside, recuperação do código de saída 3.
  • references/env.md - todos os subcomandos de env com entradas, exemplos e regras de resolução de chave SSH.
  • references/keys.md - modelo de chave SSH salva, deduplicação, quando --ssh-key-id economiza digitação.
  • references/lifecycle.md - máquina de estados, quando wait retorna e orientação para ações destrutivas.
  • references/troubleshooting.md - modos de falha concretos e suas correções.

Quando NÃO carregar esta habilidade

  • Edições locais puras de arquivos ou trabalho de repositório somente leitura - Prevu é para executar código remotamente.
  • Deploys de produção / CI - Prevu é staging.
  • Qualquer coisa onde o usuário disse explicitamente "fique no meu laptop."

Cenários de fluxo de trabalho estão em prevu-flows

Se o usuário solicitar espelhar meu desenvolvimento para meu telefone, me permita visualizar do celular, compartilhar este branch como URL, estou longe do teclado, continue codificando - carregue a habilidade prevu-flows em vez de (ou além de) esta. Esses fluxos conectam os comandos aqui em um loop de vários passos com os padrões corretos.

Habilidades Relacionadas