Zinnector®

CLI pembangun untuk pengehosan WordPress

Zinnector® membina WordPress secara setempat dengan hanya Node dipasang — tiada Docker, tiada MAMP — kemudian menyemak apa yang anda bina berbanding slot pengehosan yang anda bakal lancarkan dan memberitahu anda perkara yang tidak sepadan, sebelum anda menolak. Pasang ia dengan npm install -g zinnector. Ia adalah percuma, berlesen MIT dan dibina atas API awam yang sama seperti segala-galanya di sini.

Lima arahan, dan yang di tengah adalah intinya

Kebanyakan CLI pengehosan bermula pada peringkat atur. Zinnector® bermula lebih awal daripada itu — ia membina tapak bersama anda, dan kemudian ia menyemak kerja anda berbanding mesin yang akan anda hantarkannya. Jurang antara "ia berjalan pada komputer riba saya" dan "ia berjalan pada pelayan" adalah tempat masa petang dihabiskan, dan jurang itu boleh diukur.

zinnector baharu

Bina kerangka tapak, plugin atau tema blok yang boleh diaktifkan serta-merta. Tiada fail placeholder, tiada TODO — plugin diaktifkan dan tema boleh dipilih sebaik sahaja ia wujud.

pembangunan zinnector

WordPress sebenar pada mesin anda dalam beberapa saat, menyajikan pemalam dan tema anda sendiri, tanpa Docker dan tanpa PHP pada PATH anda. Pilih mana-mana PHP daripada 5.2 hingga 8.5 untuk membangun.

pemeriksaan zinnector

Penerbangan awal. Membandingkan apa yang anda bina dengan slot yang anda akan lancarkan dan menamakan setiap ketidakpadanan — dan setiap semakan yang tidak dapat dilakukan — sebelum anda tolak.

tolakan zinnector

Sebelum penerbangan, hantar komitmen anda, cetuskan pendarcapan dan pantau sehingga selesai. Jika gagal, log binaan hanya tinggal satu arahan sahaja.

zinnector ai

Tanya pembantu dari terminal, dengan projek dan tapak anda sebagai konteks. Ia berjalan pada platform menentang akaun anda sendiri, jadi tiada kunci model pernah disimpan pada mesin anda.

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.

Penerbangan percubaan, secara terperinci

Anda membina pada PHP 8.3. Slot tersebut menjalankan versi 8.1. Tiada apa-apa yang memberitahu anda sehingga tapak web tersebut menjadi putih. Itulah masalah kewujudan arahan ini, dan ia adalah arahan yang diminta sendiri oleh pemilik platform ini. Zinnector® membaca kedua-dua persekitaran dan meletakkannya sebelah-menyebelah — kemudian membenarkan anda tetap membuat deployment, kerana anda mungkin mempunyai sebab tertentu.

PHP, dinilai secara jujur

Jurang versi major ditandakan sebagai tinggi kerana ia pasti akan merosakkan tapak web; jurang minor ditandakan lebih rendah. Menilai segala-bagaimana kritikal hanya mengajar orang ramai untuk mengabaikan amaran tersebut.

Kiraan cakera dan fail, secara berasingan

Pokok WordPress terdiri daripada berpuluh-puluh ribu fail kecil, dan sesuatu tapak boleh kehabisan had inode walaupun masih berada di bawah had kuota cakera. Kedua-duanya disemak berdasarkan apa yang sebenarnya tinggal pada slot, bukannya pelan.

“Tidak dapat disemak” adalah jawapannya sendiri

Pemeriksaan yang tidak dapat melihat subjeknya melaporkan tidak diperiksa, tidak pernah lulus. Laporan bersih menyatakan berapa banyak perkara yang tidak dapat disahkan, kerana lampu hijau palsu adalah satu perkara yang tiada siapa pedulikan dua kali.

Amaran, tidak pernah menyekat

Setiap penemuan boleh diatasi dengan --force, dan ringkasan tersebut menyatakan sedemikian. Dalam CI, kod keluar menjadi penentu sebaliknya, supaya saluran paip boleh menjadi ketat manakala seseorang kekal memegang kawalan.

Dua masa jalan tempatan, kedua-duanya nyata

WordPress Playground ialah lalai: PHP yang disusun kepada WebAssembly, berjalan di dalam Node, jadi komputer riba yang tidak mempunyai apa-apa selain Node dipasang beralih daripada kosong kepada WordPress yang sedang berjalan dalam masa yang hampir sama dengan masa yang diperlukan untuk membaca ayat ini.

Apabila anda memerlukan PHP asli — sambungan seperti imagick, MySQL sebenar — luluskan --runtime docker dan dapatkan bekas php-fpm dan MariaDB sebagai gantinya. Kedua-duanya melayan fail yang sama dari projek yang sama, jadi beralih antara keduanya menukar enjin dan tiada yang lain.

Segala yang lain telah pun anda lakukan di dalam panel

Zinnector® dibina berdasarkan API awam yang sama seperti papan pemuka, jadi apa sahaja yang boleh dilakukan oleh panel, ia boleh melakukannya — dan setiap arahan ialah operasi yang didokumenkan dalam spesifikasi OpenAPI dan bukannya titik akhir peribadi.

Tapak dan pelancaran

Senaraikan tapak, baca semua yang diketahui oleh platform tentang sesuatu tapak, isytihar semula, dan baca sejarah pendaratan serta log binaan.

Domain, DNS dan e-mel

Senaraikan domain, baca dan ubah rekod DNS dengan rekod yang dipaparkan sebelum ia ditulis, serta baca perkhidmatan mel anda.

PHP, kuota, pangkalan data dan log

Tukar versi PHP, semak penggunaan cakera dan inode berbanding had pelan anda, dapatkan pautan guna tunggal ke dalam phpMyAdmin, serta pantau log akses dan ralat.

WP-CLI dan operasi pukal

Jalankan arahan WP-CLI yang disenarai benarkan pada tapak, dan kosongkan cache atau mulakan imbasan perisian hasad merentas keseluruhan pilihan dalam satu panggilan dan bukannya satu demi satu tapak.

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.

Soalan

Adakah saya perlu menjadi pelanggan Zinn Digital® untuk menggunakannya?

Tidak. `zinnector new` dan `zinnector dev` tidak memerlukan sebarang akaun sama sekali — bina kerangka pelayan, tema atau keseluruhan tapak dan jalankannya secara lokal, percuma, selamanya. Kunci API hanya diperlukan untuk arahan yang berinteraksi dengan pengehosan anda.

Adakah ia memerlukan Docker?

Bukan untuk masa jalan lalai. WordPress Playground menyusun PHP ke WebAssembly dan berjalan di dalam Node, jadi `zinnector dev` memulakan WordPress sebenar dalam beberapa saat tanpa memasang apa-apa lagi. Jika anda memerlukan PHP asli — untuk menguji sambungan seperti imagick atau ionCube — `--runtime docker` memberi anda bekas php-fpm dan MariaDB sebagai gantinya. Kedua-duanya disokong; tiada satu pun yang menjadi pilihan sandaran.

Apakah sebenarnya yang dibandingkan oleh semakan pra-terbang?

Versi PHP tempatan anda berbanding slot tersebut, sama ada slot itu boleh bertukar kepada versi yang anda bina, sama ada PHP slot tersebut telah tamat tempoh hayat dan sama ada mesin telah pun melaksanakannya, saiz projek dan bilangan fail anda berbanding ruang cakera dan inode yang tinggal, versi WordPress pada setiap sisi, sama ada slot tersebut telah selesai diperuntukkan, dan sama ada repositori git disambungkan untuk membuat deployment. Apa sahaja yang tidak dapat diperiksa akan dilaporkan sebagai tidak diperiksa dan bukannya dikira sebagai lulus.

Bolehkah ia menghentikan saya daripada membuat deployment?

Tidak, dan itu memang disengajakan. Pre-flight memberi amaran dan membenarkan anda meneruskan — `--force` meneruskan penempatan melepasi sebarang penemuan. Anda mengetahui perkara tentang tapak anda sendiri yang tidak diketahui oleh pemeriksa, dan alat yang enggan melakukan penempatan ialah alat yang dinyahpasang oleh pengguna.

Adakah kekunci API saya selamat?

Kunci tersebut tidak pernah dibaca daripada baris arahan — hanya daripada gesaan atau stdin yang disalurkan — jadi ia tidak boleh berakhir dalam sejarah shell anda atau dalam senarai proses. Ia disimpan dalam direktori konfigurasi anda sendiri dengan mod fail 600, dan Zinnector® menegaskan semula kebenaran tersebut setiap kali ia menulis.

Bolehkah saya menggunakannya dalam CI?

Ya. Tetapkan `ZINNECTOR_TOKEN`, dan setiap arahan menerima `--json`. Output manusia pergi ke stderr dan data ke stdout, jadi paip kekal bersih. `zinnector check` keluar dengan nilai bukan sifar apabila ia menemui sesuatu, jadi ia berfungsi sebagai pintu gerbang paip, dan `--strict` juga gagal apabila perbandingan tidak dapat dibuat.

Pasang ia dan jalankan tapak dalam minit seterusnya

Jalankan npm install -g zinnector, atau cuba sekali dengan npx zinnector new my-site. Percuma, berlesen MIT dan dibina atas API awam. Sediakan rangka projek, jalankannya secara lokal tanpa Docker, dan lakukan pemeriksaan pra-terbang sebelum anda mendeploy.

Baca dokumentasi