Zinnector®

Interfața CLI pentru dezvoltatori pentru găzduirea WordPress

Zinnector® creează WordPress local fără a fi instalat altceva în afară de Node — fără Docker, fără MAMP — apoi verifică ceea ce ai construit în comparație cu spațiul de găzduire pe care urmează să îl implementezi și îți spune ce nu se va potrivi, înainte de a trimite modificările. Instalați-l cu npm install -g zinnector. Este gratuit, licențiat sub licența MIT și construit pe același API public ca tot ce este aici.

Cinci comenzi, iar cea din mijloc este ideea principală

Majoritatea CLI-urilor de găzduire încep la implementare. Zinnector® începe înainte de aceasta — construiește site-ul împreună cu dumneavoastră, iar apoi vă verifică munca în raport cu mașina pe care urmează să o trimiteți. Distanța dintre „a rulat pe laptopul meu” și „rulează pe server” este locul în care se duc după-amiezele, iar această distanță poate fi măsurată.

zinnector nou

Creează structura unui site, a unui modul sau a unei teme pentru blocuri care pornește imediat. Fără fișiere demonstrative, fără TODO-uri — modulul se activează și tema poate fi selectată din momentul în care există.

zinnector dev

Un WordPress real pe mașina ta în câteva secunde, care rulează propriile pluginuri și teme, fără Docker și fără PHP în PATH. Alege orice versiune de PHP de la 5.2 la 8.5 pentru dezvoltare.

verificare zinnector

Verificarea pre-lansare. Compară ceea ce ai construit cu slotul pe care urmează să faci implementarea și menționează fiecare neconcordanță — și fiecare verificare pe care nu a putut-o efectua — înainte de a trimite modificările.

zinnector push

Înainte de lansare, trimiteți commit-urile, declanșați implementarea și urmăriți-o până la finalizare. Dacă eșuează, jurnalul de compilare este la o singură comandă distanță.

zinnector ai

Întreabă asistentul din terminal, folosind proiectul și site-ul tău drept context. Rulează pe platformă pe contul tău, așa că nicio cheie de model nu este stocată vreodată pe computerul tău.

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.

Verificarea pre-lansare, în detaliu

Ați creat utilizând PHP 8.3. Slotul rulează 8.1. Nimic nu vă anunță până când site-ul devine alb. Aceasta este problema pentru care există această comandă și este cea pe care proprietarul acestei platforme a cerut-o în mod expres. Zinnector® citește ambele medii și le plasează unul lângă celălalt — apoi vă permite să implementați oricum, deoarece s-ar putea să aveți un motiv.

PHP, evaluat corect

O diferență de versiune majoră este marcată ca fiind importantă deoarece afectează în mod sigur un site; o diferență minoră este marcată cu o prioritate mai scăzută. Clasificarea tuturor aspectelor drept critice nu face decât să-i învețe pe oameni să ignore avertismentul.

Spațiu pe disc și număr de fișiere, separat

Un arbore WordPress este format din zeci de mii de fișiere mici, iar un site își poate epuiza cota de inode-uri în timp ce se află mult sub limita de disc. Ambele sunt verificate în raport cu ceea ce a rămas efectiv pe slot, nu în raport cu planul.

„Nu s-a putut verifica” este propriul său răspuns

O verificare care nu își poate vedea subiectul raportează că nu este bifată, niciodată trecută. O rulare curată spune câte lucruri nu a putut verifica, deoarece o falsă confirmare curată este singura la care nimeni nu se uită de două ori.

Avertizează, nu blochează niciodată

Orice constatare poate fi suprascrisă cu --force, iar rezumatul indică acest lucru. În CI, codul de ieșire preia rolul de barieră, astfel încât un flux de lucru poate fi strict, în timp ce un om deține controlul.

Două medii de execuție locale, ambele reale

WordPress Playground este opțiunea implicită: PHP compilat la WebAssembly, care rulează în interiorul Node, astfel încât un laptop fără altceva instalat în afară de Node trece de la zero la un WordPress care rulează în aproximativ timpul necesar pentru a citi această propoziție.

Când aveți nevoie de un PHP nativ — o extensie precum imagick, un MySQL real — transmiteți --runtime docker și obțineți containere php-fpm și MariaDB în schimb. Ambele servesc aceleași fișiere din același proiect, așa că trecerea de la unul la celălalt schimbă motorul și nimic altceva.

Tot ce-ai de făcut în continuare se face direct în panou

Zinnector® este construit pe același API public ca și panoul de control, așa că tot ceea ce poate face panoul poate face și el — și fiecare comandă este o operațiune documentată în specificația OpenAPI, mai degrabă decât un punct final privat.

Site-uri și implementări

Listează site-urile, citește tot ce știe platforma despre unul dintre ele, redeploy și citește istoricul de deploy și jurnalele de build.

Domenii, DNS și e-mail

Listați domeniile, citiți și modificați înregistrările DNS cu înregistrarea afișată înainte ca aceasta să fie scrisă și citiți serviciile de e-mail.

PHP, cotă, bază de date și jurnale

Schimbați versiunile de PHP, verificați utilizarea discului și a inodurilor în raport cu ceea ce vă permite planul dvs., obțineți linkuri de unică folosință către phpMyAdmin și vizualizați jurnalele de acces și de erori în timp real.

WP-CLI și operațiuni în masă

Rulați comenzi WP-CLI incluse în lista permisă pentru un site și goliți memoria cache sau inițiați scanări de malware pentru o selecție completă dintr-un singur apel, în loc de unul 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.

Întrebări

Trebuie să fiu client Zinn Digital® pentru a-l folosi?

Nu. `zinnector new` și `zinnector dev` nu au nevoie de niciun cont — creați structura unui plugin, a unei teme sau a unui site întreg și rulați-l local, gratuit, pentru totdeauna. O cheie API este necesară doar pentru comenzile care comunică cu găzduirea dumneavoastră.

Are nevoie de Docker?

Nu este pentru runtime-ul implicit. WordPress Playground compilează PHP în WebAssembly și rulează în Node, așa că `zinnector dev` pornește un WordPress real în câteva secunde, fără a fi nevoie de altceva instalat. Dacă ai nevoie de un PHP nativ — pentru a testa o extensie precum imagick sau ionCube — `--runtime docker` îți oferă în schimb containere php-fpm și MariaDB. Ambele sunt acceptate; niciuna nu este o soluție de rezervă.

Ce compară de fapt verificarea pre-zbor?

Versiunea ta locală de PHP față de cea a slotului, dacă slotul poate trece la versiunea pe care ai creat-o, dacă PHP-ul slotului a depășit sfârșitul ciclului de viață și dacă mașina l-a aplicat efectiv, dimensiunea proiectului tău și numărul de fișiere față de spațiul liber de pe disc și numărul de inode-uri rămas, versiunile WordPress de pe fiecare parte, dacă slotul a terminat de configurat și dacă un repository git este conectat pentru a face implementarea. Orice nu a putut fi verificat este raportat ca neverificat, în loc să fie contorizat ca reușit.

Poate să îți blocheze implementarea?

Nu, și acest lucru este intenționat. Verificarea pre-lansare vă avertizează și vă permite să continuați — `--force` implementează dincolo de orice problemă detectată. Cunoașteți aspecte ale propriului site pe care un verificator nu le cunoaște, iar o unealtă care refuză să se implementeze este o unealtă pe care oamenii o dezinstalează.

Este cheia mea API în siguranță?

Cheia nu este citită niciodată din linia de comandă — ci doar de la o solicitare sau dintr-un flux de intrare transmis prin conductă (stdin) — așa că nu poate ajunge în istoricul shell-ului dvs. sau într-o listă de procese. Este stocată în propriul director de configurare cu modul de fișier 600, iar Zinnector® reconfirmă aceste permisiuni de fiecare dată când scrie.

Îl pot folosi în CI?

Da. Setați `ZINNECTOR_TOKEN`, și fiecare comandă acceptă `--json`. Rezultatul pentru utilizator merge la stderr și datele la stdout, astfel încât conductele rămân curate. `zinnector check` se termină cu cod diferit de zero când găsește ceva, așa că funcționează ca o poartă de conductă, iar `--strict` eșuează, de asemenea, atunci când nu s-a putut efectua o comparație.

Instalați-l și rulați un site în minutul următor

Rulează npm install -g zinnector sau încearcă-l o dată cu npx zinnector new my-site. Gratuit, licențiat sub MIT și construit pe API-ul public. Creează un proiect, rulează-l local fără Docker și testează-l înainte de a-l implementa.

Citește documentația