Zinnector®

Die Entwickler-CLI für das WordPress-Hosting

Zinnector® erstellt WordPress lokal, ohne dass etwas anderes als Node installiert ist – kein Docker, kein MAMP –, gleicht dann das Erstellte mit dem Hosting-Slot ab, auf den Sie bereitstellen möchten, und zeigt Ihnen vor dem Push an, was nicht übereinstimmt. Installieren Sie es mit npm install -g zinnector. Es ist kostenlos, unter der MIT-Lizenz veröffentlicht und basiert auf derselben öffentlichen API wie alles andere hier.

Fünf Befehle, und der mittlere ist der Punkt

Die meisten Hosting-CLIs beginnen beim Deployment. Zinnector® beginnt früher – es baut die Website gemeinsam mit Ihnen und überprüft anschließend Ihre Arbeit anhand der Maschine, auf die Sie sie übertragen möchten. Die Lücke zwischen „Es lief auf meinem Laptop“ und „Es läuft auf dem Server“ ist die Zeit, die verloren geht, und diese Lücke ist messbar.

zinnector neu

Erstellen Sie eine Website, ein Plugin oder ein Block-Theme, das sofort startet. Keine Platzhalterdateien, keine TODOs – das Plugin aktiviert sich und das Theme kann ausgewählt werden, sobald es existiert.

zinnector dev

Ein echtes WordPress in Sekunden auf Ihrem Computer – für Ihre eigenen Plugins und Themes, ganz ohne Docker und ohne PHP im PATH. Wählen Sie eine beliebige PHP-Version von 5.2 bis 8.5 für Ihre Entwicklung.

zinnector-Prüfung

Der Systemcheck. Vergleicht, was Sie erstellt haben, mit dem Ziel-Slot, in dem Sie bereitstellen möchten, und benennt jede Abweichung – sowie jede Prüfung, die nicht durchgeführt werden konnte –, bevor Sie den Push ausführen.

zinnector push

Vor dem Start Commits pushen, den Deployment-Prozess anstoßen und bis zum Abschluss verfolgen. Schlägt er fehl, ist das Build-Protokoll nur einen Befehl entfernt.

zinnector ai

Befragen Sie den Assistenten vom Terminal aus und nutzen Sie dabei Ihr Projekt und Ihre Website als Kontext. Er läuft auf der Plattform über Ihr eigenes Konto, sodass niemals ein Modellschlüssel auf Ihrem Computer gespeichert wird.

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.

Der Pre-Flight im Detail

Sie haben mit PHP 8.3 entwickelt. Der Slot läuft auf 8.1. Nichts teilt Ihnen das mit, bis die Website weiß bleibt. Genau für dieses Problem existiert dieser Befehl, und es ist derjenige, den der Betreiber dieser Plattform namentlich gefordert hat. Zinnector® liest beide Umgebungen und stellt sie einander gegenüber – lässt Sie dann aber trotzdem bereitstellen, da Sie vielleicht einen Grund dafür haben.

PHP, ehrlich bewertet

Eine große Versionslücke wird als hoch eingestuft, da sie eine Website zuverlässig beschädigt; eine kleine Lücke wird niedriger eingestuft. Alles als kritisch einzustufen lehrt die Leute nur, die Warnung zu ignorieren.

Speicherplatz und Dateianzahl, getrennt

Eine WordPress-Verzeichnisstruktur besteht aus Zehntausenden kleiner Dateien, und eine Website kann ihr Inode-Limit erschöpfen, während sie deutlich unter ihrem Speicherkapazitätslimit liegt. Beides wird anhand des tatsächlich auf dem Speicherplatz verbleibenden Kontingents überprüft, nicht anhand des Tarifs.

„Nicht überprüfbar“ ist die Antwort auf sich selbst

Eine Prüfung, die ihr Ziel nicht sehen kann, meldet sich als ungeprüft und niemals bestanden. Ein fehlerfreier Durchlauf gibt an, wie viele Dinge er nicht verifizieren konnte, denn ein falsches Alles-in-Ordnung ist das eine, das sich niemand zweimal ansieht.

Warnt, blockiert nie

Jedes Ergebnis kann mit --force überschrieben werden, und die Zusammenfassung weist darauf hin. In CI dient stattdessen der Exit-Code als Schwellenwert, sodass eine Pipeline streng sein kann, während ein Mensch die Kontrolle behält.

Zwei lokale Laufzeiten, beide real

WordPress Playground ist der Standard: nach WebAssembly kompiliertes PHP, das in Node läuft, sodass ein Laptop mit nichts außer Node in der Zeit, die es braucht, diesen Satz zu lesen, von null auf ein laufendes WordPress kommt.

Wenn Sie ein natives PHP — eine Erweiterung wie imagick, ein echtes MySQL — benötigen, übergeben Sie --runtime docker und erhalten stattdessen php-fpm- und MariaDB-Container. Beide bedienen dieselben Dateien aus demselben Projekt, sodass ein Wechsel zwischen ihnen die Engine und sonst nichts verändert.

Alles andere erledigen Sie bereits im Panel

Zinnector® basiert auf derselben öffentlichen API wie das Dashboard, sodass alles, was das Panel tun kann, auch von ihm ausgeführt werden kann – und jeder Befehl ist ein dokumentierter Vorgang in der OpenAPI-Spezifikation und kein privater Endpunkt.

Websites und Deployments

Sites auflisten, alle Plattforminformationen zu einer Website abrufen, diese neu bereitstellen sowie den Bereitstellungsverlauf und die Build-Protokolle einsehen.

Domains, DNS und E-Mail

Domains auflisten, DNS-Einträge anzeigen und ändern, wobei der jeweilige Eintrag vor dem Schreiben angezeigt wird, sowie E-Mail-Dienste abrufen.

PHP, Speicherplatz, Datenbank und Protokolle

Wechseln Sie die PHP-Versionen, prüfen Sie die Festplatten- und Inodennutzung im Rahmen Ihres Tarifs, rufen Sie Einmal-Links zu phpMyAdmin auf und verfolgen Sie Zugriffs- und Fehlerprotokolle in Echtzeit.

WP-CLI und Massenvorgänge

Führen Sie erlaubte WP-CLI-Befehle für eine Website aus und leeren Sie Caches oder starten Sie Malware-Scans für eine gesamte Auswahl mit einem einzigen Aufruf anstatt einzeln pro Website.

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.

Fragen

Muss ich ein Kunde von Zinn Digital® sein, um das nutzen zu können?

Nein. `zinnector new` und `zinnector dev` erfordern überhaupt kein Konto – erstellen Sie ein Plugin, ein Theme oder eine gesamte Website und führen Sie diese lokal aus, kostenlos und für immer. Ein API-Schlüssel wird nur für die Befehle benötigt, die mit Ihrem Hosting kommunizieren.

Wird Docker benötigt?

Gilt nicht für die Standard-Runtime. WordPress Playground kompiliert PHP nach WebAssembly und läuft innerhalb von Node, sodass `zinnector dev` in Sekundenschnelle ein echtes WordPress ohne weitere Installationen startet. Wenn Sie eine native PHP-Version benötigen – zum Testen einer Erweiterung wie imagick oder ionCube –, bietet Ihnen `--runtime docker` stattdessen php-fpm- und MariaDB-Container. Beide werden unterstützt; keines davon ist ein Fallback.

Was vergleicht die Vorabprüfung tatsächlich?

Ihre lokale PHP-Version im Vergleich zu der des Slots, ob der Slot überhaupt auf die Version wechseln kann, auf der Sie gebaut haben, ob die PHP-Version des Slots das Ende ihres Lebenszyklus erreicht hat und ob der Server sie tatsächlich angewendet hat, die Größe und Dateianzahl Ihres Projekts im Vergleich zum verbleibenden Speicherplatz und Inode-Kontingent, die WordPress-Versionen auf jeder Seite, ob die Bereitstellung des Slots abgeschlossen ist und ob ein Git-Repository für die Bereitstellung verbunden ist. Alles, was nicht überprüft werden konnte, wird als ungeprüft gemeldet, anstatt als bestanden gewertet zu werden.

Kann es mich am Deployment hindern?

Nein, und das ist Absicht. Pre-flight warnt und lässt Sie fortfahren – `--force` führt Deployments auch bei Warnungen durch. Sie wissen Dinge über Ihre eigene Website, die ein Prüftool nicht kennt, und ein Tool, das ein Deployment verweigert, ist ein Tool, das wieder deinstalliert wird.

Ist mein API-Schlüssel sicher?

Der Schlüssel wird niemals von der Befehlszeile gelesen – sondern nur von einer Eingabeaufforderung oder einer umgeleiteten Standardeingabe –, sodass er weder in Ihrer Shell-Historie noch in einer Prozessliste landen kann. Er wird in Ihrem eigenen Konfigurationsverzeichnis mit dem Dateimodus 600 gespeichert, und Zinnector® stellt diese Berechtigungen bei jedem Schreibvorgang erneut sicher.

Kann ich es in CI verwenden?

Ja. Setzen Sie `ZINNECTOR_TOKEN`, und jeder Befehl unterstützt `--json`. Menschliche Ausgaben gehen an stderr und Daten an stdout, sodass Pipes sauber bleiben. `zinnector check` wird mit einem Status ungleich Null beendet, wenn es etwas findet, sodass es als Pipeline-Gate fungiert, und `--strict` schlägt ebenfalls fehl, wenn ein Vergleich nicht durchgeführt werden konnte.

Installieren Sie es und starten Sie in der nächsten Minute eine Website

Führen Sie npm install -g zinnector aus oder probieren Sie es einmal mit npx zinnector new my-site aus. Kostenlos, unter der MIT-Lizenz und auf Basis der öffentlichen API. Erstellen Sie ein Projekt per Scaffold, führen Sie es lokal ohne Docker aus und prüfen Sie es vor dem Deployment auf Herz und Nieren.

Dokumentation lesen