Skip to content

أوامر التحقق

تتحقق أوامر التحقق من أن مشروعك يتوافق مع اتفاقيات FORGE وعقود API ومتطلبات بنية القوالب. تغطي هذه المجموعة أيضاً إدارة الأسرار وتوليد توثيق API وعمليات ترقية CLI.

التحقق

forge validate:api

التحقق من أن تنفيذ API يُطابق العقد المُحدد. يفحص تعريفات المسارات وتوقيعات المعالجات وبنى DTO وتنسيقات الاستجابة مقابل عقد معمارية المشروع.

bash
forge validate:api

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

جاري التحقق من عقد API...

  المسارات:
    ✓ GET    /api/v1/contents
    ✓ POST   /api/v1/contents
    ✓ GET    /api/v1/contents/:id
    ✓ PUT    /api/v1/contents/:id
    ✓ DELETE /api/v1/contents/:id
    ✗ GET    /api/v1/lookups        (المعالج مفقود)

  DTOs:
    ✓ CreateContentRequest
    ✓ UpdateContentRequest
    ✗ CreateLookupRequest          (الملف مفقود)

فشل التحقق: وُجدت مشكلتان.

forge validate:pages

التحقق من أن صفحات الواجهة الأمامية تُطابق بنية المسارات المتوقعة واتفاقيات المكونات.

bash
forge validate:pages

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

جاري التحقق من الصفحات...

  الإدارة:
    ✓ /dashboard
    ✓ /contents
    ✓ /contents/create
    ✓ /contents/[id]
    ✓ /contents/[id]/edit
    ✓ /users
    ✗ /lookups                     (الصفحة مفقودة)

  الويب:
    ✓ /
    ✓ /[slug]
    ✓ /profile

فشل التحقق: وُجدت مشكلة واحدة.

forge validate:template

التحقق من أن بنية قالب المشروع سليمة وجميع الملفات المطلوبة موجودة.

bash
forge validate:template

forge validate:project

تشغيل تحقق شامل للمشروع بأكمله مقابل معايير FORGE. يفحص الإعدادات وإعدادات Docker وملفات البيئة والتحكم بالإصدارات وبنية المشروع في تمريرة واحدة.

bash
forge validate:project [OPTIONS]
الخيارالنوعالافتراضيالوصف
--pathstring.مجلد المشروع للتحقق.
--formatstringtextتنسيق المخرجات: text أو json.

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

جاري التحقق من مشروع FORGE...

  ✓ الإعدادات — forge.yaml موجود
  ✓ forge.yaml: project.name — الحقل موجود
  ✓ forge.yaml: project.backend — الحقل موجود
  ✓ إعدادات Docker — docker-compose.yaml موجود
  ✓ البيئة — ملف .env موجود
  ✓ التحكم بالإصدارات — مستودع Git مُهيأ
  ✓ Git Ignore — .gitignore موجود

  الملخص: 7 نجح، 0 فشل
جميع التحققات نجحت!

نصيحة

شغّل جميع أوامر التحقق الأربعة قبل النشر لالتقاط المشاكل الهيكلية مبكراً. هي سريعة وآمنة للتشغيل في أي وقت.


إدارة الأسرار

forge secrets:generate-key

توليد مفتاح سري آمن تشفيرياً لتوقيع JWT أو التشفير أو أسرار التطبيق الأخرى.

bash
forge secrets:generate-key [OPTIONS]
الخيارالنوعالافتراضيالوصف
--outputstring.envالملف لكتابة المفتاح المُولّد إليه.

مثال

bash
forge secrets:generate-key --output=.env
تم توليد APP_SECRET_KEY وكتابته إلى .env

forge secrets:encrypt

تشفير قيمة نصية باستخدام مفتاح تشفير المشروع (FORGE_ENCRYPTION_KEY من .env).

bash
forge secrets:encrypt <VALUE> [OPTIONS]
الخيارالنوعالافتراضيالوصف
--env-filestring.envمسار ملف .env الذي يحتوي FORGE_ENCRYPTION_KEY.

مثال

bash
forge secrets:encrypt "my-secret-api-key"
جاري تشفير القيمة...

  ✓ تم تشفير القيمة

  القيمة المُشفّرة:
  enc:v1:abc123def456...

forge secrets:decrypt

فك تشفير قيمة مُشفّرة (مسبوقة بـ enc:v1:) باستخدام مفتاح تشفير المشروع.

bash
forge secrets:decrypt <VALUE> [OPTIONS]
الخيارالنوعالافتراضيالوصف
--env-filestring.envمسار ملف .env الذي يحتوي FORGE_ENCRYPTION_KEY.

مثال

bash
forge secrets:decrypt "enc:v1:abc123def456..."
جاري فك تشفير القيمة...

  ✓ تم فك تشفير القيمة

  القيمة المفكوكة:
  my-s****

تحذير

القيمة المفكوكة مُقنّعة جزئياً للأمان. استخدم المخرجات المفكوكة برمجياً بدلاً من عرضها في السجلات.

forge secrets:verify

التحقق من وجود جميع الأسرار المطلوبة وإعدادها بشكل صحيح.

bash
forge secrets:verify

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

┌──────────────────────┬──────────┬────────────────────────────────┐
│ السر                 │ الحالة   │ المصدر                         │
├──────────────────────┼──────────┼────────────────────────────────┤
│ APP_SECRET_KEY       │ موجود   │ .env                           │
│ DATABASE_URL         │ موجود   │ .env                           │
│ REDIS_URL            │ موجود   │ .env                           │
│ TWILIO_AUTH_TOKEN    │ مفقود   │ مطلوب من مزود sms:twilio       │
│ S3_SECRET_KEY        │ موجود   │ .env                           │
└──────────────────────┴──────────┴────────────────────────────────┘

1 سر مفقود. أضف TWILIO_AUTH_TOKEN إلى .env للحل.

أوامر الترقية

تدير أوامر الترقية انتقالات إصدار FORGE CLI والمشروع، مما يضمن بقاء الكود المُولّد متوافقاً مع أحدث إصدار من FORGE.

forge upgrade:apply

ترقية ملفات المشروع الحالي المُولّدة لتُطابق إصدار CLI المُثبّت. يُقارن FORGE تجزئات ملفات المشروع المُولّدة مع أحدث القوالب ويُطبّق التحديثات.

bash
forge upgrade:apply [OPTIONS]
الخيارالنوعالافتراضيالوصف
--versionstringالأحدثالإصدار الهدف للترقية إليه.
--no-backupflagfalseتخطي إنشاء نسخة احتياطية قبل الترقية.
--dry-runflagfalseإظهار ما سيتغير بدون تعديل أي ملفات.

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

جاري ترقية المشروع إلى forge 0.5.2...

  الملفات المُعدّلة:
    api/src/main.rs               تم التحديث
    api/src/utils/response.rs     تم التحديث
    web/next.config.js            تم التحديث

  الملفات الجديدة:
    api/src/middleware/cors.rs     تم الإنشاء

  3 ملفات مُحدّثة، 1 ملف مُنشأ.
  شغّل "forge validate:api" للتحقق من الترقية.

تحذير

forge upgrade:apply يُعدّل فقط الملفات المُولّدة أصلاً من FORGE. لن يستبدل الملفات التي عدّلتها يدوياً. إذا كان لملف مُولّد تعديلات محلية، يُنشئ FORGE ملف .forge-merge لتحله يدوياً.

forge upgrade:check

التحقق مما إذا كان المشروع الحالي يحتاج أي ترقيات بدون إجراء تغييرات.

bash
forge upgrade:check

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

إصدار المشروع الحالي: 0.5.1
إصدار CLI المُثبّت:   0.5.2

3 ملفات ستُحدّث، 1 ملف سيُنشأ.
شغّل "forge upgrade" لتطبيق التغييرات.

forge upgrade:rollback

التراجع عن أحدث ترقية باستعادة الإصدارات السابقة من الملفات المُعدّلة.

bash
forge upgrade:rollback

نصيحة

يُخزّن FORGE نسخة احتياطية من الملفات المُعدّلة قبل كل ترقية. يمكنك التراجع بأمان، لكن فقط أحدث ترقية يمكن عكسها.

forge upgrade:history

عرض تاريخ الترقيات للمشروع الحالي.

bash
forge upgrade:history

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

┌────┬─────────┬─────────┬─────────────────────┬───────────────┐
│ #  │ من      │ إلى     │ التاريخ             │ الملفات المتغيرة │
├────┼─────────┼─────────┼─────────────────────┼───────────────┤
│  1 │ 0.4.0   │ 0.4.1   │ 2025-02-15 10:30:00 │ 2             │
│  2 │ 0.4.1   │ 0.5.0   │ 2025-03-01 14:22:00 │ 12            │
│  3 │ 0.5.0   │ 0.5.1   │ 2025-03-20 09:15:00 │ 5             │
│  4 │ 0.5.1   │ 0.5.2   │ 2025-04-12 11:45:00 │ 4             │
└────┴─────────┴─────────┴─────────────────────┴───────────────┘

forge upgrade:lock

تهيئة أو إعادة توليد ملف forge.lock الذي يتتبع تجزئات الملفات المُولّدة وتاريخ الترقيات. هذا الملف أساسي لنظام الترقية للكشف عن الملفات المُخصّصة.

bash
forge upgrade:lock [OPTIONS]
الخيارالنوعالافتراضيالوصف
--forceflagfalseإعادة توليد ملف القفل حتى لو كان موجوداً مسبقاً.

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

جاري توليد forge.lock...
  [1/2] فحص ملفات المشروع...
  [2/2] كتابة forge.lock...

تم توليد forge.lock مع 47 ملفاً مُتتبّعاً

  تفصيل الملفات:
    Core:      12
    Config:    5
    Template:  18
    Generated: 8
    User:      4

نصيحة

دائماً أضف forge.lock للتحكم بالإصدارات. يضمن أن كل عضو في الفريق يعمل بنفس سياق إصدار FORGE، ويمكن تطبيق الترقيات بشكل متسق.


انظر أيضاً

Released under the MIT License.