Zinnector®

Interfejs CLI dla programistów do hostingu WordPress

Zinnector® tworzy WordPress lokalnie bez instalowania czegokolwiek poza Node — bez Docker, bez MAMP — a następnie sprawdza to, co zostało utworzone, pod kątem slotu hostingowego, na który ma nastąpić wdrożenie, i informuje o ewentualnych niezgodnościach przed wypchnięciem zmian. Zainstaluj go za pomocą npm install -g zinnector. Jest bezpłatny, objęty licencją MIT i zbudowany na tym samym publicznym API, co cała reszta tutaj.

Edytor kodu w przeglądarce, z drzewem plików obok otwartego pliku i kursorem wewnątrz.

Pięć poleceń, a środkowe jest sednem sprawy

Większość interfejsów CLI do hostingu rozpoczyna pracę w momencie wdrażania. Zinnector® zaczyna wcześniej — buduje witrynę razem z Państwem, a następnie weryfikuje Państwa pracę pod kątem maszyny, na którą ma trafić. Przepaść między „działało na moim laptopie” a „działa na serwerze” to miejsce, w którym znikają całe popołudnia, a różnicę tę da się zmierzyć.

nowy zinnector

Wygeneruj szkielet witryny, wtyczki lub motywu blokowego, który uruchamia się natychmiast. Żadnych plików zastępczych, żadnych TODO — wtyczka aktywuje się, a motyw można wybrać w momencie jego utworzenia.

zinnector dev

Prawdziwy WordPress na twoim komputerze w kilka sekund, obsługujący twoje własne wtyczki i motywy, bez Docker i bez PHP w zmiennej PATH. Wybierz dowolną wersję PHP od 5.2 do 8.5 do celów programistycznych.

test zinnectora

Weryfikacja wstępna. Porównuje utworzone przez ciebie elementy ze slotem, do którego planujesz wdrożenie, i wskazuje każdą niezgodność — oraz każde sprawdzenie, którego nie udało się wykonać — przed wysłaniem zmian.

zinnector push

Wykonaj kontrolę wstępną, wypchnij commity, uruchom wdrożenie i obserwuj je aż do ukończenia. Jeśli się nie powiedzie, dziennik kompilacji dzieli cię tylko jedno polecenie.

zinnector ai

Zadaj pytanie asystentowi z poziomu terminala, używając swojego projektu i witryny jako kontekstu. Działa on na platformie w ramach twojego własnego konta, dzięki czemu żaden klucz modelu nie jest przechowywany na twoim komputerze.

Proszę przetestować działanie w dwie minuty, konto nie jest wymagane

Sześć poleceń po kolei oraz informacja, jak wygląda sukces w przypadku każdego z nich. Wszystko tutaj działa na Państwa własnym komputerze; klucz API jest potrzebny dopiero po dotarciu do slotu hostingowego.

  1. Zainstaluj

    Uruchom npm install -g zinnector na Node 24 lub nowszym. Jeśli npm wyświetli błąd EBADENGINE, twoja wersja Node jest starsza niż 24 — zainstaluj aktualną wersję LTS ze strony nodejs.org i uruchom instalację ponownie.

  2. Sprawdź wersję

    Polecenie zinnector --version wyświetla numer wersji, na przykład 0.1.2. W środowisku Node starszym niż 24 wyświetla komunikat informujący, że wymagany jest Node 24 lub nowszy, i kończy działanie.

  3. Przeczytaj pomoc

    Polecenie zinnector --help wyświetla poniżej listę wszystkich poleceń z jednowierszowym opisem ich przeznaczenia. Każde polecenie przyjmuje również własną opcję --help.

  4. Wygeneruj szkielet witryny

    Polecenie zinnector new my-site tworzy projekt, który uruchamia się natychmiast — plik zinnector.json, drzewo wp-content oraz plik README — i wyświetla kolejne polecenia do wykonania.

  5. Uruchom

    cd my-site, następnie zinnector dev. Pierwsze uruchomienie wyświetli jednorazową prośbę o pobranie środowiska uruchomieniowego WordPress (około 570 MB, przechowywanego we własnej pamięci podręcznej CLI, nigdy w twoim projekcie). Sukces wygląda następująco: „running at http://127.0.0.1:9400”.

  6. Otwórz w przeglądarce

    http://127.0.0.1:9400 to nowa witryna WordPress; adres /wp-admin otwiera kokpit z poziomu zalogowanego użytkownika. Umieść wtyczkę w katalogu wp-content/plugins, a pojawi się tam przy następnym przeładowaniu.

  7. Następnie, ze slotem hostingowym

    zinnector login, zinnector link, zinnector check, zinnector push — przeprowadź wstępną kontrolę tego, co utworzyłeś, względem slotu, a następnie wdróż i obserwuj ukończenie procesu.

Wstępna weryfikacja, szczegółowo

Zbudowali Państwo aplikację na PHP 8.3. Slot obsługuje wersję 8.1. Nic Państwa nie ostrzega, dopóki strona nie wyświetli pustego białego ekranu. Właśnie dla tego problemu istnieje to polecenie i to o nie właściciel tej platformy poprosił z nazwy. Zinnector® odczytuje oba środowiska i zestawia je obok siebie — a następnie i tak pozwala na wdrożenie, ponieważ mogą Państwo mieć ku temu powód.

PHP, uczciwie ocenione

Rozbieżność wersji głównej jest oznaczana jako wysoka, ponieważ z pewnością psuje działanie witryny; mniejsza rozbieżność jest oznaczana niżej. Ocenianie wszystkiego jako krytyczne uczy jedynie ludzi ignorowania ostrzeżeń.

Liczba dysków i plików, oddzielnie

Struktura WordPress składa się z dziesiątek tysięcy małych plików, przez co witryna może wyczerpać swój limit inode, pozostając znacznie poniżej limitu miejsca na dysku. Obie wartości są sprawdzane pod kątem tego, co rzeczywiście pozostało w slocie, a nie w odniesieniu do planu.

„Nie udało się sprawdzić” jest odpowiedzią samą w sobie

Test, który nie widzi swojego obiektu, zgłasza stan niesprawdzony, nigdy zaliczony. Pomyślne uruchomienie informuje, ilu elementów nie udało się zweryfikować, ponieważ fałszywego komunikatu o braku błędów nikt nie sprawdza powtórnie.

Ostrzega, nigdy nie blokuje

Każde ustalenie można zastąpić za pomocą --force, o czym informuje podsumowanie. W CI bramką jest zamiast tego kod wyjścia, dzięki czemu potok może działać rygorystycznie, podczas gdy człowiek zachowuje kontrolę.

Dwa lokalne środowiska wykonawcze, oba rzeczywiste

WordPress Playground jest rozwiązaniem domyślnym: PHP skompilowany do WebAssembly, działający wewnątrz środowiska Node, dzięki czemu laptop z zainstalowanym wyłącznie Node przechodzi od zera do działającego WordPress w czasie potrzebnym na przeczytanie tego zdania.

Gdy potrzebują Państwo natywnego PHP — rozszerzenia takiego jak imagick, prawdziwego MySQL — proszę przekazać --runtime docker i uzyskać w zamian kontenery php-fpm oraz MariaDB. Oba obsługują te same pliki z tego samego projektu, więc przełączanie między nimi zmienia silnik i nic więcej.

Wszystko inne, co już robią Państwo w panelu

Narzędzie Zinnector® zostało zbudowane na tym samym publicznym interfejsie API co pulpit nawigacyjny, więc może wykonać wszystko to, co panel — a każde polecenie jest udokumentowaną operacją w specyfikacji OpenAPI, a nie prywatnym punktem końcowym.

Witryny i wdrożenia

Wyświetlaj listę witryn, odczytuj wszystkie informacje o danej witrynie znane platformie, wdrażaj ponownie oraz odczytuj historię wdrożeń i dzienniki kompilacji.

Domeny, DNS i poczta

Wyświetlaj listę domen, odczytuj i zmieniaj rekordy DNS z wyświetleniem rekordu przed jego zapisaniem oraz odczytuj swoje usługi pocztowe.

PHP, limit, baza danych i dzienniki

Przełączaj wersje PHP, sprawdzaj użycie dysku i węzłów i-node w odniesieniu do limitów twojego planu, generuj jednorazowe łącza do phpMyAdmin oraz śledź na bieżąco dzienniki dostępu i błędów.

WP-CLI i operacje masowe

Uruchamiaj dozwolone polecenia WP-CLI w witrynie oraz czyść pamięci podręczne lub rozpoczynaj skanowanie pod kątem złośliwego oprogramowania dla całego zaznaczenia w jednym wywołaniu, zamiast pojedynczo dla każdej witryny.

Każde polecenie, dokładnie tak, jak podaje --help

Pełna lista, po jednym wierszu na pozycję. Kompletna dokumentacja — każda flaga, działający przykład oraz to, co wyświetla każde polecenie — jest generowana bezpośrednio z poziomu CLI i znajduje się w dokumentacji programistycznej oraz bazie wiedzy, dzięki czemu nie różni się od zainstalowanego przez Państwa narzędzia.

nowy zinnector

Wygeneruj strukturę projektu WordPress, który możesz natychmiast uruchomić.

zinnector dev

Uruchom ten projekt lokalnie — Docker nie jest wymagany.

logowanie do zinnector

Zaloguj się za pomocą klucza API Zinn Digital®.

Wyloguj z zinnector

Zapomnij zapisany klucz API.

zinnector whoami

Pokaż, jako kto to CLI jest uwierzytelnione.

witryny zinnector

Wyświetl listę witryn, które ten klucz może widzieć.

status zinnectora

Wszystko, co platforma wie o jednej witrynie.

zinnector share

Proszę przyznać jednej osobie dostęp do pojedynczej witryny — programiście, projektantowi, klientowi — z określeniem roli i powodu.

współpracownicy zinnector

Zobacz, komu przyznano dostęp do witryny, jaka jest jego rola oraz czy zaproszenie zostało już zaakceptowane.

zinnector unshare

Odbierz dostęp danej osobie, za pomocą adresu e-mail lub identyfikatora przyznania.

zaproszenia zinnector

Zaproszenia oczekujące na ciebie i zaakceptuj jedno.

łącze zinnector

Skieruj ten projekt na slot hostingowy (i połącz jego repozytorium).

zinnector pull

Pobierz pliki hostowanej witryny do tego projektu na potrzeby lokalnego programowania i uruchom ponownie, aby zsynchronizować. Wybiera szybką ścieżkę, gdy witryna synchronizuje się z własnym repozytorium, w przeciwnym razie działa na podstawie najnowszej kopii zapasowej.

Synchronizacja zinnector

Dwukierunkowa synchronizacja między aktywnymi plikami hostowanej witryny a jej repozytorium: sprawdź bieżący stan, włącz ją, zatwierdź zmiany w witrynie lub wybierz stronę mającą pierwszeństwo.

zinnector mcp

Most do serwera MCP Zinn Digital® dla Claude Desktop i innych klientów AI, którzy uruchamiają tylko serwery lokalne.

klon zinnector

Utwórz lokalny projekt z hostowanej witryny w jednym kroku: sklonuj jej repozytorium lub pobierz pliki, zapisz plik projektu i bądź gotów do uruchomienia zinnector dev.

sprawdzenie zinnector

Porównaj ten projekt z gniazdem, do którego zamierzasz go wdrożyć.

zinnector push

Przeprowadź kontrolę wstępną, prześlij commity i wdróż.

zinnector deploy

Wdróż ponownie to, co platforma już posiada, bez wypychania.

zinnector wdraża

Historia wdrożeń witryny.

zinnector php

Wyświetl lub przełącz wersję PHP witryny.

limit zinnectora

Zużycie dysku, plików i bazy danych w odniesieniu do limitów pakietu.

zinnector db

Rozmiar bazy danych oraz jednorazowe łącza do phpMyAdmin i menedżera plików.

logi zinnector

Śledź na bieżąco dzienniki dostępu i błędów witryny.

zinnector wp

Uruchom dozwolone polecenie WP-CLI w witrynie.

kopia zapasowa zinnector

Wyświetl listę kopii zapasowych witryny i utwórz je. Podpolecenia: list, now.

domeny zinnector

Wyświetl listę domen widocznych dla tego klucza.

zinnector dns

Odczyt i zmiana rekordów DNS. Podpolecenia: list, add, rm.

poczta zinnector

Wyświetl listę usług pocztowych.

zinnector zbiorczo

Uruchom jedną operację w wielu witrynach (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Zapytaj asystenta Zinn Digital®, używając tego projektu jako kontekstu.

Pytania

Czy muszę być klientem Zinn Digital®, aby z tego korzystać?

Nie. Polecenia `zinnector new` oraz `zinnector dev` nie wymagają żadnego konta — wygeneruj szkielet wtyczki, motywu lub całej witryny i uruchamiaj go lokalnie, za darmo, na zawsze. Klucz API jest wymagany tylko dla poleceń, które komunikują się z twoim hostingiem.

Czy wymaga Docker?

Nie dotyczy domyślnego środowiska uruchomieniowego. WordPress Playground kompiluje PHP do WebAssembly i działa wewnątrz Node, dzięki czemu `zinnector dev` uruchamia prawdziwego WordPress w kilka sekund bez konieczności instalowania czegokolwiek innego. Jeśli potrzebują Państwo natywnego PHP — aby przetestować rozszerzenie takie jak imagick lub ionCube — opcja `--runtime docker` udostępnia w zamian kontenery php-fpm i MariaDB. Oba rozwiązania są wspierane; żadne z nich nie jest rozwiązaniem awaryjnym.

Co właściwie porównuje kontrola wstępna?

Lokalna wersja PHP w porównaniu z wersją w slocie, informacja, czy slot może w ogóle przełączyć się na wersję, na której utworzono projekt, czy wersja PHP w slocie osiągnęła koniec okresu wsparcia i czy maszyna rzeczywiście ją zastosowała, rozmiar projektu i liczba plików w odniesieniu do pozostałego miejsca na dysku oraz limitu i-węzłów (inode), wersje WordPress po obu stronach, informacja, czy aprowizacja slotu została zakończona oraz czy podłączono repozytorium git do wdrożenia. Wszystko, czego nie udało się sprawdzić, jest zgłaszane jako niesprawdzone, a nie zaliczone.

Czy może uniemożliwić mi wdrożenie?

Nie, i jest to zamierzone. Pre-flight ostrzega i pozwala przejść dalej — `--force` wdraża mimo jakichkolwiek ustaleń. Wiedzą Państwo o swojej witrynie rzeczy, których narzędzie sprawdzające nie wie, a narzędzie, które odmawia wdrożenia, to narzędzie, które ludzie odinstalowują.

Czy mój klucz API jest bezpieczny?

Klucz nigdy nie jest odczytywany z wiersza poleceń — wyłącznie z monitu lub przekierowanego strumienia stdin — dzięki czemu nie może trafić do historii powłoki ani na listę procesów. Jest on przechowywany w Państwa własnym katalogu konfiguracyjnym z uprawnieniami do pliku 600, a Zinnector® ponownie wymusza te uprawnienia przy każdym zapisie.

Czy mogę tego użyć w CI?

Tak. Proszę ustawić `ZINNECTOR_TOKEN`, a każde polecenie przyjmie `--json`. Dane wyjściowe dla użytkownika trafiają do stderr, a dane do stdout, dzięki czemu potoki pozostają czyste. Polecenie `zinnector check` kończy działanie z kodem różnym od zera, gdy coś znajdzie, więc działa jako bramka potoku (pipeline gate), a parametr `--strict` również zgłasza błąd, gdy nie można dokonać porównania.

Zainstaluj go i uruchom witrynę w ciągu następnej minuty

Proszę uruchomić npm install -g zinnector lub wypróbować jednorazowo za pomocą npx zinnector new my-site. Bezpłatne, na licencji MIT i oparte na publicznym API. Proszę wygenerować strukturę projektu, uruchomić go lokalnie bez Docker i przeprowadzić kontrolę wstępną przed wdrożeniem.

Przeczytaj dokumentację