Zinnector®

WordPress barındırma için geliştirici CLI

Zinnector®, Node dışında hiçbir şey yüklemeden WordPress'i yerel olarak oluşturur — Docker yok, MAMP yok — ardından siz push yapmadan önce, oluşturduğunuz içeriği dağıtım yapmak üzere olduğunuz barındırma yuvasına göre denetler ve nelerin eşleşmeyeceğini size bildirir. Bunu npm install -g zinnector ile kurun. Ücretsizdir, MIT lisanslıdır ve buradaki diğer her şeyle aynı genel API üzerine inşa edilmiştir.

Bir tarayıcıda, açık bir dosyanın yanında dosya ağacı ve içinde bir imleç bulunan bir kod düzenleyici.

Beş komut ve ortadaki esas noktadır

Çoğu barındırma CLI'si dağıtım (deploy) aşamasında başlar. Zinnector® bundan önce başlar — siteyi sizinle birlikte oluşturur ve ardından çalışmanızı göndermek üzere olduğunuz makineye göre kontrol eder. "Dizüstü bilgisayarımda çalışıyordu" ile "sunucuda çalışıyor" arasındaki boşluk, öğleden sonraların kaybolup gittiği yerdir ve bu boşluk ölçülebilir düzeydedir.

Yeni zinnector

Hemen başlayan bir site, eklenti veya blok teması oluşturun. Yer tutucu dosyalar yok, TODO'lar yok — eklenti etkinleşir ve tema oluşturulduğu anda seçilebilir.

zinnector dev

PATH ortam değişkeninizde PHP ve Docker olmadan, kendi eklentilerinizi ve temalarınızı sunan gerçek bir WordPress saniyeler içinde makinenizde. Geliştirme yapmak için 5.2'den 8.5'e kadar herhangi bir PHP sürümünü seçin.

zinnector kontrolü

Uçuş öncesi kontrol. Dağıtım yapmadan önce oluşturduğunuz yapıyı dağıtmak üzere olduğunuz yuva ile karşılaştırır ve her uyumsuzluğu — ve yapamadığı her kontrolü — belirtir.

zinnector push

Ön kontrolleri yapın, commit'lerinizi gönderin, dağıtımı tetikleyin ve tamamlanana kadar izleyin. Başarısız olursa, derleme günlüğü yalnızca bir komut uzaklıktadır.

zinnector ai

Projenizi ve sitenizi bağlam olarak kullanarak asistana terminalden sorun. Platform üzerinde kendi hesabınız kapsamında çalışır; bu sayede makinenizde hiçbir zaman bir model anahtarı depolanmaz.

İki dakikada çalıştığını test edin, hesap gerekmez

Sırasıyla altı komut ve her birinde başarının nasıl göründüğü. Buradaki her şey kendi makinenizde çalışır; yalnızca bir barındırma yuvasına ulaştığınızda bir API anahtarı gerekir.

  1. Yükle

    Node 24 veya daha yeni bir sürümde npm install -g zinnector komutunu çalıştırın. npm EBADENGINE çıktısı verirse, Node sürümünüz 24'ten eskidir — nodejs.org adresinden geçerli LTS sürümünü yükleyin ve yüklemeyi tekrar çalıştırın.

  2. Sürümü kontrol edin

    zinnector --version, 0.1.2 gibi bir sürüm numarası yazdırır. 24'ten eski bir Node sürümünde, Node 24 veya daha yenisinin gerekli olduğunu belirten bir ileti yazdırır ve çıkar.

  3. Yardımı okuyun

    zinnector --help aşağıdaki her komutu tek satırlık bir amaç açıklamasıyla listeler. Her komut ayrıca kendi --help seçeneğini de kabul eder.

  4. Site iskeleti oluştur

    zinnector new my-site, hemen önyüklenen bir proje — bir zinnector.json, bir wp-content ağacı ve bir README — oluşturur ve çalıştırılacak sonraki komutları yazdırır.

  5. Çalıştır

    cd my-site, ardından zinnector dev. İlk çalıştırmada WordPress çalışma zamanını indirmeniz bir kez istenir (yaklaşık 570 MB, CLI'nin kendi önbelleğinde tutulur, asla projenizde yer almaz). Başarılı durum “running at http://127.0.0.1:9400” şeklinde görünür.

  6. Bir tarayıcıda açın

    http://127.0.0.1:9400 yeni bir WordPress sitesidir; /wp-admin doğrudan oturum açılmış şekilde kontrol panelini açar. wp-content/plugins dizinine bir eklenti bırakın; sonraki yeniden yüklemede orada olacaktır.

  7. Ardından, bir barındırma yuvası ile

    zinnector login, zinnector link, zinnector check, zinnector push — oluşturduğunuz içeriği slota karşı ön kontrolden geçirin, ardından dağıtın ve tamamlanmasını izleyin.

Ayrıntılı ön denetim

PHP 8.3 üzerinde derlediniz. Yuva 8.1 çalıştırıyor. Site beyaz ekrana düşene kadar hiçbir şey sizi uyarmaz. Bu komutun var olma sebebi tam olarak bu sorundur ve bu platformun sahibinin adını vererek talep ettiği şey de budur. Zinnector® her iki ortamı da okur ve yan yana getirir — ardından bir nedeniniz olabileceği gerekçesiyle yine de dağıtım yapmanıza izin verir.

PHP, dürüstçe derecelendirildi

Ana sürüm farkı, bir siteyi kesinlikle bozduğu için yüksek öncelikli olarak işaretlenir; küçük bir fark ise daha düşük olarak işaretlenir. Her şeyi kritik olarak derecelendirmek, yalnızca insanlara uyarıyı görmezden gelmeyi öğretir.

Disk ve dosya sayısı, ayrı ayrı

Bir WordPress dizin ağacı on binlerce küçük dosyadan oluşur ve bir site, disk sınırının oldukça altındayken bile inode sınırını tüketebilir. Her ikisi de plana göre değil, yuvada fiilen ne kaldığına göre kontrol edilir.

"Kontrol edilemedi" kendi başına bir yanıttır

Konusunu göremeyen bir denetim, başarılı olarak değil, denetlenmedi olarak bildirilir. Temiz bir çalıştırma, doğrulayamadığı kaç öğe olduğunu belirtir; çünkü kimsenin dönüp ikinci kez bakmadığı şey, sahte bir sorunsuzluk durumudur.

Uyarır, asla engellemez

Her bulgu --force ile geçersiz kılınabilir ve özet bunu belirtir. CI ortamında bunun yerine çıkış kodu bir denetim noktasıdır, böylece kontrol bir kişide kalırken işlem hattı katı olabilir.

İki yerel çalışma zamanı, ikisi de gerçek

WordPress Playground varsayılandır: WebAssembly olarak derlenmiş ve Node içinde çalışan PHP sayesinde, yalnızca Node yüklü bir dizüstü bilgisayar, bu cümleyi okumak için geçen sürede sıfırdan çalışan bir WordPress sistemine geçer.

Yerel bir PHP'ye — imagick gibi bir eklentiye, gerçek bir MySQL'e — ihtiyaç duyduğunuzda, --runtime docker parametresini iletin ve bunun yerine php-fpm ve MariaDB konteynerlerini edinin. Her ikisi de aynı projeden aynı dosyaları sunar; bu nedenle aralarında geçiş yapmak yalnızca motoru değiştirir, başka hiçbir şeyi değiştirmez.

Panelde zaten yaptığınız diğer her şey

Zinnector®, kontrol paneliyle aynı genel API üzerine kurulmuştur; bu nedenle panelin yapabildiği her şeyi o da yapabilir — ve her komut, özel bir uç nokta yerine OpenAPI spesifikasyonunda belgelenmiş bir işlemdir.

Siteler ve dağıtımlar

Siteleri listeleyin, platformun bir site hakkında bildiği her şeyi okuyun, yeniden dağıtın ve dağıtım geçmişi ile derleme günlüklerini okuyun.

Alan adları, DNS ve e-posta

Alan adlarını listeleyin, yazılmadan önce gösterilen kayıtla birlikte DNS kayıtlarını okuyup değiştirin ve e-posta hizmetlerinizi okuyun.

PHP, kota, veritabanı ve günlükler

PHP sürümlerini değiştirin, planınızın sağladığı sınırlara göre disk ve inode kullanımını görüntüleyin, phpMyAdmin için tek kullanımlık bağlantılar alın ve erişim ile hata günlüklerini anlık olarak takip edin.

WP-CLI ve toplu işlemler

Bir sitede izin verilenler listesindeki WP-CLI komutlarını çalıştırın ve her site için ayrı ayrı yapmak yerine tek bir çağrıda tüm seçim genelinde önbellekleri temizleyin veya kötü amaçlı yazılım taramaları başlatın.

Her komut, tam olarak --help tarafından listelendiği şekilde

Listenin tamamı, her biri bir satır. Eksiksiz referans — her bir bayrak, çalıştırılabilir bir örnek ve her komutun ne yazdırdığı — doğrudan CLI'nin kendisinden oluşturulur ve geliştirici belgeleri ile bilgi bankasında yer alır, böylece yüklediğiniz araçtan farklılık gösteremez.

Yeni zinnector

Hemen çalıştırabileceğiniz bir WordPress projesinin iskeletini oluşturun.

zinnector dev

Bu projeyi yerel olarak çalıştırın — Docker gerekmez.

zinnector girişi

Bir Zinn Digital® API anahtarı ile oturum açın.

zinnector oturumunu kapat

Kayıtlı bir API anahtarını unutun.

zinnector whoami

Bu CLI'nin kim olarak doğrulandığını gösterin.

zinnector siteleri

Bu anahtarın görebileceği siteleri listeleyin.

zinnector durumu

Platformun tek bir site hakkında bildiği her şey.

zinnector paylaşımı

Tek bir kişiye tek bir site için erişim verin — bir geliştirici, bir tasarımcı, bir müşteri — bir rol ve bir gerekçe ile.

zinnector işbirlikçileri

Bir siteye kimlere erişim izni verildiğini, rollerini ve daveti kabul edip etmediklerini görün.

zinnector paylaşımını kaldır

E-posta veya yetki kimliği ile bir kişinin erişimini geri alın.

zinnector davetiyeleri

Sizi bekleyen davetler ve birini kabul edin.

zinnector bağlantısı

Bu projeyi bir barındırma yuvasına yönlendirin (ve deposunu bağlayın).

zinnector pull

Yerel geliştirme için barındırılan bir sitenin dosyalarını bu projeye çekin ve yeniden eşitlemek için tekrar çalıştırın. Site kendi deposuyla eşitlendiğinde hızlı yolu kullanır, aksi takdirde en son yedekten çalışır.

zinnector senkronizasyonu

Barındırılan bir sitenin canlı dosyaları ile deposu arasında iki yönlü senkronizasyon: durumu görüntüleyin, etkinleştirin, sitenin değişikliklerini işleyin (commit) veya hangi tarafın öncelikli olacağını seçin.

zinnector mcp

Claude Desktop ve yalnızca yerel sunucuları başlatan diğer AI istemcileri için Zinn Digital® MCP sunucusuna bir köprü.

zinnector'ı klonla

Barındırılan bir siteden tek adımda yerel bir proje oluşturun: deposunu klonlayın veya dosyalarını çekin, proje dosyasını yazın ve zinnector dev çalıştırmaya hazır olun.

zinnector kontrolü

Bu projeyi dağıtım yapmak üzere olduğunuz yuva ile karşılaştırın.

zinnector push

Ön kontrolleri gerçekleştirin, commit'lerinizi gönderin ve dağıtın.

zinnector dağıtımı

Push yapmadan, platformun halihazırda sahip olduğu içeriği yeniden dağıtın.

zinnector dağıtıyor

Bir sitenin dağıtım geçmişi.

zinnector php

Bir sitenin PHP sürümünü görüntüleyin veya değiştirin.

zinnector kotası

Planın sağladığı sınırlara kıyasla disk, dosya ve veritabanı kullanımı.

zinnector db

Veritabanı boyutu ile phpMyAdmin ve dosya yöneticisine tek kullanımlık bağlantılar.

zinnector günlükleri

Bir sitenin erişim ve hata günlüklerini gerçek zamanlı olarak izleyin.

zinnector wp

Bir sitede izin verilen bir WP-CLI komutunu çalıştırın.

zinnector yedekleme

Site yedeklerini listeleyin ve alın. Alt komutlar: list, now.

zinnector alan adları

Bu anahtarın görebileceği alan adlarını listeleyin.

zinnector dns

DNS kayıtlarını okuyun ve değiştirin. Alt komutlar: list, add, rm.

zinnector mail

E-posta hizmetlerini listele.

zinnector toplu

Birden çok sitede tek bir işlem çalıştırın (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Bu projeyi bağlam olarak kullanarak Zinn Digital® asistanına sorun.

Sorular

Bunu kullanmak için Zinn Digital® müşterisi olmam gerekir mi?

Hayır. `zinnector new` ve `zinnector dev` kesinlikle hesap gerektirmez; bir eklentinin, temanın veya tüm bir sitenin çatısını oluşturun ve yerel olarak, ücretsiz, sonsuza kadar çalıştırın. API anahtarı yalnızca barındırma hizmetinizle iletişim kuran komutlar için gereklidir.

Docker gerekiyor mu?

Varsayılan çalışma zamanı için değil. WordPress Playground, PHP'yi WebAssembly'ye derler ve Node içinde çalışır; bu nedenle `zinnector dev`, başka hiçbir şey yüklenmeden saniyeler içinde gerçek bir WordPress başlatır. Bir eklentiyi (örneğin imagick veya ionCube) test etmek için yerel bir PHP'ye ihtiyacınız varsa, `--runtime docker` bunun yerine size php-fpm ve MariaDB kapsayıcıları sağlar. Her ikisi de desteklenir; hiçbiri bir geri dönüş seçeneği değildir.

Uçuş öncesi kontrol aslında neyi karşılaştırır?

Yerel PHP sürümünüz ile yuvanınki arasındaki karşılaştırma, yuvanın üzerinde geliştirme yaptığınız sürüme geçip geçemeyeceği, yuvanın PHP'sinin kullanım ömrünün bitip bitmediği ve makinenin bunu gerçekten uygulayıp uygulamadığı, projenizin boyutu ve dosya sayısı ile kalan disk ve inode alanı arasındaki karşılaştırma, her iki taraftaki WordPress sürümleri, yuvanın hazırlama işlemini tamamlayıp tamamlamadığı ve dağıtım yapmak için bir git deposunun bağlı olup olmadığı. Denetleyemediği her şey, başarılı sayılmak yerine denetlenmedi olarak bildirilir.

Dağıtım yapmamı engelleyebilir mi?

Hayır, ve bu kasıtlıdır. Pre-flight uyarır ve devam etmenize izin verir — `--force` herhangi bir bulguyu göz ardı ederek dağıtır. Kendi siteniz hakkında bir denetleyicinin bilmediği şeyleri bilirsiniz ve dağıtmayı reddeden bir araç, insanların kaldırdığı bir araçtır.

API anahtarım güvende mi?

Anahtar hiçbir zaman komut satırından okunmaz — yalnızca bir komut isteminden veya yönlendirilen stdin'den okunur — bu nedenle kabuk geçmişinizde veya bir işlem listesinde yer alamaz. Dosya modu 600 ile kendi yapılandırma dizininizde saklanır ve Zinnector® her yazma işleminde bu izinleri yeniden uygular.

Bunu CI'da kullanabilir miyim?

Evet. `ZINNECTOR_TOKEN` değişkenini ayarlayın; her komut `--json` kabul eder. İnsanların okuyacağı çıktılar stderr'e, veriler ise stdout'a gider, böylece aktarma hatları (pipes) temiz kalır. `zinnector check` bir şey bulduğunda sıfır olmayan bir kodla çıkar, bu nedenle bir işlem hattı geçidi (pipeline gate) olarak çalışır ve bir karşılaştırma yapılamadığında `--strict` de başarısız olur.

Kurun ve bir sonraki dakika içinde bir siteyi yayına alın

npm install -g zinnector komutunu çalıştırın veya npx zinnector new my-site ile bir kez deneyin. Ücretsiz, MIT lisanslı ve herkese açık API üzerine inşa edilmiştir. Bir proje iskeleti oluşturun, Docker olmadan yerel olarak çalıştırın ve dağıtımdan önce ön kontrolleri gerçekleştirin.

Belgeleri okuyun