Zinnector®

De ontwikkelaars-CLI voor WordPress-hosting

Zinnector® bouwt WordPress lokaal met niets anders geïnstalleerd dan Node — geen Docker, geen MAMP — controleert vervolgens wat u heeft gebouwd aan de hand van de hosting-slot waarop u gaat publiceren en vertelt u wat er niet zal overeenkomen, voordat u pusht. Installeer het met npm install -g zinnector. Het is gratis, MIT-gelicentieerd en gebouwd op dezelfde openbare API als al het andere hier.

Vijf commando's, en de middelste is het punt

De meeste hosting-CLI's beginnen bij het implementeren. Zinnector® begint al eerder: het bouwt de site samen met u en controleert vervolgens uw werk aan de hand van de machine waarnaar u het gaat versturen. De kloof tussen 'het werkte op mijn laptop' en 'het werkt op de server' is waar de middagen naartoe gaan, en die kloof is meetbaar.

zinnector nieuw

Bouw een site, plugin of blokthema op dat direct opstart. Geen placeholder-bestanden, geen TODO's: de plugin wordt geactiveerd en het thema kan worden geselecteerd zodra het bestaat.

zinnector dev

Binnen enkele seconden een echte WordPress op uw machine, voor uw eigen plugins en thema's, zonder Docker en zonder PHP in uw PATH. Kies een willekeurige PHP-versie van 5.2 tot 8.5 om mee te ontwikkelen.

zinnector-controle

De pre-flight. Vergelijkt wat u hebt gebouwd met de slot waarop u gaat implementeren en benoemt elk verschil — en elke controle die niet kon worden uitgevoerd — voordat u pusht.

zinnector push

Voer voorafcontroles uit, push uw commits, start de implementatie en volg deze tot de voltooiing. Als het mislukt, is het build-logboek slechts één commando verwijderd.

zinnector ai

Vraag het aan de assistent vanuit de terminal, met uw project en uw website als context. De assistent draait op het platform tegen uw eigen account, zodat er nooit een modelsleutel op uw computer wordt opgeslagen.

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.

De pre-flight, in detail

U hebt gebouwd op PHP 8.3. De slot draait op 8.1. Niets vertelt u dit tot de website wit blijft. Dat is het probleem waarvoor dit commando bestaat, en het is waar de eigenaar van dit platform nadrukkelijk om vroeg. Zinnector® leest beide omgevingen en legt ze naast elkaar — om u vervolgens toch te laten deployen, omdat u daar een reden voor kunt hebben.

PHP, Eerlijk beoordeeld

Een grootversieverschil wordt als hoog aangemerkt omdat het een website vrijwel zeker onbruikbaar maakt; een kleinversieverschil krijgt een lagere prioriteit. Alles als kritiek beoordelen leert mensen alleen maar om de waarschuwing te negeren.

Schijf- en bestandslimiet, afzonderlijk

Een WordPress boomstructuur bestaat uit tienduizenden kleine bestanden, en een website kan haar inode-limiet bereiken terwijl deze ruim onder de opslaglimiet blijft. Beide worden gecontroleerd op basis van wat er daadwerkelijk op de ruimte over is, niet op basis van het abonnement.

“Kon niet controleren” is zijn eigen antwoord

Een controle die zijn onderwerp niet kan zien, rapporteert als niet-gecontroleerd en nooit als geslaagd. Een schone run vermeldt hoeveel dingen deze niet kon verifiëren, omdat een vals groen licht het enige is waar niemand een tweede keer naar kijkt.

Waarschuwt, blokkeert nooit

Elke bevinding kan worden overschreven met --force, en dat vermeldt de samenvatting ook. In CI fungeert de afsluitcode als criterium, zodat een pipeline streng kan zijn terwijl een mens de controle behoudt.

Twee lokale runtimes, beide echt

WordPress Playground is de standaard: PHP gecompileerd naar WebAssembly, draaiend binnen Node, zodat een laptop waarop niets anders dan Node is geïnstalleerd in ongeveer de tijd die het kost om deze zin te lezen, van niets naar een werkende WordPress gaat.

Wanneer u een native PHP nodig heeft — een extensie zoals imagick, een echte MySQL — geef dan --runtime docker op om in plaats daarvan php-fpm- en MariaDB-containers te krijgen. Beide bedienen dezelfde bestanden vanuit hetzelfde project, dus door ertussen te schakelen verandert alleen de engine en verder niets.

Al het andere doet u al in het paneel

Zinnector® is gebouwd op dezelfde publieke API als het dashboard, dus alles wat het paneel kan, kan het ook — en elk commando is een gedocumenteerde bewerking in de OpenAPI-specificatie in plaats van een privé-eindpunt.

Sites en implementaties

Sites weergeven, alles lezen wat het platform over een site weet, opnieuw implementeren en implementatiegeschiedenis en build-logboeken lezen.

Domeinen, DNS en e-mail

Domeinen weergeven, DNS-records lezen en wijzigen waarbij het record wordt getoond voordat het wordt geschreven, en uw e-mailservices lezen.

PHP, quota, database en logboeken

Schakel tussen PHP-versies, controleer het schijf- en inodegebruik ten opzichte van wat uw abonnement toestaat, ontvang eenmalige links naar phpMyAdmin en bekijk de toegangs- en foutenlogboeken in realtime.

WP-CLI en bulkbewerkingen

Voer op de witte lijst geplaatste WP-CLI-commando's uit op een site, en wis caches of start malwarescans voor een volledige selectie in één aanroep in plaats van één per 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.

Vragen

Moet ik klant zijn van Zinn Digital® om dit te kunnen gebruiken?

Nee. `zinnector new` en `zinnector dev` hebben helemaal geen account nodig: maak een plugin, thema of een volledige site aan en voer deze lokaal uit, gratis en voor altijd. Een API-sleutel is alleen vereist voor de commando's die communiceren met uw hosting.

Heeft dit Docker nodig?

Niet voor de standaardruntime. WordPress Playground compileert PHP naar WebAssembly en draait binnen Node, waardoor `zinnector dev` binnen enkele seconden een echte WordPress start zonder dat er iets anders geïnstalleerd hoeft te worden. Als u een native PHP nodig hebt – om een extensie zoals imagick of ionCube te testen – biedt `--runtime docker` u in plaats daarvan php-fpm- en MariaDB-containers. Beide worden ondersteund; geen van beide is een alternatief.

Wat vergelijkt de pre-flight check eigenlijk?

Uw lokale PHP-versie versus die van de slot, of de slot überhaupt kan overschakelen naar de versie waarop u heeft gebouwd, of de PHP van de slot het einde van zijn levensduur heeft bereikt en of de machine deze daadwerkelijk heeft toegepast, de omvang van uw project en het aantal bestanden in verhouding tot de resterende schijf- en inode-ruimte, de WordPress versies aan beide kanten, of de slot klaar is met provisioneren en of er een git-repository is gekoppeld om vanaf te implementeren. Alles wat niet kon worden gecontroleerd, wordt gerapporteerd als niet-gecontroleerd in plaats de worden meegeteld als geslaagd.

Kan dit mijn implementatie stoppen?

Nee, en dat is bewust. Pre-flight waarschuwt en laat u doorgaan — `--force` implementeert voorbij elke bevinding. U weet dingen over uw eigen website die een controleur niet weet, en een tool die weigert te implementeren is een tool die mensen deinstalleren.

Is mijn API-sleutel veilig?

De sleutel wordt nooit gelezen vanaf de opdrachtregel — alleen vanaf een prompt of gepipte stdin — dus deze kan niet in uw shellgeschiedenis of in een proceslijst terechtkomen. Deze wordt opgeslagen in uw eigen configuratiemap met bestandsmodus 600, en Zinnector® dwingt die rechten telkens opnieuw af wanneer er wordt geschreven.

Kan ik het in CI gebruiken?

Ja. Stel `ZINNECTOR_TOKEN` in en elk commando accepteert `--json`. Menselijke uitvoer gaat naar stderr en data naar stdout, zodat pipes schoon blijven. `zinnector check` wordt afgesloten met een status ongelijk aan nul wanneer er iets wordt gevonden, dus het werkt als een pipeline-poort, en `--strict` mislukt bovendien wanneer een vergelijking niet kon worden gemaakt.

Installeer het en start binnen een minuut een website

Voer npm install -g zinnector uit, of probeer het eenmalig met npx zinnector new my-site. Gratis, onder MIT-licentie en gebouwd op de publieke API. Steiger een project op, draai het lokaal zonder Docker en voer een pre-flight check uit voordat u implementeert.

Documentatie lezen