Zinnector®

WordPress হোস্টিংয়ের জন্য ডেভেলপার CLI

Zinnector® শুধুমাত্র Node ইনস্টল করা থাকলে স্থানীয়ভাবে WordPress তৈরি করে — কোনো Docker নেই, কোনো MAMP নেই — তারপর আপনি পুশ করার আগে, যা তৈরি করেছেন তা যে হোস্টিং স্লটে স্থাপন করতে যাচ্ছেন তার সাথে মিলিয়ে দেখে এবং কী মিলবে না তা আপনাকে জানায়। এটি npm install -g zinnector দিয়ে ইনস্টল করুন। এটি বিনামূল্যে, MIT-লাইসেন্সপ্রাপ্ত এবং এখানকার অন্য সব কিছুর মতোই একই পাবলিক API-এর উপর তৈরি।

ব্রাউজারে একটি কোড এডিটর, যেখানে একটি খোলা ফাইলের পাশে ফাইল ট্রি এবং তার মধ্যে একটি কার্সার রয়েছে।

পাঁচটি কমান্ড, এবং মাঝেরটিই মূল বিষয়

বেশিরভাগ হোস্টিং CLI ডিপ্লয় থেকেই শুরু হয়। Zinnector® তার আগেই শুরু হয় — এটি আপনার সাথে সাইটটি তৈরি করে এবং তারপরে আপনি যে মেশিনে এটি পাঠাতে চলেছেন তার সাথে আপনার কাজটি যাচাই করে। "এটি আমার ল্যাপটপে চলেছিল" এবং "এটি সার্ভারে চলে"-এর মধ্যবর্তী ব্যবধানেই দুপুরগুলো কেটে যায়, এবং সেই ব্যবধানটি পরিমাপযোগ্য।

নতুন zinnector

তাত্ক্ষণিকভাবে বুট হওয়া একটি সাইট, প্লাগইন বা ব্লক থিম তৈরি করুন। কোনো স্থানধারক ফাইল নেই, কোনো TODO নেই — প্লাগইন সক্রিয় হয় এবং থিমটি তৈরি হওয়ার সাথে সাথেই নির্বাচন করা যায়।

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 হলো ডিফল্ট: PHP কম্পাইল করা হয়েছে WebAssembly-তে, যা Node-এর ভেতরে চলে, তাই শুধুমাত্র Node ইনস্টল করা একটি ল্যাপটপ এই বাক্যটি পড়ার মতো সময়েই শূন্য থেকে একটি সচল WordPress-এ পৌঁছে যায়।

যখন আপনার একটি নেটিভ PHP প্রয়োজন — যেমন imagick এর মতো একটি এক্সটেনশন, একটি বাস্তব MySQL — তখন --runtime docker পাস করুন এবং এর পরিবর্তে php-fpm এবং MariaDB কন্টেইনারগুলি পান। উভয়ই একই প্রজেক্ট থেকে একই ফাইল পরিবেশন করে, তাই তাদের মধ্যে পরিবর্তন করলে কেবল ইঞ্জিন পরিবর্তিত হয় এবং অন্য কিছু নয়।

প্যানেলে আপনি ইতিমধ্যেই যা কিছু করেন তার সবকিছুই

Zinnector® ড্যাশবোর্ডের মতো একই পাবলিক API-এর উপর তৈরি, তাই প্যানেল যা কিছু করতে পারে, এটিও তা করতে পারে — এবং প্রতিটি কমান্ড কোনো ব্যক্তিগত এন্ডপয়েন্টের পরিবর্তে OpenAPI স্পেক-এ একটি ডকুমেন্টেড অপারেশন।

সাইট এবং ডিপ্লয়সমূহ

সাইটগুলির তালিকা দেখুন, একটি সাইট সম্পর্কে প্ল্যাটফর্মের জানা সমস্ত তথ্য পড়ুন, পুনরায় ডিপ্লয় করুন, এবং ডিপ্লয়মেন্টের ইতিহাস ও বিল্ড লগগুলি পড়ুন।

ডোমেন, ডিএনএস এবং মেল

ডোমেন তালিকাভুক্ত করুন, রেকর্ড লেখার আগে প্রদর্শিত রেকর্ডের সাথে DNS রেকর্ডগুলি পড়ুন ও পরিবর্তন করুন, এবং আপনার মেল পরিষেবাগুলি পড়ুন।

PHP, কোটা, ডেটাবেস এবং লগ

PHP সংস্করণ পরিবর্তন করুন, আপনার প্ল্যানে বরাদ্দকৃত সীমার বিপরীতে ডিস্ক এবং inode ব্যবহার দেখুন, phpMyAdmin-এ একক ব্যবহারের লিঙ্ক পান এবং অ্যাক্সেস ও এরর লগ রিয়েল-টাইমে ট্র্যাক করুন।

WP-CLI এবং বাল্ক অপারেশন

একটি সাইটে অনুমতি তালিকাভুক্ত WP-CLI কমান্ড চালান, এবং প্রতি সাইটের জন্য আলাদাভাবে না করে এক কলেই সমগ্র নির্বাচনের ক্যাশ সাফ করুন বা ম্যালওয়্যার স্ক্যান শুরু করুন।

প্রতিটি কমান্ড, ঠিক যেমনটি --help তালিকাভুক্ত করে

সম্পূর্ণ তালিকা, প্রতি লাইনে একটি করে। সম্পূর্ণ রেফারেন্স — প্রতিটি ফ্ল্যাগ, একটি রানযোগ্য উদাহরণ এবং প্রতিটি কমান্ড যা প্রিন্ট করে — তা সিএলআই (CLI) থেকেই তৈরি হয় এবং ডেভেলপার ডক্স ও নলেজ বেসে থাকে, তাই এটি আপনার ইনস্টল করা টুল থেকে ভিন্ন হতে পারে না।

নতুন zinnector

তাত্ক্ষণিকভাবে চালাতে পারবেন এমন একটি WordPress প্রজেক্টের প্রাথমিক কাঠামো তৈরি করুন।

zinnector dev

এই প্রকল্পটি স্থানীয়ভাবে চালান — কোনও Docker এর প্রয়োজন নেই।

জিননেক্টর লগইন

Zinn Digital® API কী দিয়ে সাইন ইন করুন।

যিনেক্টর লগআউট

সংরক্ষিত API কী ভুলে যান।

zinnector whoami

এই CLI কার হিসাবে প্রমাণীকৃত তা দেখান।

zinnector সাইটগুলি

এই কী যে সাইটগুলি দেখতে পারে তা তালিকাভুক্ত করুন।

zinnector স্ট্যাটাস

একটি সাইট সম্পর্কে প্ল্যাটফর্মের জানা সমস্ত তথ্য।

জিনেক্টর শেয়ার

একটি নির্দিষ্ট সাইটে একজন ব্যক্তিকে অ্যাক্সেস দিন — একজন ডেভেলপার, একজন ডিজাইনার, একজন ক্লায়েন্ট — একটি ভূমিকা এবং কারণ সহ।

zinnector সহযোগীগণ

একটি সাইটে কাকে অ্যাক্সেস দেওয়া হয়েছে, তাদের ভূমিকা এবং তারা ইতিমধ্যে তা গ্রহণ করেছেন কি না তা দেখুন।

zinnector শেয়ার বাতিল করুন

ইমেল বা অনুদান আইডির মাধ্যমে একজন ব্যক্তির অ্যাক্সেস প্রত্যাহার করুন।

জিননেক্টর আমন্ত্রণসমূহ

আপনার জন্য অপেক্ষারত আমন্ত্রণগুলি, এবং একটি গ্রহণ করুন।

zinnector লিঙ্ক

এই প্রজেক্টটিকে একটি হোস্টিং স্লটে নির্দেশ করুন (এবং এর রিপোজিটরি সংযুক্ত করুন)।

zinnector pull

স্থানীয় ডেভেলপমেন্টের জন্য একটি হোস্ট করা সাইটের ফাইলগুলি এই প্রজেক্টে পুল করুন, এবং পুনরায় সিঙ্ক করতে আবার চালান। সাইটটি যখন তার নিজস্ব রিপোজিটরির সাথে সিঙ্ক করে তখন দ্রুত পথ বেছে নেয়, অন্যথায় সর্বশেষ ব্যাকআপ থেকে কাজ করে।

zinnector সিঙ্ক

একটি হোস্ট করা সাইটের লাইভ ফাইল এবং এর রিপোজিটরির মধ্যে দ্বিমুখী সিঙ্ক: এর বর্তমান অবস্থা দেখুন, এটি চালু করুন, সাইটের পরিবর্তনগুলি কমিট করুন, অথবা কোন দিকটি অগ্রাধিকার পাবে তা বেছে নিন।

জিনেক্টর এমসিপি

Claude Desktop এবং অন্যান্য AI ক্লায়েন্ট যা কেবল লোকাল সার্ভার চালু করে, সেগুলির জন্য Zinn Digital® MCP সার্ভারের একটি সংযোগকারী ব্রিজ।

zinnector ক্লোন

একটি হোস্ট করা সাইট থেকে এক ধাপে একটি স্থানীয় প্রজেক্ট তৈরি করুন: এর রিপোজিটরি ক্লোন করুন বা এর ফাইলগুলি টানুন, প্রজেক্ট ফাইলটি লিখুন এবং zinnector dev চালানোর জন্য প্রস্তুত হন।

zinnector চেক

আপনি যে স্লটে স্থাপন করতে যাচ্ছেন তার সাথে এই প্রকল্পের তুলনা করুন।

zinnector push

প্রাক-উড়ান পরীক্ষা করুন, আপনার কমিটগুলো পুশ করুন এবং ডিপ্লয় করুন।

জিনেক্টর ডিপ্লয়

পুশ না করেই প্ল্যাটফর্মে ইতোমধ্যে যা রয়েছে তা পুনরায় স্থাপন করুন।

zinnector স্থাপন করে

একটি সাইটের ডেপ্লয় ইতিহাস।

zinnector php

একটি সাইটের PHP সংস্করণ দেখুন বা পরিবর্তন করুন।

zinnector কোটা

প্ল্যানে যা বরাদ্দ রয়েছে তার বিপরীতে ডিস্ক, ফাইল এবং ডাটাবেসের ব্যবহার।

zinnector db

ডাটাবেসের আকার, এবং phpMyAdmin ও ফাইল ম্যানেজারে প্রবেশের একক-ব্যবহারযোগ্য লিঙ্ক।

জিননেক্টর লগ

একটি সাইটের অ্যাক্সেস এবং ত্রুটির লগ রিয়েল-টাইমে অনুসরণ করুন।

zinnector wp

একটি সাইটে অনুমতিপ্রাপ্ত WP-CLI কমান্ড চালান।

zinnector ব্যাকআপ

সাইটের ব্যাকআপ তালিকাভুক্ত করুন এবং ব্যাকআপ নিন। সাব-কমান্ড: list, now।

zinnector ডোমেইন

এই কী যে ডোমেনগুলি দেখতে পারে তা তালিকাভুক্ত করুন।

zinnector dns

DNS রেকর্ড পড়ুন এবং পরিবর্তন করুন। সাবকমান্ড: list, add, rm।

zinnector মেইল

মেল পরিষেবাগুলি তালিকাভুক্ত করুন।

zinnector বাল্ক

একাধিক সাইট জুড়ে একটি অপারেশন চালান (cache_purge, malware_scan, sitemap, block_ip)।

zinnector ai

এই প্রজেক্টটিকে প্রসঙ্গ হিসেবে ব্যবহার করে Zinn Digital® সহায়ককে জিজ্ঞাসা করুন।

প্রশ্নসমূহ

এটি ব্যবহার করার জন্য কি আমাকে Zinn Digital®-এর গ্রাহক হতে হবে?

না। `zinnector new` এবং `zinnector dev`-এর জন্য কোনো অ্যাকাউন্টের প্রয়োজন নেই — একটি প্লাগইন, থিম বা সম্পূর্ণ সাইটের পরিকাঠামো তৈরি করুন এবং এটি লোকালভাবে বিনামূল্যে চিরতরে চালান। শুধুমাত্র আপনার হোস্টিংয়ের সাথে যোগাযোগকারী কমান্ডগুলির জন্য একটি API কী প্রয়োজন।

এটির কি Docker প্রয়োজন?

ডিফল্ট রানটাইমের জন্য নয়। WordPress Playground পিএইচপি-কে WebAssembly-তে কম্পাইল করে এবং Node-এর ভেতরে চলে, তাই অন্য কিছু ইনস্টল না করেই `zinnector dev` কয়েক সেকেন্ডের মধ্যে একটি বাস্তব WordPress চালু করে। আপনার যদি নেটিভ পিএইচপি প্রয়োজন হয় — imagick বা ionCube-এর মতো কোনো এক্সটেনশন পরীক্ষা করার জন্য — তবে `--runtime docker` আপনাকে পরিবর্তে php-fpm এবং MariaDB কন্টেইনার প্রদান করে। উভয়ই সমর্থিত; কোনটিই ফলব্যাক নয়।

প্রি-ফ্লাইট চেক আসলে কী তুলনা করে?

স্লটের সংস্করণের বিপরীতে আপনার স্থানীয় PHP সংস্করণ, আপনি যে সংস্করণে তৈরি করেছেন স্লটটি আদৌ সেই সংস্করণে স্যুইচ করতে পারে কিনা, স্লটের PHP-এর কার্যকালের মেয়াদ শেষ হয়েছে কিনা এবং মেশিনটি আসলে এটি প্রয়োগ করেছে কিনা, অবশিষ্ট ডিস্ক এবং inode ক্ষমতার বিপরীতে আপনার প্রকল্পের আকার এবং ফাইলের সংখ্যা, প্রতিটি পাশের WordPress সংস্করণ, স্লটের প্রভিশনিং সম্পন্ন হয়েছে কিনা এবং ডিপ্লয় করার জন্য একটি git রিপোজিটরি সংযুক্ত আছে কিনা। যা কিছু এটি পরীক্ষা করতে পারেনি তা সফল হিসেবে গণ্য না করে অপরীক্ষিত হিসেবে রিপোর্ট করা হয়।

এটি কি আমাকে ডিপ্লয় করা থেকে আটকাতে পারে?

না, এবং এটি ইচ্ছাকৃত। প্রি-ফ্লাইট সতর্ক করে এবং আপনাকে এগিয়ে যেতে দেয় — `--force` যেকোনো ফলাফল উপেক্ষা করে ডিপ্লয় করে। আপনি আপনার সাইট সম্পর্কে এমন কিছু জানেন যা একটি পরীক্ষক জানে না, এবং যে টুল ডিপ্লয় করতে অস্বীকার করে তা মানুষ আনইনস্টল করে দেয়।

আমার API কি কি নিরাপদ?

কী-টি কখনই কমান্ড লাইন থেকে পড়া হয় না — কেবল একটি প্রম্পট বা পাইপযুক্ত stdin থেকে পড়া হয় — তাই এটি আপনার শেল ইতিহাসে বা কোনো প্রসেস তালিকায় অন্তর্ভুক্ত হতে পারে না। এটি ৬০০ ফাইল মোড সহ আপনার নিজস্ব কনফিগারেশন ডিরেক্টরিতে সংরক্ষিত হয়, এবং Zinnector® প্রতিবার লেখার সময় সেই অনুমতিগুলি পুনরায় প্রয়োগ করে।

আমি কি এটি CI-তে ব্যবহার করতে পারি?

হ্যাঁ। `ZINNECTOR_TOKEN` সেট করুন, এবং প্রতিটি কমান্ড `--json` গ্রহণ করে। মানুষের পাঠযোগ্য আউটপুট stderr-এ এবং ডেটা stdout-এ যায়, যাতে পাইপগুলো পরিষ্কার থাকে। `zinnector check` কোনো কিছু খুঁজে পেলে নন-জিরো অবস্থায় প্রস্থান করে, তাই এটি পাইপলাইন গেট হিসেবে কাজ করে, এবং তুলনা করা সম্ভব না হলে `--strict`ও ব্যর্থ হয়।

এটি ইনস্টল করুন এবং পরবর্তী মিনিটের মধ্যে একটি সাইট চালু করুন

npm install -g zinnector চালান, অথবা npx zinnector new my-site দিয়ে একবার চেষ্টা করে দেখুন। বিনামূল্যে, MIT-লাইসেন্সযুক্ত এবং সর্বজনীন API-এর উপর নির্মিত। একটি প্রজেক্ট স্ক্যাফোল্ড করুন, Docker ছাড়াই স্থানীয়ভাবে এটি চালান, এবং ডিপ্লয় করার আগে এটি প্রি-ফ্লাইট করে দেখে নিন।

ডকুমেন্টেশন পড়ুন