أوامر مزودي الخدمات
تُثبّت أوامر المزودين وتدير تكاملات خدمات الطرف الثالث (SMS، المدفوعات، التخزين، البريد الإلكتروني) وقوالب البداية التي توسّع مشروعك بمجموعات ميزات مُعدّة مسبقاً.
forge provider:add
إضافة مزود خدمة طرف ثالث إلى مشروعك. يُحدّث FORGE ملف forge.yaml، ويُضيف تلقائياً متغيرات البيئة المطلوبة إلى كل من .env و .env.example (مع إلغاء التكرار)، ويعرض المتغيرات للمرجعية.
الاستخدام
forge provider:add <PROVIDER>المزودون المتاحون
| المزود | الفئة | الوصف |
|---|---|---|
sms:twilio | SMS | Twilio للرسائل النصية والصوتية. |
sms:unifonic | SMS | بوابة Unifonic للرسائل النصية (شائعة في منطقة الشرق الأوسط وشمال أفريقيا). |
payments:stripe | المدفوعات | Stripe مع دعم Apple Pay و Google Pay. |
payments:hyperpay | المدفوعات | بوابة دفع HyperPay. |
payments:checkout | المدفوعات | معالجة مدفوعات Checkout.com. |
storage:s3 | التخزين | تخزين كائنات متوافق مع AWS S3. |
email:sendgrid | البريد الإلكتروني | توصيل البريد الإلكتروني التفاعلي من SendGrid. |
ماذا يفعل provider:add
عند إضافة مزود، يُنفّذ FORGE الخطوات التالية:
1. التحقق من نوع وdriver المزود
2. تحديث forge.yaml بالdriver المُختار
3. إضافة متغيرات البيئة إلى .env و .env.example
- يتخطى المتغيرات الموجودة مسبقاً (إلغاء التكرار)
- يُنشئ الملفات إذا لم تكن موجودة
- يُضيف رأس قسم (مثل "# Sms Provider (twilio)")
4. عرض متغيرات البيئة المطلوبة للمرجعيةنصيحة
إذا شغّلت provider:add مرة أخرى لنفس الـ driver، لا تُكرّر المتغيرات الموجودة. يتحقق FORGE من كل KEY= قبل الإضافة.
أمثلة
# Add Twilio SMS
forge provider:add sms:twilio
# Add S3 storage
forge provider:add storage:s3بعد إضافة مزود، تُكتب متغيرات البيئة المطلوبة تلقائياً إلى .env و .env.example:
# Sms Provider (twilio)
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_FROM_NUMBER=+1234567890استبدل القيم المُؤقتة في .env ببيانات اعتمادك الفعلية قبل تشغيل التطبيق.
drivers التطوير
الـ Drivers المُسماة log (مثل sms:log، email:log، payment:log) لا تتطلب متغيرات بيئة. تُسجّل المخرجات في وحدة التحكم وهي مُعدّة للتطوير المحلي.
نصيحة
مُغلّفات خدمة المزودين تُنفّذ واجهة سمة مشتركة. على سبيل المثال، جميع مزودي SMS يُنفّذون SmsProvider، مما يجعل تبديل المزودين سهلاً بدون تغيير كود التطبيق.
forge provider:remove
إزالة مزود مُضاف سابقاً من المشروع.
الاستخدام
forge provider:remove <PROVIDER>مثال
forge provider:remove sms:twilioهذا يعكس الخطوات التي نفّذها provider:add — إزالة ملف الخدمة وكتلة الإعدادات والتبعيات غير المستخدمة.
تحذير
إزالة مزود لا تُنظّف الكود الذي يستدعي خدمة المزود. راجع معالجاتك وخدماتك لأي مراجع بعد الإزالة.
forge provider:list
عرض جميع المزودين المتاحين والمُثبّتين.
الاستخدام
forge provider:list [OPTIONS]الخيارات
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
--category | string | — | تصفية حسب الفئة: sms، payments، storage، أو email. |
مثال على المخرجات
forge provider:list┌──────────────────────┬───────────┬───────────┐
│ المزود │ الفئة │ الحالة │
├──────────────────────┼───────────┼───────────┤
│ sms:twilio │ SMS │ مُثبّت │
│ sms:unifonic │ SMS │ متاح │
│ payments:stripe │ المدفوعات │ متاح │
│ payments:hyperpay │ المدفوعات │ متاح │
│ payments:checkout │ المدفوعات │ متاح │
│ storage:s3 │ التخزين │ مُثبّت │
│ email:sendgrid │ البريد │ متاح │
└──────────────────────┴───────────┴───────────┘forge provider:list --category=sms┌──────────────────────┬───────────┬───────────┐
│ المزود │ الفئة │ الحالة │
├──────────────────────┼───────────┼───────────┤
│ sms:twilio │ SMS │ مُثبّت │
│ sms:unifonic │ SMS │ متاح │
└──────────────────────┴───────────┴───────────┘أوامر القوالب
القوالب هي حزم ميزات مُعدّة مسبقاً تُضيف وظائف خاصة بالمجال لمشروع FORGE. على عكس المزودين (الذين يُضيفون تكاملاً واحداً)، تُنشئ القوالب مجموعات ميزات كاملة بما في ذلك النماذج والمعالجات والصفحات والترحيلات.
forge template:add
إضافة قالب بداية إلى مشروعك.
forge template:add <TEMPLATE>مثال
forge template:add crmتحذير
يجب إضافة القوالب مبكراً في دورة حياة المشروع. إضافة قالب لمشروع به كود مخصص كبير قد يُنتج تعارضات دمج في ملفات مشتركة مثل تسجيلات المسارات وتنقل الشريط الجانبي.
forge template:list
عرض جميع القوالب المتاحة.
forge template:listمثال على المخرجات
┌────────────┬─────────────────────────────────────────────────┐
│ القالب │ الوصف │
├────────────┼─────────────────────────────────────────────────┤
│ base │ المصادقة، المستخدمون، الأدوار، الصلاحيات، CMS │
│ crm │ جهات الاتصال، الصفقات، خطوط الإنتاج، الأنشطة │
│ helpdesk │ التذاكر، SLA، قاعدة المعرفة، الردود الجاهزة │
│ ecommerce │ المنتجات، الطلبات، السلة، المخزون، الكوبونات │
│ booking │ المواعيد، التوفر، التقويم، التذكيرات │
└────────────┴─────────────────────────────────────────────────┘forge template:info
عرض معلومات تفصيلية عن قالب محدد، بما في ذلك وصفه والوحدات المتضمنة والمزودين المطلوبين والملفات المُولّدة.
forge template:info <TEMPLATE>مثال
forge template:info crmالقالب: crm
الوصف: جهات الاتصال، الصفقات، خطوط الإنتاج، الأنشطة
الوحدات:
• contacts — إدارة جهات الاتصال مع حقول مخصصة
• deals — تتبع الصفقات مع مراحل خط الإنتاج
• pipelines — خطوط إنتاج مبيعات قابلة للتهيئة
• activities — تسجيل الأنشطة والتذكيرات
الملفات المُولّدة:
• 8 نماذج
• 8 ترحيلات
• 6 صفحات إدارة
• 4 بذور
المزودون المطلوبون:
• email (للإشعارات)انظر أيضاً
- أوامر المشروع — استخدم
--templateمعforge newللبدء بقالب - أوامر التوليد — إنشاء موارد مخصصة تتجاوز ما توفره القوالب
- أوامر النشر — نشر المشاريع مع المزودين المُعدّين