Zinnector®

CLI pengembang untuk hosting WordPress

Zinnector® membangun WordPress secara lokal tanpa menginstal apa pun selain Node — tanpa Docker, tanpa MAMP — lalu memeriksa apa yang Anda bangun terhadap slot hosting yang akan Anda deploy dan memberi tahu Anda apa yang tidak akan cocok, sebelum Anda push. Instal dengan npm install -g zinnector. Alat ini gratis, berlisensi MIT, dan dibangun di atas API publik yang sama seperti hal lainnya di sini.

Lima perintah, dan yang di tengah adalah intinya

Sebagian besar CLI hosting dimulai saat deployment. Zinnector® dimulai sebelum itu — alat ini membangun situs bersama Anda, lalu memeriksa pekerjaan Anda terhadap mesin yang akan Anda tuju. Kesenjangan antara "berjalan di laptop saya" dan "berjalan di server" adalah tempat di mana sore hari Anda dihabiskan, dan kesenjangan tersebut dapat diukur.

zinnector baru

Buat kerangka situs, plugin, atau tema blok yang langsung dapat dijalankan. Tanpa file temuan, tanpa TODO — plugin langsung diaktifkan dan tema dapat dipilih begitu dibuat.

zinnector dev

Sebuah WordPress asli di komputer Anda dalam hitungan detik, yang menjalankan plugin dan tema Anda sendiri, tanpa Docker dan tanpa PHP di PATH Anda. Pilih PHP apa pun dari 5.2 hingga 8.5 untuk pengembangan Anda.

pemeriksaan zinnector

Pemeriksaan awal. Membandingkan apa yang telah Anda buat dengan slot tempat Anda akan melakukan deployment dan menyebutkan setiap ketidakcocokan — serta setiap pemeriksaan yang tidak dapat dilakukan — sebelum Anda melakukan push.

dorongan zinnector

Sebelum penerbangan, dorong commit Anda, picu penerapan dan pantau hingga selesai. Jika gagal, log build hanya berjarak satu perintah.

zinnector ai

Ajukan pertanyaan ke asisten dari terminal, dengan proyek dan situs Anda sebagai konteks. Ini berjalan di platform berdasarkan akun Anda sendiri, sehingga tidak ada kunci model yang pernah disimpan di komputer 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.

Pra-penerbangan secara rinci

Anda membangun di PHP 8.3. Slot menjalankan 8.1. Tidak ada yang memberi tahu Anda sampai situs menjadi putih. Itulah masalah mengapa perintah ini dibuat, dan itulah yang diminta secara khusus oleh pemilik platform ini. Zinnector® membaca kedua lingkungan dan menampilkannya berdampingan — lalu memungkinkan Anda untuk tetap melakukan deployment, karena Anda mungkin memiliki alasan tertentu.

PHP, dinilai secara jujur

Kesenjangan versi mayor ditandai sebagai tinggi karena dapat dipastikan merusak situs, sementara kesenjangan minor ditandai lebih rendah. Menilai semuanya sebagai kritis hanya akan mengajari orang-orang untuk mengabaikan peringatan tersebut.

Jumlah disk dan berkas, secara terpisah

Pohon WordPress terdiri dari puluhan ribu file kecil, dan sebuah situs dapat kehabisan jatah inode meskipun kapasitas penyimpanannya masih jauh di bawah batas maksimal. Keduanya diperiksa berdasarkan sisa kapasitas yang benar-benar ada pada slot, bukan berdasarkan paket langganan.

“Tidak dapat memeriksa” adalah jawabannya sendiri

Pemeriksaan yang tidak dapat melihat subjeknya dilaporkan belum diperiksa, tidak pernah lulus. Proses yang bersih menyatakan berapa banyak hal yang tidak dapat diverifikasinya, karena hasil aman palsu adalah satu hal yang tidak akan diperhatikan dua kali oleh siapa pun.

Memperingatkan, tidak pernah memblokir

Setiap temuan dapat ditimpa dengan --force, dan ringkasan menjelaskannya. Di CI, kode keluar menjadi gerbangnya, sehingga pipeline dapat tetap ketat sementara seseorang tetap memegang kendali.

Dua runtime lokal, keduanya nyata

WordPress Playground adalah bawaan: PHP yang dikompilasi ke WebAssembly, berjalan di dalam Node, sehingga laptop tanpa apa pun selain Node yang terpasang dapat beralih dari nol ke WordPress yang berjalan dalam waktu sekitar yang diperlukan untuk membaca kalimat ini.

Saat Anda memerlukan PHP asli — ekstensi seperti imagick, MySQL asli — berikan --runtime docker dan dapatkan kontainer php-fpm serta MariaDB sebagai gantinya. Keduanya melayani file yang sama dari proyek yang sama, sehingga beralih di antara keduanya hanya mengubah mesin dan tidak ada yang lain.

Semua hal lainnya sudah Anda lakukan di panel

Zinnector® dibangun di atas API publik yang sama seperti dasbor, sehingga apa pun yang dapat dilakukan panel, fitur tersebut juga dapat melakukannya — dan setiap perintah adalah operasi yang didokumentasikan dalam spesifikasi OpenAPI, bukan *endpoint* privat.

Situs dan penerapan

Daftar situs, baca semua informasi yang diketahui platform tentang suatu situs, terapkan ulang, serta baca riwayat penerapan dan log build.

Domain, DNS, dan email

Daftar domain, baca dan ubah catatan DNS dengan catatan yang ditampilkan sebelum ditulis, dan baca layanan surat Anda.

PHP, kuota, basis data, dan log

Ganti versi PHP, baca penggunaan disk dan inode terhadap yang diberikan oleh paket Anda, dapatkan tautan sekali pakai ke phpMyAdmin, dan pantau log akses serta galat.

WP-CLI dan operasi massal

Jalankan perintah WP-CLI yang masuk daftar izin pada situs, serta bersihkan singgahan atau mulai pemindaian malware di seluruh pilihan dalam satu panggilan alih-alih satu per situs.

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.

Pertanyaan

Apakah saya harus menjadi pelanggan Zinn Digital® untuk menggunakannya?

Tidak. `zinnector new` dan `zinnector dev` sama sekali tidak memerlukan akun — buat plugin, tema, atau seluruh situs menggunakan kerangka kerja (scaffold) dan jalankan secara lokal, gratis, selamanya. Kunci API hanya diperlukan untuk perintah yang terhubung ke hosting Anda.

Perlu Docker?

Bukan untuk *runtime* bawaan. WordPress Playground mengompilasi PHP ke WebAssembly dan berjalan di dalam Node, sehingga `zinnector dev` dapat menjalankan WordPress asli dalam hitungan detik tanpa perlu menginstal hal lain. Jika Anda membutuhkan PHP asli — untuk menguji ekstensi seperti imagick atau ionCube — `--runtime docker` menyediakan penampung php-fpm dan MariaDB sebagai gantinya. Keduanya didukung; tidak ada yang menjadi *fallback*.

Apa sebenarnya yang dibandingkan oleh pemeriksaan pra-terbang?

Versi PHP lokal Anda dibandingkan dengan versi slot, apakah slot tersebut bahkan dapat beralih ke versi tempat Anda membangun, apakah PHP slot tersebut sudah melewati masa akhir masa pakai dan apakah mesin telah benar-benar menerapkannya, ukuran proyek dan jumlah file Anda dibandingkan dengan sisa ruang disk dan inode, versi WordPress di setiap sisi, apakah slot telah selesai melakukan provisi, dan apakah repositori git terhubung untuk melakukan deployment. Segala sesuatu yang tidak dapat diperiksa dilaporkan sebagai belum diperiksa dan bukan dihitung sebagai lulus.

Bisakah hal itu menghentikan saya untuk melakukan deployment?

Tidak, dan itu memang disengaja. Pre-flight memberikan peringatan dan mengizinkan Anda melanjutkan — `--force` melakukan deployment meski ada temuan. Anda mengetahui hal-hal tentang situs Anda sendiri yang tidak diketahui oleh pemeriksa, dan perangkat lunak yang menolak untuk melakukan deployment adalah perangkat lunak yang akan dicopot pemasangannya oleh pengguna.

Apakah kunci API saya aman?

Kunci tersebut tidak pernah dibaca dari baris perintah — hanya dari prompt atau stdin yang disalurkan — sehingga tidak akan masuk ke dalam riwayat shell Anda atau daftar proses. Kunci tersebut disimpan di direktori konfigurasi Anda sendiri dengan mode file 600, dan Zinnector® menegaskan kembali izin tersebut setiap kali menulis.

Bisakah saya menggunakannya di CI?

Ya. Atur `ZINNECTOR_TOKEN`, dan setiap perintah menerima `--json`. Keluaran untuk manusia masuk ke stderr dan data ke stdout, sehingga pipa tetap bersih. `zinnector check` keluar dengan kode bukan nol saat menemukan sesuatu, sehingga berfungsi sebagai gerbang pipa, dan `--strict` juga gagal saat perbandingan tidak dapat dilakukan.

Pasang dan jalankan situs dalam menit berikutnya

Jalankan npm install -g zinnector, atau coba sekali dengan npx zinnector new my-site. Gratis, berlisensi MIT, dan dibangun di atas API publik. Buat templat proyek, jalankan secara lokal tanpa Docker, dan lakukan uji pra-terbang sebelum Anda menerapkannya.

Baca dokumentasi