Zinnector®

Ang developer CLI para sa WordPress hosting

Binubuo ng Zinnector® ang WordPress nang lokal nang walang naka-install kundi ang Node — walang Docker, walang MAMP — pagkatapos ay sinusuri nito ang ginawa mo laban sa hosting slot na malapit mo nang i-deploy at sinasabi sa iyo kung ano ang hindi tutugma, bago ka mag-push. I-install ito gamit ang npm install -g zinnector. Libre ito, may lisensya sa ilalim ng MIT at binuo sa parehong pampublikong API tulad ng lahat ng iba pa rito.

Limang utos, at ang nasa gitna ang punto

Karamihan sa mga hosting CLI ay nagsisimula sa deploy. Nagsisimula ang Zinnector® bago iyon — binubuo nito ang site kasama mo, at pagkatapos ay sinusuri nito ang iyong ginawa laban sa makina na malapit mo nang pag-deploy-an. Ang agwat sa pagitan ng "gumana ito sa aking laptop" at "gumagana ito sa server" ay kung saan nauubos ang mga hapon, at nasusukat ang agwat na iyon.

bagong zinnector

Bumuo ng isang site, plugin o block theme na agad na nagbe-boot. Walang mga placeholder file, walang mga TODO — aktibo ang plugin at mapipili ang theme sa sandaling malikha ito.

zinnector dev

Isang tunay na WordPress sa iyong makina sa loob ng ilang segundo, nagpapatakbo ng sarili mong mga plugin at tema, na walang Docker at walang PHP sa iyong PATH. Pumili ng anumang PHP mula 5.2 hanggang 8.5 para sa iyong pag-develop.

pagsusuri sa zinnector

Ang pre-flight. Pinaghahambing nito ang ginawa mo laban sa slot na ia-deploy mo at pinapangalanan ang bawat hindi tugma — at ang bawat check na hindi nito magawa — bago ka mag-push.

zinnector push

Bago ang paglipad, i-push ang iyong mga commit, i-trigger ang deploy at panoorin ito hanggang matapos. Kung mabigo ito, isang command na lang ang layo ng build log.

zinnector ai

Tanungin ang katulong mula sa terminal, gamit ang iyong proyekto at ang iyong site bilang konteksto. Tumatakbo ito sa platform laban sa sarili mong account, kaya walang model key na kailanman nakaimbak sa iyong makina.

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.

Ang pre-flight, nang detalyado

Nag-build ka sa PHP 8.3. Tumatakbo ang slot sa 8.1. Walang magsasabi sa iyo hanggang sa maging puti ang site. Iyan ang problema kung bakit umiiral ang command na ito, at iyan ang hiningi mismo ng may-ari ng platform na ito. Binabasa ng Zinnector® ang parehong kapaligiran at inilalagay ang mga ito nang magkatabi — pagkatapos ay hinahayaan kang mag-deploy pa rin, dahil baka may dahilan ka.

PHP, may patas na gradong ibinigay

Ang agwat ng pangunahing bersiyon ay minarkahan bilang mataas dahil tiyak na sinisira nito ang isang site; mas mababa ang markang ibinibigay sa maliit na agwat. Ang pagmamarka sa lahat bilang kritikal ay nagtuturo lamang sa mga tao na balewalain ang babala.

Disk at bilang ng file, nang hiwalay

Ang isang WordPress tree ay binubuo ng sampu-sampung libong maliliit na file, at maaaring maubos ng isang site ang laang inode nito kahit na nasa ibaba pa ito ng disk cap nito. Pareho silang sinusuri laban sa kung ano talaga ang natitira sa slot, hindi laban sa plan.

Ang “Hindi masuri” ay sarili nitong sagot

Ang isang pagsusuri na hindi makita ang paksa nito ay nag-uulat na hindi nasuri, kailanman ay hindi naipasa. Sinasabi ng isang malinis na pagtakbo kung gaano karaming mga bagay ang hindi nito ma-verify, dahil ang isang maling all-clear ay ang tanging hindi tinitingnan nang dalawang beses ng sinuman.

Nagbabala, hindi kailanman nagba-block

Maaaring i-override ang bawat natuklasan gamit ang --force, at sinasabi ito ng buod. Sa halip, ang exit code sa CI ang nagsisilbing batayan, kaya pwedeng maging mahigpit ang pipeline habang nananatiling may kontrol ang tao.

Dalawang lokal na runtime, parehong totoo

Ang WordPress Playground ang default: Ang PHP ay naka-compile sa WebAssembly, tumatakbo sa loob ng Node, kaya ang isang laptop na walang naka-install kundi ang Node ay pupunta mula sa wala hanggang sa tumatakbong WordPress sa loob ng halos oras na kinakailangan upang basahin ang pangungusap na ito.

Kapag kailangan mo ng native PHP — isang extension tulad ng imagick, isang tunay na MySQL — ipasa ang --runtime docker at kumuha sa halip ng mga container ng php-fpm at MariaDB. Pareho silang nagsisilbi sa parehong mga file mula sa parehong proyekto, kaya ang pagpapalit sa pagitan nila ay nagbabago sa engine at wala nang iba pa.

Lahat ng iba pa ay ginagawa mo na sa panel

Ang Zinnector® ay binuo sa parehong pampublikong API tulad ng dashboard, kaya anuman ang kayang gawin ng panel, kaya rin nito — at ang bawat command ay isang dokumentadong operasyon sa OpenAPI spec sa halip na isang pribadong endpoint.

Mga site at deployment

Maglista ng mga site, basahin ang lahat ng nalalaman ng platform tungkol sa isa, muling i-deploy, at basahin ang kasaysayan ng pag-deploy at mga log ng build.

Mga Domain, DNS at mail

Maglista ng mga domain, basahin at baguhin ang mga DNS record kasama ang record na ipinapakita bago ito isulat, at basahin ang iyong mga serbisyo sa mail.

PHP, quota, database at mga log

Maglipat ng mga bersyon ng PHP, basahin ang paggamit ng disk at inode kumpara sa ibinibigay ng iyong plan, kumuha ng mga pansamantalang link papunta sa phpMyAdmin, at i-tail ang mga log ng access at error.

WP-CLI at maramihang operasyon

Magpatakbo ng mga naka-allowlist na command ng WP-CLI sa isang site, at mag-purge ng mga cache o magsimula ng mga pag-scan ng malware sa isang buong seleksyon sa pamamagitan ng isang tawag sa halip na isa-isa sa bawat 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.

Mga Tanong

Kailangan ko bang maging customer ng Zinn Digital® para magamit ito?

Hindi. Ang `zinnector new` at `zinnector dev` ay hindi nangangailangan ng anumang account — gumawa ng scaffold ng plugin, tema, o buong site at patakbuhin ito nang lokal, libre, magpakailanman. Kinakailangan lamang ang API key para sa mga command na nakikipag-ugnayan sa iyong hosting.

Kailangan ba nito ang Docker?

Hindi para sa default na runtime. Ang WordPress Playground ay nag-compile ng PHP sa WebAssembly at tumatakbo sa loob ng Node, kaya ang `zinnector dev` ay naglulunsad ng totoong WordPress sa loob ng ilang segundo na walang ibang naka-install. Kung kailangan mo ng native PHP — para sumubok ng extension tulad ng imagick o ionCube — ang `--runtime docker` ay nagbibigay sa iyo ng mga container ng php-fpm at MariaDB sa halip. Pareho silang sinusuportahan; wala ni isa ang fallback.

Ano ba talaga ang inihahambing ng pre-flight check?

Ang lokal na bersyon ng iyong PHP laban sa slot, kung kaya ba ng slot na lumipat sa bersyong pinagbuuan mo, kung lumipas na sa end of life ang PHP ng slot at kung aktwal na itong inilapat ng makina, ang laki at bilang ng file ng iyong proyekto laban sa natitirang disk at inode headroom, ang mga bersyon ng WordPress sa bawat panig, kung natapos na ang pag-provision ng slot, at kung konektado ang isang git repository para pagmulan ng pag-deploy. Ang anumang hindi nito nasuri ay iniuulat bilang hindi nasuri sa halip na mabilang bilang pumasa.

Mapipigilan ba nito ang aking pag-deploy?

Hindi, at sadya iyon. Nagbabala ang pre-flight at hinahayaan kang tumuloy — idineploy ng `--force` ang kabila ng anumang natuklasan. May alam ka tungkol sa sarili mong site na hindi alam ng isang checker, at ang tool na tumatangging mag-deploy ay tool na ina-uninstall ng mga tao.

Ligtas ba ang aking API key?

Ang key ay hindi kailanman binabasa mula sa command line — sa halip ay mula lamang sa isang prompt o piped stdin — kaya hindi ito mapupunta sa iyong shell history o sa isang process listing. Ito ay naka-imbak sa iyong sariling config directory na may file mode 600, at ang Zinnector® ay muling nagpapatupad ng mga pahintulot na iyon sa tuwing ito ay sumusulat.

Maaari ko ba itong gamitin sa CI?

Oo. Itakda ang `ZINNECTOR_TOKEN`, at ang bawat command ay kumukuha ng `--json`. Ang output para sa tao ay napupunta sa stderr at ang data sa stdout, kaya nananatiling malinis ang mga pipe. Ang `zinnector check` ay lumalabas na non-zero kapag may nakita itong anuman, kaya gumagana ito bilang pipeline gate, at nabibigo rin ang `--strict` kapag hindi nagawa ang paghahambing.

I-install ito at magpatakbo ng site sa susunod na minuto

Patakbuhin ang npm install -g zinnector, o subukan ito nang minsan gamit ang npx zinnector new my-site. Libre, lisensyado sa ilalim ng MIT, at binuo sa pampublikong API. Mag-scaffold ng isang proyekto, patakbuhin ito nang lokal nang walang Docker, at i-pre-flight ito bago mo i-deploy.

Basahin ang mga dokumento