Zinnector®

A CLI de desenvolvedor para hospedagem WordPress

O Zinnector® cria o WordPress localmente sem nada instalado além do Node — sem Docker, sem MAMP — e depois verifica o que você construiu em relação ao espaço de hospedagem onde está prestes a fazer o deploy e diz o que não vai coincidir, antes de você enviar. Instale-o com npm install -g zinnector. Ele é gratuito, licenciado sob a licença MIT e construído com a mesma API pública de todo o resto aqui.

Cinco comandos, e o do meio é o ponto

A maioria das CLIs de hospedagem começa no deploy. O Zinnector® começa antes disso — ele constrói o site com você e depois verifica seu trabalho em relação à máquina para a qual você está prestes a enviá-lo. A lacuna entre “funcionou no meu notebook” e “funciona no servidor” é para onde vão as tardes, e essa lacuna é mensurável.

novo zinnector

Crie a estrutura de um site, um plugin ou um tema de blocos que inicialize imediatamente. Sem arquivos de espaço reservado, sem pendências — o plugin é ativado e o tema pode ser selecionado no momento em que é criado.

zinnector dev

Um WordPress real na sua máquina em segundos, executando seus próprios plugins e temas, sem Docker e sem PHP no seu PATH. Escolha qualquer PHP de 5.2 a 8.5 para desenvolver.

verificação zinnector

O pré-voo. Compara o que você construiu com o slot para o qual está prestes a fazer o deploy e aponta todas as divergências — e todas as verificações que não pôde realizar — antes do envio.

zinnector push

Faça as verificações pré-voo, envie seus commits, acione a implantação e acompanhe até a conclusão. Se falhar, o registro de compilação está a apenas um comando de distância.

zinnector ai

Consulte o assistente pelo terminal, tendo o seu projeto e o seu site como contexto. Ele roda na plataforma vinculada à sua conta, portanto nenhuma chave de modelo é armazenada em sua máquina.

Test it works in two minutes, no account needed

Six commands, in order, and what success looks like at each one. Everything here runs on your own machine; an API key is only needed when you reach a hosting slot.

  1. Install it

    Run npm install -g zinnector on Node 24 or newer. If npm prints EBADENGINE, your Node is older than 24 — install the current LTS from nodejs.org and run the install again.

  2. Check the version

    zinnector --version prints a version number such as 0.1.2. On a Node older than 24 it prints a message saying Node 24 or newer is needed, and exits.

  3. Read the help

    zinnector --help lists every command below with a one-line purpose. Every command also takes --help of its own.

  4. Scaffold a site

    zinnector new my-site creates a project that boots immediately — a zinnector.json, a wp-content tree and a README — and prints the next commands to run.

  5. Run it

    cd my-site, then zinnector dev. The first run asks once to download the WordPress runtime (about 570 MB, kept in the CLI’s own cache, never in your project). Success looks like “running at http://127.0.0.1:9400”.

  6. Open it in a browser

    http://127.0.0.1:9400 is a fresh WordPress site; /wp-admin opens the dashboard already signed in. Drop a plugin into wp-content/plugins and it is there on the next reload.

  7. Then, with a hosting slot

    zinnector login, zinnector link, zinnector check, zinnector push — pre-flight what you built against the slot, then deploy and watch it finish.

O voo de cruzeiro, em detalhes

Você construiu em PHP 8.3. O slot executa a versão 8.1. Nada avisa você até que o site fique em branco. Esse é o problema para o qual este comando existe, e foi o que o proprietário desta plataforma pediu explicitamente. O Zinnector® lê ambos os ambientes e os coloca lado a lado — e então permite que você faça o deploy mesmo assim, porque você pode ter um motivo.

PHP, com avaliação honesta

Uma lacuna de versão principal é sinalizada como grave porque invariavelmente quebra um site; uma lacuna secundária recebe um sinal menor. Classificar tudo como crítico apenas ensina as pessoas a ignorarem o aviso.

Uso de disco e contagem de arquivos, separadamente

Uma árvore do WordPress é composta por dezenas de milhares de pequenos arquivos, e um site pode esgotar sua cota de inodes mesmo ficando bem abaixo do limite de disco. Ambos são verificados em relação ao que realmente resta no espaço contratado, e não ao plano.

“Não foi possível verificar” é a sua própria resposta

Uma verificação que não consegue ver seu objeto relata como não verificada, nunca como aprovada. Uma execução limpa diz quantas coisas não pôde verificar, porque um falso sinal verde é o único que ninguém olha duas vezes.

Avisa, nunca bloqueia

Todo resultado pode ser substituído com --force, e o sumário indica isso. Na CI, o código de saída é o critério em vez disso, para que um pipeline possa ser rigoroso enquanto uma pessoa mantém o controle.

Dois runtimes locais, ambos reais

O WordPress Playground é o padrão: PHP compilado para WebAssembly, executado dentro do Node, para que um laptop sem nada além do Node instalado vá do zero a um WordPress em execução em mais ou menos o tempo que leva para ler esta frase.

Quando você precisar de um PHP nativo — uma extensão como imagick, um MySQL real — passe --runtime docker e obtenha contêineres php-fpm e MariaDB. Ambos servem os mesmos arquivos do mesmo projeto, portanto, alternar entre eles altera o mecanismo e mais nada.

Tudo o mais que você já faz no painel

O Zinnector® foi desenvolvido com base na mesma API pública do painel, portanto, tudo o que o painel pode fazer, ele também pode — e cada comando é uma operação documentada na especificação OpenAPI, em vez de um endpoint privado.

Sites e implantações

Listar sites, ler tudo o que a plataforma sabe sobre um, reimplantar e ler o histórico de implantação e os logs de compilação.

Domínios, DNS e e-mail

Listar domínios, ler e alterar registros de DNS com o registro exibido antes de ser gravado, e ler seus serviços de e-mail.

PHP, cota, banco de dados e logs

Alterne as versões do PHP, consulte o uso de disco e de inodes em relação ao que o seu plano concede, obtenha links de uso único para o phpMyAdmin e monitore os logs de acesso e de erros em tempo real.

WP-CLI e operações em massa

Execute comandos WP-CLI permitidos em um site e limpe caches ou inicie varreduras de malware em uma seleção inteira em uma única chamada, em vez de uma por site.

Every command, exactly as --help lists it

The full list, one line each. The complete reference — every flag, a runnable example and what each command prints — is generated from the CLI itself and lives in the developer docs and the knowledge base, so it cannot drift from the tool you have installed.

zinnector new

Scaffold a WordPress project you can run immediately.

zinnector dev

Run this project locally — no Docker required.

zinnector login

Sign in with a Zinn Digital® API key.

zinnector logout

Forget a stored API key.

zinnector whoami

Show who this CLI is authenticated as.

zinnector sites

List the sites this key can see.

zinnector status

Everything the platform knows about one site.

zinnector share

Give one person access to a single site — a developer, a designer, a client — with a role and a reason.

zinnector collaborators

See who has been given access to a site, their role, and whether they have accepted yet.

zinnector unshare

Take a person's access back, by email or grant id.

zinnector invitations

The invitations waiting for you, and accept one.

zinnector link

Point this project at a hosting slot (and connect its repository).

zinnector pull

Pull a hosted site's files into this project for local development, and re-run to re-sync. Takes the fast path when the site syncs to its own repository, otherwise works from the latest backup.

zinnector clone

Make a local project from a hosted site in one step: clone its repository or pull its files, write the project file, and leave you ready to run zinnector dev.

zinnector check

Compare this project against the slot you are about to deploy to.

zinnector push

Pre-flight, push your commits, and deploy.

zinnector deploy

Redeploy what the platform already has, without pushing.

zinnector deploys

A site's deploy history.

zinnector php

Show or switch a site's PHP version.

zinnector quota

Disk, files and database usage against what the plan grants.

zinnector db

Database size, and single-use links into phpMyAdmin and the file manager.

zinnector logs

Tail a site's access and error logs.

zinnector wp

Run an allow-listed WP-CLI command on a site.

zinnector backup

List and take site backups. Subcommands: list, now.

zinnector domains

List the domains this key can see.

zinnector dns

Read and change DNS records. Subcommands: list, add, rm.

zinnector mail

List mail services.

zinnector bulk

Run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Ask the Zinn Digital® assistant, with this project as context.

Perguntas

Preciso ser cliente da Zinn Digital® para usá-lo?

Não. `zinnector new` e `zinnector dev` não precisam de nenhuma conta — crie a estrutura de um plugin, de um tema ou de um site inteiro e execute-o localmente, de graça, para sempre. Uma chave de API só é necessária para os comandos que se comunicam com a sua hospedagem.

Precisa de Docker?

Não para o tempo de execução padrão. O WordPress Playground compila PHP para WebAssembly e é executado dentro do Node, portanto `zinnector dev` inicializa um WordPress real em segundos sem nada mais instalado. Se precisar de um PHP nativo — para testar uma extensão como imagick ou ionCube — `--runtime docker` fornece contêineres php-fpm e MariaDB. Ambos são suportados; nenhum é um substituto.

O que a verificação pré-voo realmente compara?

Sua versão local do PHP em relação à do slot, se o slot consegue mudar para a versão na qual você compilou, se o PHP do slot já passou do fim da vida útil e se a máquina realmente o aplicou, o tamanho do seu projeto e a contagem de arquivos em relação ao espaço livre em disco e de inodes, as versões do WordPress em cada lado, se o slot terminou o provisionamento e se há um repositório git conectado para implantação. Qualquer coisa que não pôde ser verificada é relatada como não verificada em vez de ser contada como aprovada.

Pode me impedir de fazer o deploy?

Não, e isso é intencional. O Pre-flight emite avisos e permite prosseguir — `--force` realiza o deploy ignorando qualquer problema. Você sabe coisas sobre o seu próprio site que um verificador não sabe, e uma ferramenta que se recusa a fazer o deploy é uma ferramenta que as pessoas desinstalam.

A minha chave de API é segura?

A chave nunca é lida a partir da linha de comando — apenas de um prompt ou de entrada padrão redirecionada (stdin) —, portanto, ela não pode acabar no histórico do seu shell ou em uma listagem de processos. Ela é armazenada em seu próprio diretório de configuração com modo de arquivo 600, e o Zinnector® reconfirma essas permissões toda vez que grava.

Posso usá-lo em CI?

Sim. Defina `ZINNECTOR_TOKEN` e cada comando aceita `--json`. A saída legível por humanos vai para o stderr e os dados para o stdout, portanto os pipes permanecem limpos. `zinnector check` é encerrado com código diferente de zero quando encontra algo, funcionando assim como um filtro de pipeline, e `--strict` também falha quando uma comparação não pôde ser feita.

Instale-o e coloque um site no ar no próximo minuto

Execute npm install -g zinnector ou teste-o uma vez com npx zinnector new my-site. Gratuito, sob licença MIT e construído com base na API pública. Crie a estrutura de um projeto, execute-o localmente sem o Docker e faça uma verificação pré-voo antes de implantá-lo.

Ler a documentação