Pular para o conteúdo

CLI da W8 Hub

O CLI w8 faz login na W8 Hub, vincula o repositório a uma instalação e chama a API pelo terminal. Esta página mostra como instalar, entrar, vincular e usar, por organização.

Duas formas de autenticar

O CLI aceita dois métodos. Os dois funcionam em Linux, macOS e Windows.

Login pelo navegador (w8 login) Token pessoal
Como entra w8 login abre o navegador, você escolhe a organização lá e digita no terminal o código que aparece Você cria o token na sua conta e passa em W8_TOKEN ou --token-file
Sessão Uma por organização, guardada no cofre do sistema Nenhuma sessão: o token vale por comando
Organização A da sessão. --org escolhe entre as suas sessões --org <id da organização> é obrigatório em cada comando
w8 whoami Funciona Não se aplica
Terminal Precisa de terminal interativo Funciona em script e em máquina sem terminal
Indicado para Uso diário no seu computador Scripts, automação e várias organizações com a mesma credencial

No login pelo navegador, o servidor só aceita uma lista fechada de operações: ler seus dados e o nome da organização, listar as organizações e os projetos, listar os recursos, ler as variáveis de ambiente de uma instalação, e iniciar, parar ou reiniciar um recurso. Qualquer outra operação é recusada.

Instalar no Linux e no macOS

A versão atual é a 1.235.1. Sistemas: Linux (amd64 e arm64) e macOS (amd64 e arm64).

curl -fsSL https://bucket-cli.w8hub.s3.w8hub.com.br/v1.235.1/install.sh | sh

O instalador baixa uma versão fixa, confere o sha256 contra o checksums.txt da mesma origem antes de instalar e não pede token do GitHub.

O binário vai para ~/.local/bin e o PATH entra pelo ~/.profile. Abra um shell novo e confira:

w8 version

Instalar no Windows

Sistema: Windows (amd64). Rode no PowerShell, sem precisar de administrador:

irm https://bucket-cli.w8hub.s3.w8hub.com.br/v1.235.1/install.ps1 | iex

O instalador baixa uma versão fixa, confere o sha256 contra o checksums.txt da mesma origem e não pede token do GitHub. Ele instala w8.exe em %LOCALAPPDATA%\w8\bin e põe essa pasta no PATH do usuário. Abra um terminal novo e confira:

w8 version
O binário não é assinado. Se você baixar o arquivo pelo navegador, o Windows pode mostrar o aviso do SmartScreen. Rodando o instalador pelo terminal, o aviso não apareceu.

Entrar com w8 login

w8 login

O w8 login abre o navegador na tela de autorização da W8 Hub. Escolha a organização lá, aprove, e digite no terminal o código que aparece no navegador. No fim, o CLI confirma: Logado como <e-mail> na organização <nome> (<slug>).

O login só funciona em terminal interativo. Sem terminal, ele cancela e não grava nada.

A sessão é por organização: uma sessão para cada uma. Use --org para dizer qual organização o comando usa.

Onde a credencial fica:

w8 link [--org <slug>] [--project <slug>] [--resource <slug>] [--share]

O w8 link grava um arquivo .w8.json na raiz do repositório com a organização, o projeto e a instalação escolhidos, e acrescenta esse arquivo ao .gitignore. Com --share, ele grava o arquivo sem mexer no .gitignore, para o vínculo ser compartilhado com o time.

Os comandos que precisam do vínculo procuram o .w8.json na pasta atual e nas pastas acima, então você pode rodar de dentro de um subdiretório do repositório.

Conferir o vínculo com w8 status e w8 open

w8 status

O w8 status mostra o vínculo, a origem do vínculo, o host da API e a validade da credencial. Ele não chama a API: é o comando para descobrir o que está configurado quando algo falha.

w8 open [--print]

O w8 open abre a instalação vinculada no painel da W8 Hub. Com --print, ele só imprime a URL, sem abrir o navegador.

Comandos

Comando Para que serve
w8 login Entra.
w8 whoami [--org <slug>] [--json] Mostra a sessão.
w8 resources list [--org <slug ou id>] [--json] Lista os recursos.
w8 link [--org] [--project] [--resource] [--share] Grava o .w8.json do repositório.
w8 status Mostra o vínculo, a origem, o host da API e a validade da credencial, sem chamar a API.
w8 open [--print] Abre a instalação no painel; --print só imprime a URL.
w8 mcp install [--client <cliente>] [--scope user|project] Grava o bloco MCP do w8 no cliente escolhido.
w8 mcp status Faz initialize e tools/list de verdade e diz o protocolo, as ferramentas e a organização.
w8 env run [--org <slug ou id>] -- <comando...> Roda um comando com as variáveis da instalação vinculada.
w8 logout [--org <slug>] Sai.
w8 version Mostra a versão.

Antes ou depois do comando, o CLI aceita --debug, --org <slug ou id> e --token-file <arquivo>. O --debug mostra o que o CLI fez sem nunca registrar a credencial.

Comandos gerados da API

Além dos comandos fixos, o CLI gera um comando para cada operação do spec público da W8 Hub:

w8 <comando> [valores...] [--org <slug ou id>] [--json] [--<filtro> <valor>] [--data <json>|--data-file <arquivo>|--data-stdin]

Os filtros de consulta viram opções com o nome do campo. O corpo do pedido vai em --data, --data-file ou --data-stdin. O --refresh baixa o catálogo de comandos de novo, para quando a API ganha uma operação.

Há atalhos para as operações do dia a dia: restart, logs, deploy, stop, start, db, storage e domain.

O deploy tem acompanhamento:

w8 deploy <id> --follow [--timeout 30m]

O --follow acompanha o deploy até o fim, com teto de 30 minutos ou 600 consultas a cada 3 segundos. Ctrl-C sai do acompanhamento sem cancelar o deploy.

Instalar o MCP com o CLI

w8 mcp install --client claude-code

O w8 mcp install grava o bloco MCP do w8 no arquivo do cliente escolhido. Clientes: claude-code, cursor, vscode ou all. O escopo é user ou project (--user e --project são os atalhos).

O --path <arquivo> grava em um arquivo específico, mas só vale com --client vscode (ou all) no escopo user. Nos outros clientes e no escopo project, o arquivo é o do próprio cliente.

O token fica no arquivo só como ${NOME}, nunca como texto: você preenche a variável no seu ambiente. --token-env <nome> escolhe esse nome, --force regrava um bloco que já existe e --dry-run mostra o que seria gravado.

w8 mcp status

O w8 mcp status faz initialize e tools/list de verdade contra o servidor e mostra o protocolo, as ferramentas e a organização.

Rodar um comando com as variáveis da instalação

w8 env run -- npm start

O w8 env run injeta as variáveis da instalação vinculada no processo filho. Ele não escreve arquivo, o código de saída é o do filho e Ctrl-C vai para o filho. Precisa de .w8.json na pasta atual ou acima.

O processo filho lê os valores do próprio ambiente. Qualquer pessoa ou processo com controle da máquina consegue lê-los enquanto o comando roda. É o mesmo limite de exportar a variável no shell.

Usar com token pessoal

Em script, use o token pessoal. Para criar o token, veja Conectar o MCP. Passe o token pela variável W8_TOKEN ou pela opção --token-file <arquivo>:

export W8_TOKEN="w8_..."
w8 resources list --org <id da organização>

Ou, com arquivo:

w8 resources list --org <id da organização> --token-file <arquivo>

Com token pessoal, --org <id da organização> é obrigatório em cada comando. A exceção é o organization-list, que dispensa o --org e lista as organizações que o token alcança. w8 whoami não se aplica a token pessoal.

Se a organização estiver fora do alcance do token, o CLI responde que o token pessoal não alcança a organização.

Valor cru das variáveis

A leitura do valor cru de uma variável tem regras próprias:

A lista mascarada continua livre para qualquer membro. Exportar (baixar) as variáveis segue permitido numa instalação parada, mesmo com a cobrança ativa: a janela de 30 dias só começa depois de desativar a cobrança.

Um pedido feito na organização A para um alvo da organização B responde 404.

Códigos de saída

Código Significado
0 ok
1 erro
10 credencial recusada ou sem sessão
11 falha ao guardar ou ler a credencial
12 logout só local: a sessão foi apagada deste computador, mas a revogação no servidor não foi confirmada. Revogue em Sessões, no painel da W8 Hub
13 código expirado, recusado ou login cancelado
14 sem vínculo: falta o .w8.json. Rode w8 link
20 w8 env run falhou antes de o filho rodar: vínculo, recurso, licença ou rede

Limites conhecidos