Zinnector®

WordPress होस्टिंग के लिए डेवलपर CLI

Zinnector® केवल Node के अलावा कुछ भी इंस्टॉल किए बिना स्थानीय रूप से WordPress बनाता है — कोई Docker नहीं, कोई MAMP नहीं — फिर यह पुश करने से पहले, आपके द्वारा बनाए गए निर्माण की तुलना उस होस्टिंग स्लॉट से करता है जिस पर आप डिप्लॉय करने वाले हैं और आपको बताता है कि क्या मेल नहीं खाएगा। इसे npm install -g zinnector से इंस्टॉल करें। यह मुफ़्त है, MIT-लाइसेंस प्राप्त है और यहाँ की बाकी सभी चीज़ों की तरह ही सार्वजनिक API पर निर्मित है।

ब्राउज़र में एक कोड एडिटर, जिसमें खुली हुई फ़ाइल के बगल में एक फ़ाइल ट्री और उसमें एक कर्सर है।

पाँच कमांड, और बीच वाला ही मुख्य बिंदु है

अधिकांश होस्टिंग CLI डिप्लॉय से शुरू होते हैं। Zinnector® उससे पहले शुरू होता है — यह आपके साथ साइट बनाता है, और फिर आप जिस मशीन पर इसे भेजने वाले हैं, उसके अनुसार आपके काम की जाँच करता है। "यह मेरे लैपटॉप पर चला था" और "यह सर्वर पर चलता है" के बीच का अंतर वह जगह है जहाँ पूरी दोपहर बीत जाती है, और वह अंतर मापने योग्य है।

नया zinnector

तुरंत बूट होने वाली साइट, प्लगइन या ब्लॉक थीम का मचान तैयार करें। कोई प्लेसहोल्डर फ़ाइलें नहीं, कोई TODOs नहीं — प्लगइन सक्रिय हो जाता है और थीम बनते ही उसे चुना जा सकता है।

zinnector dev

सेकंडों में आपकी मशीन पर एक वास्तविक WordPress, आपके अपने प्लगइन्स और थीम्स को प्रस्तुत करता है, बिना किसी Docker और आपके PATH में बिना PHP के। डेवलप करने के लिए 5.2 से 8.5 तक कोई भी PHP चुनें।

zinnector जांच

प्री-फ़्लाइट। यह आपके द्वारा बनाए गए बिल्ड की तुलना उस स्लॉट से करता है जिसमें आप डिप्लॉय करने वाले हैं और आपके पुश करने से पहले हर बेमेल — और ऐसी हर जांच जिसे यह नहीं कर सका — को सूचीबद्ध करता है।

zinnector पुश

प्री-फ़्लाइट जाँच करें, अपने कमिट पुश करें, डिप्लॉय शुरू करें और पूरा होने तक इस पर नज़र रखें। यदि यह विफल रहता है, तो बिल्ड लॉग केवल एक कमांड की दूरी पर है।

zinnector ai

अपने प्रोजेक्ट और अपनी साइट को संदर्भ के रूप में उपयोग करते हुए टर्मिनल से सहायक से पूछें। यह प्लेटफ़ॉर्म पर आपके अपने खाते के अंतर्गत चलता है, इसलिए आपकी मशीन पर कभी भी कोई मॉडल कुंजी संग्रहीत नहीं होती है।

दो मिनट में जांचें कि यह काम करता है, किसी खाते की आवश्यकता नहीं है

छह निर्देश, क्रम से, और प्रत्येक में सफलता कैसी दिखती है। यहाँ सब कुछ आपकी अपनी मशीन पर चलता है; एपीआई कुंजी की आवश्यकता केवल तब होती है जब आप किसी होस्टिंग स्लॉट पर पहुँचते हैं।

  1. इसे स्थापित करें

    Node 24 या नए पर npm install -g zinnector चलाएँ। यदि npm EBADENGINE प्रिंट करता है, तो आपका Node 24 से पुराना है — nodejs.org से वर्तमान LTS इंस्टॉल करें और इंस्टॉलेशन को फिर से चलाएँ।

  2. संस्करण जांचें

    zinnector --version 0.1.2 जैसा संस्करण नंबर प्रिंट करता है। 24 से पुराने Node पर यह एक संदेश प्रिंट करता है कि Node 24 या नया आवश्यक है, और बाहर निकल जाता है।

  3. सहायता पढ़ें

    zinnector --help नीचे प्रत्येक कमांड को एक पंक्ति के उद्देश्य के साथ सूचीबद्ध करता है। प्रत्येक कमांड का अपना --help भी होता है।

  4. साइट का ढांचा तैयार करें

    zinnector new my-site एक ऐसा प्रोजेक्ट बनाता है जो तुरंत बूट होता है — एक zinnector.json, एक wp-content ट्री और एक README — और चलाने के लिए अगले कमांड प्रिंट करता है।

  5. इसे चलाएं

    cd my-site, फिर zinnector dev। पहली बार चलाने पर WordPress रनटाइम डाउनलोड करने के लिए एक बार पूछा जाता है (लगभग 570 MB, जो 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 डिफ़ॉल्ट है: WebAssembly में संकलित PHP, 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 लॉगिन

Zinn Digital® API कुंजी के साथ साइन इन करें।

ज़िननेक्टर लॉगआउट

संग्रहीत API कुंजी भूलें।

zinnector whoami

दिखाएं कि यह CLI किसके रूप में प्रमाणित है।

zinnector साइट्स

उन साइटों को सूचीबद्ध करें जिन्हें यह कुंजी देख सकती है।

zinnector स्थिति

एक साइट के बारे में प्लेटफ़ॉर्म जो कुछ भी जानता है।

zinnector शेयर

किसी एक व्यक्ति को एकल साइट का एक्सेस दें — डेवलपर, डिज़ाइनर, क्लाइंट — एक भूमिका और एक कारण के साथ।

ज़िनेक्टर सहयोगी

देखें कि किसी साइट का एक्सेस किसे दिया गया है, उनकी भूमिका क्या है, और क्या उन्होंने इसे अभी तक स्वीकार किया है।

zinnector साझा समाप्त करें

ईमेल या ग्रांट आईडी द्वारा किसी व्यक्ति की पहुंच वापस लें।

जिनेक्टर आमंत्रण

आपके लिए प्रतीक्षारत निमंत्रण, और एक स्वीकार करें।

zinnector लिंक

इस प्रोजेक्ट को होस्टिंग स्लॉट पर इंगित करें (और इसके रिपॉजिटरी को कनेक्ट करें)।

zinnector पुल

स्थानीय विकास के लिए किसी होस्ट की गई साइट की फ़ाइलों को इस प्रोजेक्ट में खींचें, और पुन: सिंक करने के लिए फिर से चलाएँ। जब साइट अपने स्वयं के रिपॉजिटरी से सिंक होती है तो यह तेज़ रास्ता अपनाता है, अन्यथा नवीनतम बैकअप से काम करता है।

zinnector सिंक

होस्ट की गई साइट की लाइव फ़ाइलों और उसके रिपॉजिटरी के बीच टू-वे सिंक: इसकी स्थिति देखें, इसे चालू करें, साइट के परिवर्तनों को कमिट करें, या चुनें कि किस पक्ष को प्राथमिकता दी जाए।

ज़िनेक्टर एमसीपी

Claude Desktop और केवल स्थानीय सर्वर शुरू करने वाले अन्य AI क्लाइंट के लिए Zinn Digital® MCP सर्वर का एक ब्रिज।

zinnector क्लोन

होस्ट की गई साइट से एक चरण में एक स्थानीय प्रोजेक्ट बनाएं: इसके रिपॉजिटरी को क्लोन करें या इसकी फ़ाइलें प्राप्त करें, प्रोजेक्ट फ़ाइल लिखें, और zinnector dev चलाने के लिए तैयार रहें।

zinnector चेक

इस प्रोजेक्ट की तुलना उस स्लॉट से करें जिसमें आप परिनियोजित करने वाले हैं।

zinnector push

पूर्व-जांच करें, अपने कमिट पुश करें और डिप्लॉय करें।

zinnector तैनात करें

पुश किए बिना, प्लेटफ़ॉर्म पर पहले से मौजूद सामग्री को पुनः परिनियोजित करें।

zinnector तैनात करता है

किसी साइट का डिप्लॉय इतिहास।

zinnector php

किसी साइट का PHP संस्करण देखें या बदलें।

zinnector कोटा

प्लान के तहत दी गई सीमा के मुकाबले डिस्क, फ़ाइलों और डेटाबेस का उपयोग।

zinnector db

डेटाबेस का आकार, और phpMyAdmin तथा फ़ाइल प्रबंधक के एकल-उपयोग लिंक।

ज़िनेक्टर लॉग

किसी साइट के एक्सेस और त्रुटि लॉग को रीयल-टाइम में ट्रैक करें।

zinnector wp

किसी साइट पर अनुमति प्राप्त WP-CLI कमांड चलाएं।

zinnector बैकअप

साइट बैकअप की सूची बनाएं और बैकअप लें। उप-आदेश: list, now।

zinnector डोमेन

उन डोमेन की सूची बनाएं जिन्हें यह कुंजी देख सकती है।

zinnector dns

DNS रिकॉर्ड पढ़ें और बदलें। उप-कमांड: list, add, rm।

ज़िननेक्टर मेल

मेल सेवाओं को सूचीबद्ध करें।

zinnector बल्क

कई साइटों पर एक कार्रवाई चलाएं (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 अपने जीवनकाल के अंत (end of life) को पार कर चुका है और क्या मशीन ने इसे वास्तव में लागू किया है, डिस्क और इनोड की बची हुई जगह के मुकाबले आपके प्रोजेक्ट का आकार और फ़ाइल संख्या, दोनों पक्षों पर WordPress संस्करण, क्या स्लॉट ने प्रोविज़निंग पूरी कर ली है, और क्या डिप्लॉय करने के लिए एक git रिपॉजिटरी कनेक्टेड है। जिसे भी यह जांच नहीं सका, उसे सफल मानने के बजाय अनियंत्रित (unchecked) के रूप में रिपोर्ट किया जाता है।

क्या यह मुझे डिप्लॉय करने से रोक सकता है?

नहीं, और यह जानबूझकर किया गया है। प्री-फ़्लाइट चेतावनी देता है और आपको आगे बढ़ने की अनुमति देता है — `--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 के इसे स्थानीय रूप से चलाएं, और परिनियोजित करने से पहले इसकी पूर्व-जाँच करें।

दस्तावेज़ पढ़ें