واجهة الأوامر

ثبّت واجهة الأوامر، وسجّل الدخول بمفتاح واجهة برمجة، وأدِر كل شيء من طرفيّتك.

تتيح لك واجهة أوامر غيمة إدارة حسابك من الطرفية: النشر، وتتبّع السجلات، وإدارة الخدمات وقواعد البيانات والتخزين. تُصادِق بمفتاح API.

التثبيت وتسجيل الدخول#

Shell
npm install -g @gheima/cli
gheima login
أو شغّلها دون تثبيت: npx @gheima/cli <command>.

يفتح الأمر gheima login متصفّحك لتوافق على تسجيل الدخول، ثم يحفظ مفتاح API جديدًا في ملف التعريف. على جهاز بلا متصفّح، أضِف ‎--no-browser وافتح الرابط المطبوع بنفسك. من سكربت أو وكيل برمجة لا يستطيع انتظار إدخال، شغّل gheima login ‎--no-wait --json: يطبع الرمز والرابط لتسلّمهما إلى الشخص ثم ينتهي، وبعدها ينتظر gheima login ‎--resume الموافقة ويحفظ المفتاح (أضِف ‎--timeout <ثوانٍ> للعودة لاحقًا؛ يخرج بالرمز 7 ما دام تسجيل الدخول في الانتظار). لاستعمال مفتاح موجود لديك، شغّل gheima login --with-key والصق المفتاح (يبدأ بـ gh_). تُخزَّن المفاتيح لكل ملف تعريف في ~/.config/gheima/config.json بصلاحيات 600. لتخطّي تسجيل الدخول، اضبط متغيّر البيئة GHEIMA_API_KEY.

تُحدَّد المصادقة بهذا الترتيب: الخيار ‎--key، ثم GHEIMA_API_KEY، ثم ملف التعريف المخزَّن. استعمل ‎--profile <name> للاحتفاظ بمفاتيح منفصلة، مثل مفتاح للعمل وآخر للاستعمال الشخصي. يحذف gheima logout ملف تعريف.

الخيارات العامة#

-k, --key <key>
مفتاح واجهة البرمجة لهذا الاستدعاء (يتجاوز متغيّر البيئة وملف التعريف).
-u, --url <url>
رابط الأساس لواجهة البرمجة (افتراضيًا https://gheima.ma).
-p, --profile <name>
أي ملف تعريف مخزّن يُستخدم.
--json
طباعة JSON قابل للمعالجة بدل جدول.
-v, --version
طباعة إصدار واجهة الأوامر.

أوامر الحساب#

gheima login
تسجيل الدخول عبر المتصفّح أو بمفتاح API موجود، وتخزين المفتاح في ملف تعريف.
gheima logout
حذف ملف تعريف مخزّن.
gheima whoami
عرض حساب المفتاح النشط (الاسم، slug، الخطة، النوع).
gheima status
عرض الحساب والخطة وعدد الخدمات وقواعد البيانات.
gheima open [resource]
فتح لوحة التحكّم (أو مسار) في المتصفّح.
gheima completion [shell]
طباعة سكربت إكمال لـ bash أو zsh أو fish.

أوامر الخدمة#

الأوامر التي تأخذ <service> تقبل معرّفه أو اسمه أو slug الخاص به. تطلب الأوامر المدمّرة تأكيدًا ما لم تمرّر ‎-y أو ‎--yes. وفي طرفية غير تفاعلية، ترفض العمل بدون هذا الخيار.

gheima services
سرد الخدمات. يعادل services list. الأسماء البديلة: service وsvc.
gheima services get <id>
عرض خدمة بالتفصيل.
gheima services create --name <name> [--project <id>] [--type WEB|WORKER|STATIC] [--repo <url>]
إنشاء خدمة. النوع الافتراضي WEB. بدون ‎--project لا تُضاف الخدمة إلى أي مشروع.
gheima services delete <id> [-y]
حذف خدمة.
gheima github wait [--repo <url>] [--timeout <minutes>]
طباعة رابط تثبيت تطبيق Gheima على GitHub لدى مالك هذا المستودع، والانتظار حتى يُثبَّت. يحتاجه مستودع GitHub الخاص ليُبنى؛ يخرج بالرمز 7 إذا انقضت ‎--timeout (عشر دقائق) أولًا.
gheima link <service>
ربط هذا المجلد بخدمة. تستخدم الأوامر التي تُشغَّل فيه، أو في أي مجلد فرعي، تلك الخدمة افتراضيًا.
gheima agents [--write]
يطبع قسمًا قصيرًا للملف AGENTS.md يشرح لوكلاء البرمجة كيف يُنشر هذا المشروع. يضيفه ‎--write‎ إلى الملف مكان أي نسخة سابقة.
gheima deploy [service] [--yes] [--upload] [--name <name>] [--type WEB|WORKER|STATIC] [--no-wait] [--timeout <minutes>]
نشر هذا المجلد، وبثّ عملية البناء، وطباعة الرابط المباشر. يخرج بالرمز 0 عند نجاح النشر، و8 عند فشله. يستخدم الخدمة المرتبطة إن لم تحدّدها. في مجلد بلا خدمة بعد، ينشئ خدمة ويربطها (أكّد بـ ‎--yes حين لا توجد طرفية): تُبنى من مستودع git البعيد إن وُجد، وإلا من ملفات المجلد، تُرفع دون ملفات .env ولا node_modules. يرفع ‎--upload الملفات حتى مع وجود مستودع بعيد.
gheima logs <service> [-f] [-b] [-s <text>]
عرض السجلات أو تتبّعها. ‎-f للتتبّع، و‎-b لسجلات البناء، و‎-s للتصفية بنص.
gheima run <service> [--timeout <seconds>] [--no-wait] -- <command>
تشغيل أمر لمرة واحدة، مثل ترحيل قاعدة البيانات، في حاوية جديدة من الصورة المنشورة للخدمة وبيئتها. يعرض سجلّه ويخرج برمز خروج الأمر، أو 9 إن لم يُرجع أيّ رمز. للمسؤولين فقط. تُضمّ الكلمات ويشغّلها الـshell البعيد، لذا ضع الأمر كاملًا بين علامتي اقتباس إذا احتوى أحد وسائطه على مسافات، مثل gheima run web -- 'psql -c "select 1"'.
gheima env ls [service]
سرد مفاتيح المتغيّرات بقيم مقنّعة.
gheima env pull [service] [--file <path>] [-f] [--stdout]
كتابة قيم متغيّرات الخدمة كنص صريح في ‎.env.local (بالصلاحيات 0600). لا يمكن قراءة المتغيّرات السرّية، لذا لا تُكتب.
gheima env push [service] [--file <path>] [--replace] [-y]
رفع ملف ‎.env إلى الخدمة. يدمج افتراضيًا؛ ويحذف ‎--replace المتغيّرات غير الموجودة في الملف.
gheima env set <service> KEY=value
ضبط متغيّر بيئة.
gheima env rm <service> <key> [-y]
حذف متغيّر بيئة.
gheima domains <service>
سرد النطاقات المخصّصة لخدمة.

أوامر الموارد#

gheima db
سرد قواعد البيانات. الاسم البديل: databases.
gheima storage buckets
سرد حاويات تخزين الكائنات.
gheima storage ls <bucket> [prefix]
سرد كائنات حاوية.
gheima storage cp <file> <bucket> [key]
رفع ملف محلي عبر رابط موقّع مسبقًا.
gheima storage get <bucket> <key> [dest]
تنزيل كائن.
gheima storage rm <bucket> <key> [-y]
حذف كائن.
gheima cron
سرد مهام كرون.
gheima webhooks
سرد خطافات الويب.
Shell
gheima services create --name web --type WEB --repo https://github.com/me/app
gheima deploy web
gheima logs web -f -s error
gheima env set web NODE_ENV=production
gheima storage cp ./photo.png my-bucket images/photo.png
gheima services --json | jq '.[].url'
جلسة نموذجية. أضِف --json إلى أي أمر لمخرجات منظّمة.

✦ تغطي واجهة الأوامر كل عمليات API، فيمكنك برمجة النشر والسجلات وإدارة الموارد من الطرفية.