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 окружење за извршавање које преузима има изворни модул са унапред компајлираним бинарним датотекама само за Node 24 и 25, па приликом прве употребе Zinnector® такође преузима и Node 24 само за то окружење — око 30 MB, верификовано према контролним сумама са сајта nodejs.org. Без компајлера, без 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 (око 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® хостингу.

Ток рада: create, dev, link, check, push

Шест команди од нуле до сајта уживо. 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 верзију — са слотом на који се спремате да га примените, наводи свако непоклапање и свако поређење које није могао да изврши, а затим вам ипак дозвољава примену, јер ви знате ствари о свом сајту које програм за проверу не зна.

Преглед команди

Свих 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