নতুন zinnector
তাত্ক্ষণিকভাবে বুট হওয়া একটি সাইট, প্লাগইন বা ব্লক থিম তৈরি করুন। কোনো স্থানধারক ফাইল নেই, কোনো TODO নেই — প্লাগইন সক্রিয় হয় এবং থিমটি তৈরি হওয়ার সাথে সাথেই নির্বাচন করা যায়।
Zinnector®
Zinnector® শুধুমাত্র Node ইনস্টল করা থাকলে স্থানীয়ভাবে WordPress তৈরি করে — কোনো Docker নেই, কোনো MAMP নেই — তারপর আপনি পুশ করার আগে, যা তৈরি করেছেন তা যে হোস্টিং স্লটে স্থাপন করতে যাচ্ছেন তার সাথে মিলিয়ে দেখে এবং কী মিলবে না তা আপনাকে জানায়। এটি npm install -g zinnector দিয়ে ইনস্টল করুন। এটি বিনামূল্যে, MIT-লাইসেন্সপ্রাপ্ত এবং এখানকার অন্য সব কিছুর মতোই একই পাবলিক API-এর উপর তৈরি।
বেশিরভাগ হোস্টিং CLI ডিপ্লয় থেকেই শুরু হয়। Zinnector® তার আগেই শুরু হয় — এটি আপনার সাথে সাইটটি তৈরি করে এবং তারপরে আপনি যে মেশিনে এটি পাঠাতে চলেছেন তার সাথে আপনার কাজটি যাচাই করে। "এটি আমার ল্যাপটপে চলেছিল" এবং "এটি সার্ভারে চলে"-এর মধ্যবর্তী ব্যবধানেই দুপুরগুলো কেটে যায়, এবং সেই ব্যবধানটি পরিমাপযোগ্য।
তাত্ক্ষণিকভাবে বুট হওয়া একটি সাইট, প্লাগইন বা ব্লক থিম তৈরি করুন। কোনো স্থানধারক ফাইল নেই, কোনো TODO নেই — প্লাগইন সক্রিয় হয় এবং থিমটি তৈরি হওয়ার সাথে সাথেই নির্বাচন করা যায়।
কয়েক সেকেন্ডের মধ্যে আপনার মেশিনে একটি আসল WordPress, আপনার নিজস্ব প্লাগইন এবং থিম পরিবেশন করবে, কোনও Docker ছাড়া এবং আপনার PATH-এ কোনও PHP ছাড়াই। ডেভেলপ করার জন্য 5.2 থেকে 8.5 পর্যন্ত যেকোনো PHP বেছে নিন।
প্রাক-ফ্লাইট পরীক্ষা। আপনি যা তৈরি করেছেন তা যে স্লটে স্থাপন করতে যাচ্ছেন তার সাথে তুলনা করে এবং পুশ করার আগে প্রতিটি অমিল — এবং যে পরীক্ষাগুলো করা সম্ভব হয়নি — তা উল্লেখ করে।
প্রাক-যাচাই সম্পন্ন করুন, আপনার কমিটগুলো পুশ করুন, ডিপ্লয় শুরু করুন এবং এটি সম্পন্ন হওয়া পর্যন্ত পর্যবেক্ষণ করুন। এটি ব্যর্থ হলে, বিল্ড লগটি মাত্র একটি কমান্ড দূরে রয়েছে।
আপনার প্রজেক্ট এবং আপনার সাইটকে প্রসঙ্গ হিসেবে রেখে টার্মিনাল থেকে সহকারীকে জিজ্ঞাসা করুন। এটি প্ল্যাটফর্মে আপনার নিজস্ব অ্যাকাউন্টের বিপরীতে চলে, তাই আপনার মেশিনে কখনো কোনো মডেল কী সংরক্ষণ করা হয় না।
পর্যায়ক্রমে ছয়টি কমান্ড এবং প্রতিটির ক্ষেত্রে সফলতার ফলাফল কেমন দেখায়। এখানকার সবকিছু আপনার নিজস্ব মেশিনে চলে; একটি এপিআই কী তখনই প্রয়োজন হয় যখন আপনি কোনো হোস্টিং স্লটে পৌঁছান।
Node 24 বা তার পরবর্তী সংস্করণে npm install -g zinnector চালান। যদি npm EBADENGINE প্রিন্ট করে, তবে আপনার Node 24-এর চেয়ে পুরনো — nodejs.org থেকে বর্তমান LTS ইনস্টল করুন এবং ইনস্টলেশনটি আবার চালান।
zinnector --version সংস্করণ নম্বর প্রিন্ট করে যেমন 0.1.2। 24-এর চেয়ে পুরানো Node সংস্করণে এটি একটি বার্তা প্রিন্ট করে জানায় যে Node 24 বা তার নতুন সংস্করণ প্রয়োজন, এবং প্রস্থান করে।
zinnector --help নিচে প্রতিটি কমান্ডকে এক লাইনের উদ্দেশ্যসহ তালিকাভুক্ত করে। প্রতিটি কমান্ডের নিজস্ব --help অপশনও রয়েছে।
zinnector new my-site অবিলম্বে চালু হয় এমন একটি প্রজেক্ট তৈরি করে — একটি zinnector.json, একটি wp-content ট্রি এবং একটি README — এবং পরবর্তীতে চালানোর মতো কমান্ডগুলি প্রিন্ট করে।
cd my-site, তারপর zinnector dev। প্রথমবার চালানোর সময় একবার WordPress রানটাইম ডাউনলোড করার অনুরোধ করা হবে (প্রায় 570 MB, CLI-এর নিজস্ব ক্যাশে সংরক্ষিত থাকে, কখনও আপনার প্রজেক্টে নয়)। সফল হলে দেখতে এমন দেখায়: “running at http://127.0.0.1:9400”।
http://127.0.0.1:9400 হলো একটি নতুন WordPress সাইট; /wp-admin ইতিমধ্যেই সাইন ইন করা অবস্থায় ড্যাশবোর্ড খোলে। wp-content/plugins-এ একটি প্লাগইন রাখুন এবং পরবর্তী রিলোডেই এটি সেখানে পাওয়া যাবে।
zinnector login, zinnector link, zinnector check, zinnector push — আপনি যা তৈরি করেছেন তা স্লটের বিপরীতে প্রাক-পরীক্ষা করুন, তারপর ডিপ্লয় করুন এবং সমাপ্ত হওয়া দেখুন।
আপনি PHP 8.3-এ তৈরি করেছেন। স্লটটি 8.1 চালাচ্ছে। সাইটটি সাদা না হওয়া পর্যন্ত আপনাকে কিছুই জানানো হয় না। এই সমস্যাটির জন্যই এই কমান্ডটি বিদ্যমান, এবং এটিই সেই বিষয় যা এই প্ল্যাটফর্মের মালিক নাম উল্লেখ করে চেয়েছিলেন। Zinnector® উভয় পরিবেশ পড়ে এবং সেগুলিকে পাশাপাশি রাখে — তারপরও আপনাকে ডিপ্লয় করার অনুমতি দেয়, কারণ আপনার হয়তো কোনো কারণ থাকতে পারে।
একটি প্রধান-সংস্করণের ব্যবধান উচ্চ হিসেবে চিহ্নিত করা হয় কারণ এটি নিশ্চিতভাবেই একটি সাইটকে অচল করে দেয়; একটি গৌণ ব্যবধান অপেক্ষাকৃত নিচে চিহ্নিত করা হয়। সবকিছুকেই সংকটপূর্ণ হিসেবে চিহ্নিত করা কেবল মানুষকে সতর্কতা উপেক্ষা করতেই শেখায়।
একটি WordPress ট্রিতে কয়েক হাজার ছোট ফাইল থাকে এবং একটি সাইট তার ডিস্ক সীমার অনেক নিচে থেকেও তার inode বরাদ্দ শেষ করে ফেলতে পারে। উভয়ই প্ল্যানের বিপরীতে নয়, বরং স্লটে প্রকৃতপক্ষে কী বাকি আছে তার বিপরীতে পরীক্ষা করা হয়।
যে যাচাইকরণ তার বিষয়বস্তু দেখতে পায় না, সেটি অপরীক্ষিত বলে রিপোর্ট করে, কখনো উত্তীর্ণ বলে নয়। একটি ত্রুটিহীন সম্পাদন জানিয়ে দেয় কতগুলো বিষয় যাচাই করা সম্ভব হয়নি, কারণ একটি ভুয়ো আশ্বস্তকরণ এমন বিষয় যা কেউ দ্বিতীয়বার দেখে না।
প্রতিটি ফলাফলই --force এর মাধ্যমে অগ্রাহ্য করা সম্ভব, এবং সারসংক্ষেপে তা উল্লেখ রয়েছে। CI-তে পরিবর্তে এক্সিট কোডটি গেট হিসেবে কাজ করে, ফলে একজন ব্যক্তি নিয়ন্ত্রণে থাকার পাশাপাশি পাইপলাইনটিও কঠোর হতে পারে।
WordPress Playground হলো ডিফল্ট: PHP কম্পাইল করা হয়েছে WebAssembly-তে, যা Node-এর ভেতরে চলে, তাই শুধুমাত্র Node ইনস্টল করা একটি ল্যাপটপ এই বাক্যটি পড়ার মতো সময়েই শূন্য থেকে একটি সচল WordPress-এ পৌঁছে যায়।
যখন আপনার একটি নেটিভ PHP প্রয়োজন — যেমন imagick এর মতো একটি এক্সটেনশন, একটি বাস্তব MySQL — তখন --runtime docker পাস করুন এবং এর পরিবর্তে php-fpm এবং MariaDB কন্টেইনারগুলি পান। উভয়ই একই প্রজেক্ট থেকে একই ফাইল পরিবেশন করে, তাই তাদের মধ্যে পরিবর্তন করলে কেবল ইঞ্জিন পরিবর্তিত হয় এবং অন্য কিছু নয়।
Zinnector® ড্যাশবোর্ডের মতো একই পাবলিক API-এর উপর তৈরি, তাই প্যানেল যা কিছু করতে পারে, এটিও তা করতে পারে — এবং প্রতিটি কমান্ড কোনো ব্যক্তিগত এন্ডপয়েন্টের পরিবর্তে OpenAPI স্পেক-এ একটি ডকুমেন্টেড অপারেশন।
সাইটগুলির তালিকা দেখুন, একটি সাইট সম্পর্কে প্ল্যাটফর্মের জানা সমস্ত তথ্য পড়ুন, পুনরায় ডিপ্লয় করুন, এবং ডিপ্লয়মেন্টের ইতিহাস ও বিল্ড লগগুলি পড়ুন।
ডোমেন তালিকাভুক্ত করুন, রেকর্ড লেখার আগে প্রদর্শিত রেকর্ডের সাথে DNS রেকর্ডগুলি পড়ুন ও পরিবর্তন করুন, এবং আপনার মেল পরিষেবাগুলি পড়ুন।
PHP সংস্করণ পরিবর্তন করুন, আপনার প্ল্যানে বরাদ্দকৃত সীমার বিপরীতে ডিস্ক এবং inode ব্যবহার দেখুন, phpMyAdmin-এ একক ব্যবহারের লিঙ্ক পান এবং অ্যাক্সেস ও এরর লগ রিয়েল-টাইমে ট্র্যাক করুন।
একটি সাইটে অনুমতি তালিকাভুক্ত WP-CLI কমান্ড চালান, এবং প্রতি সাইটের জন্য আলাদাভাবে না করে এক কলেই সমগ্র নির্বাচনের ক্যাশ সাফ করুন বা ম্যালওয়্যার স্ক্যান শুরু করুন।
সম্পূর্ণ তালিকা, প্রতি লাইনে একটি করে। সম্পূর্ণ রেফারেন্স — প্রতিটি ফ্ল্যাগ, একটি রানযোগ্য উদাহরণ এবং প্রতিটি কমান্ড যা প্রিন্ট করে — তা সিএলআই (CLI) থেকেই তৈরি হয় এবং ডেভেলপার ডক্স ও নলেজ বেসে থাকে, তাই এটি আপনার ইনস্টল করা টুল থেকে ভিন্ন হতে পারে না।
তাত্ক্ষণিকভাবে চালাতে পারবেন এমন একটি WordPress প্রজেক্টের প্রাথমিক কাঠামো তৈরি করুন।
এই প্রকল্পটি স্থানীয়ভাবে চালান — কোনও Docker এর প্রয়োজন নেই।
Zinn Digital® API কী দিয়ে সাইন ইন করুন।
সংরক্ষিত API কী ভুলে যান।
এই CLI কার হিসাবে প্রমাণীকৃত তা দেখান।
এই কী যে সাইটগুলি দেখতে পারে তা তালিকাভুক্ত করুন।
একটি সাইট সম্পর্কে প্ল্যাটফর্মের জানা সমস্ত তথ্য।
একটি নির্দিষ্ট সাইটে একজন ব্যক্তিকে অ্যাক্সেস দিন — একজন ডেভেলপার, একজন ডিজাইনার, একজন ক্লায়েন্ট — একটি ভূমিকা এবং কারণ সহ।
একটি সাইটে কাকে অ্যাক্সেস দেওয়া হয়েছে, তাদের ভূমিকা এবং তারা ইতিমধ্যে তা গ্রহণ করেছেন কি না তা দেখুন।
ইমেল বা অনুদান আইডির মাধ্যমে একজন ব্যক্তির অ্যাক্সেস প্রত্যাহার করুন।
আপনার জন্য অপেক্ষারত আমন্ত্রণগুলি, এবং একটি গ্রহণ করুন।
এই প্রজেক্টটিকে একটি হোস্টিং স্লটে নির্দেশ করুন (এবং এর রিপোজিটরি সংযুক্ত করুন)।
স্থানীয় ডেভেলপমেন্টের জন্য একটি হোস্ট করা সাইটের ফাইলগুলি এই প্রজেক্টে পুল করুন, এবং পুনরায় সিঙ্ক করতে আবার চালান। সাইটটি যখন তার নিজস্ব রিপোজিটরির সাথে সিঙ্ক করে তখন দ্রুত পথ বেছে নেয়, অন্যথায় সর্বশেষ ব্যাকআপ থেকে কাজ করে।
একটি হোস্ট করা সাইটের লাইভ ফাইল এবং এর রিপোজিটরির মধ্যে দ্বিমুখী সিঙ্ক: এর বর্তমান অবস্থা দেখুন, এটি চালু করুন, সাইটের পরিবর্তনগুলি কমিট করুন, অথবা কোন দিকটি অগ্রাধিকার পাবে তা বেছে নিন।
Claude Desktop এবং অন্যান্য AI ক্লায়েন্ট যা কেবল লোকাল সার্ভার চালু করে, সেগুলির জন্য Zinn Digital® MCP সার্ভারের একটি সংযোগকারী ব্রিজ।
একটি হোস্ট করা সাইট থেকে এক ধাপে একটি স্থানীয় প্রজেক্ট তৈরি করুন: এর রিপোজিটরি ক্লোন করুন বা এর ফাইলগুলি টানুন, প্রজেক্ট ফাইলটি লিখুন এবং zinnector dev চালানোর জন্য প্রস্তুত হন।
আপনি যে স্লটে স্থাপন করতে যাচ্ছেন তার সাথে এই প্রকল্পের তুলনা করুন।
প্রাক-উড়ান পরীক্ষা করুন, আপনার কমিটগুলো পুশ করুন এবং ডিপ্লয় করুন।
পুশ না করেই প্ল্যাটফর্মে ইতোমধ্যে যা রয়েছে তা পুনরায় স্থাপন করুন।
একটি সাইটের ডেপ্লয় ইতিহাস।
একটি সাইটের PHP সংস্করণ দেখুন বা পরিবর্তন করুন।
প্ল্যানে যা বরাদ্দ রয়েছে তার বিপরীতে ডিস্ক, ফাইল এবং ডাটাবেসের ব্যবহার।
ডাটাবেসের আকার, এবং phpMyAdmin ও ফাইল ম্যানেজারে প্রবেশের একক-ব্যবহারযোগ্য লিঙ্ক।
একটি সাইটের অ্যাক্সেস এবং ত্রুটির লগ রিয়েল-টাইমে অনুসরণ করুন।
একটি সাইটে অনুমতিপ্রাপ্ত WP-CLI কমান্ড চালান।
সাইটের ব্যাকআপ তালিকাভুক্ত করুন এবং ব্যাকআপ নিন। সাব-কমান্ড: list, now।
এই কী যে ডোমেনগুলি দেখতে পারে তা তালিকাভুক্ত করুন।
DNS রেকর্ড পড়ুন এবং পরিবর্তন করুন। সাবকমান্ড: list, add, rm।
মেল পরিষেবাগুলি তালিকাভুক্ত করুন।
একাধিক সাইট জুড়ে একটি অপারেশন চালান (cache_purge, malware_scan, sitemap, block_ip)।
এই প্রজেক্টটিকে প্রসঙ্গ হিসেবে ব্যবহার করে Zinn Digital® সহায়ককে জিজ্ঞাসা করুন।
না। `zinnector new` এবং `zinnector dev`-এর জন্য কোনো অ্যাকাউন্টের প্রয়োজন নেই — একটি প্লাগইন, থিম বা সম্পূর্ণ সাইটের পরিকাঠামো তৈরি করুন এবং এটি লোকালভাবে বিনামূল্যে চিরতরে চালান। শুধুমাত্র আপনার হোস্টিংয়ের সাথে যোগাযোগকারী কমান্ডগুলির জন্য একটি API কী প্রয়োজন।
ডিফল্ট রানটাইমের জন্য নয়। WordPress Playground পিএইচপি-কে WebAssembly-তে কম্পাইল করে এবং Node-এর ভেতরে চলে, তাই অন্য কিছু ইনস্টল না করেই `zinnector dev` কয়েক সেকেন্ডের মধ্যে একটি বাস্তব WordPress চালু করে। আপনার যদি নেটিভ পিএইচপি প্রয়োজন হয় — imagick বা ionCube-এর মতো কোনো এক্সটেনশন পরীক্ষা করার জন্য — তবে `--runtime docker` আপনাকে পরিবর্তে php-fpm এবং MariaDB কন্টেইনার প্রদান করে। উভয়ই সমর্থিত; কোনটিই ফলব্যাক নয়।
স্লটের সংস্করণের বিপরীতে আপনার স্থানীয় PHP সংস্করণ, আপনি যে সংস্করণে তৈরি করেছেন স্লটটি আদৌ সেই সংস্করণে স্যুইচ করতে পারে কিনা, স্লটের PHP-এর কার্যকালের মেয়াদ শেষ হয়েছে কিনা এবং মেশিনটি আসলে এটি প্রয়োগ করেছে কিনা, অবশিষ্ট ডিস্ক এবং inode ক্ষমতার বিপরীতে আপনার প্রকল্পের আকার এবং ফাইলের সংখ্যা, প্রতিটি পাশের WordPress সংস্করণ, স্লটের প্রভিশনিং সম্পন্ন হয়েছে কিনা এবং ডিপ্লয় করার জন্য একটি git রিপোজিটরি সংযুক্ত আছে কিনা। যা কিছু এটি পরীক্ষা করতে পারেনি তা সফল হিসেবে গণ্য না করে অপরীক্ষিত হিসেবে রিপোর্ট করা হয়।
না, এবং এটি ইচ্ছাকৃত। প্রি-ফ্লাইট সতর্ক করে এবং আপনাকে এগিয়ে যেতে দেয় — `--force` যেকোনো ফলাফল উপেক্ষা করে ডিপ্লয় করে। আপনি আপনার সাইট সম্পর্কে এমন কিছু জানেন যা একটি পরীক্ষক জানে না, এবং যে টুল ডিপ্লয় করতে অস্বীকার করে তা মানুষ আনইনস্টল করে দেয়।
কী-টি কখনই কমান্ড লাইন থেকে পড়া হয় না — কেবল একটি প্রম্পট বা পাইপযুক্ত stdin থেকে পড়া হয় — তাই এটি আপনার শেল ইতিহাসে বা কোনো প্রসেস তালিকায় অন্তর্ভুক্ত হতে পারে না। এটি ৬০০ ফাইল মোড সহ আপনার নিজস্ব কনফিগারেশন ডিরেক্টরিতে সংরক্ষিত হয়, এবং Zinnector® প্রতিবার লেখার সময় সেই অনুমতিগুলি পুনরায় প্রয়োগ করে।
হ্যাঁ। `ZINNECTOR_TOKEN` সেট করুন, এবং প্রতিটি কমান্ড `--json` গ্রহণ করে। মানুষের পাঠযোগ্য আউটপুট stderr-এ এবং ডেটা stdout-এ যায়, যাতে পাইপগুলো পরিষ্কার থাকে। `zinnector check` কোনো কিছু খুঁজে পেলে নন-জিরো অবস্থায় প্রস্থান করে, তাই এটি পাইপলাইন গেট হিসেবে কাজ করে, এবং তুলনা করা সম্ভব না হলে `--strict`ও ব্যর্থ হয়।
npm install -g zinnector চালান, অথবা npx zinnector new my-site দিয়ে একবার চেষ্টা করে দেখুন। বিনামূল্যে, MIT-লাইসেন্সযুক্ত এবং সর্বজনীন API-এর উপর নির্মিত। একটি প্রজেক্ট স্ক্যাফোল্ড করুন, Docker ছাড়াই স্থানীয়ভাবে এটি চালান, এবং ডিপ্লয় করার আগে এটি প্রি-ফ্লাইট করে দেখে নিন।
ডকুমেন্টেশন পড়ুন