Zinnector®

WordPress ہوسٹنگ کے لیے ڈویلپر CLI

Zinnector® نوڈ کے علاوہ کچھ بھی انسٹال کیے بغیر—نہ Docker، نہ MAMP—مقامی طور پر WordPress بناتا ہے، پھر آپ جو کچھ بناتے ہیں اس کا اس ہوسٹنگ سلاٹ سے موازنہ کرتا ہے جس پر آپ ڈیپلائی کرنے والے ہیں، اور پش کرنے سے پہلے آپ کو بتاتا ہے کہ کیا چیز مماثل نہیں ہوگی۔ اسے npm install -g zinnector کے ذریعے انسٹال کریں۔ یہ مفت، MIT-لائسنس یافتہ اور یہاں موجود ہر دوسری چیز کی طرح ایک ہی پبلک API پر بنایا گیا ہے۔

پانچ کمانڈز، اور درمیانی والی اصل نکتہ ہے

زیادہ تر ہوسٹنگ CLIs ڈیپلائے سے شروع ہوتے ہیں۔ Zinnector® اس سے پہلے شروع ہوتا ہے — یہ آپ کے ساتھ مل کر سائٹ بناتا ہے، اور پھر اس مشین کے مقابلے میں آپ کے کام کی جانچ کرتا ہے جس پر آپ اسے بھیجنے والے ہیں۔ "یہ میرے لیپ ٹاپ پر چلا" اور "یہ سرور پر چلتا ہے" کے درمیان کا فاصلہ وہ وقت ہے جو ضائع ہوتا ہے، اور یہ فاصلہ قابلِ پیمائش ہے۔

نیا zinnector

ایک ایسی سائٹ، پلگ ان یا بلاک تھیم تیار کریں جو فوراً شروع ہو جائے۔ کوئی پلیس ہولڈر فائلز نہیں، کوئی TODOs نہیں—پلگ ان ایکٹیویٹ ہوجاتا ہے اور تھیم کے بنتے ہی اسے منتخب کیا جا سکتا ہے۔

زنیکٹر ڈویلپمنٹ

سیکنڈوں میں آپ کی مشین پر ایک اصل WordPress، جو آپ کے اپنے پلگ انز اور تھیمز کو رن کرتا ہے، بغیر کسی Docker اور بغیر کسی PHP کے آپ کی PATH میں۔ ڈیولپمنٹ کے لیے 5.2 سے 8.5 تک کی کوئی بھی PHP منتخب کریں۔

زینیکٹر چیک

پرواز سے پہلے کی جانچ۔ آپ نے جو بنایا ہے اس کا موازنہ اس سلاٹ سے کرتا ہے جہاں آپ ڈیپلائ کرنے والے ہیں اور پش کرنے سے پہلے ہر ایک ناممکن مطابقت — اور ہر وہ چیک جو یہ نہیں کر سکا — کی نشاندہی کرتا ہے۔

zinnector پش

قبل از پرواز، اپنی commits کو push کریں، deploy کو trigger کریں اور اس کے مکمل ہونے تک اس کی نگرانی کریں۔ اگر یہ ناکام ہو جاتا ہے، تو build log صرف ایک command کے فاصلے پر ہے۔

زننیکٹر اے آئی

اپنے پروجیکٹ اور سائیٹ کو سیاق و سباق کے طور پر استعمال کرتے ہوئے، ٹرمینل سے اسسٹنٹ سے پوچھیں۔ یہ آپ کے اکاؤنٹ کے خلاف پلیٹ فارم پر چلتا ہے، لہذا کوئی بھی ماڈل کی کبھی بھی آپ کی مشین پر محفوظ نہیں کی جاتی۔

Test it works in two minutes, no account needed

Six commands, in order, and what success looks like at each one. Everything here runs on your own machine; an API key is only needed when you reach a hosting slot.

  1. Install it

    Run npm install -g zinnector on Node 24 or newer. If npm prints EBADENGINE, your Node is older than 24 — install the current LTS from nodejs.org and run the install again.

  2. Check the version

    zinnector --version prints a version number such as 0.1.2. On a Node older than 24 it prints a message saying Node 24 or newer is needed, and exits.

  3. Read the help

    zinnector --help lists every command below with a one-line purpose. Every command also takes --help of its own.

  4. Scaffold a site

    zinnector new my-site creates a project that boots immediately — a zinnector.json, a wp-content tree and a README — and prints the next commands to run.

  5. Run it

    cd my-site, then zinnector dev. The first run asks once to download the WordPress runtime (about 570 MB, kept in the CLI’s own cache, never in your project). Success looks like “running at http://127.0.0.1:9400”.

  6. Open it in a browser

    http://127.0.0.1:9400 is a fresh WordPress site; /wp-admin opens the dashboard already signed in. Drop a plugin into wp-content/plugins and it is there on the next reload.

  7. Then, with a hosting slot

    zinnector login, zinnector link, zinnector check, zinnector push — pre-flight what you built against the slot, then deploy and watch it finish.

پری فلائٹ، تفصیل سے

آپ نے پی ایچ پی 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 اسپیک میں ایک دستاویزی آپریشن ہے۔

سائٹس اور ڈیپلائمنٹ

سائٹس کی فہرست بنائیں، پلیٹ فارم کے پاس کسی ایک سائٹ کے بارے میں موجود تمام معلومات پڑھیں، دوبارہ تعینات کریں، اور تعیناتی کی سرگزشت اور بلڈ لاگز پڑھیں۔

ڈومینز، ڈی این ایس اور میل

ڈومینز کی فہرست بنائیں، لکھنے سے پہلے ریکارڈ کو دیکھ کر ڈی این ایس ریکارڈز کو پڑھیں اور تبدیل کریں، اور اپنی میل سروسز کو پڑھیں۔

پی ایچ پی (PHP)، کوٹہ، ڈیٹا بیس اور لاگز

PHP کے ورژنز تبدیل کریں، اپنے پلان کے مطابق ڈسک اور انوڈ کے استعمال کا جائزہ لیں، phpMyAdmin تک ون ٹائم لنکس حاصل کریں، اور ایکسیس اور ایرر لاگز دیکھیں۔

WP-CLI اور بلک آپریشنز

ایک ہی کال میں فی سائٹ کی بجائے پوری سلیکشن میں ایک سائٹ پر اجازت یافتہ WP-CLI کمانڈز چلائیں، اور کیشے صاف کریں یا میلویئر اسکین شروع کریں۔

Every command, exactly as --help lists it

The full list, one line each. The complete reference — every flag, a runnable example and what each command prints — is generated from the CLI itself and lives in the developer docs and the knowledge base, so it cannot drift from the tool you have installed.

zinnector new

Scaffold a WordPress project you can run immediately.

zinnector dev

Run this project locally — no Docker required.

zinnector login

Sign in with a Zinn Digital® API key.

zinnector logout

Forget a stored API key.

zinnector whoami

Show who this CLI is authenticated as.

zinnector sites

List the sites this key can see.

zinnector status

Everything the platform knows about one site.

zinnector share

Give one person access to a single site — a developer, a designer, a client — with a role and a reason.

zinnector collaborators

See who has been given access to a site, their role, and whether they have accepted yet.

zinnector unshare

Take a person's access back, by email or grant id.

zinnector invitations

The invitations waiting for you, and accept one.

zinnector link

Point this project at a hosting slot (and connect its repository).

zinnector pull

Pull a hosted site's files into this project for local development, and re-run to re-sync. Takes the fast path when the site syncs to its own repository, otherwise works from the latest backup.

zinnector clone

Make a local project from a hosted site in one step: clone its repository or pull its files, write the project file, and leave you ready to run zinnector dev.

zinnector check

Compare this project against the slot you are about to deploy to.

zinnector push

Pre-flight, push your commits, and deploy.

zinnector deploy

Redeploy what the platform already has, without pushing.

zinnector deploys

A site's deploy history.

zinnector php

Show or switch a site's PHP version.

zinnector quota

Disk, files and database usage against what the plan grants.

zinnector db

Database size, and single-use links into phpMyAdmin and the file manager.

zinnector logs

Tail a site's access and error logs.

zinnector wp

Run an allow-listed WP-CLI command on a site.

zinnector backup

List and take site backups. Subcommands: list, now.

zinnector domains

List the domains this key can see.

zinnector dns

Read and change DNS records. Subcommands: list, add, rm.

zinnector mail

List mail services.

zinnector bulk

Run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Ask the Zinn Digital® assistant, with this project as context.

سوالات

کیا اسے استعمال کرنے کے لیے میرا Zinn Digital® کا کسٹمر ہونا ضروری ہے؟

نہیں، `zinnector new` اور `zinnector dev` کے لیے کسی اکاؤنٹ کی بالکل ضرورت نہیں ہے—کوئی پلگ ان، تھیم یا پوری سائیڈ اسکیفولڈ کریں اور اسے مقامی طور پر، مفت اور ہمیشہ کے لیے چلائیں۔ اے پی آئی کی صرف ان کمانڈز کے لیے درکار ہوتی ہے جو آپ کی ہوسٹنگ سے رابطہ کرتی ہیں۔

کیا اسے Docker کی ضرورت ہے؟

پہلے سے طے شدہ رن ٹائم کے لیے نہیں۔ WordPress Playground پی ایچ پی کو WebAssembly میں کمپائل کرتا ہے اور Node کے اندر چلتا ہے، لہذا `zinnector dev` کسی دوسری چیز کو انسٹال کیے بغیر سیکنڈوں میں ایک حقیقی WordPress کو بوٹ کر دیتا ہے۔ اگر آپ کو کسی نیٹو PHP کی ضرورت ہے — کسی ایکسٹینشن جیسے imagick یا ionCube کی جانچ کے لیے — تو `--runtime docker` اس کے بجائے آپ کو php-fpm اور MariaDB کے کنٹینرز فراہم کرتا ہے۔ دونوں معاون ہیں؛ کوئی بھی فال بیک نہیں۔

پری فلائٹ چیک دراصل کس چیز کا موازنہ کرتا ہے؟

آپ کے مقام پر موجود PHP ورژن کا، سلاٹ کے ورژن کے مقابلے میں موازنہ، آیا سلاٹ اس ورژن پر جا بھی سکتا ہے جسے آپ نے بنایا تھا، آیا سلاٹ کا PHP اپنی طبعی زندگی گزار چکا ہے اور آیا مشین نے اسے حقیقت میں لاگو کر دیا ہے، آپ کے پروجیکٹ کا سائز اور فائل کی تعداد کا بقیہ ڈسک اور انوڈ گنجائش کے ساتھ موازنہ، دونوں اطراف پر موجود WordPress کے ورژنز، آیا سلاٹ کی پروویژننگ مکمل ہو چکی ہے، اور آیا تعیناتی کے لیے کوئی git ریپوزٹری جڑ دی گئی ہے۔ کوئی بھی ایسی چیز جس کی یہ جانچ نہ کر سکا ہو، کامیابی کے طور پر گننے کے بجائے جانچ نہ شدہ کے طور پر رپورٹ کی جاتی ہے۔

کیا یہ مجھے تعیناتی سے روک سکتا ہے؟

نہیں، اور یہ جان بوجھ کر ہے۔ پری فلائٹ خبردار کرتی ہے اور آپ کو آگے بڑھنے دیتی ہے — `--force` کسی بھی مسئلے کے باوجود ڈپلائی کر دیتا ہے۔ آپ اپنی سائٹ کے بارے میں وہ باتیں جانتے ہیں جو چیکر نہیں جانتا، اور جو ٹول ڈپلائی کرنے سے انکار کر دے وہ ایسا ٹول ہے جسے لوگ ان انسٹال کر دیتے ہیں۔

کیا میری API کی کلید محفوظ ہے؟

کلید کو کبھی بھی کمانڈ لائن سے نہیں پڑھا جاتا — صرف پرامپٹ یا پائپ شدہ stdin سے — تاکہ یہ آپ کی شیل ہسٹری یا پراسیس لسٹنگ میں شامل نہ ہو۔ اسے آپ کی اپنی کنفگ ڈائریکٹری میں فائل موڈ 600 کے ساتھ محفوظ کیا جاتا ہے، اور Zinnector® جب بھی لکھتا ہے تو ان اجازتوں کو دوبارہ بحال کرتا ہے۔

کیا میں اسے سی آئی (CI) میں استعمال کر سکتا ہوں؟

ہاں۔ `ZINNECTOR_TOKEN` سیٹ کریں، اور ہر کمانڈ `--json` لیتی ہے۔ انسانی آؤٹ پٹ stderr پر جاتی ہے اور ڈیٹا stdout پر، لہذا پائپس صاف رہتے ہیں۔ `zinnector check` کچھ ملنے پر غیر صفر (non-zero) ایگزٹ دیتی ہے، لہذا یہ پائپ لائن گیٹ کے طور پر کام کرتی ہے، اور جب موازنہ نہ کیا جا سکا ہو تو `--strict` بھی ناکام ہو جاتی ہے۔

اسے انسٹال کریں اور اگلے منٹ میں ایک سائٹ چلائیں۔

npm install -g zinnector چلائیں، یا اسے ایک بار npx zinnector new my-site کے ساتھ آزمائیں۔ مفت، MIT-لائسنس یافتہ اور پبلک API پر بنایا گیا۔ ایک پروجیکٹ اسکیفولڈ کریں، اسے بغیر Docker کے مقامی طور پر چلائیں، اور ڈیپلائمنٹ سے پہلے اس کا پری فلائٹ ٹیسٹ کریں۔

دستاویزات پڑھیں