Zinnector® CLI

ທຸກໆຄຳສັ່ງ, ໂດຍກົງຈາກ --help

Zinnector® 0.1.6 ສ້າງເວັບໄຊ WordPress ໃນເຄື່ອງຂອງທ່ານເອງໂດຍບໍ່ຕ້ອງຕິດຕັ້ງຫຍັງນອກຈາກ Node, ກວດສອບມັນກັບຊ່ອງໂຮສຕິ້ງທີ່ທ່ານກຳລັງຈະນຳໃຊ້ອອກໄປ, ແລະ ສົ່ງຂໍ້ມູນຂຶ້ນໄປ. ໜ້ານີ້ຖືກສ້າງຂຶ້ນມາຈາກຄຳນິຍາມຄຳສັ່ງຂອງ CLI ເອງ — ອອບເຈັກດຽວກັບທີ່ zinnector --help ພິມອອກມາ — ດັ່ງນັ້ນ ມັນຈຶ່ງບໍ່ສາມາດຂັດແຍ້ງກັບເຄື່ອງມືທີ່ທ່ານໄດ້ຕິດຕັ້ງໄວ້.

ເອກະສານນັກພັດທະນາທັງໝົດ →

43 ຄຳສັ່ງໃນ Zinnector® 0.1.6.

ຕິດຕັ້ງມັນ

ຄຳສັ່ງດຽວ, ເທິງ Node 24 ຫຼື ໃໝ່ກວ່າ. ຟຣີ ແລະ ໄດ້ຮັບອະນຸຍາດພາຍໃຕ້ MIT; ການສ້າງໂຄງຮ່າງ ແລະ ການເປີດໃຊ້ງານເວັບໄຊຢູ່ໃນເຄື່ອງບໍ່ຈຳເປັນຕ້ອງມີບັນຊີເລີຍ.

npm install -g zinnector

Node 24 ຫຼື ໃໝ່ກວ່າ

ເປີດໃຊ້ node --version; ມັນຕ້ອງສະແດງ v24 ຫຼື ສູງກວ່າ. ຕິດຕັ້ງ LTS ປັດຈຸບັນຈາກ nodejs.org — ເທິງ Windows, winget install OpenJS.NodeJS.LTS; ເທິງ macOS, brew install node@24.

ເຫັນ EBADENGINE ບໍ່?

ນັ້ນແມ່ນ npm ບອກທ່ານວ່າ Node ຂອງທ່ານເກົ່າກວ່າ 24. ການຕິດຕັ້ງຈະສິ້ນສຸດລົງຄືເກົ່າ, ແຕ່ CLI ປະຕິເສດທີ່ຈະເຮັດວຽກ ແລະ ແຈ້ງບອກແບບນັ້ນ. ກະລຸນາອັບເກຣດ Node ແລ້ວຕິດຕັ້ງອີກຄັ້ງ.

ທ່ານກຳລັງໃຊ້ Node 26 ຫຼື ເວີຊັນທີ່ໃໝ່ກວ່າບໍ?

CLI ເຮັດວຽກໄດ້ດີ. WordPress runtime ທີ່ມັນດາວໂຫຼດມານັ້ນມີ native module ພ້ອມດ້ວຍ prebuilt binaries ສຳລັບ Node 24 ແລະ 25 ເທົ່ານັ້ນ, ດັ່ງນັ້ນໃນການນຳໃຊ້ຄັ້ງທຳອິດ Zinnector® ຈຶ່ງດາວໂຫຼດ Node 24 ສຳລັບ runtime ໂດຍສະເພາະເຊັ່ນກັນ — ປະມານ 30 MB, ຖືກກວດສອບຄວາມຖືກຕ້ອງກັບ checksums ຂອງ nodejs.org ແລ້ວ. ບໍ່ຈຳເປັນຕ້ອງມີ compiler, ບໍ່ມີ Visual Studio, ບໍ່ມີຫຍັງທີ່ຕ້ອງເຮັດດ້ວຍຕົນເອງ.

ທົດລອງເບິ່ງວ່າມັນເຮັດວຽກໄດ້ — ສອງນາທີ, ບໍ່ຕ້ອງມີບັນຊີ

ດຳເນີນການສິ່ງເຫຼົ່ານີ້ຕາມລຳດັບ. ຢູ່ກ້ອງແຕ່ລະອັນຈະສະແດງໃຫ້ເຫັນຜົນສຳເລັດ, ເພື່ອໃຫ້ທ່ານຮູ້ໄດ້ທັນທີເມື່ອມີສິ່ງໃດໜຶ່ງຜິດພາດ.

  1. ຕິດຕັ້ງມັນ

    npm install -g zinnector

    ສຳເລັດ: npm ສຳເລັດໂດຍບໍ່ມີການແຈ້ງເຕືອນ EBADENGINE.

  2. ກວດສອບເວີຊັນ

    zinnector --version

    ສຳເລັດ: ເລກເວີຊັນ. ໃນ Node ທີ່ເກົ່າກວ່າ 24 ມັນຈະສະແດງຂໍ້ຄວາມທີ່ລະບຸວ່າຕ້ອງການ Node 24 ຫຼື ໃໝ່ກວ່າ, ແລະ ຈະອອກແທນ.

    0.1.6
  3. ອ່ານການຊ່ວຍເຫຼືອ

    zinnector --help

    ສຳເລັດ: ແບນເນີທີ່ລະບຸຊື່ຫ້າຄຳສັ່ງຂອງຂັ້ນຕອນ, ຈາກນັ້ນແຕ່ລະຄຳສັ່ງພ້ອມຈຸດປະສົງໜຶ່ງແຖວ — ລາຍການໃນໜ້ານີ້.

      new       scaffold a WordPress project you can run immediately
      dev       run this project locally — no Docker required
      login     sign in — with your own account in the browser, or with an API key
      logout    forget a stored sign-in
      whoami    show who this CLI is signed in as, and what it can reach
      …
  4. ສ້າງໂຄງຮ່າງເວັບໄຊ

    zinnector new my-site

    ສຳເລັດ: ຫົວຂໍ້ “Created my-site”, ໄຟລ໌ທີ່ມັນຂຽນ, ແລະ ຄຳສັ່ງຕໍ່ໄປທີ່ຈະດຳເນີນການ. ບໍ່ມີສິ່ງໃດໃນນັ້ນທີ່ເປັນຕົວຍຶດບ່ອນ.

    Created my-site  ·  site
      + zinnector.json
      + wp-content/…
    → run it:
        cd my-site
        zinnector dev
  5. ດຳເນີນການ

    cd my-site
    zinnector dev

    ການເປີດໃຊ້ງານຄັ້ງທຳອິດຈະຖາມຄັ້ງດຽວເພື່ອດາວໂຫຼດ WordPress runtime (ປະມານ 570 MB, ເກັບໄວ້ໃນແຄຊ໌ຂອງ Zinnector® ເອງ). ສຳເລັດ: ແຖວ “running at” ພ້ອມກັບທີ່ຢູ່ທ້ອງຖິ່ນ.

    ✔ running at http://127.0.0.1:9400
      admin: http://127.0.0.1:9400/wp-admin  (already signed in)
  6. ເປີດໃນໂປຣແກຣມທ່ອງເວັບ

    open http://127.0.0.1:9400

    ສຳເລັດ: ເວັບໄຊ WordPress ໃໝ່ທີ່ມີຫົວຂໍ້ “My WordPress Website”, ແລະ /wp-admin ເປີດໜ້າຕ່າງຄວບຄຸມໂດຍທີ່ເຂົ້າສູ່ລະບົບໄວ້ຮຽບຮ້ອຍແລ້ວ. ວາງປລັກອິນລົງໃນ wp-content/plugins ແລະ ມັນຈະປະກົດຂຶ້ນຢູ່ທີ່ນັ້ນໃນການໂຫຼດຄືນໃໝ່ຄັ້ງຕໍ່ໄປ.

    ທຸກຢ່າງຂ້າງເທິງນີ້ເຮັດວຽກໄດ້ໂດຍບໍ່ຕ້ອງມີບັນຊີ. ການເຊື່ອມໂຍງ, ການກວດສອບກ່ອນດຳເນີນການ ແລະ ການສົ່ງຂໍ້ມູນ ຕ້ອງການຄີ API ຈາກແຜງໜ້າປັດຂອງທ່ານ ແລະ ເວັບໄຊຢູ່ໃນໂຮສຕິ້ງ Zinn Digital®.

ຂັ້ນຕອນການເຮັດວຽກ: ສ້າງ, ພັດທະນາ, ເຊື່ອມຕໍ່, ກວດສອບ, ສົ່ງ

ຫົກຄຳສັ່ງຈາກບໍ່ມີຫຍັງເລີຍໄປສູ່ເວັບໄຊທີ່ເປີດໃຊ້ງານຈິງ. zinnector new ຈະສະແດງລາຍການນີ້ເມື່ອເຮັດວຽກສຳເລັດ, ດັ່ງນັ້ນທ່ານຈຶ່ງບໍ່ຈຳເປັນຕ້ອງຈື່ມັນເລີຍ.

zinnector new my-site      # scaffold a project that boots immediately
cd my-site
zinnector dev              # a real WordPress, locally, with no Docker

zinnector login            # once, when you have hosting
zinnector link             # point the project at a slot
zinnector check            # pre-flight: what will NOT match on the slot?
zinnector push             # push your commits, deploy, watch it finish

ອັນທີ່ຢູ່ເຄິ່ງກາງແມ່ນຈຸດສຳຄັນ. zinnector check ປຽບທຽບສິ່ງທີ່ທ່ານສ້າງຂຶ້ນ — ເວີຊັນ PHP, ດິສກ໌, ຈຳນວນໄຟລ໌, ເວີຊັນ WordPress — ກັບ slot ທີ່ທ່ານກຳລັງຈະນຳໃຊ້ອອກໄປ, ລະບຸທຸກໆຄວາມບໍ່ກົງກັນ ແລະ ທຸກໆການປຽບທຽບທີ່ບໍ່ສາມາດເຮັດໄດ້, ຈາກນັ້ນກໍອະນຸຍາດໃຫ້ທ່ານນຳໃຊ້ອອກໄປໄດ້ຢູ່ດີ, ເພາະວ່າທ່ານຮູ້ຂໍ້ມູນກ່ຽວກັບເວັບໄຊຂອງທ່ານເອງທີ່ຕົວລະບົບກວດສອບບໍ່ຮູ້.

ເອກະສານອ້າງອີງຄຳສັ່ງ

ຄຳສັ່ງທັງໝົດ 43 ລາຍການ, ຕາມລຳດັບທີ່ zinnector --help ລະບຸໄວ້. ຜົນການສະແດງຜົນທີ່ໝາຍວ່າ “captured” ແມ່ນຖືກວາງມາຈາກການເປີດໃຊ້ງານຕົວຈິງຂອງເວີຊັນນີ້; ສ່ວນທີ່ເຫຼືອແມ່ນສະແດງຮູບແບບທີ່ຊັດເຈນທີ່ຄຳສັ່ງພິມອອກມາ ພ້ອມກັບຄ່າຕົວຢ່າງ — ຊື່ໂດເມນ, ລະຫັດປະຈຳຕົວ ແລະ ຕົວເລກຂອງທ່ານຈະແຕກຕ່າງກັນ.

ຕົວເລືອກທົ່ວໄປ, ຍອມຮັບກ່ອນຄຳສັ່ງໃດໆ:

ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກ
-V, --versionprint the version
--profile <name>use a named credential profile
-h, --helpສະແດງການຊ່ວຍເຫຼືອສຳລັບຄຳສັ່ງໃດກໍໄດ້.

zinnector new

scaffold a WordPress project you can run immediately

zinnector new [options] [name]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
nameບໍ່directory to create the project in, and the project's name — required unless --here
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-t, --template <kind>one of: site, plugin, theme"site"
--php <version>PHP version to develop against"8.3"
--wp <version>WordPress version for the local runtime"latest"
--runtime <name>playground or docker"playground"
--herescaffold into the current directory instead of a new one

ຕົວຢ່າງ

zinnector new my-site

ສິ່ງທີ່ທ່ານເຫັນ — captured — 0.1.2 on Linux

Created my-site  ·  site
──────────────────────────

  + .gitignore
  + README.md
  + wp-content/mu-plugins/000-zinnector-dev.php
  + wp-content/plugins/.gitkeep
  + wp-content/themes/.gitkeep
  + zinnector.json

  php        8.3
  wordpress  latest
  runtime    playground

→ run it:
    cd my-site
    zinnector dev

→ then, when you have a hosting slot:
    zinnector link     # point it at a site
    zinnector check    # pre-flight before you push
    zinnector push

zinnector dev

run this project locally — no Docker required

zinnector dev [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--php <version>PHP version to run (5.2–8.5 on playground, 7.4–8.5 on docker)
--wp <version>WordPress version
-p, --port <port>port to serve on
--runtime <name>playground (default) or docker
--loginlog in as admin automaticallytrue
--no-logindo not log in automatically
--onceboot, report what is running, then stop
--yesinstall the local runtime without asking
--reset-runtimedelete the installed runtime and install it again
-v, --verboseshow the runtime's own output

ຕົວຢ່າງ

cd my-site
zinnector dev

ສິ່ງທີ່ທ່ານເຫັນ — captured — 0.1.2. The first run asks once to download the WordPress runtime (~570 MB); pass --yes to skip the question

my-site  ·  WordPress Playground (WASM, no Docker)
───────────────────────────────────────────────────

  serving    a WordPress project
  from       /home/you/my-site
  php        8.3
  wordpress  latest

✔ running at http://127.0.0.1:9400
  admin: http://127.0.0.1:9400/wp-admin  (already signed in)

  Ctrl-C to stop

zinnector login

sign in — with your own account in the browser, or with an API key

zinnector login [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--profile <name>store under a named profile (default: default)
--api <url>API base URL"https://api.zinndigital.com"
--api-keypaste a per-organisation API key instead of signing in as yourself
--issuer <url>the sign-in service"https://auth.zinndigital.com/realms/zinn"
--no-browserprint the sign-in link without trying to open a browser

ຕົວຢ່າງ

zinnector login

ສິ່ງທີ່ທ່ານເຫັນ — the key is typed at the prompt, never on the command line. In CI, pipe it: echo "$ZINN_API_KEY" | zinnector login --profile ci

Sign in to Zinn Digital  ·  https://api.zinndigital.com
────────────────────────────────────────────────────

  API key: ••••••••••••••••••••••••••••

✔ signed in as you@example.com (Acme Ltd) — profile “default”
→ next: zinnector sites

zinnector logout

forget a stored sign-in

zinnector logout [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--profile <name>which profile to forget (default: default)

ຕົວຢ່າງ

zinnector logout

ສິ່ງທີ່ທ່ານເຫັນ

✔ signed out of profile “default”

zinnector whoami

show who this CLI is signed in as, and what it can reach

zinnector whoami [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--profile <name>use a named profile
--scopeslist the permissions an API key carries
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector whoami --scopes

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Signed in  ·  https://api.zinndigital.com
──────────────────────────────────────────
account        you@example.com
as             a person, signed in through the browser
organisations  8 — listed below
mode           live
credential     profile “default”

  · Example Org  owner · 01a00000-0000-7000-8000-000000000000
  · Example Org· 01a00001-0000-7000-8000-000000000001
  · Example Org· 01a00002-0000-7000-8000-000000000002
  · Example Org· 01a00003-0000-7000-8000-000000000003
  · Example Org· 01a00004-0000-7000-8000-000000000004
  · Example Org· 01a00005-0000-7000-8000-000000000005
  · Example Org· 01a00006-0000-7000-8000-000000000006
  · Example Org· 01a00007-0000-7000-8000-000000000007

  scopes belong to API keys — a signed-in person acts with their ROLE in each organisation (shown above).

zinnector sites

list the sites this key can see

zinnector sites [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output
--status <status>only sites in this status

ຕົວຢ່າງ

zinnector sites

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Sites  ·  12
─────────────
domain          status  php      target  id
example-2.com   active  php —    fleet   01a00000-0000-7000-8000-000000000000
example-3.com   active  php —    fleet   01a00001-0000-7000-8000-000000000001
example-4.com   active  php —    fleet   01a00002-0000-7000-8000-000000000002
example-5.com   active  php 8.5  fleet   01a00003-0000-7000-8000-000000000003
example-6.com   active  php —    fleet   01a00004-0000-7000-8000-000000000004
example.com     active  php 8.4  fleet   01a00005-0000-7000-8000-000000000005
example-7.com   active  php —    fleet   01a00006-0000-7000-8000-000000000006
example-8.com   active  php 8.5  fleet   01a00007-0000-7000-8000-000000000007
example-9.com   active  php 8.5  fleet   01a00008-0000-7000-8000-000000000008
example-10.com  active  php 8.5  fleet   01a00009-0000-7000-8000-000000000009
example-11.com  active  php 8.5  fleet   01a00010-0000-7000-8000-000000000010
example-12.com  active  php 8.5  fleet   01a00011-0000-7000-8000-000000000011

zinnector status

everything the platform knows about one site

zinnector status [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector status example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


example.com  ·  01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
status         active
product line   footprint_free
stack          wordpress
region         fsn1
deploy target  fleet
plan           PBN 10

● PHP
version        8.4
can switch to  8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4

● Quota
disk      188 MB used of 500.0 GB
files     6,313 of 2,000,000
database  1 MB

● Deploy
status         building
target         fleet
repository     —
commit         —
live url       —
last deployed  2026-09-14T01:29:26.991511Z

● WordPress
version     7.1
up to date  yes
multisite   no

zinnector share

give one person access to ONE site — a developer, a designer, a client

zinnector share [options] <site> <email>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteແມ່ນthe site to share — an id, primary domain or name
emailແມ່ນwho to give access to — they are emailed an invitation if they have no account yet
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--role <role>what they may do: viewer, editor, manager
--reason <text>why they need it — kept with the grant for the audit trail
--until <date>when access ends on its own (YYYY-MM-DD); omit for until-revoked
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector share example.com dev@agency.test --role editor --reason "rebuild the checkout"

ສິ່ງທີ່ທ່ານເຫັນ — the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ

Shared example.com  ·  01a03f39-730a-7dc4-84b0-5d4f7582dd04
────────────────────────────────────────────────────────────

✔ invited dev@agency.test as editor
  They have no account yet, so an invitation has been emailed. Until they
  sign in and accept it they can see nothing; the moment they do, the site is theirs.

→ what they do next, on their own machine:
    npm i -g zinnector && zinnector login   # sign in as themselves
    zinnector clone example.com   # pull the files down

zinnector collaborators

who has been given access to a site, and whether they have accepted

zinnector collaborators [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector collaborators example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ


Access to example.com  ·  3
───────────────────────────────────────────────────────────
who              role    status   ends  why                                          grant
dev@agency.test  viewer  revoked  —     Example Org— revoked immediately after       01a00000-0000-7000-8000-000000000000
dev@agency.test  viewer  revoked  —     Example Org— revoked at the end of the walk  01a00001-0000-7000-8000-000000000001
dev@agency.test  editor  revoked  —     Example Org— revoked at the end of the walk  01a00002-0000-7000-8000-000000000002

zinnector unshare

take a person's access to a site back — by email or grant id

zinnector unshare [options] <site> <who>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteແມ່ນthe site to take access back on — an id, primary domain or name
whoແມ່ນthe person to remove — their email address, or the grant id from zinnector collaborators
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--yesdo not ask

ຕົວຢ່າງ

zinnector unshare example.com dev@agency.test --yes

ສິ່ງທີ່ທ່ານເຫັນ — the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ

✔ withdrew the invitation to dev@agency.test

zinnector invitations

the invitations waiting for you, and accept one

zinnector invitations [options] [command]

ຕົວຢ່າງ

zinnector invitations

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ; with no subcommand it runs `list`


Invitations  ·  0
──────────────────

● nothing waiting for you

zinnector invitations list

invitations addressed to the account you are signed in as

zinnector invitations list [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector invitations list

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ


Invitations  ·  0
──────────────────

● nothing waiting for you

zinnector invitations accept

accept an invitation — the site is yours the moment this returns

zinnector invitations accept [options] <id>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
idແມ່ນthe invitation id from zinnector invitations — a unique prefix of it is enough

ຕົວຢ່າງ

zinnector invitations accept 01a03f39-9c11-7b02-a7e0-2e4d0c5f1b77

ສິ່ງທີ່ທ່ານເຫັນ — the exact shape the command prints, from the source (W40-DEVTOOL added these after this file was last captured); your domains, ids and dates will differ

✔ you now have access to example.com

zinnector pull

pull a hosted site's files into this project for local dev — and re-run to re-sync

zinnector pull [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--via <seam>auto (default), git, or backup"auto"
--freshtake a new backup rather than using the latest one (spends an on-demand slot)
--max-age <hours>accept the latest backup if it is younger than this"24"
--fullthe whole document root, WordPress core included (default: wp-content only)
--no-uploadsleave wp-content/uploads (media) behind
--no-databaseleave the site's database behind — take the files only
--live-configalso write wp-config.php — it holds the LIVE database credentials
--cleanempty wp-content before extracting, so deletions on the site are mirrored
--dry-runsay what would happen and stop
--yesdo not ask

ຕົວຢ່າງ

zinnector pull

ສິ່ງທີ່ທ່ານເຫັນ

Pull example.com  ·  01a03f39-730a-7dc4-84b0-5d4f7582dd04
─────────────────────────────────────────────────────────────

● via git — the site syncs to its own repository and this is a clone of it
✔ fast-forwarded 3 commits 4f1c2a9b → 9d2e7c14

● not synced, and why
  ✖ database                     the local playground has its own; the site's is not copied
  ✖ offloaded media              objects in storage are not in the site's files
  ✖ anything outside the repository  only wp-content syncs

→ next: zinnector dev

zinnector clone

make a local project from a hosted site: clone its repository or pull its files

zinnector clone [options] <site> [dir]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteແມ່ນthe hosted site to copy — an id, primary domain or name
dirບໍ່directory to create — defaults to the site's primary domain
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--via <seam>auto (default), git, or backup"auto"
--freshtake a new backup rather than using the latest one
--fullthe whole document root, WordPress core included
--no-uploadsleave wp-content/uploads (media) behind
--no-databaseleave the site's database behind — take the files only
--live-configalso write wp-config.php — it holds the LIVE database credentials
--yesdo not ask

ຕົວຢ່າງ

zinnector clone client.example.com

ສິ່ງທີ່ທ່ານເຫັນ

Clone client.example.com  ·  client.example.com
──────────────────────────────────────────────────────

✔ wrote client.example.com/zinnector.json (php 8.3, wordpress 6.7.1)
● via backup — the site does not sync to a repository
✔ downloaded 214 MB and extracted wp-content

● not synced, and why
  ✖ database                     the local playground has its own; the site's is not copied
  ✖ offloaded media              objects in storage are not in the site's files
  ✖ wp-config.php                holds the live database credentials (--live-config to write it)
  ✖ WordPress core               the runtime supplies the version the slot runs (--full to take it)

→ next: zinnector dev

→ run it:
    cd client.example.com
    zinnector dev

zinnector sync

two-way sync between a site's live files and its repository

zinnector sync [options] [command]

ຕົວຢ່າງ

zinnector sync --help

ສິ່ງທີ່ທ່ານເຫັນ — with no subcommand, `zinnector sync <site>` is `sync status`

Usage: zinnector sync [options] [command]

two-way sync between a site's live files and its repository

  site → repository   zinnector sync run   commits the live files and pushes the branch
  repository → site   zinnector push       builds the branch and publishes it

zinnector sync status

where two-way sync stands, and its last runs

zinnector sync status [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector sync status example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.4 against a test site on 2026-09-12; the domain and ids are replaced with example values

Two-way sync — example.com
──────────────────────────

repository   acme/example-site (main)
available    yes
sync         on
state        synced
last sync    2026-09-12T22:51:41.539832Z
note         Started from acme/example-site@main.

run        files       commit         when
synced     2 changed   da85d73cef5f   2026-09-12T22:52:10.117301Z

zinnector sync on

turn two-way sync on (pushes nothing by itself)

zinnector sync on [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--subdir <path>only sync this subdirectory of the site
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector sync on example.com

ສິ່ງທີ່ທ່ານເຫັນ — needs a repository connected on your own GitHub account; it pushes nothing by itself

✔ two-way sync is on

Two-way sync — example.com
…
→ next: zinnector sync run

zinnector sync off

turn two-way sync off

zinnector sync off [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--subdir <path>only sync this subdirectory of the site
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector sync off example.com

ສິ່ງທີ່ທ່ານເຫັນ

✔ two-way sync is off

zinnector sync run

commit the site's live files to its repository now

zinnector sync run [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector sync run example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.4 against a test site on 2026-09-12; the domain and ids are replaced with example values. A run the repository has moved past is HELD instead: nothing is pushed or overwritten, the command exits 1 and names the next step

✔ committed 2 changed files da85d73cef5f

Two-way sync — example.com
…
→ next: git pull in your clone

zinnector sync resolve

clear a held sync by choosing which side wins

zinnector sync resolve [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--keep <side>site (commit the site on top) or repository (discard the site's unsynced changes)
--yesdo not ask
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector sync resolve example.com --keep repository --yes

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.4 against a test site on 2026-09-12; the domain and ids are replaced with example values. Without --yes it asks first, and refuses outright when there is no terminal to ask in

✔ kept the repository

Two-way sync — example.com
…
state        synced

zinnector check

compare this project against the slot you are about to deploy to

zinnector check [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--probeboot the local runtime and MEASURE its php, rather than trusting zinnector.json
--allshow passing checks too
--strictalso fail when something could not be checked
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector check

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted — the run found a real mismatch (PHP 8.3 in the project against 8.4 on the slot), which is the whole point of the command

→ reading the slot
  size excludes: .git

Pre-flight — example.com  ·  01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────

  local  php 8.4  3 files, 0.0 MB
  slot   php 8.4  target fleet
  local php is the version DECLARED in zinnector.json — run with --probe to measure it

  ? unknown   local php extensions could not be enumerated
      try zinnector dev --once

  ? unknown   wordpress versions could not be compared
      No WordPress version found in the working copy.
      try zinnector status

  7 passed  ·  2 could not be checked

zinnector push

pre-flight, push your commits, and deploy

zinnector push [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-f, --forcedeploy even when pre-flight has findings
--skip-checksdo not run pre-flight at all
--probemeasure the local runtime during pre-flight instead of trusting zinnector.json
--no-waittrigger the deploy and exit without watching it
--no-gitdo not run git push; deploy whatever the platform already has
--dry-rundo everything except the deploy

ຕົວຢ່າງ

zinnector push

ສິ່ງທີ່ທ່ານເຫັນ

Deploy to example.com  ·  01a03f39-730a-7dc4-84b0-5d4f7582dd04
───────────────────────────────────────────────────────────────

✔ pre-flight: 8 passed  ·  0 to look at  ·  2 could not be checked
→ pushing main (4f1c2a9b add the contact form)
✔ pushed
● deploy 7c0e… started — watching
✔ deployed 4f1c2a9b in 48s

  status    success
  commit    4f1c2a9b
  url       https://example.com

zinnector deploy

redeploy what the platform already has, without pushing

zinnector deploy [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--no-waittrigger and exit

ຕົວຢ່າງ

zinnector deploy example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Redeploy example.com  ·  01a00000-0000-7000-8000-000000000000
────────────────────────────────────────────────────────────────────────
→ starting the deploy
✔ deploy started

zinnector deploys

a site's deploy history

zinnector deploys [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output
-n, --limit <n>how many to show"10"

ຕົວຢ່າງ

zinnector deploys example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Deploys — example.com  ·  2
───────────────────────────────────────────────────────────
status  commit  branch  trigger  started                      message
live    —       —       manual   2026-09-14T09:06:39.685554Z  —
live    —       —       manual   2026-09-14T01:29:20.196957Z  —

zinnector php

show or switch a site's PHP version

zinnector php [options] [version]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
versionບໍ່the PHP version to switch the site to, e.g. 8.4 — omit to show the current one
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-s, --site <site>site id or domain
--listlist the versions the platform offers
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector php 8.3 --site example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. with no version it shows the current one; --list shows what the platform offers for this site's product line


PHP — example.com
──────────────────────────────────────────────────────
version        8.4
can switch to  8.5, 8.4, 8.3, 8.2, 8.1, 8.0, 7.4

zinnector quota

disk, files and database usage against what the plan grants

zinnector quota [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector quota example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Quota — example.com
────────────────────────────────────────────────────────
disk used      188 MB
disk limit     500.0 GB
disk granted   500 GB  (per_site)
files used     6,313
file limit     2,000,000
database       1 MB

  “limit” is what is enforced today; “granted” is what the plan says.

zinnector db

database size, and single-use links into phpMyAdmin and the file manager

zinnector db [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector db example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. the phpMyAdmin and file-manager links are single-use and expire; do not paste them anywhere


Database — example.com
───────────────────────────────────────────────────────────
size    1 MB
tables  14

  single-use links, valid for one visit:
  phpMyAdmin    https://pma.example.com/signon.php?t=<single-use>
  file manager  https://files.example.com/signon.php?t=<single-use>

zinnector logs

tail a site's access and error logs

zinnector logs [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--accessonly the access log
--erroronly the error log
--buildthe build log of the most recent deploy instead
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector logs example.com --error

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. --access for the access log, --build for the last deploy's build log (a site not built by a build provider shows the deploy's own steps); with no flag both site logs are shown, and a log that could not be read says so instead of looking empty


Error log — example.com
────────────────────────────────────────────────────────────

2026-09-14 11:06:07.153643 [NOTICE] [1929978] [T0] [config:vhost:zcaffb6eec5abbdab03fb9b2d62a15:epsr:lsphp-zcaffb6eec5abbdab03fb9b2d62a15]'Process Limit' probably is too low, adjust the limit to: 640.
2026-09-14 11:06:37.873060 [INFO] [1929982] [T0] [lsphp-zcaffb6eec5abbdab03fb9b2d62a15] add child process pid: 1933036, procinfo: 0x5555561cfe30

zinnector wp

run an allow-listed WP-CLI command on a site

zinnector wp [options] [command...]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
command...ບໍ່the WP-CLI command and its arguments, e.g. plugin list — omit it with --commands
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-s, --site <site>site id or domain
--commandslist what the platform will run
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector wp plugin list --site example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. the allow-list is served by the platform — zinnector wp --commands prints it

name	status	update	version	update_version	auto_update
akismet	inactive	none	5.7.2		off
hello	inactive	none	1.7.2		off
imunify-security	active	none	4.1.0		off
litespeed-cache	active	none	7.9.1		off
redis-cache	active	none	2.8.0		off
zinn-cache	active	none	1.2.2		off
object-cache.php	dropin				off

zinnector backup

list and take site backups

zinnector backup [options] [command]

ຕົວຢ່າງ

zinnector backup list example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. `backup` on its own prints its subcommands; see `backup list` and `backup now` below


Backups — example.com  ·  3
───────────────────────────────────────────────────────────
status  taken                        size    id
stored  2026-09-14T09:06:39.918280Z  4.7 MB  01a00000-0000-7000-8000-000000000000
stored  2026-09-14T01:29:20.403161Z  36 MB   01a00001-0000-7000-8000-000000000001
stored  2026-09-14T01:29:15.898099Z  36 MB   01a00002-0000-7000-8000-000000000002

daily backups   on
retention       30 days
off-site copy   yes
on-demand left  2 of 3

zinnector backup list

list a site's backups and what its plan grants

zinnector backup list [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector backup list example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Backups — example.com  ·  3
───────────────────────────────────────────────────────────
status  taken                        size    id
stored  2026-09-14T09:06:39.918280Z  4.7 MB  01a00000-0000-7000-8000-000000000000
stored  2026-09-14T01:29:20.403161Z  36 MB   01a00001-0000-7000-8000-000000000001
stored  2026-09-14T01:29:15.898099Z  36 MB   01a00002-0000-7000-8000-000000000002

daily backups   on
retention       30 days
off-site copy   yes
on-demand left  2 of 3

zinnector backup now

take an on-demand backup

zinnector backup now [options] [site]
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
siteບໍ່a site id, primary domain or name — defaults to the site linked in zinnector.json

ຕົວຢ່າງ

zinnector backup now example.com

ສິ່ງທີ່ທ່ານເຫັນ

✔ backup started — zinnector backup list example.com shows it when it completes

zinnector domains

list the domains this key can see

zinnector domains [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector domains

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Domains  ·  1
──────────────
domain       status     ownership  renewal        expires
example.com  connected  connected  no auto-renew  —

zinnector dns

read and change DNS records

zinnector dns [options] [command]

ຕົວຢ່າງ

zinnector dns list example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. `dns` on its own prints its subcommands; see `dns list`, `dns add` and `dns rm` below


DNS — example.com  ·  1 records
────────────────────────────────────────
type  name          value               ttl
TXT   w4357-verify  zinn-w4357-updated  ttl 3600

zinnector dns list

list a domain's DNS records

zinnector dns list [options] <domain>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
domainແມ່ນthe domain, by name or id
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--type <type>only records of this type
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector dns list example.com

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


DNS — example.com  ·  1 records
────────────────────────────────────────
type  name          value               ttl
TXT   w4357-verify  zinn-w4357-updated  ttl 3600

zinnector dns add

create a DNS record

zinnector dns add [options] <domain> <type> <name> <value>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
domainແມ່ນthe domain, by name or id
typeແມ່ນrecord type: A, AAAA, CNAME, MX, TXT, SRV, …
nameແມ່ນthe record name — @ for the domain itself, or a subdomain label
valueແມ່ນwhat the record points at — an address, a hostname or text
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--ttl <seconds>time to live"3600"
--priority <n>priority, for MX and SRV
--proxiedroute through the CDN
-y, --yesdo not ask

ຕົວຢ່າງ

zinnector dns add example.com TXT _acme "token" --ttl 300

ສິ່ງທີ່ທ່ານເຫັນ — the record is shown and confirmed before it is written; pass --yes to skip the question

Add a DNS record to example.com
───────────────────────────────

  type   TXT
  name   _acme
  value  "token"
  ttl    300

  create it? [y/N] y
✔ created TXT _acme

zinnector dns rm

delete a DNS record

zinnector dns rm [options] <domain> <recordId>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
domainແມ່ນthe domain, by name or id
recordIdແມ່ນthe record id, as zinnector dns list prints it
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-y, --yesdo not ask

ຕົວຢ່າງ

zinnector dns rm example.com rec_7f3a

ສິ່ງທີ່ທ່ານເຫັນ

⚠ deleting A @ 203.0.113.10 from example.com
  delete it? [y/N] y
✔ deleted

zinnector mail

list mail services

zinnector mail [options]
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector mail

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted


Mail services  ·  0
────────────────────

● no mail services

zinnector bulk

run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip)

zinnector bulk [options] <operation>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
operationແມ່ນwhat to run on every selected site: cache_purge, malware_scan, sitemap or block_ip
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
--allevery site this key can see
--site <site...>specific sites, by id or domain
--status <status>every site in this status
-y, --yesdo not ask
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector bulk cache_purge --all

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. one call to the platform for the whole selection, not one per site; the selection is shown and confirmed first


Bulk cache_purge  ·  1 sites
─────────────────────────────

·   example.com

→ running cache_purge
✔ cache_purge accepted for 1 sites

  The platform runs this asynchronously; results appear per site in the dashboard.

zinnector ai

ask the Zinn Digital assistant, with this project as context

zinnector ai [options] <question...>
ອາຣ໌ກິວເມັນຕ໌ຈຳເປັນໜ້າທີ່ການເຮັດວຽກ
question...ແມ່ນwhat you want to ask, in plain words — quoting it is optional
ຕົວເລືອກໜ້າທີ່ການເຮັດວຽກຄ່າເລີ່ມຕົ້ນ
-s, --site <site>ask about a particular site
--org <id>the organisation to ask as, when your account belongs to more than one
--no-contextdo not send anything about the local project
--jsonmachine-readable output

ຕົວຢ່າງ

zinnector ai "why is my deploy failing?"

ສິ່ງທີ່ທ່ານເຫັນ — captured from a real run of 0.1.5 against production on 2026-09-14; domains, ids and single-use links substituted. The assistant answers in the ACCOUNT's language — this account's locale is Arabic, so the captured answer is Arabic to an English question

→ thinking

Zinn Digital assistant
────────────────────────────

  هذا مشروع WordPress تم إنشاؤه بواسطة Zinnector® (مُهيّأ على PHP 8.4، أحدث
  إصدار WordPress، وبيئة تشغيل playground)؛ لتشغيله محلياً، انتقل إلى مجلده
  وشغّل الأمر: cd <اسم-المشروع> ثم zinnector dev، وسيقوم بتشغيل موقع WordPress
  حقيقي على جهازك دون الحاجة إلى Docker.

  sources:
    · https://zinndigital.com/kb/zinnector-getting-started
    · https://zinndigital.com/kb/zinnector-local-development

zinnector mcp

run a stdio bridge to the hosted MCP server — for Claude Desktop and other local-only clients

zinnector mcp [options]

ຕົວຢ່າງ

ZINN_MCP_TOKEN=zmcp_live_… zinnector mcp

ສິ່ງທີ່ທ່ານເຫັນ — started BY an AI client such as Claude Desktop, never by hand — it speaks MCP on stdin and stdout. Proven from Claude Code 2.1.270 against the live server on 2026-09-12

zinnector 0.1.4: MCP bridge to https://api.zinndigital.com/v1/mcp

ຕິດຕັ້ງມັນ ແລະ ເປີດໃຊ້ເວັບໄຊພາຍໃນໜຶ່ງນາທີຕໍ່ໄປ

ຟຣີ, ມີໃບອະນຸຍາດ MIT ແລະທຸກໆຄຳສັ່ງແມ່ນການດຳເນີນງານທີ່ມີເອກະສານໃນ API ສາທາລະນະ — ບໍ່ມີຫຍັງຢູ່ນີ້ສາມາດເຮັດສິ່ງທີ່ API ເຮັດບໍ່ໄດ້.

npm install -g zinnector