# أمثلة على المهام متعددة الخطوات (/ar/docs/verdent-for-vscode/common-workflows/multi-step-tasks)

> التعامل مع المهام المعقدة متعددة الخطوات باستخدام Verdent



يتميز Verdent for VS Code بتفكيك المهام المعقدة متعددة الخطوات بشكل مستقل. يقدم هذا الدليل سير عمل خطوة بخطوة للسيناريوهات الشائعة متعددة الخطوات، ويوضح بدقة كيف يتعامل Verdent مع تفكيك المهام، وإدارة التبعيات، والتنفيذ التدريجي.

***

## استخدام Plan Mode للتنفيذات المعقدة [#استخدام-plan-mode-للتنفيذات-المعقدة]

لنفترض أنك تريد مراجعة خطة تفصيلية قبل أن يجري Verdent أي تغييرات على قاعدة الكود الخاصة بك.

<Steps>
  <Step title="التبديل إلى Plan Mode">
    حدد زر "Switch Mode" في الواجهة، ثم اختر "Plan Mode".

    وضع Plan Mode للقراءة فقط: يمكن لـ Verdent تحليل الكود وإجراء البحث وإنشاء الخطط دون تعديل الملفات أو تنفيذ الأوامر.
  </Step>

  <Step title="أرسل طلبك المعقد">
    ```
    Refactor this codebase to replace our custom authentication with OAuth 2.0
    ```

    يقوم Verdent بتحليل تنفيذك الحالي بشكل شامل.
  </Step>

  <Step title="أجب عن الأسئلة التوضيحية">
    قد يطرح Verdent أسئلة لإزالة الغموض:

    * أي مزود OAuth ينبغي أن نستخدمه؟
    * هل يجب تخزين الرموز (tokens) في localStorage أم في ملفات تعريف الارتباط (cookies)؟
    * هل نحتاج إلى دعم عدة مزودي OAuth؟

    أجب عن هذه الأسئلة لتحسين الخطة.
  </Step>

  <Step title="راجع الخطة التفصيلية">
    يعرض Verdent خطة شاملة تُظهر:

    * الملفات المطلوب إنشاؤها
    * الملفات الحالية المطلوب تعديلها
    * خطوات التنفيذ بترتيب منطقي
    * التبعيات بين الخطوات

    راجع هذه الخطة بعناية قبل المتابعة.
  </Step>

  <Step title="اختر إجراءك التالي">
    بعد مراجعة الخطة، يعرض Verdent خيارين:

    * اختر **Edit** لطلب تعديلات أو لطرح أسئلة توضيحية
    * اختر **Start Building** للتبديل إلى Agent Mode وبدء التنفيذ

    يمكنك إعادة صياغة الخطة عدة مرات بحسب الحاجة قبل البناء.
  </Step>
</Steps>

<Tip>
  **نصائح:**

  * استخدم Plan Mode للميزات التي تؤثر في ملفات متعددة
  * أجرِ عدة جولات من مراجعة الخطة لتحسين الأسلوب المتبع
  * احفظ الخطة في ملف لمناقشتها مع الفريق قبل التنفيذ
  * يساعد Plan Mode على ضمان التوافق بين توقعاتك والحل المقترح من Verdent
  * **تخصيص تنسيق الخطة:** انتقل إلى **Settings → Rules → Plan Rules** للتحكم في بنية الخطة ومستوى التفاصيل وتفضيلات التنسيق
</Tip>

***

## تفكيك طلبات الميزات الكبيرة [#تفكيك-طلبات-الميزات-الكبيرة]

لنفترض أنك تبني نظام دفع (checkout) معقدًا للتجارة الإلكترونية يتضمن عدة مكونات متكاملة.

<Steps>
  <Step title="قدّم الهدف العام">
    ```
    Build a complete checkout system with cart management, payment processing, order confirmation, and inventory updates
    ```

    يحلل Verdent ما يجب القيام به.
  </Step>

  <Step title="ينشئ Verdent مهامًا فرعية منطقية">
    يفكك النظام هذا بشكل مستقل إلى:

    1. إنشاء نموذج بيانات عربة التسوق وAPI
    2. بناء واجهة عربة التسوق مع إمكانية إضافة/إزالة/تحديث العناصر
    3. تنفيذ صفحة الدفع مع نموذج عنوان الشحن
    4. دمج بوابة الدفع (Stripe أو المزود المُهيأ)
    5. إنشاء صفحة تأكيد الطلب
    6. إضافة منطق تحديث المخزون
    7. تنفيذ نظام تأكيد البريد الإلكتروني
    8. كتابة اختبارات التكامل

    تُعرض كل مهمة فرعية في قائمة المهام مع وصف واضح.
  </Step>

  <Step title="يتعامل Verdent مع التبعيات تلقائيًا">
    ينفذ Verdent المهام الفرعية بالترتيب الصحيح:

    * ينشئ نماذج البيانات قبل نقاط النهاية (endpoints) في API التي تستخدمها
    * يبني نقاط النهاية الخلفية قبل مكونات الواجهة الأمامية التي تستدعيها
    * ينفذ الميزات الأساسية قبل إضافة الاختبارات

    تُدار التبعيات تلقائيًا دون تدخل يدوي.
  </Step>

  <Step title="راقب التقدم في الوقت الفعلي">
    تابع تحديث قائمة المهام في الوقت الفعلي بينما يعمل Verdent على كل مهمة فرعية. تتحول عناصر المهام من قيد الانتظار → قيد التنفيذ → مكتملة.
  </Step>
</Steps>

<Tip>
  **نصائح:**

  * اترك Verdent يتعامل مع التفكيك بشكل مستقل في معظم المهام
  * استخدم Plan Mode إذا كنت تريد مراجعة التفكيك قبل التنفيذ
  * يعدّل Verdent أسلوبه عند مواجهة حالات خاصة أو متطلبات جديدة
  * توفر قائمة المهام المرئية شفافية في التنفيذ متعدد الخطوات
</Tip>

***

## مشاريع إعادة الهيكلة متعددة المراحل [#مشاريع-إعادة-الهيكلة-متعددة-المراحل]

لنفترض أنك تعيد هيكلة قاعدة كود كبيرة وتريد التعامل معها على مراحل يمكن التحكم بها.

<Steps>
  <Step title="حدد نهج المراحل المتعددة">
    ```
    In Plan Mode: Refactor this codebase to replace our custom authentication with OAuth 2.0. I want this done in phases so we can test incrementally.
    ```
  </Step>

  <Step title="يقترح Verdent تفكيكًا للمراحل">
    يقترح Verdent خطة متعددة المراحل:

    * **المرحلة 1**: إضافة مكتبة OAuth وتهيئة نقاط النهاية
    * **المرحلة 2**: تحديث نموذج المستخدم ومخطط قاعدة البيانات
    * **المرحلة 3**: ترحيل منطق المصادقة الحالي
    * **المرحلة 4**: إزالة كود المصادقة القديم
    * **المرحلة 5**: تحديث الاختبارات والوثائق

    يمكن اختبار كل مرحلة بشكل مستقل.
  </Step>

  <Step title="نفّذ مرحلة تلو الأخرى">
    اعتمد المرحلة 1، واسمح لـ Verdent بتنفيذها، ثم اختبر:

    ```
    npm test
    ```

    بعد التحقق من عمل المرحلة 1 بشكل صحيح، انتقل إلى المرحلة 2.
  </Step>

  <Step title="عدّل المراحل التالية إذا لزم الأمر">
    بناءً على ما تتعلمه في المرحلة 1، يمكنك تعديل النهج للمراحل المتبقية:

    ```
    For Phase 2, let's also add user role migration to the database schema changes
    ```
  </Step>

  <Step title="أكمل جميع المراحل بشكل تدريجي">
    اعمل على جميع المراحل مع الاختبار والتحقق بين كل مرحلة وأخرى، لضمان السلامة والسماح بتصحيح المسار.
  </Step>
</Steps>

<Tip>
  **نصائح:**

  * تقلل إعادة الهيكلة متعددة المراحل من المخاطر من خلال السماح بالاختبار التدريجي
  * يجب أن تترك كل مرحلة قاعدة الكود في حالة عمل سليمة
  * نفّذ الحفظ (commit) بعد كل مرحلة لتسهيل التراجع عند الحاجة
  * عدّل المراحل اللاحقة بناءً على ما تعلمته من المراحل السابقة
</Tip>

***

## تنسيق التغييرات بين الخلفية والواجهة الأمامية [#تنسيق-التغييرات-بين-الخلفية-والواجهة-الأمامية]

لنفترض أنك تضيف ميزة تتطلب تحديثات متزامنة لكل من API الخلفي ومكونات الواجهة الأمامية.

<Steps>
  <Step title="صف الميزة الكاملة (full-stack)">
    ```
    Add a commenting system where users can add comments to blog posts. Include backend API, database schema, and frontend UI
    ```
  </Step>

  <Step title="ينسّق Verdent نهجًا يبدأ من الخلفية">
    يعمل Verdent غالبًا بدءًا من الخلفية بالنسبة للميزات الكاملة (full-stack):

    1. إنشاء ترحيل (migration) لقاعدة البيانات لجدول التعليقات
    2. إضافة نقطة نهاية API لإنشاء التعليقات
    3. إضافة نقطة نهاية API لاسترجاع التعليقات
    4. تعريف واجهات TypeScript لبيانات التعليقات
    5. بناء مكون نموذج التعليقات في الواجهة الأمامية
    6. إنشاء مكون عرض التعليقات
    7. ربط الواجهة الأمامية بنقاط نهاية API
  </Step>

  <Step title="يضمن Verdent الاتساق">
    يضمن Verdent:

    * تطابق واجهات TypeScript في الواجهة الأمامية مع بنى البيانات الخلفية
    * الإشارة الصحيحة إلى عناوين URL لنقاط نهاية API في كود الواجهة الأمامية
    * توافق تنسيقات الطلب/الاستجابة بين الخلفية والواجهة الأمامية
    * اتساق معالجة الأخطاء عبر كامل النظام
  </Step>

  <Step title="اختبار التكامل">
    ```
    Write integration tests for the commenting system covering the full stack
    ```

    يُنشئ Verdent اختبارات تتحقق من أن الخلفية والواجهة الأمامية تعملان معًا بشكل صحيح.
  </Step>
</Steps>

<Tip>
  **نصائح:**

  * يضمن النهج القائم على الخلفية أولًا أن تحصل الواجهة الأمامية على API جاهزة للتكامل معها
  * يحافظ Verdent على الاتساق بين كود الخلفية والواجهة الأمامية تلقائيًا
  * تساعد واجهات TypeScript على اكتشاف مشكلات التكامل في وقت الترجمة (compile time)
  * تتحقق اختبارات التكامل من أن الميزة الكاملة تعمل من طرف إلى طرف
</Tip>

***

## استخدام الوكلاء الفرعيين للتنفيذ المتوازي [#استخدام-الوكلاء-الفرعيين-للتنفيذ-المتوازي]

لنفترض أن لديك عدة مهام مستقلة يمكن تنفيذها في الوقت نفسه.

<Steps>
  <Step title="حدد المهام القابلة للتنفيذ المتوازي">
    ```
    Generate unit tests for all service classes in the src/services directory
    ```

    ملفات الاختبار هذه مستقلة ويمكن إنشاؤها بالتوازي.
  </Step>

  <Step title="يفوّض Verdent المهمة لعدة وكلاء فرعيين">
    يستخدم Verdent تلقائيًا عدة وكلاء فرعيين للعمل على المهام المستقلة بشكل متزامن:

    * الوكيل الفرعي 1: ينشئ اختبارات لـ UserService
    * الوكيل الفرعي 2: ينشئ اختبارات لـ PaymentService
    * الوكيل الفرعي 3: ينشئ اختبارات لـ NotificationService
    * الوكيل الفرعي 4: ينشئ اختبارات لـ AuthService

    يتم كل العمل بالتوازي، مما يوفر الوقت.
  </Step>

  <Step title="يتم دمج النتائج">
    يُرجع كل وكيل فرعي نتائجه. يدمج Verdent جميع ملفات الاختبار في المشروع بتسمية وبنية مناسبتين.
  </Step>

  <Step title="التحقق التسلسلي">
    بعد الإنشاء المتوازي، شغّل الاختبارات بشكل تسلسلي للتحقق من أنها تعمل جميعًا:

    ```
    npm test
    ```
  </Step>
</Steps>

<Tip>
  **نصائح:**

  * يقوم Verdent تلقائيًا بتنفيذ المهام المستقلة بالتوازي باستخدام الوكلاء الفرعيين
  * يستفيد العمل ذو الارتباط الضعيف (ملفات اختبار منفصلة، مكونات مستقلة) من التنفيذ المتوازي
  * يتم تنفيذ العمل ذو الارتباط القوي (ملفات ذات تبعيات) بشكل تسلسلي لضمان الصحة
  * يسرّع التنفيذ المتوازي بشكل كبير التغييرات على نطاق واسع
</Tip>

***

## الأسئلة المتكررة [#الأسئلة-المتكررة]

<Accordion title="هل يمكنني إيقاف Verdent في منتصف مهمة متعددة الخطوات؟">
  نعم. يمكنك مقاطعة التنفيذ في أي وقت. سيُكمل Verdent الخطوة الحالية التي يعمل عليها، ثم يتوقف. يُحفظ التقدم المُحقق حتى تلك اللحظة. يمكنك مراجعة ما تم إنجازه، وإجراء التعديلات، ثم الاستمرار أو اتباع نهج مختلف.
</Accordion>

<Accordion title="كيف أعرف ما يقوم به Verdent حاليًا في مهمة طويلة؟">
  تابع قائمة المهام. تعرض حالة فورية مع عنصر واحد فقط موسوم بـ "قيد التنفيذ" في أي وقت. يُظهر العنصر النشط بدقة ما يعمل عليه Verdent حاليًا. تُوسم العناصر المكتملة بذلك، وتُظهر العناصر المعلقة ما تبقى.
</Accordion>

<Accordion title="ماذا لو لم أوافق على الطريقة التي فكك بها Verdent مهمتي؟">
  استخدم Plan Mode لمراجعة التفكيك وتعديله قبل التنفيذ. في Plan Mode، يمكنك تقديم ملاحظات مثل "قسّم عمل الواجهة الأمامية إلى مكونات منفصلة" أو "اجمع تلك الخطوتين". سيُعدّل Verdent الخطة بناءً على ملاحظاتك قبل كتابة أي كود.
</Accordion>

<Accordion title="هل يجب أن أستخدم Plan Mode لكل مهمة متعددة الخطوات؟">
  ليس بالضرورة. استخدم Plan Mode للميزات المعقدة التي تؤثر في ملفات كثيرة، أو عمليات إعادة الهيكلة الكبيرة، أو عندما تريد مراجعة النهج أولًا. بالنسبة للمهام المألوفة والمباشرة، يمكن لـ Verdent التنفيذ مباشرة مع رؤية مباشرة لقائمة المهام في الوقت الفعلي. يضيف Plan Mode خطوة مراجعة للتغييرات ذات المخاطر الأعلى.
</Accordion>

<Accordion title="هل يمكنني تعديل خطة Verdent بعد بدء التنفيذ؟">
  يمكنك تقديم توجيه تصحيحي أثناء عمل Verdent. قل "في الواقع، استخدم نهجًا مختلفًا لتكامل API" وسيقوم Verdent بتعديل الخطوات المتبقية. بالنسبة للتغييرات الكبيرة في الخطة، من الأفضل التوقف، وحفظ ما تم إنجازه، وبدء جلسة جديدة بالنهج المُعدّل.
</Accordion>

***

## راجع أيضًا [#راجع-أيضًا]

<CardGroup cols="2">
  <Card title="كتابة كود جديد" icon="code" href="/docs/verdent-for-vscode/task-based-guides/writing-code">
    إنشاء ميزات ومكونات جديدة باستخدام Verdent
  </Card>

  <Card title="أفضل الممارسات" icon="star" href="/docs/verdent-for-vscode/best-practices/prompts">
    استراتيجيات فعالة للـ prompt وسير العمل
  </Card>
</CardGroup>
