Skip to content

أوامر مزودي الخدمات

تُثبّت أوامر المزودين وتدير تكاملات خدمات الطرف الثالث (SMS، المدفوعات، التخزين، البريد الإلكتروني) وقوالب البداية التي توسّع مشروعك بمجموعات ميزات مُعدّة مسبقاً.

forge provider:add

إضافة مزود خدمة طرف ثالث إلى مشروعك. يُحدّث FORGE ملف forge.yaml، ويُضيف تلقائياً متغيرات البيئة المطلوبة إلى كل من .env و .env.example (مع إلغاء التكرار)، ويعرض المتغيرات للمرجعية.

الاستخدام

bash
forge provider:add <PROVIDER>

المزودون المتاحون

المزودالفئةالوصف
sms:twilioSMSTwilio للرسائل النصية والصوتية.
sms:unifonicSMSبوابة 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= قبل الإضافة.

أمثلة

bash
# Add Twilio SMS
forge provider:add sms:twilio

# Add S3 storage
forge provider:add storage:s3

بعد إضافة مزود، تُكتب متغيرات البيئة المطلوبة تلقائياً إلى .env و .env.example:

env
# 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

إزالة مزود مُضاف سابقاً من المشروع.

الاستخدام

bash
forge provider:remove <PROVIDER>

مثال

bash
forge provider:remove sms:twilio

هذا يعكس الخطوات التي نفّذها provider:add — إزالة ملف الخدمة وكتلة الإعدادات والتبعيات غير المستخدمة.

تحذير

إزالة مزود لا تُنظّف الكود الذي يستدعي خدمة المزود. راجع معالجاتك وخدماتك لأي مراجع بعد الإزالة.


forge provider:list

عرض جميع المزودين المتاحين والمُثبّتين.

الاستخدام

bash
forge provider:list [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
--categorystringتصفية حسب الفئة: sms، payments، storage، أو email.

مثال على المخرجات

bash
forge provider:list
┌──────────────────────┬───────────┬───────────┐
│ المزود               │ الفئة     │ الحالة    │
├──────────────────────┼───────────┼───────────┤
│ sms:twilio           │ SMS       │ مُثبّت    │
│ sms:unifonic         │ SMS       │ متاح      │
│ payments:stripe      │ المدفوعات │ متاح      │
│ payments:hyperpay    │ المدفوعات │ متاح      │
│ payments:checkout    │ المدفوعات │ متاح      │
│ storage:s3           │ التخزين   │ مُثبّت    │
│ email:sendgrid       │ البريد    │ متاح      │
└──────────────────────┴───────────┴───────────┘
bash
forge provider:list --category=sms
┌──────────────────────┬───────────┬───────────┐
│ المزود               │ الفئة     │ الحالة    │
├──────────────────────┼───────────┼───────────┤
│ sms:twilio           │ SMS       │ مُثبّت    │
│ sms:unifonic         │ SMS       │ متاح      │
└──────────────────────┴───────────┴───────────┘

أوامر القوالب

القوالب هي حزم ميزات مُعدّة مسبقاً تُضيف وظائف خاصة بالمجال لمشروع FORGE. على عكس المزودين (الذين يُضيفون تكاملاً واحداً)، تُنشئ القوالب مجموعات ميزات كاملة بما في ذلك النماذج والمعالجات والصفحات والترحيلات.

forge template:add

إضافة قالب بداية إلى مشروعك.

bash
forge template:add <TEMPLATE>

مثال

bash
forge template:add crm

تحذير

يجب إضافة القوالب مبكراً في دورة حياة المشروع. إضافة قالب لمشروع به كود مخصص كبير قد يُنتج تعارضات دمج في ملفات مشتركة مثل تسجيلات المسارات وتنقل الشريط الجانبي.

forge template:list

عرض جميع القوالب المتاحة.

bash
forge template:list

مثال على المخرجات

┌────────────┬─────────────────────────────────────────────────┐
│ القالب     │ الوصف                                           │
├────────────┼─────────────────────────────────────────────────┤
│ base       │ المصادقة، المستخدمون، الأدوار، الصلاحيات، CMS   │
│ crm        │ جهات الاتصال، الصفقات، خطوط الإنتاج، الأنشطة   │
│ helpdesk   │ التذاكر، SLA، قاعدة المعرفة، الردود الجاهزة    │
│ ecommerce  │ المنتجات، الطلبات، السلة، المخزون، الكوبونات   │
│ booking    │ المواعيد، التوفر، التقويم، التذكيرات           │
└────────────┴─────────────────────────────────────────────────┘

forge template:info

عرض معلومات تفصيلية عن قالب محدد، بما في ذلك وصفه والوحدات المتضمنة والمزودين المطلوبين والملفات المُولّدة.

bash
forge template:info <TEMPLATE>

مثال

bash
forge template:info crm
القالب: crm
الوصف: جهات الاتصال، الصفقات، خطوط الإنتاج، الأنشطة

الوحدات:
  • contacts       — إدارة جهات الاتصال مع حقول مخصصة
  • deals          — تتبع الصفقات مع مراحل خط الإنتاج
  • pipelines      — خطوط إنتاج مبيعات قابلة للتهيئة
  • activities     — تسجيل الأنشطة والتذكيرات

الملفات المُولّدة:
  • 8 نماذج
  • 8 ترحيلات
  • 6 صفحات إدارة
  • 4 بذور

المزودون المطلوبون:
  • email (للإشعارات)

انظر أيضاً

Released under the MIT License.