Zinnector®

Разработчик CLI за WordPress хостинг

Zinnector® изгражда WordPress локално с нищо друго освен Node – без Docker, без MAMP – след това проверява това, което сте изградили, спрямо хостинг слотът, който ще публикувате, и ви казва какво няма да съответства, преди да изпратите. Инсталирайте го с npm install -g zinnector. Той е безплатен, с лиценз MIT и е изграден на същия публичен API като всичко останало тук.

Пет команди, а средната е същността

Повечето интерфейси за команден ред при хостинга започват с внедряването. Zinnector® започва преди това — той изгражда сайта заедно с вас и след това проверява работата ви спрямо машината, на която ще го изпратите. Пропастта между „работеше на лаптопа ми“ и „работи на сървъра“ е мястото, където отиват следоведите, и тази пропаст е измерима.

нов zinnector

Създайте сайт, плъгин или блокова тема, която се зарежда незабавно. Без файлове с контейнери за запълване, без TODO задачи — плъгинът се активира и темата може да бъде избрана в момента на създаването си.

zinnector dev

Истински WordPress на вашата машина за секунди, обслужващ вашите собствени плъгини и теми, без Docker и без PHP във вашия PATH. Изберете произволен PHP от 5.2 до 8.5, на който да разработвате.

проверка на zinnector

Преди полета. Сравнява това, което сте изградили, със слота, в който ще правите деплой, и посочва всяко несъответствие — както и всяка проверка, която не е могла да бъде извършена — преди да публикувате.

зиннектор пуш

Преди полет, предайте комитите си, стартирайте внедряването и следете изпълнението му докрай. Ако то се провали, дневникът на компилацията е на една команда разстояние.

zinnector ai

Попитайте асистента от терминала, като използвате Вашия проект и Вашия сайт като контекст. Той работи на платформата с Вашия собствен акаунт, така че на Вашата машина никога не се съхранява ключ за модел.

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.

Преди полета, подробно

Вие сте изградили сайта на PHP 8.3. Слотът работи с 8.1. Нищо не ви уведомява, докато сайтът не стане бял. Това е проблемът, за който съществува тази команда, и тя беше поискана изрично от собственика на тази платформа. Zinnector® прочита двете среди и ги поставя една до друга — след това ви позволява все пак да извършите деплой, тъй като може да имате основателна причина.

PHP, оценено честно

Разликата във версията на основното издание се отбелязва като висока, тъй като надеждно поврежда сайт; малката разлика се отбелязва с по-ниска степен. Оценяването на всичко като критично само учи хората да пренебрегват предупреждението.

Диск и брой файлове, поотделно

Едно дърво на WordPress представлява десетки хиляди малки файлове и даден сайт може да изчерпи лимита си на inodes, докато все още е далеч под дисковото си ограничение. И двете се проверяват спрямо това, което реално е останало в слота, а не спрямо плана.

“Неуспешна проверка” е отговор сам по себе си

Проверка, която не може да види своя обект, докладва като непроверена, никога неуспешна. Чистото изпълнение казва колко неща не е могло да провери, защото фалшивото зелено е това, което никой не поглежда втори път.

Предупреждава, никога не блокира

Всяко откритие може да бъде отменено с --force, както показва и обобщението. В CI изходният код служи за бариера, така че пайплайнът да може да бъде стриктен, докато човекът запазва контрола.

Две локални среди за изпълнение, и двете реални

WordPress Playground е по подразбиране: PHP, компилеран до WebAssembly, който работи вътре в Node, така че лаптоп с инсталиран само Node преминава от нищо към работещ WordPress за времето, за което е необходимо да прочетете това изречение.

Когато се нуждаете от нативен PHP — разширение като imagick, истински MySQL — предайте --runtime docker и вместо това получете контейнери за php-fpm и MariaDB. И двете обслужват едни и същи файлове от един и същ проект, така че превключването между тях променя двигателя и нищо друго.

Всичко останало вече правите в панела

Zinnector® е изграден върху същия публичен API като таблото за управление, така че всичко, което панелът може да прави, може да прави и той — и всяка команда е документирана операция в спецификацията на OpenAPI, а не частен краен пункт.

Сайтове и внедрявания

Изброяване на сайтове, четене на всичко, което платформата знае за даден сайт, повторно деплойване и четене на историята на деплойванията и логовете за билд.

Домейни, DNS и поща

Извеждане на домейни, четене и промяна на DNS записи със записа, показан преди той да бъде записан, и четене на вашите пощенски услуги.

PHP, квота, база данни и логове

Превключвайте PHP версии, следете използването на дисковото пространство и inodes спрямо лимитите на вашия план, генерирайте еднократни връзки за достъп до phpMyAdmin и преглеждайте в реално време логовете за достъп и грешки.

WP-CLI и групови операции

Изпълнявайте разрешени WP-CLI команди за сайт и изчиствайте кеша или стартирайте сканирания за зловреден софтуер за цяла селекция с едно извикване вместо по едно на сайт.

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.

Въпроси

Трябва ли да съм клиент на Zinn Digital®, за да го използвам?

Не. `zinnector new` и `zinnector dev` не се нуждат от никакъв акаунт — създайте структура на плъгин, тема или цял сайт и я стартирайте локално, безплатно, завинаги. API ключ е необходим само за командите, които осъществяват връзка с вашия хостинг.

Нужен ли му Docker?

Не важи за подразбиращата се среда за изпълнение. WordPress Playground компилира PHP до WebAssembly и се изпълнява в Node, така че `zinnector dev` стартира истински WordPress за секунди, без да е необходимо инсталирането на нищо друго. Ако имате нужда от нативен PHP — за тестване на разширение като imagick или ionCube — `--runtime docker` ви предоставя контейнери с php-fpm и MariaDB. И двете са поддържани; нито едното не е резервен вариант.

Какво всъмщност сравнява предварителната проверка?

Локалната ви PHP версия спрямо тази на слота, дали слотът изобщо може да превключи към версията, на която сте градили, дали PHP на слота е след края на жизнения си цикъл и дали машината действително я е приложила, размерът и броят на файловете на вашия проект спрямо оставащото дисково пространство и inode капацитет, версиите на WordPress от двете страни, дали слотът е завършил инициализирането си и дали е свързан git хранилище за разполагане. Всичко, което не е могло да бъде проверено, се отчита като непроверено, вместо да се брои за успешно.

Може ли да ме спре да извърша деплой?

Не, и това е напълно умишлено. Предстартовата проверка предупреждава и ви позволява да продължите — `--force` качва сайта независимо от откритите проблеми. Вие знаете за собствения си сайт неща, които една проверка няма как да знае, а инструмент, който отказва да извърши качване, е инструмент, който хората деинсталират.

Сигурен ли е моят API ключ?

Ключът никога не се чете от командния ред — само от подкана или пренасочен стандартен вход (stdin) — така че не може да попадне в историята на вашия shell или в списъка с процеси. Той се съхранява във вашата собствена конфигурационна директория с режим на файлове 600, а Zinnector® потвърждава отново тези разрешения всеки път, когато записва.

Мога ли да го използвам в CI?

Да. Задайте `ZINNECTOR_TOKEN` и всяка команда приема `--json`. Човешкият изход отива в stderr, а данните в stdout, така че пайповете остават чисти. `zinnector check` завършва с ненулев код при откриване на проблем, така че работи като филтър в пайплайн, а `--strict` също дава грешка, когато сравнението е невъзможно.

Инсталирайте го и стартирайте сайт през следващата минута

Изпълнете npm install -g zinnector или го изпробвайте веднъж с npx zinnector new my-site. Безплатен, с лиценз MIT и изграден върху публичния API. Създайте проект, стартирайте го локално без Docker и го тествайте преди внедряване.

Прочетете документацията