Zinnector®

CLI для розробників для хостингу WordPress

Zinnector® створює WordPress локально без встановлення будь-чого, крім Node — без Docker, без MAMP — потім перевіряє створене вами відповідно до слота хостингу, на який ви збираєтеся виконувати розгортання, і повідомляє, що саме не збігатиметься, перш ніж ви надішлете зміни. Встановіть його за допомогою npm install -g zinnector. Він безкоштовний, ліцензований під MIT і створений на тому ж загальнодоступному API, що й усе інше тут.

Редактор коду в браузері, з деревом файлів поруч із відкритим файлом і курсором у ньому.

П'ять команд, і середня є головною

Більшість CLI для хостингу починають роботу на етапі розгортання. Zinnector® починає раніше — він створює сайт разом із вами, а потім перевіряє вашу роботу на відповідність машині, на яку ви збираєтеся його надіслати. Прірва між «це працювало на моєму ноутбуці» та «це працює на сервері» — це те, куди зникають цілі дні, і цю прірву можна виміряти.

zinnector новий

Створіть основу для сайту, плагіна або блокової теми, яка запускається негайно. Жодних файлів-заповнювачів, жодних TODO — плагін активується, а тему можна вибрати в той самий момент, коли вона створена.

zinnector dev

Справжній WordPress на вашому комп'ютері за лічені секунди, який підтримує ваші власні плагіни та теми, без Docker і без PHP у вашому PATH. Виберіть будь-яку версію PHP від 5.2 до 8.5 для розробки.

перевірка zinnector

Передполітна перевірка. Порівнює те, що ви створили, зі слотом, у який ви збираєтеся виконати розгортання, і називає кожну невідповідність — та кожну перевірку, яку не вдалося виконати, — перед тим, як ви зробите push.

zinnector push

Виконайте попередню перевірку, надішліть свої коміти, запустіть розгортання та стежте за ним до завершення. Якщо станеться збій, журнал збирання доступний за допомогою однієї команди.

zinnector ai

Звертайтеся до асистента з термінала, використовуючи ваш проєкт і ваш сайт як контекст. Він працює на платформі під вашим власним обліковим записом, тому жоден ключ моделі ніколи не зберігається на вашому комп'ютері.

Перевірте роботу за дві хвилини, обліковий запис не потрібен

Шість команд по черзі та як виглядає успішний результат для кожної з них. Усе тут виконується на вашому власному комп'ютері; ключ API потрібен лише тоді, коли ви перейдете до слота хостингу.

  1. Установити

    Виконайте npm install -g zinnector на Node 24 або новішої версії. Якщо npm виводить EBADENGINE, ваша версія Node старіша за 24 — встановіть поточну версію LTS із nodejs.org і запустіть встановлення знову.

  2. Перевірити версію

    Команда zinnector --version виводить номер версії, наприклад 0.1.2. У середовищі Node, старішому за 24, вона виводить повідомлення про те, що потрібна версія Node 24 або новіша, і завершує роботу.

  3. Читати довідку

    zinnector --help наводить нижче список усіх команд із однорядковим описом їхнього призначення. Кожна команда також підтримує власний параметр --help.

  4. Створити каркас сайту

    zinnector new my-site створює проєкт, який запускається миттєво — zinnector.json, дерево wp-content та README — і виводить наступні команди для виконання.

  5. Запустити

    cd my-site, потім zinnector dev. Перший запуск одноразово запитує завантаження середовища виконання WordPress (приблизно 570 МБ, зберігається у власному кеші CLI, ніколи не у вашому проєкті). Успішний результат виглядає як «running at http://127.0.0.1:9400».

  6. Відкрити у браузері

    http://127.0.0.1:9400 — це новий сайт WordPress; /wp-admin відкриває панель керування з уже виконаним входом. Перетягніть плагін у wp-content/plugins, і він з'явиться там під час наступного перезавантаження.

  7. Потім, зі слотом хостингу

    zinnector login, zinnector link, zinnector check, zinnector push — виконайте попередню перевірку створеного вами щодо слота, потім розгорніть і спостерігайте за завершенням.

Попередня перевірка, детально

Ви розробляли на PHP 8.3. Слот працює на 8.1. Ніщо не сповістить вас про це, доки сайт не стане білим. Саме для розв’язання цієї проблеми й існує ця команда, і саме її на ім'я попросив власник цієї платформи. Zinnector® зчитує обидва середовища та зіставляє їх пліч-о-пліч — а потім все одно дозволяє виконати розгортання, адже у вас може бути на те причина.

PHP, чесно оцінений

Розрив між основними версіями позначається як високий, оскільки він гарантовано порушує роботу сайту; незначний розрив позначається нижчим рівнем. Якщо оцінювати все як критичне, це лише привчає людей ігнорувати попередження.

Кількість дисків і файлів, окремо

Структура файлів WordPress складається з десятків тисяч дрібних файлів, і сайт може вичерпати свій ліміт inode, перебуваючи значно нижче ліміту дискового простору. Обидва параметри перевіряються щодо того, що фактично залишилося на слоті, а не за тарифом.

«Не вдалося перевірити» — це відповідь сама по собі

Перевірка, яка не бачить свого об'єкта, повідомляє про статус неперевірено, а не пройдено. Безпомилковий запуск зазначає, скільки речей йому не вдалося перевірити, оскільки хибний статус «усе гаразд» — це те, на що ніхто не подивиться двічі.

Попереджає, ніколи не блокує

Кожен виявлений результат можна замінити за допомогою --force, і підсумок про це повідомляє. Натомість у CI кодом виходу слугує перепустка, тому конвеєр може залишатися суворим, тоді як людина зберігає контроль.

Два локальні середовища виконання, обидва реальні

WordPress Playground використовується за замовчуванням: PHP, скомпільований у WebAssembly, працює всередині Node, тож ноутбук, на якому встановлено лише Node, проходить шлях від нуля до запущеного WordPress приблизно за той час, який потрібен для прочитання цього речення.

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

Усе інше, що ви вже робите на панелі

Zinnector® побудовано на тому самому загальнодоступному API, що й панель керування, тому все, що може робити панель, може робити й він — і кожна команда є задокументованою операцією в специфікації OpenAPI, а не приватним ендпоінтом.

Сайти та розгортання

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

Домени, DNS та пошта

Переглядайте список доменів, читайте та змінюйте записи DNS із показом запису перед його записом, а також читайте дані своїх поштових служб.

PHP, квота, база даних і журнали

Змінюйте версії PHP, перевіряйте використання диска та inode відповідно до лімітів вашого тарифного плану, отримуйте одноразові посилання до phpMyAdmin і відстежуйте журнали доступу та помилок у реальному часі.

WP-CLI та масові операції

Виконуйте дозволені команди WP-CLI на сайті, а також очищайте кеші або запускайте сканування на наявність шкідливих програм для всього вибраного за один виклик, а не окремо для кожного сайту.

Кожна команда, точно так, як її виводить --help

Повний список, по одному рядку на кожен пункт. Повний довідник — кожен прапорець, приклад для виконання та те, що виводить кожна команда — генерується безпосередньо з самого CLI і міститься в документації для розробників та базі знань, тому він не може розходитися зі встановленим вами інструментом.

новий zinnector

Створіть каркас проєкту WordPress, який можна запустити негайно.

zinnector dev

Запустіть цей проєкт локально — Docker не потрібен.

Вхід у zinnector

Увійдіть за допомогою ключа API Zinn Digital®.

Вийти з zinnector

Забути збережений ключ API.

zinnector whoami

Показати, від імені кого автентифіковано цей CLI.

сайти zinnector

Перелічіть сайти, які може бачити цей ключ.

Статус zinnector

Усе, що платформа знає про один сайт.

zinnector share

Надайте одній особі доступ до одного сайту — розробнику, дизайнеру, клієнту — із зазначенням ролі та причини.

співавтори zinnector

Дізнайтеся, кому надано доступ до сайту, їхню роль і чи прийняли вони вже запрошення.

Скасувати спільний доступ до zinnector

Скасуйте доступ особі за допомогою електронної пошти або ідентифікатора надання.

запрошення zinnector

Запрошення, які очікують на вас, і прийміть одне.

посилання zinnector

Спрямуйте цей проєкт на слот хостингу (і підключіть його репозиторій).

zinnector pull

Отримайте файли розміщеного сайту в цей проєкт для локальної розробки та запустіть знову для повторної синхронізації. Використовує швидкий шлях, коли сайт синхронізується з власним репозиторієм, інакше працює з останньої резервної копії.

Синхронізація zinnector

Двостороння синхронізація між активними файлами розміщеного сайту та його репозиторієм: переглядайте стан, умикайте її, фіксуйте зміни сайту або вибирайте сторону з пріоритетом.

зіннектор mcp

Міст до сервера MCP Zinn Digital® для Claude Desktop та інших клієнтів AI, які запускають лише локальні сервери.

Клонувати zinnector

Створіть локальний проєкт із розміщеного сайту за один крок: клонуйте його репозиторій або отримайте файли, запишіть файл проєкту та будьте готові до запуску zinnector dev.

перевірка zinnector

Порівняйте цей проєкт зі слотом, у який ви збираєтеся виконати розгортання.

zinnector push

Виконайте попередню перевірку, надішліть свої коміти та розгорніть.

zinnector deploy

Повторно розгорніть те, що платформа вже має, без надсилання змін.

zinnector розгортає

Історія розгортання сайту.

zinnector php

Показати або змінити версію PHP сайту.

Квота zinnector

Використання диска, файлів і бази даних порівняно з лімітами плану.

zinnector db

Розмір бази даних і одноразові посилання на phpMyAdmin та файловий менеджер.

журнали zinnector

Відстежуйте журнали доступу та помилок сайту в реальному часі.

zinnector wp

Виконайте дозволену команду WP-CLI на сайті.

резервна копія zinnector

Переглянути список та створити резервні копії сайту. Підкоманди: list, now.

домени zinnector

Перелічіть домени, які може бачити цей ключ.

zinnector dns

Перегляд і зміна записів DNS. Підкоманди: list, add, rm.

zinnector mail

Показати список поштових служб.

zinnector bulk

Виконайте одну операцію на кількох сайтах (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Запитайте в асистента Zinn Digital®, використовуючи цей проєкт як контекст.

Запитання

Чи потрібно мені бути клієнтом 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 для розгортання. Усе, що не вдалося перевірити, позначається як неперевірене, а не зараховується як пройдене.

Чи може це завадити мені розгорнути?

Ні, і це навмисно. Pre-flight попереджає і дозволяє вам продовжити — `--force` розгортає попри будь-які виявлені проблеми. Ви знаєте про свій сайт те, чого не знає засіб перевірки, а інструмент, який відмовляється розгортати, це інструмент, який люди видаляють.

Чи безпечний мій ключ API?

Ключ ніколи не зчитується з командного рядка — лише із запиту або перенаправленого потоку stdin — тому він не може потрапити в історію вашої оболонки або до списку процесів. Він зберігається у вашому власному каталозі конфігурації з режимом файлу 600, і Zinnector® повторно підтверджує ці дозволи щоразу під час запису.

Чи можу я використовувати це в CI?

Так. Установіть `ZINNECTOR_TOKEN`, і кожна команда прийматиме `--json`. Вивід для користувача спрямовується до stderr, а дані — до stdout, тому канали залишаються чистими. `zinnector check` завершує роботу з ненульовим кодом, якщо щось знаходить, тому працює як шлюз конвеєра, а параметр `--strict` також повертає помилку, коли порівняння неможливо виконати.

Установіть його та запустіть сайт уже за хвилину

Виконайте npm install -g zinnector або спробуйте один раз за допомогою npx zinnector new my-site. Безкоштовно, за ліцензією MIT та створено на базі загальнодоступного API. Створіть структуру проєкту, запустіть його локально без Docker і здійсніть попередню перевірку перед розгортанням.

Читати документацію