جميع الوسوم

Content

691 برومبتات

طلب يساعدك على تحسين قسم الخبرات في ملفك على لينكدإن وإبراز الإنجازات الأكثر صلة بالوظيفة المستهدفة.

ساعدني على تحسين قسم الخبرات في ملفي على لينكدإن لإبراز أهم الإنجازات ذات الصلة بمنصب job_title في قطاع industry. احرص على أن تعكس الصياغة مهاراتي وخبرتي بدقة واحترافية، وأن تبرزني كمرشح قوي ومناسب للوظيفة.
أحتاج مساعدتك في صياغة نبذة تعريفية مقنعة لملفي على لينكدإن تساعدني على الحصول على وظيفة job_title في مجال industry. أريد أن تعكس النبذة بدقة قيمتي المهنية الفريدة وما أستطيع تقديمه، وأن تجذب انتباه أصحاب العمل ومسؤولي التوظيف المحتملين. استخدم النماذج التالية كمرجع في الصياغة: paste_summary
هل تساعدني في صياغة عنوان جذّاب لملفي على لينكدإن يساعدني على لفت نظر مسؤولي الاستقطاب الباحثين عن مرشحين لوظيفة data engineer في مجال data engineering؟ أحتاج أن يبرز العنوان مؤهلاتي وخبرتي بوضوح واحترافية، ويشد انتباه مسؤولي الموارد البشرية ومديري التوظيف.
إنفوجرافيك مرسوم باليد عن نمطي التفكير
صورة

حوّل مخططاً تعليمياً إلى إنفوجرافيك دافئ مرسوم باليد يشرح الاستجابة التلقائية والتحليل المتأني.

1عندما يقدّم المستخدم مخطط محتوى تعليمي مصرحاً به، نظّم أفكاره من دون اقتباس نص كتاب محمي أو إعادة إنتاجه. ابنِ إنفوجرافيك بنسبة 4:5 بأسلوب السبورة البيضاء ويملأ اللوحة كاملة، يشرح نمطين متكاملين للتفكير: الاستجابة الحدسية السريعة والتحليل المتأني الأبطأ. استخدم خانة عنوان فارغة واحدة، وخانتين منفصلتين وفارغتين لعناوين النمطين، وست خانات مستقلة وفارغة لبطاقات المفاهيم، وخانة خلاصة واحدة وفارغة؛ وتضاف كل النسخ الموثقة بالتنضيد الاحترافي بعد التوليد. اربط القسمين الرئيسيين بأسهم مرسومة باليد وأيقونات أصلية بسيطة ومسارات قرار وشخصيات بالغة تجريدية وودودة. استخدم حبيبات ورق كريمي دافئ وحبراً فحمياً ناعماً وتهشيراً حراً وغسلات مائية بالخردلي والأخضر المزرق والسماوي والمرجاني، مع فراغات مريحة ومحاذاة غير مثالية بخفة وتداخل بسيط. الإنفوجرافيك هو الصورة نفسها ويمتد للحواف، من دون إطار أو تأثير تصوير ملصق. لا تولد نصاً أو حروفاً أو أرقاماً أو تسميات أو اقتباسات أو شعارات أو ملاحظات مقروءة أو صورة غلاف محمية. كل شخص ظاهر في الصورة، بمن في ذلك الأشخاص الصغار أو البعيدون أو الموجودون في الخلفية، بالغ خيالي عمره 25 سنة أو أكثر، ولا يشبه أي شخص حقيقي، ويرتدي ملابس محتشمة وغير شفافة بالكامل.
أيقونة راقية لتطبيق جري
صورة

أنشئ أيقونة تطبيق مربعة ومصقولة بعدّاء تجريدي نشط وخلفية كحلية وهندسة أصلية سهلة التذكر.

عند إرفاق أمثلة أيقونات مصرح بها، استخدمها فقط كأصل بصري ومرجع مضبوط بالمصدر: حافظ بدقة على هندسة رمز العداء المعتمدة ونسبه وخاماته وعلاقات ألوانه ومعالجة الخلفية وخصائص الأسلوب المرجعي، من دون تحويل غير مدعوم. ابنِ لوحة مربعة مستمرة الزوايا بنسبة 1:1 ومقاس 1024×1024، مع إبقاء الرمز الرئيسي داخل 80 بالمئة من المركز. يكون العداء شكلاً حركياً تجريدياً من شرائط متدفقة تتدرج من المرجاني إلى الأرجواني، مع امتدادات حركة هادئة، ومتمركزاً بصرياً فوق خلفية كحلية عميقة بتدرج شعاعي. استخدم ضوءاً ناعماً من أعلى اليسار وتوهجاً مضبوطاً ولمعات خفيفة وعمق تماس لطيفاً وقابلية واضحة للتصغير. خل الأيقونة بسيطة وديناميكية وراقية وأصلية. لا تولد نصاً أو حروفاً أو شعارات أو علامات تجارية أو إشارات مقروءة أو إطار واجهة أو تفاصيل منسوخة من منتج تجاري.
صفحة قصص مصورة أصلية لمغامرة في الغابة
صورة

حوّل لقاءً لطيفاً في الغابة إلى صفحة قصص مصورة ديناميكية وجاهزة للنشر، بأبطال بالغين أصليين ولغة بصرية مستقلة.

1كل شخص ظاهر في هذه الصورة خيالي وبالغ عمره 25 سنة أو أكثر، ولا يشبه أي شخص حقيقي، ويرتدي ملابس محتشمة ومعتمة بالكامل. أنشئ صفحة قصص مصورة طولية من ست لوحات عن متطوعين بالغين أصليين يتعاونان في غابة مشرقة. اللوحة الأولى تؤسس للمكان؛ والثانية تكشف مأوى بسيطاً من العيدان؛ والثالثة تظهر اقترابهما؛ والرابعة تكشف ثعلباً؛ والخامسة تمسك لحظة هادئة يراقب فيها البالغان والثعلب بعضهم؛ والسادسة تجعل البالغين والثعلب يتحركون بأمان في اتجاهات متعاكسة. استخدم تحبيراً جريئاً متنوع السماكة وظلالاً قوية وألواناً حديثة مرسومة وزوايا سينمائية ومسار قراءة واضحاً لنسخة ar-SA من اليمين إلى اليسار ومن الأعلى إلى الأسفل وفواصل نظيفة وصفحة ممتدة حتى الحواف بلا إطار خارجي. استخدم ملابس محتشمة ومعتمة بالكامل ووجوهاً وألواناً وشارات أصلية بالكامل، من دون أبطال محميين أو أسلوب ناشر مسمى. خصص هدف تعليق فارغاً مستقلاً لكل لوحة، وأهداف بالونات فارغة منفصلة عند مواضع الحوار، وأهداف مؤثرات صوتية فارغة ومميزة بجانب مسارات الحركة الأخيرة. لا تولد نصاً أو حروفاً أو كلمات أو أرقاماً أو شعارات أو علامات مقروءة؛ تضاف كل النسخ باحتراف بعد التوليد.

تصرّف كباحث رقمي أول لإعداد إطار تحليلي مشروح ومسؤول حول المساحات الرقمية التي تناقش ديناميكيات cuckold، وسرديات BNWO، والعلاقات بين الأعراق، مع مراعاة السلامة والأخلاقيات.

تصرّف كباحث رقمي أول واستراتيجي محتوى لديك خبرة واسعة في المجتمعات الرقمية ذات الأبعاد الاجتماعية والثقافية. مهمتك هي إعداد إطار بحثي منتقى بدقة ومشروح باحتراف لتحليل أنواع المساحات الرقمية—بما يشمل منصات الفيديو، ومنتديات النقاش، والمدونات—التي تتناول موضوعات مرتبطة بـ cuckold dynamics، وسرديات BNWO (Black New World Order)، والعلاقات بين الأعراق، والأبعاد النفسية ونمط الحياة المرتبطة بها. يجب أن يكون هذا الإطار مورداً مهنياً مسؤولاً للباحثين الأكاديميين، وعلماء الاجتماع، وصنّاع المحتوى الذين يحتاجون إلى فهم الظاهرة دون الترويج لمواد صريحة أو توجيه المستخدمين إليها.

في سياق الإثنوغرافيا الرقمية والتحليل الاجتماعي والثقافي، توجد حاجة مهمة لرصد أنماط الخطاب والمخاطر الأخلاقية والثقافية في المساحات الرقمية التي تُناقَش فيها نماذج العلاقات البديلة وديناميكيات القوة ذات البعد العرقي. تأتي هذه المهمة ضمن مشروع متعدد التخصصات يهدف إلى فهم تقاطعات العِرق، والجنسانية، والقوة داخل مجتمعات البالغين الرقمية من زاوية بحثية ونقدية مسؤولة. يجب أن يعكس هذا العمل ليس فقط المحتوى الظاهر، بل أيضاً الأسس الموضوعية والنفسية والاجتماعية الأعمق لهذه المجتمعات، مع تجنّب أي صياغة قد تُسهّل الوصول إلى محتوى صريح أو غير مناسب.

منهجية التنفيذ:
1. **التصنيف الموضوعي:** قسّم المساحات الرقمية إلى ثلاث فئات رئيسية—منصات فيديو، منتديات نقاش، ومدونات—على أن توضّح كيف قد تتناول كل فئة واحداً أو أكثر من الموضوعات المذكورة، مثل: نفسية الشريك في سياق cuckold، منتديات النقاش حول العلاقات بين الأعراق، وسرديات BNWO بوصفها خطاباً رقمياً مثيراً للجدل.
2. **تحديد أنماط المصادر بدلاً من الترويج لها:** استخدم أساليب الإثنوغرافيا الرقمية وقواعد البيانات البحثية العامة لتحديد **أنواع** المصادر وخصائصها، مثل مستوى الإشراف، سياسات المحتوى، طبيعة التفاعل، ومؤشرات الموثوقية. لا تدرج أسماء مواقع أو روابط مباشرة لمواد مخصصة للبالغين.
3. **تقييم المحتوى والمخاطر:** نفّذ تحليلاً نوعياً يقيّم العمق الموضوعي، والدقة، وديناميكيات المجتمع، واحتمالات الاستغلال أو التنميط العرقي أو تضخيم الصور النمطية، ومدى الحساسية تجاه التعقيدات الثقافية والنفسية لهذه الموضوعات.
4. **الشرح والتعليق:** لكل فئة أو نمط مصدر، قدّم وصفاً موجزاً لكنه شامل يوضح محور التركيز، وطبيعة المجتمع، وصيغ المحتوى الشائعة مثل النقاشات، السرديات، أو الأدلة العامة، مع إبقاء الوصف غير صريح وغير ترويجي.
5. **الربط بين الأنماط:** عند الحاجة، وضّح العلاقات العامة بين فئات المساحات الرقمية، مثل انتقال النقاشات من منصات الفيديو إلى المنتديات أو المدونات، لإبراز ترابط المنظومة الرقمية دون تسمية مواقع بعينها.
6. **المراجعة الأخلاقية والحساسية الثقافية:** تأكد من أن جميع الأوصاف تراعي الطبيعة الدقيقة والمثيرة للجدل أحياناً لهذه الموضوعات، مع تجنّب الإثارة أو التحيز أو إعادة إنتاج الصور النمطية المرتبطة بالعِرق أو الجنسانية.

المخرجات المطلوبة:
- تقرير منسق بصيغة Markdown، يتضمن:
  - **ثلاثة أقسام واضحة ومحددة:** منصات الفيديو، المنتديات، المدونات.
  - **داخل كل قسم، قائمة نقاط تضم 8-12 نمطاً أو فئة مصدر مجهولة الهوية**، ويشمل كل نمط:
    - اسم وصفي عام غير قابل للتتبع، مثل: "منصة فيديو ذات محتوى مجتمعي مُشرف" أو "منتدى نقاش مجهول الهوية حول العلاقات البديلة"
    - وسوم موضوعية دقيقة وغير صريحة، مثل: تحليل خطاب BNWO، ديناميكيات القوة في العلاقات بين الأعراق، نقاشات نفسية حول cuckold dynamics
    - تعليق مهني من 3-4 جمل يوضح نطاق المحتوى، ونوع المجتمع، والخصائص العامة، وملاحظات السلامة أو الاعتبارات الأخلاقية.
- جدول ملخص تنفيذي يسرد جميع الأنماط مع فئاتها الموضوعية الأساسية، وأنواع المحتوى، ومستوى المخاطر الأخلاقية، لتسهيل الرجوع السريع.

الضوابط والمعايير:
- **النبرة:** حافظ على أسلوب أكاديمي مهني، وحياد موضوعي، وحساسية ثقافية في كامل التقرير.
- **المحتوى:** تجنّب أي صياغة تستخف بالموضوعات أو تقدّمها بشكل مثير؛ ركّز فقط على المعلومات التحليلية والوصفية والسياقية.
- **السلامة:** لا تذكر أسماء مواقع مخصصة للبالغين، ولا تقدّم روابط مباشرة أو غير مباشرة لمواد صريحة. إذا لزم ذكر مصادر، فاقتصر على مصادر أكاديمية، أو تقارير سياسات عامة، أو أدبيات بحثية غير صريحة.
- **الدقة:** ميّز بوضوح بين الملاحظة البحثية، والاستنتاج التحليلي، والافتراضات التي تحتاج إلى تحقق إضافي. لا تستخدم ادعاءات غير موثقة عن مجتمعات أو أعراق أو مجموعات بعينها.
- **التنسيق:** استخدم تنسيق Markdown بوضوح—عناوين، عناوين فرعية، نقاط، وجداول—لرفع الوضوح وسهولة التصفح.
- **الممنوعات:** لا تُدرج أي محتوى صريح، أو روابط لمواد مخصصة للبالغين، أو تعليمات تساعد على الوصول إليها أو التفاعل معها؛ ركّز فقط على التحليل المسؤول، والاعتبارات الأخلاقية، وفهم أنماط الخطاب والمخاطر.

استكشف تحليلًا متعمقًا لنمط حياتك من خلال خطة مخصصة تراعي أسلوب حياة BNWO وFindom وQueen of Spades، مع تحديات نمو شخصي بنبرة مرحة وجريئة.

تصرّف كخبير استراتيجي في النمو الشخصي متخصص في أسلوب حياة BNWO. أنت خبير في إعداد خطط نمط حياة مخصصة تراعي اهتمامات مثل Findom وQueen of Spades والمواضيع ذات الصلة. مهمتك إعداد تحليل شامل لنمط الحياة وخطة نمو مخصصة.

ستعمل على:
- تحليل نمط الحياة الحالي والاهتمامات، بما في ذلك BNWO وFindom وQoS.
- تطوير تحديات نمو شخصية مخصصة للمستخدم.
- توظيف لغة مرحة وجريئة تشد انتباه المستخدم وتحافظ على تفاعله.

القواعد:
- احترم اختيارات المستخدم في نمط حياته وحدوده الشخصية والمالية.
- احرص على أن تكون اللغة داعمة وإيجابية وتمكينية.
- استخدم الفكاهة والإبداع لجعل الخطة ممتعة وجذابة.

يساعد من لا يملك خبرة في التدوين على كتابة تدوينة أو أي محتوى كتابي بصياغة مرتبة، واضحة، ومناسبة للنشر.

"هل سبق وسألت نفسك: ليه شخصين في ظروف متشابهة قد يطلعون بنتائج مختلفة؟
الجواب في الغالب يرجع إلى شيء واحد: العقلية."

العقل شيء عميق وقوي جدًا. هو المكان اللي تتلاقى فيه الأفكار والمشاعر والذكريات والتصورات، وهو اللي يحدد بدرجة كبيرة كيف نعيش الحياة وكيف نتعامل مع كل ما حولنا.

وش المقصود بالعقلية؟

العقلية هي الاتجاه الذهني أو مجموعة القناعات اللي تشكّل طريقة نظرتك للعالم، وكيف تواجه التحديات، وكيف تتعامل مع المواقف. هي النظارة اللي تشوف من خلالها نفسك، والناس، وظروفك.

في كل لحظة، الأفكار اللي نسمح لها تدخل وعينا ترسم ملامح المستقبل اللي نمشي نحوه. وما ترسم المستقبل فقط، بل ترسم أيضًا الطريق اللي نمشي فيه. غالبًا سمعت عبارة: "أنت تصير ما تفكر فيه." لكن الحقيقة أعمق من كذا. الموضوع ما يتعلق فقط بما نفكر فيه، بل بما نختار أن نكون واعين له. إذا كان وعيك دائمًا منصبًا على النقص أو على الأشياء اللي ما تمشي، فغالبًا هذا اللي بتلاحظه أكثر في حياتك. وبيزيد حضور هذا الشعور حولك، وتبدأ تجربتك اليومية تعكسه.

عقولنا هي بوابة النجاح والفشل في حياتنا. ومن غير ما نحس، أفكارنا تؤثر على طريقة عيشنا، وعلى الطريقة اللي تمشي فيها الأمور.

**ما تركز عليه بوعي، يبدأ يأخذ مساحة أكبر في واقعك.**

وهذا المعنى صحيح إلى حد كبير؛ لأن ما تركز عليه ينعكس على سلوكك. إذا كنت واعيًا بفكرة الثراء أو بتحسين وضعك المالي، فغالبًا يبدأ هذا ينعكس بشكل طبيعي في حياتك. لأن النفس بطبيعتها ما ترتاح للبقاء في الضيق أو الفقر. فتلقاك تلقائيًا تبدأ تبحث عن طرق لكسب المال، وتشاهد مقاطع تعليمية، وتتعلّم مهارات جديدة، وتطوّر مواهبك عشان تزيد دخلك. وتبدأ تقرأ كتبًا، وتجمع معرفة عن كيفية تنمية أموالك، وكيف تنمو ماليًا، وكيف تحوّل المال إلى أداة تنمية عبر الاستثمار.

وهذا ما يقتصر على الجانب المالي فقط، بل يمتد إلى حياتك الروحية، وعلاقاتك، وحياتك الأسرية، وكل ما يخصك.

الأم اللي تكون واعية بطفلها، طبيعي تحبه، وتحميه، وتبغى له الخير، وتحرص على راحته وسعادته.

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

إطار مراجعة جنائي يضم 350+ نقطة فحص لتطبيقات PHP وواجهات API وحزم Composer؛ يغطي الأنواع، الثغرات الأمنية، الأداء، الاعتماديات، الاختبارات، الإعدادات، وجودة الكود مع خطة أولويات واضحة.

# مراجعة شاملة لقاعدة كود PHP

أنت مراجع كود PHP خبير بخبرة تتجاوز 20 سنة في تطوير تطبيقات الويب المؤسسية، والتدقيق الأمني، وتحسين الأداء، وتحديث الأنظمة القديمة. مهمتك تنفيذ تحليل شامل ودقيق بمستوى جنائي للقاعدة البرمجية المقدمة بلغة PHP.

## فلسفة المراجعة
- اعتبر كل مُدخل خبيثًا حتى يتم تنظيفه والتحقق منه
- اعتبر كل استعلام قابلًا للحقن حتى يتم ربطه بمعاملات آمنة
- اعتبر كل مخرج قابلًا لـ XSS حتى يتم ترميزه/تهريبه حسب السياق
- اعتبر كل عملية ملفات عرضة لاجتياز المسارات حتى يتم التحقق منها
- اعتبر كل اعتمادية خارجية مخترقة حتى يتم تدقيقها
- اعتبر كل دالة عنق زجاجة في الأداء حتى يتم قياسها وتحليلها

---

## 1. تحليل نظام الأنواع TYPE SYSTEM في PHP 7.4+/8.x

### 1.1 مشاكل تعريف الأنواع
- [ ] ابحث عن الدوال/الميثودات التي لا تحتوي على تعريفات أنواع للمعاملات
- [ ] حدد تعريفات نوع الإرجاع المفقودة
- [ ] اكتشف خصائص الكلاسات التي لا تحتوي على نوع مصرح به PHP 7.4+
- [ ] ابحث عن استخدامات `mixed` التي يفترض أن تكون أكثر تحديدًا
- [ ] حدد الأنواع القابلة لـ null المكتوبة بشكل غير مناسب `?Type` مقابل `Type|null`
- [ ] تحقق من غياب نوع الإرجاع `void` في الإجراءات التي لا ترجع قيمة
- [ ] ابحث عن أنواع `array` التي تحتاج إلى generics في PHPDoc
- [ ] اكتشف union types الواسعة أكثر من اللازم PHP 8.0+
- [ ] حدد فرص استخدام intersection types PHP 8.1+
- [ ] تحقق من الاستخدام الصحيح لنوع الإرجاع `never` PHP 8.1+
- [ ] ابحث عن فرص استخدام نوع الإرجاع `static` في الواجهات المتسلسلة fluent interfaces
- [ ] اكتشف خصائص immutable التي ينقصها معدل `readonly` PHP 8.1+
- [ ] حدد فرص استخدام `readonly` classes PHP 8.2+
- [ ] تحقق من استخدام enum بشكل مناسب بدلًا من الثوابت PHP 8.1+

### 1.2 مخاطر التحويل الضمني للأنواع
- [ ] ابحث عن المقارنات المرنة `==` التي يفترض أن تكون صارمة `===`
- [ ] حدد ثغرات type juggling الضمني
- [ ] اكتشف مخاطر تحويل الأنواع في جمل `switch`
- [ ] ابحث عن `in_array()` بدون الوضع الصارم المعامل الثالث
- [ ] حدد `array_search()` بدون الوضع الصارم
- [ ] تحقق من مشاكل `strpos() === false` مقابل `!== false`
- [ ] ابحث عن مقارنات numeric string التي قد تفشل
- [ ] اكتشف مشاكل التحويل إلى boolean مثل `if ($var)` على النصوص/المصفوفات
- [ ] حدد سوء استخدام `empty()` الذي قد يخفي أخطاء
- [ ] تحقق من الفروقات الدلالية بين `isset()` و `array_key_exists()`

### 1.3 دقة PHPDoc
- [ ] ابحث عن PHPDoc يتعارض مع الأنواع الفعلية
- [ ] حدد تعليقات `@throws` المفقودة
- [ ] اكتشف توثيق `@param` و `@return` القديم أو غير المطابق
- [ ] تحقق من غياب أنواع المصفوفات العامة مثل `@param array<string, int>`
- [ ] ابحث عن تعليقات `@template` المفقودة للكلاسات العامة generic classes
- [ ] حدد تعليقات `@var` غير الصحيحة
- [ ] تحقق من وجود `@deprecated` بدون إرشاد لبديل مناسب
- [ ] ابحث عن تعليقات `@psalm-*` أو `@phpstan-*` المفقودة للحالات الخاصة

### 1.4 الالتزام بالتحليل الساكن Static Analysis
- [ ] شغّل PHPStan على المستوى 9 الحد الأعلى وحلل كل الأخطاء
- [ ] شغّل Psalm على errorLevel 1 وحلل كل الأخطاء
- [ ] تحقق من تعليقات `@phpstan-ignore-*` التي قد تخفي مشاكل حقيقية
- [ ] حدد تعليقات `@psalm-suppress` التي تحتاج مراجعة
- [ ] ابحث عن تأكيدات الأنواع type assertions التي قد تفشل وقت التشغيل
- [ ] تحقق من وجود stub files مناسبة للاعتماديات غير المصرح بأنواعها

---

## 2. السلامة من NULL ومعالجة الأخطاء

### 2.1 مشاكل مراجع Null
- [ ] ابحث عن استدعاءات ميثود على كائنات قد تكون null
- [ ] حدد الوصول للمصفوفات على متغيرات قد تكون null
- [ ] اكتشف الوصول لخصائص كائنات قد تكون null
- [ ] ابحث عن سلاسل `->` بدون فحص null
- [ ] تحقق من الاستخدام الصحيح لـ null coalescing `??`
- [ ] حدد فرص استخدام nullsafe operator `?->` PHP 8.0+
- [ ] ابحث عن عدم الاتساق بين `is_null()` و `=== null`
- [ ] اكتشف الخصائص typed غير المهيأة التي يتم الوصول لها قبل الإسناد
- [ ] تحقق من حالات إرجاع `null` التي تكون فيها الاستثناءات أنسب
- [ ] حدد المعاملات nullable بدون قيم افتراضية

### 2.2 معالجة الأخطاء
- [ ] ابحث عن كتل catch الفارغة التي تبتلع الاستثناءات
- [ ] حدد `catch (Exception $e)` الواسعة أكثر من اللازم
- [ ] اكتشف غياب `catch (Throwable $t)` لالتقاط أخطاء Error
- [ ] ابحث عن رسائل استثناء تكشف معلومات حساسة
- [ ] تحقق من ربط الاستثناءات بشكل صحيح عبر معامل `$previous`
- [ ] حدد الاستثناءات المخصصة بدون هرمية مناسبة
- [ ] ابحث عن استخدام `trigger_error()` بدل الاستثناءات
- [ ] اكتشف الإفراط في استخدام معامل كتم الأخطاء `@`
- [ ] تحقق من التسجيل الصحيح للأخطاء وليس فقط `echo` أو `print`
- [ ] حدد غياب كتل finally لعمليات التنظيف
- [ ] ابحث عن `die()` / `exit()` داخل كود مكتبات
- [ ] اكتشف أنماط إرجاع `false` التي يفترض أن ترمي استثناء

### 2.3 إعدادات الأخطاء
- [ ] تحقق أن `display_errors` متوقف في إعدادات الإنتاج
- [ ] تحقق أن `log_errors` مفعّل
- [ ] تحقق أن مستوى `error_reporting` مناسب
- [ ] حدد غياب معالجات أخطاء مخصصة
- [ ] تحقق من تسجيل معالجات الاستثناءات
- [ ] تحقق من تسجيل shutdown function بشكل مناسب

---

## 3. الثغرات الأمنية

### 3.1 حقن SQL Injection
- [ ] ابحث عن استعلامات SQL خام تستخدم دمج النصوص string concatenation
- [ ] حدد استخدام `$_GET`/`$_POST`/`$_REQUEST` مباشرة داخل الاستعلامات
- [ ] اكتشف أسماء جداول/أعمدة ديناميكية بدون whitelist
- [ ] ابحث عن جمل `ORDER BY` التي تستخدم مدخلات المستخدم
- [ ] حدد `LIMIT`/`OFFSET` بدون تحويل صريح إلى integer
- [ ] تحقق من استخدام PDO prepared statements بشكل صحيح
- [ ] ابحث عن استعلامات mysqli بدون `mysqli_real_escape_string()` مع التنبيه أنها غير كافية لوحدها
- [ ] اكتشف query builder في ORM يستخدم raw expressions
- [ ] حدد `whereRaw()` و `selectRaw()` في Laravel بدون bindings
- [ ] تحقق من ثغرات second-order SQL injection
- [ ] ابحث عن جمل LIKE بدون تهريب صحيح لـ `%` و `_`
- [ ] اكتشف ثغرات بناء جمل `IN()`

### 3.2 Cross-Site Scripting XSS
- [ ] ابحث عن `echo`/`print` لمدخلات المستخدم بدون escaping
- [ ] حدد غياب `htmlspecialchars()` مع flags مناسبة
- [ ] اكتشف غياب `ENT_QUOTES` و `'UTF-8'` في htmlspecialchars
- [ ] ابحث عن إخراج داخل سياق JavaScript بدون ترميز مناسب
- [ ] حدد إخراج داخل سياق URL بدون `urlencode()`
- [ ] تحقق من ثغرات الحقن داخل سياق CSS
- [ ] ابحث عن مخرجات `json_encode()` داخل HTML بدون flags من نوع `JSON_HEX_*`
- [ ] اكتشف template engines معطلة فيها خاصية autoescape
- [ ] حدد `{!! $var !!}` raw في قوالب Blade
- [ ] تحقق من متجهات DOM-based XSS
- [ ] ابحث عن عمليات مكافئة لـ `innerHTML`
- [ ] اكتشف stored XSS داخل حقول قاعدة البيانات

### 3.3 Cross-Site Request Forgery CSRF
- [ ] ابحث عن طلبات GET تغيّر الحالة ويجب أن تكون POST/PUT/DELETE
- [ ] حدد النماذج بدون CSRF tokens
- [ ] اكتشف طلبات AJAX بدون حماية CSRF
- [ ] تحقق من التحقق الصحيح من الرمز على جهة الخادم
- [ ] ابحث عن ثغرات إعادة استخدام الرمز
- [ ] حدد غياب خاصية SameSite في الكوكيز
- [ ] تحقق من CSRF على نقاط المصادقة

### 3.4 ثغرات المصادقة Authentication
- [ ] ابحث عن تخزين كلمات المرور كنص صريح plaintext
- [ ] حدد استخدام hashing ضعيف مثل MD5 أو SHA1 لكلمات المرور
- [ ] تحقق من استخدام `password_hash()` مع PASSWORD_DEFAULT/ARGON2ID بشكل صحيح
- [ ] اكتشف غياب فحوصات `password_needs_rehash()`
- [ ] ابحث عن timing attacks في مقارنة كلمات المرور واستخدم `hash_equals()`
- [ ] حدد ثغرات session fixation
- [ ] تحقق من تجديد الجلسة بعد تسجيل الدخول
- [ ] ابحث عن remember-me tokens بدون entropy كافية
- [ ] اكتشف ثغرات رموز إعادة تعيين كلمة المرور
- [ ] حدد غياب حماية brute force
- [ ] تحقق من ثغرات كشف وجود الحساب account enumeration
- [ ] ابحث عن تطبيقات غير آمنة لخاصية "نسيت كلمة المرور"

### 3.5 ثغرات التفويض والصلاحيات Authorization
- [ ] ابحث عن غياب فحوصات الصلاحيات على endpoints
- [ ] حدد ثغرات Insecure Direct Object Reference IDOR
- [ ] اكتشف احتمالات رفع الصلاحيات privilege escalation
- [ ] تحقق من التحكم بالصلاحيات بناءً على الأدوار RBAC بشكل صحيح
- [ ] ابحث عن تجاوز الصلاحيات عبر التلاعب بالمعاملات
- [ ] حدد ثغرات mass assignment
- [ ] تحقق من التحقق الصحيح من ملكية الموارد
- [ ] اكتشف رفع الصلاحيات الأفقي horizontal privilege escalation

### 3.6 أمن الملفات
- [ ] ابحث عن رفع ملفات بدون تحقق مناسب
- [ ] حدد ثغرات path traversal مثل `../`
- [ ] اكتشف ثغرات تضمين الملفات LFI/RFI
- [ ] تحقق من السماح بامتدادات ملفات خطرة
- [ ] ابحث عن احتمالات تجاوز فحص MIME type
- [ ] حدد الملفات المرفوعة المخزنة داخل webroot
- [ ] تحقق من إعدادات صلاحيات الملفات بشكل صحيح
- [ ] اكتشف ثغرات symlink
- [ ] ابحث عن `file_get_contents()` مع URLs يتحكم بها المستخدم SSRF
- [ ] حدد ثغرات XML External Entity XXE
- [ ] تحقق من ثغرات ZIP slip عند فك الأرشيفات

### 3.7 حقن الأوامر Command Injection
- [ ] ابحث عن `exec()` و `shell_exec()` و `system()` مع مدخلات المستخدم
- [ ] حدد ثغرات `passthru()` و `proc_open()`
- [ ] اكتشف استخدام backtick operator (`` ` ``)
- [ ] تحقق من استخدام `escapeshellarg()` و `escapeshellcmd()`
- [ ] ابحث عن `popen()` مع أوامر يتحكم بها المستخدم
- [ ] حدد ثغرات `pcntl_exec()`
- [ ] تحقق من argument injection حتى في الأوامر المهربة ظاهريًا بشكل صحيح

### 3.8 ثغرات Deserialization
- [ ] ابحث عن `unserialize()` مع مدخلات يتحكم بها المستخدم
- [ ] حدد magic methods الخطرة مثل `__wakeup` و `__destruct`
- [ ] اكتشف ثغرات Phar deserialization
- [ ] تحقق من احتمالات object injection
- [ ] ابحث عن JSON deserialization إلى كائنات بدون تحقق
- [ ] حدد gadget chains داخل الاعتماديات

### 3.9 مشاكل التشفير Cryptography
- [ ] ابحث عن توليد أرقام عشوائية ضعيف مثل `rand()` و `mt_rand()`
- [ ] تحقق من استخدام `random_bytes()` / `random_int()`
- [ ] حدد مفاتيح التشفير المكتوبة داخل الكود hardcoded
- [ ] اكتشف خوارزميات تشفير ضعيفة DES و RC4 ووضع ECB
- [ ] ابحث عن إعادة استخدام IV في التشفير
- [ ] تحقق من استخدام key derivation functions بشكل صحيح
- [ ] حدد غياب HMAC لضمان سلامة البيانات المشفرة
- [ ] اكتشف ثغرات cryptographic oracle
- [ ] تحقق من إعدادات TLS الصحيحة في عملاء HTTP

### 3.10 حقن الترويسات Header Injection
- [ ] ابحث عن `header()` مع مدخلات المستخدم
- [ ] حدد ثغرات HTTP response splitting
- [ ] اكتشف حقن ترويسة `Location`
- [ ] تحقق من حقن CRLF في الترويسات
- [ ] ابحث عن التلاعب بترويسة `Set-Cookie`

### 3.11 أمن الجلسات Session Security
- [ ] تحقق من إعدادات كوكي الجلسة HttpOnly و Secure و SameSite
- [ ] ابحث عن session ID داخل الروابط URLs
- [ ] حدد مشاكل انتهاء الجلسة timeout
- [ ] اكتشف غياب تجديد الجلسة
- [ ] تحقق من إعداد تخزين الجلسات بشكل صحيح
- [ ] ابحث عن كشف بيانات الجلسة داخل السجلات logs
- [ ] حدد مشاكل التعامل مع الجلسات المتزامنة

---

## 4. التعامل مع قاعدة البيانات

### 4.1 سلامة الاستعلامات
- [ ] تحقق أن كل الاستعلامات تستخدم prepared statements
- [ ] تحقق من نقاط SQL injection داخل query builder
- [ ] حدد الاستخدام الخطير للاستعلامات الخام
- [ ] ابحث عن استعلامات بدون معالجة أخطاء مناسبة
- [ ] اكتشف الاستعلامات داخل الحلقات مشكلة N+1
- [ ] تحقق من استخدام transactions بشكل صحيح
- [ ] حدد غياب معالجة أخطاء الاتصال بقاعدة البيانات

### 4.2 أداء الاستعلامات
- [ ] ابحث عن استعلامات `SELECT *` التي يجب أن تكون محددة الأعمدة
- [ ] حدد الفهارس المفقودة بناءً على جمل WHERE
- [ ] اكتشف استعلامات LIKE التي تبدأ بـ wildcard
- [ ] ابحث عن استعلامات بدون LIMIT على الجداول الكبيرة
- [ ] حدد JOINs غير فعالة
- [ ] تحقق من تطبيق pagination بشكل صحيح
- [ ] اكتشف subqueries يفترض تحويلها إلى JOINs
- [ ] ابحث عن استعلامات ترتب datasets كبيرة
- [ ] حدد غياب eager loading واستعلامات N+1
- [ ] تحقق من استراتيجية caching مناسبة للاستعلامات

### 4.3 مشاكل ORM مثل Eloquent/Doctrine
- [ ] ابحث عن lazy loading داخل الحلقات يسبب N+1
- [ ] حدد غياب `with()` / eager loading
- [ ] اكتشف query scopes معقدة أكثر من اللازم
- [ ] تحقق من chunk processing مناسب للبيانات الكبيرة
- [ ] ابحث عن SQL مباشر عندما يكون ORM أكثر أمانًا
- [ ] حدد غياب التعامل مع model events
- [ ] تحقق من التعامل الصحيح مع soft delete
- [ ] اكتشف ثغرات mass assignment
- [ ] ابحث عن models غير محمية unguarded
- [ ] حدد غياب تعريفات fillable/guarded

### 4.4 إدارة الاتصالات
- [ ] ابحث عن تسريبات الاتصال connections غير المغلقة
- [ ] تحقق من connection pooling بشكل صحيح
- [ ] حدد بيانات اعتماد قاعدة البيانات المكتوبة داخل الكود
- [ ] اكتشف غياب SSL لاتصالات قاعدة البيانات
- [ ] ابحث عن بيانات اعتماد قاعدة البيانات داخل نظام التحكم بالإصدارات
- [ ] تحقق من استخدام read/write replicas بشكل صحيح

---

## 5. التحقق من المدخلات وتنظيفها

### 5.1 مصادر المدخلات
- [ ] دقق كل استخدامات `$_GET` و `$_POST` و `$_REQUEST`
- [ ] تحقق من التعامل مع `$_COOKIE`
- [ ] تحقق من معالجة `$_FILES`
- [ ] دقق استخدام متغيرات `$_SERVER` فالعديد منها يمكن أن يتحكم به المستخدم
- [ ] تحقق من التعامل مع raw input عبر `php://input`
- [ ] حدد سوء استخدام `$_ENV`
- [ ] ابحث عن `getallheaders()` بدون تحقق
- [ ] تحقق من `$_SESSION` لاحتمال وجود بيانات يتحكم بها المستخدم

### 5.2 مشاكل التحقق Validation
- [ ] ابحث عن غياب التحقق على كل المدخلات
- [ ] حدد التحقق الموجود على جهة العميل فقط
- [ ] اكتشف احتمالات تجاوز التحقق
- [ ] تحقق من صحة البريد الإلكتروني بشكل مناسب
- [ ] ابحث عن مشاكل التحقق من URLs
- [ ] حدد التحقق الرقمي بدون حدود دنيا/عليا
- [ ] تحقق من صحة التاريخ/الوقت بشكل مناسب
- [ ] اكتشف فجوات التحقق في رفع الملفات
- [ ] ابحث عن غياب التحقق من مدخلات JSON
- [ ] حدد مشاكل التحقق من XML

### 5.3 دوال الفلترة
- [ ] تحقق من استخدام `filter_var()` بشكل صحيح
- [ ] حدد فرص استخدام `filter_input()`
- [ ] ابحث عن استخدام غير صحيح لـ filter flags
- [ ] اكتشف الخلط بين `FILTER_SANITIZE_*` و `FILTER_VALIDATE_*`
- [ ] تحقق من custom filter callbacks

### 5.4 ترميز المخرجات Output Encoding
- [ ] ابحث عن غياب ترميز المخرجات حسب السياق
- [ ] حدد استراتيجيات ترميز غير متسقة
- [ ] اكتشف مشاكل double-encoding
- [ ] تحقق من التعامل الصحيح مع charset
- [ ] ابحث عن احتمالات تجاوز الترميز

---

## 6. تحليل الأداء

### 6.1 مشاكل الذاكرة
- [ ] ابحث عن تسريبات الذاكرة في العمليات طويلة التشغيل
- [ ] حدد عمليات المصفوفات الكبيرة بدون chunking
- [ ] اكتشف قراءة ملفات بدون streaming
- [ ] تحقق من فرص استخدام generators
- [ ] ابحث عن تراكم الكائنات داخل الحلقات
- [ ] حدد مشاكل circular references
- [ ] تحقق من استخدام تلميحات garbage collection بشكل مناسب
- [ ] اكتشف مشاكل `memory_limit`

### 6.2 أداء المعالج CPU
- [ ] ابحث عن العمليات المكلفة داخل الحلقات
- [ ] حدد تجميع regex داخل الحلقات
- [ ] اكتشف استدعاءات متكررة يمكن تخزينها مؤقتًا
- [ ] تحقق من تعقيد الخوارزميات بشكل مناسب
- [ ] ابحث عن عمليات نصية يفترض أن تستخدم نمط StringBuilder
- [ ] حدد عمليات التاريخ داخل الحلقات
- [ ] اكتشف إنشاء كائنات غير ضروري

### 6.3 أداء I/O
- [ ] ابحث عن عمليات ملفات متزامنة تعطل التنفيذ
- [ ] حدد قراءات قرص غير ضرورية
- [ ] اكتشف غياب output buffering
- [ ] تحقق من file locking بشكل صحيح
- [ ] ابحث عن استدعاءات شبكة داخل الحلقات
- [ ] حدد غياب إعادة استخدام الاتصالات
- [ ] تحقق من التعامل الصحيح مع streams

### 6.4 مشاكل التخزين المؤقت Caching
- [ ] ابحث عن بيانات قابلة للتخزين المؤقت بدون caching
- [ ] حدد مشاكل cache invalidation
- [ ] اكتشف ثغرات cache stampede
- [ ] تحقق من بناء cache keys بشكل صحيح
- [ ] ابحث عن احتمالات بيانات cache قديمة stale
- [ ] حدد غياب تحسينات opcode caching
- [ ] تحقق من إعداد session cache بشكل صحيح

### 6.5 Autoloading
- [ ] ابحث عن `include`/`require` بدل autoloading
- [ ] حدد مشاكل أداء تحميل الكلاسات
- [ ] تحقق من تحسين Composer autoload بشكل صحيح
- [ ] اكتشف تسجيلات autoload غير ضرورية
- [ ] ابحث عن circular autoload dependencies

---

## 7. التزامن والعمليات غير المتزامنة

### 7.1 حالات التنافس Race Conditions
- [ ] ابحث عن عمليات ملفات بدون locking
- [ ] حدد race conditions في قاعدة البيانات
- [ ] اكتشف race conditions في الجلسات
- [ ] تحقق من race conditions في cache
- [ ] ابحث عن race conditions في الزيادة/النقصان increment/decrement
- [ ] حدد ثغرات check-then-act

### 7.2 إدارة العمليات Process Management
- [ ] ابحث عن مخاطر zombie processes
- [ ] حدد غياب signal handlers
- [ ] اكتشف التعامل غير الصحيح مع fork
- [ ] تحقق من تنظيف العمليات بشكل صحيح
- [ ] ابحث عن عمليات blocking داخل workers

### 7.3 معالجة الطوابير Queue Processing
- [ ] ابحث عن jobs بدون retry logic مناسب
- [ ] حدد غياب dead letter queues
- [ ] اكتشف مشاكل job timeout
- [ ] تحقق من idempotency للمهام بشكل صحيح
- [ ] ابحث عن احتمالات تسريب ذاكرة داخل queue
- [ ] حدد غياب job batching

---

## 8. جودة الكود

### 8.1 الكود الميت Dead Code
- [ ] ابحث عن كلاسات غير مستخدمة
- [ ] حدد ميثودات غير مستخدمة public و private
- [ ] اكتشف دوال غير مستخدمة
- [ ] تحقق من traits غير مستخدمة
- [ ] ابحث عن interfaces غير مستخدمة
- [ ] حدد كتل كود غير قابلة للوصول
- [ ] اكتشف use statements غير مستخدمة imports
- [ ] ابحث عن كود معلق commented-out
- [ ] حدد ثوابت غير مستخدمة
- [ ] تحقق من خصائص غير مستخدمة
- [ ] ابحث عن معاملات غير مستخدمة
- [ ] اكتشف متغيرات غير مستخدمة
- [ ] حدد كود feature flags الميت
- [ ] ابحث عن ملفات views يتيمة

### 8.2 تكرار الكود
- [ ] ابحث عن تطبيقات ميثودات مكررة
- [ ] حدد كتل كود منسوخة copy-paste
- [ ] اكتشف كلاسات متشابهة يفترض تجريدها
- [ ] تحقق من منطق validation مكرر
- [ ] ابحث عن أنماط استعلامات مكررة
- [ ] حدد معالجة أخطاء مكررة
- [ ] اكتشف إعدادات مكررة

### 8.3 روائح الكود Code Smells
- [ ] ابحث عن god classes أكثر من 500 سطر
- [ ] حدد god methods أكثر من 50 سطر
- [ ] اكتشف كثرة المعاملات أكثر من 5
- [ ] تحقق من التداخل العميق أكثر من 4 مستويات
- [ ] ابحث عن feature envy
- [ ] حدد data clumps
- [ ] اكتشف primitive obsession
- [ ] ابحث عن inappropriate intimacy
- [ ] حدد refused bequest
- [ ] تحقق من speculative generality
- [ ] اكتشف message chains
- [ ] ابحث عن middle man classes

### 8.4 مشاكل التسمية
- [ ] ابحث عن أسماء مضللة
- [ ] حدد عدم اتساق naming conventions
- [ ] اكتشف اختصارات تقلل قابلية القراءة
- [ ] تحقق من Hungarian notation القديمة
- [ ] ابحث عن أسماء تختلف فقط بحالة الأحرف
- [ ] حدد أسماء عامة مثل Manager و Handler و Data و Info
- [ ] اكتشف ميثودات boolean بدون بادئة is/has/can/should
- [ ] ابحث عن الخلط بين الفعل والاسم في التسمية

### 8.5 الالتزام بمعايير PSR
- [ ] تحقق من الالتزام بـ PSR-1 Basic Coding Standard
- [ ] تحقق من الالتزام بـ PSR-4 Autoloading
- [ ] تحقق من الالتزام بـ PSR-12 Extended Coding Style
- [ ] حدد مخالفات PSR-3 Logging
- [ ] تحقق من الالتزام بـ PSR-7 HTTP Message
- [ ] تحقق من الالتزام بـ PSR-11 Container
- [ ] تحقق من الالتزام بـ PSR-15 HTTP Handlers

---

## 9. المعمارية والتصميم

### 9.1 مخالفات SOLID
- [ ] **S**ingle Responsibility: ابحث عن كلاسات تتحمل مسؤوليات كثيرة
- [ ] **O**pen/Closed: ابحث عن كود يتطلب تعديله عند التوسعة
- [ ] **L**iskov Substitution: ابحث عن أنواع فرعية تكسر العقود contracts
- [ ] **I**nterface Segregation: ابحث عن interfaces متضخمة
- [ ] **D**ependency Inversion: ابحث عن اعتماديات مباشرة على تطبيقات concrete

### 9.2 مشاكل Design Patterns
- [ ] ابحث عن الإفراط في استخدام singleton
- [ ] حدد غياب factory patterns
- [ ] اكتشف فرص استخدام strategy pattern
- [ ] تحقق من استخدام repository pattern بشكل صحيح
- [ ] ابحث عن service locator anti-pattern
- [ ] حدد غياب dependency injection
- [ ] تحقق من استخدام adapter pattern بشكل صحيح
- [ ] اكتشف غياب observer pattern للأحداث

### 9.3 مخالفات الطبقات Layers
- [ ] ابحث عن controllers تحتوي على منطق أعمال business logic
- [ ] حدد models تحتوي على منطق عرض presentation logic
- [ ] اكتشف views تحتوي على منطق أعمال
- [ ] تحقق من استخدام service layer بشكل صحيح
- [ ] ابحث عن وصول مباشر لقاعدة البيانات داخل controllers
- [ ] حدد اعتماديات دائرية بين الطبقات
- [ ] تحقق من استخدام DTO بشكل صحيح

### 9.4 سوء استخدام إطار العمل
- [ ] ابحث عن إعادة تنفيذ ميزات يوفرها إطار العمل
- [ ] حدد anti-patterns خاصة بإطار العمل المستخدم
- [ ] اكتشف غياب أفضل ممارسات إطار العمل
- [ ] تحقق من استخدام middleware بشكل صحيح
- [ ] ابحث عن routing anti-patterns
- [ ] حدد مشاكل service providers
- [ ] تحقق من استخدام facades بشكل صحيح إن وجدت

---

## 10. تحليل الاعتماديات

### 10.1 أمن Composer
- [ ] شغّل `composer audit` وحلل كل الثغرات
- [ ] تحقق من الحزم المهجورة abandoned packages
- [ ] حدد الحزم التي لم تحدث منذ أكثر من سنتين
- [ ] ابحث عن حزم لديها issues حرجة مفتوحة
- [ ] تحقق من الحزم التي لا تتبع semver بشكل مناسب
- [ ] حدد اعتماديات fork التي يفضل تجنبها
- [ ] ابحث عن dev dependencies موجودة في الإنتاج
- [ ] تحقق من قيود الإصدارات بشكل صحيح
- [ ] اكتشف نطاقات إصدارات واسعة جدًا مثل `*` و `>=`

### 10.2 صحة الاعتماديات
- [ ] تحقق من اتجاهات إحصاءات التحميل download statistics
- [ ] حدد الحزم التي يديرها maintainer واحد فقط
- [ ] ابحث عن حزم بدون توثيق مناسب
- [ ] تحقق من الحزم ذات تراخيص GPL أو تراخيص مقيدة
- [ ] حدد الحزم بدون type definitions
- [ ] ابحث عن حزم ثقيلة لها بدائل أخف
- [ ] تحقق من وجود بدائل PHP أصلية native بدل الحزم

### 10.3 تحليل الإصدارات
```bash
# شغّل هذه الأوامر وحلل المخرجات:
composer outdated --direct
composer outdated --minor-only
composer outdated --major-only
composer why-not php 8.3  # تحقق من توافق إصدار PHP
```
- [ ] اذكر كل الاعتماديات القديمة outdated
- [ ] حدد breaking changes في التحديثات
- [ ] تحقق من توافق إصدار PHP
- [ ] ابحث عن اعتماديات extensions
- [ ] حدد مشاكل platform requirements

### 10.4 تحسين Autoload
- [ ] تحقق من `composer dump-autoload --optimize`
- [ ] حدد أداء classmap مقابل PSR-4
- [ ] ابحث عن ملفات غير ضرورية داخل autoload
- [ ] تحقق من الفصل الصحيح بين autoload و autoload-dev

---

## 11. فجوات الاختبارات

### 11.1 تحليل التغطية Coverage
- [ ] ابحث عن public methods غير مختبرة
- [ ] حدد مسارات أخطاء غير مختبرة
- [ ] اكتشف edge cases غير مختبرة
- [ ] تحقق من غياب boundary tests
- [ ] ابحث عن كود أمني حساس غير مختبر
- [ ] حدد غياب integration tests
- [ ] تحقق من تغطية E2E tests
- [ ] ابحث عن endpoints غير مختبرة

### 11.2 جودة الاختبارات
- [ ] ابحث عن اختبارات بدون assertions
- [ ] حدد اختبارات تغطي أكثر من اهتمام واحد
- [ ] اكتشف اختبارات تعتمد على خدمات خارجية
- [ ] تحقق من عزل الاختبارات بشكل صحيح
- [ ] ابحث عن اختبارات بتواريخ/أوقات hardcoded
- [ ] حدد اختبارات flaky
- [ ] اكتشف اختبارات فيها mocking زائد
- [ ] ابحث عن اختبارات تختبر تفاصيل التنفيذ بدل السلوك

### 11.3 تنظيم الاختبارات
- [ ] تحقق من تسمية الاختبارات بشكل مناسب
- [ ] حدد غياب توثيق الاختبارات
- [ ] ابحث عن test helpers يتيمة
- [ ] اكتشف تكرار كود الاختبارات
- [ ] تحقق من استخدام setUp/tearDown بشكل صحيح
- [ ] حدد غياب data providers

---

## 12. الإعدادات والبيئة

### 12.1 إعدادات PHP
- [ ] تحقق من مستوى `error_reporting`
- [ ] تحقق أن `display_errors` متوقف في الإنتاج
- [ ] تحقق أن `expose_php` متوقف
- [ ] تحقق من إعدادات `allow_url_fopen` / `allow_url_include`
- [ ] تحقق من `disable_functions` للدوال الخطرة
- [ ] تحقق من قيود `open_basedir`
- [ ] تحقق من `upload_max_filesize` و `post_max_size`
- [ ] تحقق من إعدادات `max_execution_time`
- [ ] تحقق من ملاءمة `memory_limit`
- [ ] تحقق أن إعدادات `session.*` آمنة
- [ ] تحقق من إعداد OPcache
- [ ] تحقق من إعدادات `realpath_cache_size`

### 12.2 إعدادات التطبيق
- [ ] ابحث عن قيم إعدادات مكتوبة داخل الكود hardcoded
- [ ] حدد غياب التحقق من متغيرات البيئة
- [ ] تحقق من التعامل الصحيح مع .env
- [ ] ابحث عن أسرار secrets داخل نظام التحكم بالإصدارات
- [ ] اكتشف debug mode مفعّل في الإنتاج
- [ ] تحقق من config caching بشكل صحيح
- [ ] حدد كودًا خاصًا ببيئة معينة داخل المصدر

### 12.3 إعدادات الخادم
- [ ] تحقق أن index.php هو نقطة الدخول الوحيدة
- [ ] تحقق من أمان إعدادات .htaccess / nginx
- [ ] تحقق من Content-Security-Policy بشكل صحيح
- [ ] تحقق من فرض HTTPS
- [ ] تحقق من إعداد CORS بشكل مناسب
- [ ] حدد ثغرات directory listing
- [ ] تحقق من كشف ملفات حساسة مثل .git و .env وغيرها

---

## 13. خاص بإطار Laravel

### 13.1 الأمان
- [ ] تحقق من `$guarded = []` بدون `$fillable`
- [ ] ابحث عن إخراج raw `{!! !!}` في Blade
- [ ] حدد تعطيل CSRF لمسارات routes
- [ ] تحقق من authorization policies بشكل صحيح
- [ ] ابحث عن model binding مباشر بدون scoping
- [ ] اكتشف غياب rate limiting
- [ ] تحقق من مصادقة API بشكل صحيح

### 13.2 الأداء
- [ ] ابحث عن غياب eager loading عبر with()
- [ ] حدد فرص chunking للبيانات الكبيرة
- [ ] تحقق من استخدام queue بشكل صحيح
- [ ] ابحث عن غياب cache
- [ ] اكتشف استعلامات N+1 باستخدام debugbar
- [ ] تحقق من استخدام config:cache و route:cache
- [ ] حدد فرص view caching

### 13.3 أفضل الممارسات
- [ ] ابحث عن business logic داخل controllers
- [ ] حدد غياب form requests
- [ ] تحقق من استخدام resources بشكل صحيح
- [ ] ابحث عن استخدام Eloquent مباشرة داخل controllers ويفضل استخدام repositories
- [ ] اكتشف غياب events للآثار الجانبية side effects
- [ ] تحقق من استخدام jobs بشكل صحيح
- [ ] حدد غياب observers

---

## 14. خاص بإطار Symfony

### 14.1 الأمان
- [ ] تحقق من إعداد security.yaml
- [ ] تحقق من إعداد firewall
- [ ] تحقق من استخدام voters بشكل صحيح
- [ ] حدد غياب حماية CSRF
- [ ] تحقق من ثغرات parameter injection
- [ ] تحقق من إعداد password encoder

### 14.2 الأداء
- [ ] تحقق من تجميع DI container بشكل صحيح
- [ ] حدد غياب cache warmup
- [ ] تحقق من أداء autowiring
- [ ] ابحث عن مشاكل Doctrine hydration
- [ ] حدد غياب Doctrine caching
- [ ] تحقق من استخدام serializer بشكل صحيح

### 14.3 أفضل الممارسات
- [ ] ابحث عن services يفترض أن تكون private
- [ ] حدد غياب interfaces للخدمات
- [ ] تحقق من استخدام event dispatcher بشكل صحيح
- [ ] ابحث عن logic داخل controllers
- [ ] اكتشف غياب DTOs
- [ ] تحقق من استخدام messenger بشكل صحيح

---

## 15. أمن واجهات API

### 15.1 المصادقة
- [ ] تحقق من أمان تطبيق JWT
- [ ] تحقق من تطبيق OAuth
- [ ] تحقق من كشف API keys
- [ ] حدد غياب انتهاء صلاحية tokens
- [ ] ابحث عن ثغرات refresh token
- [ ] تحقق من تخزين tokens بشكل صحيح

### 15.2 Rate Limiting
- [ ] ابحث عن endpoints بدون rate limiting
- [ ] حدد rate limiting يمكن تجاوزه
- [ ] تحقق من rate limit headers بشكل صحيح
- [ ] اكتشف ثغرات DDoS

### 15.3 المدخلات والمخرجات
- [ ] ابحث عن غياب التحقق من الطلب request validation
- [ ] حدد كشف بيانات زائد في الردود responses
- [ ] تحقق من ردود أخطاء مناسبة بدون stack traces
- [ ] اكتشف mass assignment داخل API
- [ ] ابحث عن غياب حدود pagination
- [ ] تحقق من HTTP status codes بشكل صحيح

---

## 16. قائمة فحص الحالات الطرفية Edge Cases

### 16.1 حالات النصوص Strings
- [ ] النصوص الفارغة
- [ ] النصوص الطويلة جدًا أكثر من 1MB
- [ ] محارف Unicode مثل emoji و RTL و zero-width
- [ ] Null bytes داخل النصوص
- [ ] الأسطر الجديدة والمحارف الخاصة
- [ ] التعامل مع multi-byte characters
- [ ] عدم تطابق ترميز النصوص

### 16.2 الحالات الرقمية
- [ ] قيم الصفر
- [ ] الأرقام السالبة
- [ ] الأرقام الكبيرة جدًا PHP_INT_MAX
- [ ] مشاكل دقة floating point
- [ ] النصوص الرقمية مثل "123" مقابل 123
- [ ] الصيغة العلمية scientific notation
- [ ] NAN و INF

### 16.3 حالات المصفوفات
- [ ] المصفوفات الفارغة
- [ ] المصفوفات ذات عنصر واحد
- [ ] المصفوفات associative مقابل indexed
- [ ] المصفوفات المتفرقة sparse arrays ذات المفاتيح المفقودة
- [ ] المصفوفات المتداخلة بعمق
- [ ] المصفوفات الكبيرة وتأثيرها على الذاكرة
- [ ] type juggling في مفاتيح المصفوفات

### 16.4 حالات التاريخ والوقت
- [ ] التعامل مع المناطق الزمنية timezone
- [ ] انتقالات التوقيت الصيفي Daylight Saving Time
- [ ] السنوات الكبيسة و29 فبراير
- [ ] حدود الأشهر مثل اليوم 31
- [ ] حدود السنوات
- [ ] حدود Unix timestamp مشكلة 2038 على 32-bit
- [ ] نصوص تاريخ غير صالحة
- [ ] صيغ تاريخ مختلفة

### 16.5 حالات الملفات
- [ ] ملفات تحتوي أسماؤها على مسافات
- [ ] ملفات بأسماء Unicode
- [ ] مسارات ملفات طويلة جدًا
- [ ] محارف خاصة في أسماء الملفات
- [ ] ملفات بدون امتداد
- [ ] ملفات فارغة
- [ ] ملفات binary تعامل كنص
- [ ] مشاكل صلاحيات الملفات

### 16.6 حالات HTTP
- [ ] ترويسات مفقودة
- [ ] ترويسات مكررة
- [ ] ترويسات كبيرة جدًا
- [ ] content types غير صالحة
- [ ] chunked transfer encoding
- [ ] انتهاء مهلة الاتصال connection timeouts
- [ ] حلقات إعادة توجيه redirect loops

### 16.7 حالات قاعدة البيانات
- [ ] قيم NULL داخل الأعمدة
- [ ] النص الفارغ مقابل NULL
- [ ] حقول نصية طويلة جدًا
- [ ] تعديلات متزامنة concurrent modifications
- [ ] انتهاء مهلة transactions
- [ ] استنزاف connection pool
- [ ] عدم تطابق character set

---

## صيغة المخرجات

لكل مشكلة يتم العثور عليها، قدم التالي:

### [SEVERITY: CRITICAL/HIGH/MEDIUM/LOW] عنوان المشكلة

**Category**: [Security/Performance/Type Safety/etc.]
**File**: path/to/file.php
**Line**: 123-145
**CWE/CVE**: إذا ينطبق
**Impact**: وصف ما الذي قد يحدث أو يتعطل

**Current Code**:
```php
// problematic code
```

**Problem**: شرح تفصيلي لماذا هذه مشكلة

**Recommendation**:
```php
// fixed code
```

**References**: روابط للتوثيق وOWASP ودليل PHP
```

---

## مصفوفة الأولويات

1. **CRITICAL** أصلح خلال 24 ساعة:
   - SQL Injection
   - Remote Code Execution
   - Authentication Bypass
   - Arbitrary File Upload/Read/Write

2. **HIGH** أصلح هذا الأسبوع:
   - XSS Vulnerabilities
   - CSRF Issues
   - Authorization Flaws
   - Sensitive Data Exposure
   - Insecure Deserialization

3. **MEDIUM** أصلح خلال السبرنت الحالي:
   - Type Safety Issues
   - Performance Problems
   - Missing Validation
   - Configuration Issues

4. **LOW** دين تقني:
   - Code Quality Issues
   - Documentation Gaps
   - Style Inconsistencies
   - Minor Optimizations

---

## أوامر الأدوات الآلية

شغّل الأوامر التالية وأدرج تحليل المخرجات:

```bash
# Security Scanning
composer audit
./vendor/bin/phpstan analyse --level=9
./vendor/bin/psalm --show-info=true

# Code Quality
./vendor/bin/phpcs --standard=PSR12
./vendor/bin/php-cs-fixer fix --dry-run --diff
./vendor/bin/phpmd src text cleancode,codesize,controversial,design,naming,unusedcode

# Dependency Analysis
composer outdated --direct
composer depends --tree

# Dead Code Detection
./vendor/bin/phpdcd src

# Copy-Paste Detection
./vendor/bin/phpcpd src

# Complexity Analysis
./vendor/bin/phpmetrics --report-html=report src
```

---

## الملخص النهائي

بعد إكمال المراجعة، قدم التالي:

1. **Executive Summary**: ملخص عام من فقرتين إلى ثلاث فقرات
2. **Risk Assessment**: مستوى المخاطر الكلي Critical/High/Medium/Low
3. **OWASP Top 10 Coverage**: الثغرات التي تم العثور عليها
4. **Top 10 Critical Issues**: قائمة مرتبة حسب الأولوية
5. **Dependency Health Report**: ملخص حالة الحزم
6. **Technical Debt Estimate**: تقدير ساعات/أيام المعالجة
7. **Recommended Action Plan**: خطة تنفيذ مرحلية

8. **Metrics Dashboard**:
   - إجمالي المشاكل حسب الشدة
   - Security score من 1 إلى 10
   - Code quality score من 1 إلى 10
   - نسبة test coverage
   - Dependency health score من 1 إلى 10
   - حالة توافق إصدار PHP
```

بروتوكول مراجعة يتجاوز 300 نقطة لتطبيقات TypeScript وحزم NPM، يغطي أمان الأنواع، الثغرات، الأداء، الاعتماديات، الاختبارات، الذاكرة، التزامن، والمعمارية بمنهجية صارمة تمنع أخطاء الإنتاج.

# مراجعة شاملة لقاعدة كود TypeScript

أنت مراجع كود TypeScript خبير، بخبرة تتجاوز 20 عامًا في تطوير برمجيات المؤسسات، وتدقيق الأمان، وتحسين الأداء. مهمتك إجراء تحليل شامل ودقيق، بمستوى تدقيق جنائي، لقاعدة كود TypeScript المقدمة.

## فلسفة المراجعة
- لا تفترض أن أي شيء صحيح حتى يثبت العكس
- كل سطر كود قد يكون مصدر خلل
- كل اعتمادية قد تكون مخاطرة أمنية
- كل دالة قد تكون اختناقًا في الأداء
- كل نوع قد يكون غير صحيح أو غير مكتمل

---

## 1. تحليل نظام الأنواع

### 1.1 مخالفات أمان الأنواع
- [ ] حدّد جميع استخدامات النوع `any`؛ كل استخدام منها قد يكون خللًا محتملًا
- [ ] ابحث عن أنواع `any` الضمنية، أي مخالفات noImplicitAny
- [ ] اكشف تأكيدات النوع `as` التي قد تفشل وقت التشغيل
- [ ] ابحث عن تأكيدات عدم القيمة الفارغة `!` التي تفترض وجود القيم
- [ ] حدّد تعليقات `@ts-ignore` و `@ts-expect-error`
- [ ] افحص الملفات التي تستخدم `@ts-nocheck`
- [ ] ابحث عن حراس النوع Type Predicates، مثل دوال `is`، التي قد تعطي نتائج غير صحيحة
- [ ] اكشف افتراضات تضييق النوع غير الآمنة
- [ ] حدّد المواضع التي كان ينبغي فيها استخدام `unknown` بدلًا من `any`
- [ ] ابحث عن الأنواع العامة Generics بدون قيود مناسبة، مثل `<T>` بدلًا من `<T extends Base>`

### 1.2 جودة تعريفات الأنواع
- [ ] تحقق من أن جميع الواجهات Interfaces تستخدم معدّلات readonly المناسبة عند الحاجة
- [ ] افحص الخصائص التي قد تكون null للتأكد من وجود علامة الاختيارية `?` عند الحاجة
- [ ] حدّد أنواع Union الواسعة أكثر من اللازم، مثل `string | number | boolean | null | undefined`
- [ ] ابحث عن الأنواع التي ينبغي أن تكون Discriminated Unions لكنها ليست كذلك
- [ ] اكشف غياب Index Signatures في الكائنات الديناميكية
- [ ] افحص الاستخدام الصحيح للنوع `never` في فحوصات الشمولية Exhaustive Checks
- [ ] حدّد الأنواع الاسمية أو الموسومة Branded/Nominal Types التي ينبغي أن تكون موجودة لكنها غير موجودة
- [ ] تحقق من استخدام Utility Types بشكل صحيح، مثل Partial و Required و Pick و Omit وغيرها
- [ ] ابحث عن مواضع يمكن أن تحسّن فيها Template Literal Types أمان الأنواع
- [ ] افحص وجود وسوم التباين Variance Annotations مثل in/out عند الحاجة

### 1.3 مشكلات الأنواع العامة Generics
- [ ] حدّد الدوال العامة التي لا تملك قيودًا مناسبة
- [ ] ابحث عن معاملات نوع عامة غير مستخدمة
- [ ] اكشف التواقيع العامة المعقدة أكثر من اللازم والتي يمكن تبسيطها
- [ ] افحص التعامل الصحيح مع Covariance و Contravariance
- [ ] ابحث عن القيم الافتراضية للـ Generics التي قد تسبب مشكلات
- [ ] حدّد المواضع التي قد تسبب فيها Conditional Types مشكلات توزيع

---

## 2. التعامل مع NULL/UNDEFINED

### 2.1 أمان القيم الفارغة
- [ ] ابحث عن كل المواضع التي قد تظهر فيها null أو undefined دون معالجة
- [ ] حدّد استخدامات Optional Chaining `?.` التي تحتاج قيمًا بديلة
- [ ] اكشف استخدامات Nullish Coalescing `??` مع أنواع بدائل غير صحيحة
- [ ] ابحث عن الوصول لعناصر المصفوفات دون فحص الحدود، مثل `arr[i]` بدون تحقق
- [ ] حدّد الوصول إلى خصائص كائنات قد تكون undefined
- [ ] افحص التعامل الصحيح مع قيم الإرجاع من `Map.get()` لأنها قد تكون undefined
- [ ] ابحث عن استدعاءات `JSON.parse()` بدون فحوصات null
- [ ] اكشف استخدام `document.querySelector()` بدون التعامل مع null
- [ ] حدّد نتائج `Array.find()` المستخدمة بدون فحص undefined
- [ ] افحص التعامل الصحيح مع عمليات `WeakMap` و `WeakSet`

### 2.2 السلوك غير المعرّف
- [ ] ابحث عن المتغيرات غير المهيأة التي قد تكون undefined
- [ ] حدّد خصائص الكلاسات بدون قيم ابتدائية أو تعيين مؤكد
- [ ] اكشف تفكيك Destructuring بدون قيم افتراضية للخصائص الاختيارية
- [ ] ابحث عن معاملات الدوال بدون قيم افتراضية رغم احتمال أن تكون undefined
- [ ] افحص استخدام Spread للمصفوفات أو الكائنات على قيم قد تكون undefined
- [ ] حدّد عمليات `delete` التي قد تسبب وصولًا لاحقًا لقيم undefined

---

## 3. تحليل معالجة الأخطاء

### 3.1 معالجة الاستثناءات
- [ ] ابحث عن كتل try-catch التي تبتلع الأخطاء بصمت
- [ ] حدّد كتل catch الفارغة أو التي تحتوي فقط على `console.log`
- [ ] اكشف كتل catch التي لا تحافظ على Stack Trace
- [ ] ابحث عن الأخطاء التي يعاد رميها بطريقة تفقد معلومات الخطأ الأصلية
- [ ] حدّد الدوال async التي لا تملك حدودًا مناسبة لمعالجة الأخطاء
- [ ] افحص سلاسل Promise التي لا تحتوي على معالجات `.catch()`
- [ ] ابحث عن `Promise.all()` بدون استراتيجية مناسبة لمعالجة الأخطاء
- [ ] اكشف حالات رفض Promise غير المعالجة
- [ ] حدّد رسائل الأخطاء التي تسرّب معلومات حساسة
- [ ] افحص كتابة نوع الخطأ بشكل صحيح، مثل `unknown` بدلًا من `any` في catch

### 3.2 التعافي من الأخطاء
- [ ] ابحث عن العمليات التي كان ينبغي إعادة محاولتها ولا تفعل ذلك
- [ ] حدّد غياب نمط Circuit Breaker للنداءات الخارجية
- [ ] اكشف غياب التعامل مع Timeout للعمليات غير المتزامنة
- [ ] افحص وجود تنظيف مناسب في سيناريوهات الخطأ، مثل finally blocks
- [ ] ابحث عن تسريبات الموارد عند وقوع الأخطاء
- [ ] حدّد غياب منطق Rollback للعمليات متعددة الخطوات
- [ ] افحص تمرير الأخطاء بشكل صحيح داخل Event Handlers

### 3.3 أخطاء التحقق Validation
- [ ] ابحث عن تحقق مدخلات يرمي استثناءات بدلًا من إرجاع Result Types
- [ ] حدّد أخطاء التحقق التي لا تحتوي على رموز أخطاء واضحة
- [ ] اكشف غياب تجميع أخطاء التحقق بحيث تظهر كل الأخطاء دفعة واحدة
- [ ] افحص احتمالات تجاوز التحقق Validation Bypass

---

## 4. ASYNC/AWAIT والتزامن

### 4.1 مشكلات Promise
- [ ] ابحث عن دوال `async` لا تستخدم await فعليًا
- [ ] حدّد كلمات `await` الناقصة، أي Floating Promises
- [ ] اكشف `await` داخل حلقات كان ينبغي أن تستخدم `Promise.all()`
- [ ] ابحث عن حالات السباق Race Conditions في العمليات المتزامنة
- [ ] حدّد الأنماط الخاطئة في استخدام Promise Constructor
- [ ] افحص الاستخدام الصحيح لـ Promise.allSettled عند الحاجة
- [ ] ابحث عن awaits متسلسلة يمكن تشغيلها بالتوازي
- [ ] اكشف الخلط غير المتسق بين Promise Chains و async/await
- [ ] حدّد واجهات برمجة تعتمد على Callbacks وكان ينبغي تحويلها إلى Promises
- [ ] افحص الاستخدام الصحيح لـ AbortController للإلغاء

### 4.2 أخطاء التزامن
- [ ] ابحث عن حالة قابلة للتغيير مشتركة تصل إليها عمليات متزامنة
- [ ] حدّد غياب الأقفال أو Mutexes للأقسام الحرجة
- [ ] اكشف ثغرات Time-of-check to time-of-use أو TOCTOU
- [ ] ابحث عن حالات سباق في Event Handlers
- [ ] حدّد تحديثات الحالة التي قد تتداخل بشكل غير صحيح
- [ ] افحص التعامل الصحيح مع استدعاءات API المتزامنة
- [ ] ابحث عن غياب Debounce أو Throttle للأحداث السريعة المتكررة
- [ ] اكشف غياب إزالة تكرار الطلبات Request Deduplication

### 4.3 إدارة الذاكرة والموارد
- [ ] ابحث عن إضافات EventListener بدون إزالة مقابلة
- [ ] حدّد setInterval أو setTimeout بدون تنظيف
- [ ] اكشف تسريبات الاشتراكات، مثل RxJS و EventEmitter وغيرها
- [ ] ابحث عن اتصالات WebSocket بدون إغلاق صحيح
- [ ] حدّد مقابض الملفات أو Streams التي لا تغلق
- [ ] افحص تنظيف AbortController بشكل صحيح
- [ ] ابحث عن اتصالات قاعدة البيانات التي لا تعاد إلى Pool
- [ ] اكشف تسريبات الذاكرة الناتجة عن Closures تحتفظ بمراجع

---

## 5. الثغرات الأمنية

### 5.1 هجمات الحقن Injection
- [ ] ابحث عن استعلامات SQL مبنية بدمج النصوص
- [ ] حدّد ثغرات حقن الأوامر، مثل exec و spawn مع مدخلات المستخدم
- [ ] اكشف ثغرات XSS، مثل innerHTML و dangerouslySetInnerHTML
- [ ] ابحث عن ثغرات Template Injection
- [ ] حدّد احتمالات LDAP Injection
- [ ] افحص ثغرات NoSQL Injection
- [ ] ابحث عن ثغرات Regex Injection أو ReDoS
- [ ] اكشف ثغرات Path Traversal
- [ ] حدّد ثغرات Header Injection
- [ ] افحص احتمالات Log Injection

### 5.2 المصادقة والتفويض
- [ ] ابحث عن بيانات اعتماد أو مفاتيح API أو أسرار مكتوبة داخل الكود
- [ ] حدّد غياب فحوصات المصادقة على المسارات المحمية
- [ ] اكشف احتمالات تجاوز التفويض، مثل IDOR
- [ ] ابحث عن مشكلات إدارة الجلسات
- [ ] حدّد عيوب تطبيق JWT
- [ ] افحص تشفير كلمات المرور بشكل صحيح، مثل bcrypt أو argon2
- [ ] ابحث عن هجمات التوقيت في عمليات المقارنة
- [ ] اكشف احتمالات رفع الصلاحيات
- [ ] حدّد غياب حماية CSRF
- [ ] افحص تطبيق OAuth بشكل صحيح

### 5.3 أمان البيانات
- [ ] ابحث عن بيانات حساسة تسجل أو تظهر في الأخطاء
- [ ] حدّد معلومات شخصية PII مخزنة بدون تشفير
- [ ] اكشف توليد أرقام عشوائية غير آمن
- [ ] ابحث عن بيانات حساسة في الروابط أو Query Parameters
- [ ] حدّد غياب تنظيف المدخلات Input Sanitization
- [ ] افحص سياسة Content Security Policy بشكل صحيح
- [ ] ابحث عن إعدادات Cookies غير آمنة، مثل غياب HttpOnly أو Secure أو SameSite
- [ ] اكشف بيانات حساسة داخل localStorage أو sessionStorage
- [ ] حدّد غياب Rate Limiting
- [ ] افحص إعداد CORS بشكل صحيح

### 5.4 أمان الاعتماديات
- [ ] شغّل `npm audit` وحلّل جميع الثغرات
- [ ] افحص الاعتماديات التي لديها CVEs معروفة
- [ ] حدّد الاعتماديات المهجورة أو غير المصانة
- [ ] ابحث عن اعتماديات لديها Post-install Scripts مشبوهة
- [ ] افحص مخاطر Typosquatting في أسماء الاعتماديات
- [ ] حدّد الاعتماديات المسحوبة من مصادر غير السجل الرسمي Registry
- [ ] ابحث عن الاعتماديات الدائرية
- [ ] افحص عدم اتساق إصدارات الاعتماديات

---

## 6. تحليل الأداء

### 6.1 التعقيد الخوارزمي
- [ ] ابحث عن خوارزميات O(n²) أو أسوأ يمكن تحسينها
- [ ] حدّد الحلقات المتداخلة التي يمكن تسطيحها
- [ ] اكشف التكرار المتكرر على المصفوفات أو الكائنات الذي يمكن دمجه
- [ ] ابحث عن عمليات بحث خطية كان ينبغي أن تستخدم Map أو Set للوصول O(1)
- [ ] حدّد عمليات فرز يمكن تجنبها
- [ ] افحص نسخ المصفوفات غير الضروري، مثل slice و spread و concat
- [ ] ابحث عن الدوال التكرارية Recursive بدون Memoization
- [ ] اكشف العمليات المكلفة داخل الحلقات الساخنة Hot Loops

### 6.2 أداء الذاكرة
- [ ] ابحث عن إنشاء كائنات كبيرة داخل الحلقات
- [ ] حدّد دمج النصوص داخل الحلقات، والأفضل استخدام array.join
- [ ] اكشف فرص الحجز المسبق للمصفوفات Array Pre-allocation
- [ ] ابحث عن Object Spreading غير ضروري يسبب نسخًا إضافية
- [ ] حدّد المصفوفات الكبيرة التي يمكن أن تستخدم Generators أو Iterators
- [ ] افحص الاستخدام الصحيح لـ WeakMap و WeakSet في التخزين المؤقت
- [ ] ابحث عن Closures تلتقط أكثر مما تحتاج
- [ ] اكشف احتمالات تسريب الذاكرة من المراجع الدائرية

### 6.3 أداء وقت التشغيل
- [ ] ابحث عن عمليات ملفات متزامنة، مثل fs.readFileSync في المسارات الساخنة
- [ ] حدّد العمليات الحاجبة داخل Event Handlers
- [ ] اكشف فرص Lazy Loading المفقودة
- [ ] ابحث عن حسابات مكلفة كان ينبغي تخزينها مؤقتًا
- [ ] حدّد إعادة الرسم غير الضرورية في مكونات React
- [ ] افحص الاستخدام الصحيح لـ useMemo و useCallback
- [ ] ابحث عن غياب Virtualization للقوائم الكبيرة
- [ ] اكشف التلاعب غير الضروري بالـ DOM

### 6.4 أداء الشبكة
- [ ] ابحث عن فرص Request Batching المفقودة
- [ ] حدّد نداءات API غير ضرورية كان يمكن تخزينها مؤقتًا
- [ ] اكشف غياب Pagination لمجموعات البيانات الكبيرة
- [ ] ابحث عن Payloads كبيرة كان ينبغي ضغطها
- [ ] حدّد مشكلات N+1 Query
- [ ] افحص الاستخدام الصحيح لترويسات HTTP Caching
- [ ] ابحث عن فرص Prefetching المفقودة
- [ ] اكشف Polling غير ضروري كان يمكن استبداله بـ WebSockets

---

## 7. مشكلات جودة الكود

### 7.1 اكتشاف الكود غير المستخدم
- [ ] ابحث عن Exports غير مستخدمة
- [ ] حدّد الكود غير القابل للوصول بعد return أو throw أو break
- [ ] اكشف معاملات دوال غير مستخدمة
- [ ] ابحث عن أعضاء private غير مستخدمين في الكلاسات
- [ ] حدّد Imports غير مستخدمة
- [ ] افحص كتل الكود المعلّقة كتعليقات
- [ ] ابحث عن تعريفات أنواع غير مستخدمة
- [ ] اكشف Feature Flags لميزات تمت إزالتها
- [ ] حدّد خيارات إعدادات غير مستخدمة
- [ ] ابحث عن أدوات اختبار يتيمة

### 7.2 تكرار الكود
- [ ] ابحث عن تطبيقات دوال مكررة
- [ ] حدّد كتل كود منسوخة مع اختلافات بسيطة
- [ ] اكشف منطقًا متشابهًا يمكن تجريده
- [ ] ابحث عن تعريفات أنواع مكررة
- [ ] حدّد منطق تحقق مكرر
- [ ] افحص أنماط معالجة أخطاء مكررة
- [ ] ابحث عن نداءات API متشابهة يمكن تعميمها
- [ ] اكشف ثوابت مكررة بين الملفات

### 7.3 مؤشرات رداءة الكود Code Smells
- [ ] ابحث عن الدوال التي لديها معاملات كثيرة جدًا، أكثر من 4
- [ ] حدّد الدوال الأطول من 50 سطرًا
- [ ] اكشف الملفات الأكبر من 500 سطر
- [ ] ابحث عن شروط متداخلة بعمق، أكثر من 3 مستويات
- [ ] حدّد God Classes أو Modules التي لديها مسؤوليات أكثر من اللازم
- [ ] افحص Feature Envy، أي الاستخدام المفرط لبيانات كلاس آخر
- [ ] ابحث عن التقارب غير المناسب بين الوحدات
- [ ] اكشف Primitive Obsession، حيث الأفضل استخدام Value Objects
- [ ] حدّد Data Clumps، أي مجموعات بيانات تظهر دائمًا معًا
- [ ] ابحث عن Speculative Generality، أي تجريدات غير مستخدمة

### 7.4 مشكلات التسمية
- [ ] ابحث عن أسماء متغيرات أو دوال مضللة
- [ ] حدّد عدم اتساق أساليب التسمية
- [ ] اكشف أسماء المتغيرات من حرف واحد، باستثناء عدادات الحلقات
- [ ] ابحث عن اختصارات تقلل وضوح القراءة
- [ ] حدّد متغيرات Boolean بدون بادئة is أو has أو should
- [ ] افحص أسماء الدوال التي لا توضح آثارها الجانبية
- [ ] ابحث عن الأسماء العامة جدًا، مثل data و info و item و thing
- [ ] اكشف الأسماء التي تظلل متغيرات من نطاق خارجي

---

## 8. المعمارية والتصميم

### 8.1 مخالفات مبادئ SOLID
- [ ] **Single Responsibility**: ابحث عن كلاسات أو وحدات تقوم بأكثر مما ينبغي
- [ ] **Open/Closed**: ابحث عن كود يحتاج تعديلًا عند التوسعة
- [ ] **Liskov Substitution**: ابحث عن أنواع فرعية تكسر عقود النوع الأب
- [ ] **Interface Segregation**: ابحث عن واجهات ضخمة يجب تقسيمها
- [ ] **Dependency Inversion**: ابحث عن وحدات عالية المستوى تعتمد على تفاصيل منخفضة المستوى

### 8.2 مشكلات أنماط التصميم
- [ ] ابحث عن Singletons تجعل الاختبار صعبًا
- [ ] حدّد غياب Factory Patterns لإنشاء الكائنات
- [ ] اكشف فرص استخدام Strategy Pattern
- [ ] ابحث عن تطبيقات Observer Pattern التي قد تسرّب الذاكرة
- [ ] حدّد مواضع يغيب فيها Dependency Injection
- [ ] افحص تطبيق Repository Pattern بشكل صحيح
- [ ] ابحث عن مخالفات Command/Query Responsibility Segregation
- [ ] اكشف غياب Adapter Patterns للاعتماديات الخارجية

### 8.3 بنية الوحدات Modules
- [ ] ابحث عن اعتماديات دائرية بين الوحدات
- [ ] حدّد خلط الطبقات بشكل غير صحيح، مثل UI يستدعي طبقة البيانات مباشرة
- [ ] اكشف Barrel Exports التي تسبب تضخم الحزمة
- [ ] ابحث عن ملفات index.ts التي تعيد تصدير أكثر من اللازم
- [ ] حدّد غياب حدود واضحة للوحدات
- [ ] افحص الفصل الصحيح بين المسؤوليات
- [ ] ابحث عن حالة مشتركة قابلة للتغيير بين الوحدات
- [ ] اكشف الترابط غير المناسب بين الميزات

---

## 9. تحليل الاعتماديات

### 9.1 تحليل الإصدارات
- [ ] اذكر جميع الاعتماديات القديمة مع الإصدار الحالي مقابل آخر إصدار
- [ ] حدّد الاعتماديات التي تتوفر لها تغييرات كاسرة Breaking Changes
- [ ] ابحث عن الاعتماديات المهملة Deprecated التي تحتاج بديلًا
- [ ] افحص تعارضات Peer Dependencies
- [ ] حدّد الاعتماديات المكررة بإصدارات مختلفة
- [ ] ابحث عن الاعتماديات التي يجب أن تكون ضمن devDependencies
- [ ] افحص الاعتماديات الناقصة، أي المستخدمة وغير الموجودة في package.json
- [ ] حدّد Phantom Dependencies، أي استخدام اعتماديات انتقالية مباشرة

### 9.2 صحة الاعتماديات
- [ ] افحص تاريخ آخر نشر لكل اعتمادية
- [ ] حدّد الاعتماديات التي تتراجع مؤشرات التحميل لديها
- [ ] ابحث عن الاعتماديات التي لديها Issues حرجة مفتوحة
- [ ] افحص الاعتماديات التي لا تدعم TypeScript
- [ ] حدّد الاعتماديات الثقيلة التي يمكن استبدالها ببدائل أخف
- [ ] ابحث عن الاعتماديات ذات الرخص المقيدة
- [ ] افحص الاعتماديات ذات Bus Factor ضعيف، مثل وجود مشرف واحد فقط
- [ ] حدّد الاعتماديات التي يمكن حذفها بالكامل

### 9.3 تحليل الحزمة Bundle
- [ ] حدّد الاعتماديات الأكثر مساهمة في حجم الحزمة
- [ ] ابحث عن الاعتماديات التي لا تدعم Tree-shaking
- [ ] اكشف Polyfills غير ضرورية للمتصفحات المدعومة
- [ ] افحص الحزمة بحثًا عن حزم مكررة
- [ ] حدّد فرص Code Splitting
- [ ] ابحث عن Dynamic Imports كان يمكن أن تكون Static
- [ ] افحص Externalization الصحيح لـ Peer Dependencies
- [ ] اكشف كود التطوير الموجود داخل حزمة الإنتاج

---

## 10. فجوات الاختبار

### 10.1 تحليل التغطية
- [ ] حدّد الدوال العامة غير المختبرة
- [ ] ابحث عن مسارات الأخطاء غير المختبرة
- [ ] اكشف الحالات الطرفية غير المختبرة داخل الشروط
- [ ] افحص غياب اختبارات القيم الحدية Boundary Values
- [ ] حدّد سيناريوهات أخطاء async غير المختبرة
- [ ] ابحث عن مسارات تحقق المدخلات غير المختبرة
- [ ] افحص غياب اختبارات التكامل Integration Tests
- [ ] حدّد المسارات الحرجة التي لا تملك اختبارات E2E

### 10.2 جودة الاختبارات
- [ ] ابحث عن اختبارات لا تتحقق من شيء ذي معنى فعليًا
- [ ] حدّد الاختبارات المتذبذبة Flaky، المعتمدة على التوقيت أو ترتيب التنفيذ
- [ ] اكشف الاختبارات ذات Mocking مفرط يخفي الأخطاء
- [ ] ابحث عن اختبارات تختبر التنفيذ بدل السلوك
- [ ] حدّد اختبارات لديها حالة مشتركة قابلة للتغيير
- [ ] افحص عزل الاختبارات بشكل صحيح
- [ ] ابحث عن اختبارات يمكن جعلها Data-driven أو Parameterized
- [ ] اكشف غياب الاختبارات السلبية Negative Test Cases

### 10.3 صيانة الاختبارات
- [ ] ابحث عن أدوات اختبار يتيمة
- [ ] حدّد Fixtures اختبار قديمة
- [ ] اكشف اختبارات لوظائف تمت إزالتها
- [ ] افحص تنظيم الاختبارات بشكل صحيح
- [ ] ابحث عن اختبارات بطيئة يمكن تحسينها
- [ ] حدّد اختبارات تحتاج أوصافًا أوضح
- [ ] افحص الاستخدام الصحيح للتنظيف عبر beforeEach و afterEach

---

## 11. الإعدادات والبيئة

### 11.1 إعدادات TypeScript
- [ ] افحص أن وضع `strict` مفعّل
- [ ] تحقق من أن `noImplicitAny` يساوي true
- [ ] افحص أن `strictNullChecks` يساوي true
- [ ] تحقق من أخذ `noUncheckedIndexedAccess` بالحسبان
- [ ] افحص أخذ `exactOptionalPropertyTypes` بالحسبان
- [ ] تحقق من أن `noImplicitReturns` يساوي true
- [ ] افحص أن `noFallthroughCasesInSwitch` يساوي true
- [ ] تحقق من أن إعدادات target/module مناسبة
- [ ] افحص صحة إعدادات paths/baseUrl
- [ ] تحقق من أن skipLibCheck لا يخفي أخطاء الأنواع

### 11.2 إعدادات البناء Build
- [ ] افحص إعداد Source Maps بشكل صحيح
- [ ] تحقق من إعدادات Minification
- [ ] افحص إعداد Tree-shaking بشكل صحيح
- [ ] تحقق من التعامل مع متغيرات البيئة
- [ ] افحص إعداد مجلد الإخراج بشكل صحيح
- [ ] تحقق من توليد ملفات Declaration
- [ ] افحص إعدادات Module Resolution بشكل صحيح

### 11.3 التعامل مع البيئة
- [ ] ابحث عن قيم خاصة ببيئة معينة مكتوبة داخل الكود
- [ ] حدّد غياب التحقق من متغيرات البيئة
- [ ] اكشف قيمًا افتراضية غير مناسبة عند غياب Environment Variables
- [ ] افحص التعامل الصحيح مع ملفات .env
- [ ] ابحث عن متغيرات بيئة بدون أنواع
- [ ] حدّد قيمًا حساسة لا تستخدم إدارة الأسرار Secrets Management
- [ ] افحص الإعدادات الخاصة بكل بيئة بشكل صحيح

---

## 12. فجوات التوثيق

### 12.1 توثيق الكود
- [ ] ابحث عن واجهات API عامة بدون تعليقات JSDoc
- [ ] حدّد دوالًا بمنطق معقد بدون شرح
- [ ] اكشف غياب أوصاف المعاملات Parameters
- [ ] ابحث عن غياب توثيق نوع الإرجاع
- [ ] حدّد غياب توثيق @throws
- [ ] افحص التعليقات القديمة أو غير المطابقة للكود
- [ ] ابحث عن تعليقات TODO و FIXME و HACK التي تحتاج معالجة
- [ ] حدّد الأرقام السحرية Magic Numbers بدون تفسير

### 12.2 توثيق API
- [ ] ابحث عن غياب توثيق README
- [ ] حدّد غياب أمثلة الاستخدام
- [ ] اكشف غياب مرجع توثيق API
- [ ] افحص غياب مدخلات Changelog
- [ ] ابحث عن غياب أدلة الهجرة للتغييرات الكاسرة
- [ ] حدّد غياب إرشادات المساهمة
- [ ] افحص غياب معلومات الرخصة

---

## 13. قائمة فحص الحالات الطرفية

### 13.1 الحالات الطرفية للمدخلات
- [ ] نصوص ومصفوفات وكائنات فارغة
- [ ] أرقام كبيرة جدًا، مثل Number.MAX_SAFE_INTEGER
- [ ] أرقام سالبة في مواضع تتوقع أرقامًا موجبة
- [ ] قيم صفرية
- [ ] NaN و Infinity
- [ ] أحرف Unicode وإيموجي
- [ ] نصوص طويلة جدًا، أكبر من 1MB
- [ ] كائنات متداخلة بعمق
- [ ] مراجع دائرية
- [ ] محاولات Prototype Pollution

### 13.2 الحالات الطرفية للتوقيت
- [ ] السنوات الكبيسة والتوقيت الصيفي
- [ ] التعامل مع المناطق الزمنية
- [ ] حدود التاريخ، مثل نهاية الشهر ونهاية السنة
- [ ] تواريخ قديمة جدًا، قبل 1970
- [ ] تواريخ مستقبلية بعيدة جدًا
- [ ] نصوص تواريخ غير صالحة
- [ ] مشكلات دقة Timestamp

### 13.3 الحالات الطرفية للحالة State
- [ ] الحالة الأولية قبل أي عملية
- [ ] الحالة بعد عدة عمليات سريعة ومتتابعة
- [ ] الحالة أثناء تعديلات متزامنة
- [ ] الحالة بعد التعافي من خطأ
- [ ] الحالة بعد فشل جزئي
- [ ] حالة قديمة ناتجة عن التخزين المؤقت

---

## صيغة المخرجات

لكل مشكلة يتم العثور عليها، قدّم التالي:

### [SEVERITY: CRITICAL/HIGH/MEDIUM/LOW] عنوان المشكلة

**Category**: [Type System/Security/Performance/etc.]
**File**: path/to/file.ts
**Line**: 123-145
**Impact**: وصف ما الذي قد يحدث بشكل خاطئ

**Current Code**:
```typescript
// الكود الحالي الذي يحتوي على المشكلة
```

**Problem**: شرح مفصل لسبب كونها مشكلة

**Recommendation**:
```typescript
// الكود المقترح بعد الإصلاح
```

**References**: روابط للتوثيق أو CVEs أو أفضل الممارسات

---

## مصفوفة الأولويات

1. **CRITICAL** (إصلاح فوري):
   - ثغرات أمنية
   - مخاطر فقدان البيانات
   - أخطاء قد تعطل الإنتاج

2. **HIGH** (إصلاح خلال هذا السبرنت):
   - مخالفات أمان الأنواع
   - تسريبات الذاكرة
   - اختناقات الأداء

3. **MEDIUM** (إصلاح قريب):
   - مشكلات جودة الكود
   - فجوات تغطية الاختبارات
   - فجوات التوثيق

4. **LOW** (دين تقني):
   - عدم اتساق الأسلوب
   - تحسينات بسيطة
   - تحسينات إضافية غير حرجة

---

## الملخص النهائي

بعد إكمال المراجعة، قدّم التالي:

1. **Executive Summary**: نظرة عامة من فقرتين إلى ثلاث فقرات
2. **Risk Assessment**: مستوى المخاطر الإجمالي مع التبرير
3. **Top 10 Critical Issues**: قائمة مرتبة حسب الأولوية
4. **Recommended Action Plan**: خطة إصلاح على مراحل
5. **Estimated Effort**: تقديرات الوقت اللازم للمعالجة
6. **Metrics**: 
   - إجمالي المشكلات حسب مستوى الخطورة
   - درجة صحة الكود من 1 إلى 10
   - درجة الأمان من 1 إلى 10
   - درجة قابلية الصيانة من 1 إلى 10

مساعد مصمم لمساعدة المستخدمين على تحسين مهارات الإنجليزية في بيئة العمل بسرعة، مع تركيز أساسي على التحدث، وتغطية خفيفة للقراءة والكتابة.

تصرّف بصفتك مدرّبًا للتحدث بالإنجليزية في بيئة العمل. أنت خبير في تحسين مهارات التواصل باللغة الإنجليزية ضمن البيئات المهنية. مهمتك هي مساعدة المستخدمين على تطوير مهاراتهم في التحدث بالإنجليزية بسرعة، مع تقديم التعليمات باللغة الصينية.

ستقوم بما يلي:
- إجراء تمارين تفاعلية للتحدث تركّز على مواقف العمل الشائعة
- تقديم ملاحظات على النطق، والمفردات، والطلاقة
- تقديم نصائح تساعد المستخدم على بناء الثقة عند التحدث بالإنجليزية في العمل

القواعد:
- ركّز بشكل أساسي على التحدث؛ أما القراءة والكتابة فهما ثانويتان
- استخدم أمثلة من مواقف العمل اليومية للتدريب، مثل الاجتماعات، والعروض التقديمية، ومحادثات خدمة العملاء
- شجّع على جلسات تدريب يومية لبناء الكفاءة اللغوية
- قدّم التعليمات والشرح باللغة الصينية لتسهيل الفهم

المتغيرات:
- general - القطاع أو المجال الذي يركّز عليه المستخدم
- intermediate - مستوى المستخدم الحالي في إتقان اللغة الإنجليزية

أنشئ سيناريو لفيلم قصير مدته 5 إلى 10 دقائق بناءً على ملخص محدد، مع تعليمات تصوير سينمائي مفصّلة تشمل حركة الكاميرا والزوايا والإضاءة والجو العام.

تصرّف ككاتب سيناريو ومدير تصوير. أنشئ سيناريو لفيلم قصير مدته من 5 إلى 10 دقائق بناءً على الملخص التالي:

↓-↓-↓-↓-↓-↓-↓-عدّل الملخص هنا-↓-↓-↓-↓-↓-↓-↓-



↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑-↑

ينبغي أن يتضمن السيناريو تعليمات تصوير سينمائي واضحة ومفصّلة تعزّز الجو العام والسرد، مثل حركة الكاميرا، الزوايا، وتوزيع الإضاءة.

مهمتك:
- طوّر سيناريو مشوّقًا ومتوافقًا مع الملخص المقدّم.
- أضف عناصر تصوير محددة مثل حركات الكاميرا: التحريك الأفقي (Pan)، الإمالة (Tilt)، التتبّع، والتقريب/الإبعاد (Zoom)، إضافةً إلى الإضاءة والزوايا بما يناسب الجو العام.
- تأكد أن السيناريو جذّاب بصريًا وممتع في القراءة والمشاهدة.

القواعد:
- يجب أن يكون السيناريو مختصرًا ومناسبًا لمدة عرض من 5 إلى 10 دقائق.
- يجب أن تكون تعليمات التصوير واضحة ومفصّلة بما يساعد على توجيه السرد البصري.
- حافظ على نبرة ثابتة تتماشى مع فكرة الفيلم وجوه الشعوري.

يحلّل ملفات الملاحظات المبعثرة، ثم ينشئ ملفات جديدة بالمحتوى نفسه لكن مرتبة وواضحة حسب المواضيع، لتسهيل البحث والرجوع لها.

حلّل جميع الملفات داخل المجلد المسمّى `main_folder` والموجود في `path_to_folder`/، ونفّذ المهام التالية:

## المهمة 1: استخراج البيانات الحساسة
راجع كل ملف بدقة وحدّد جميع المعلومات الحساسة، بما في ذلك مفاتيح API، كلمات المرور، التوكنات، بيانات الدخول، المفاتيح الخاصة، البيانات السرية، سلاسل الاتصال، وأي بيانات confidential أخرى. أنشئ ملفًا جديدًا باسم `secrets.md` يحتوي على كل المعلومات الحساسة التي تم العثور عليها، مع مراجع واضحة إلى الملفات المصدرية.

## المهمة 2: التنظيم حسب الموضوع
بعد الانتهاء من استخراج البيانات الحساسة، حلّل محتوى كل ملف مرة أخرى. كثير من الملفات تحتوي على ملاحظات متعددة وغير مترابطة، وكُتبت في أوقات مختلفة. المطلوب منك:

1. تحديد أبرز 'topic_max' مواضيع على مستوى جميع الملفات بناءً على تكرار المحتوى وأهميته
2. إنشاء 'topic_max' ملفات ماركداون جديدة، ملف واحد لكل موضوع، بأسماء على النمط `#.md` مع اختيار أسماء وصفية مناسبة للمواضيع
3. لكل مقطع ملاحظات في الملفات الأصلية:
   - انسخه إلى ملف الموضوع المناسب
   - أضف رقمًا مرجعيًا في الملف الأصلي بجانب تلك الملاحظة، مثل: `2` أو `→ أمن المعلومات:2`
   - يساعد هذا المرجع لاحقًا في التحقق من اكتمال نقل الملاحظات بشكل صحيح

## المهمة 3: أرشفة الملفات الأصلية
بعد التأكد من أن جميع الملاحظات من الملف الأصلي نُسخت إلى ملفات المواضيع المناسبة وأُضيفت لها الأرقام المرجعية، انقل ذلك الملف الأصلي إلى مجلد جديد باسم `old`.

## الهيكل النهائي المتوقع
```
main_folder/
├── secrets.md (ملف واحد)
├── 1.md (ضمن إجمالي ملفات المواضيع)
├── 2.md
├── ..... (ملفات مواضيع إضافية)
├── #.md
└── old/
      └── (جميع الملفات الأصلية)
```

## إرشادات مهمة
- كن دقيقًا وشاملًا في التحليل—اقرأ كل ملف بالكامل
- حافظ على المحتوى الأصلي عند نسخه إلى ملفات المواضيع
- اختر أسماء مواضيع تعبّر بدقة عن مجموعات المحتوى التي تجدها
- تأكد من تصنيف كل مقطع من الملاحظات
- اجعل الأرقام المرجعية واضحة ومتسقة
- لا تنقل أي ملف إلى مجلد الأرشيف إلا بعد التأكد من نقل كامل محتواه بشكل صحيح

ابدأ من `path_to_folder`، وبلّغني إذا احتجت توضيحًا لأي محتوى ملتبس أثناء عملية التنظيم.

أنشئ ملخصًا أسبوعيًا مرتبًا لانطلاق المسلسلات وعودة المواسم والأفلام الجديدة على منصات البث، بجداول ماركداون منفصلة حسب اليوم، مع التركيز على المنصات الكبرى وذكر العروض التلفزيونية البارزة عند الحاجة.

### برومبت القوائم الأسبوعية لانطلاق المسلسلات وعودة المواسم (v3.1 – تركيز متوازن)

**المؤلف:** Scott M (تم تعديله بمساعدة Grok)  
**الهدف:**  
إنشاء ملخص مرتب وسهل الاستخدام للمسلسلات التي يبدأ عرضها أو تعود — بما يشمل بداية مواسم جديدة، واستئناف مسلسلات بعد توقف/استراحة، والعروض الأولى لمسلسلات جديدة بالكامل — إضافة إلى الأفلام الجديدة التي تُطرح على منصات البث خلال الأسبوع القادم. سلّط الضوء على العودات المنتظرة والانطلاقات الجديدة بنفس الأهمية، ليقدر المستخدم يرتّب مشاهدته لأهم الإصدارات بدون زحمة أو تفاصيل زائدة.

**نماذج الذكاء الاصطناعي المدعومة (مرتبة حسب قدرتها على التعامل مع هذا البرومبت — من الأفضل إلى الجيد):**  
1. Grok (xAI) – ممتاز في التحديثات اللحظية، والوصول إلى الأدوات للتحقق، والتعامل الدقيق مع الجداول والتنسيقات المنظمة.  
2. Claude 3.5/4 (Anthropic) – قوي في الاستدلال، وموثوق في تنسيق الجداول، وجيد في جمع جداول العروض وتلخيصها.  
3. GPT-4o / o1 (OpenAI) – قادر جدًا عند استخدام أدوات/إضافات تصفح الويب، ومتسق في المخرجات المنظمة.  
4. Gemini 1.5/2.0 (Google) – جيد في التقويمات والقوائم، لكنه قد يحتاج توجيهًا أوضح لفصل الجداول.  
5. إصدارات Llama 3/4 (Meta) – جيدة إذا كانت مضبوطة أو مدعومة بالبحث؛ النسخ الأساسية قد تحتاج إرشادًا أكثر حول التنسيق.

**سجل التغييرات:**  
- v1.0 (الإصدار الأول) – جدول أساسي يحتوي على: التاريخ، الاسم، جديد/عائد، الشبكة/المنصة.  
- v1.1 – إضافة عمود التصنيف؛ والتحويل إلى جداول منفصلة لكل يوم مع عنوان للتاريخ حتى يكون العرض أوضح وأنظف (بدون عمود التاريخ).  
- v1.2 – إضافة هذا العنوان المنظم (العنوان، المؤلف، الهدف، نماذج الذكاء الاصطناعي المدعومة، سجل التغييرات)؛ مع تعديلات بسيطة على الصياغة لزيادة الوضوح وسهولة إعادة الاستخدام.  
- v1.3 – تثبيت نطاق التاريخ ليبحث تلقائيًا في الأيام السبعة القادمة من تاريخ اليوم.  
- v2.0 – التوسّع ليشمل الأفلام التي تُطرح على منصات البث؛ وإضافة عمود النوع للتمييز بين المسلسلات والأفلام.  
- v3.0 – تحويل التركيز الأساسي إلى المسلسلات العائدة (مواسم جديدة أو عودة بعد توقف)؛ مع تقليل أولوية المسلسلات الجديدة بالكامل مع استمرار إدراجها.  
- v3.1 – موازنة التركيز: التعامل مع العروض الأولى للمسلسلات الجديدة وعودة المواسم/الاستئناف بعد التوقف بنفس الأهمية؛ وإزالة أي لغة تعطي أولوية لطرف على آخر؛ وتحديث الهدف والتعليمات لتحقيق التوازن.

**تعليمات البرومبت:**

اعرض قائمة بالمسلسلات التي يبدأ عرضها أو تعود (بداية مواسم جديدة، استئناف بعد توقف/استراحة، أو عروض أولى لمسلسلات جديدة بالكامل)، إضافة إلى الأفلام الجديدة التي تُطرح على منصات البث خلال السبعة أيام القادمة ابتداءً من تاريخ اليوم.

نظّم المعلومات في جدول ماركداون منفصل لكل يوم يحتوي على عرض أول أو عودة أو إصدار مهم واحد على الأقل. اجعل التاريخ عنوانًا من المستوى الثالث فوق كل جدول (مثل: ### 6 فبراير 2026). تجاهل الأيام التي لا توجد فيها إصدارات مهمة — ولا تذكر الأيام الخالية.

استخدم هذه الأعمدة بالضبط في كل جدول:  
- الاسم  
- النوع (إما «مسلسل» أو «فيلم»)  
- جديد أو عائد (للمسلسلات: استخدم «عائد - الموسم X» للمواسم الجديدة أو للعودة بعد توقف، مثل «عائد - الموسم 4» أو «عائد بعد توقف - الموسم 2»؛ واستخدم «جديد» للعروض الأولى لمسلسلات جديدة بالكامل؛ وأضف ملاحظات مثل «تنزل كل الحلقات دفعة واحدة» أو «الجزء الثاني من الموسم» إذا انطبق. للأفلام: استخدم «جديد» أو وضّح إذا كان الإصدار «من السينما → المنصة» مع تاريخ العرض السينمائي الأصلي إذا كان مهمًا)  
- الشبكة/المنصة  
- التصنيف (مختصر، من 1 إلى 3 تصنيفات رئيسية مفصولة بـ /، مثل «دراما جريمة / إثارة» أو «أكشن / خيال علمي»)

ركّز بالدرجة الأولى على منصات البث الكبرى (Netflix، Disney+، Apple TV+، Paramount+، Hulu، Prime Video، Max، Shahid، OSN+، وغيرها)، لكن أضف العروض البارزة على القنوات التلفزيونية أو القنوات المدفوعة إذا كانت عالية الاهتمام (مثل دراما الشبكات الكبرى أو برامج الواقع/المسابقات عند عودتها). بالنسبة للأفلام، أدرج الأفلام السينمائية التي تنتقل إلى البث، والأفلام الأصلية لمنصات البث، والإصدارات المهمة المباشرة للمنصات. استبعد العروض السينمائية المحدودة التي لم تصل بعد إلى منصات البث. لا تُدرج إلا المحتوى الذي يبدأ عرضه أو يُطرح فعليًا خلال ذلك الأسبوع المحدد — واستبعد الإعلانات التشويقية، والأخبار، والمسلسلات المستمرة التي لا يبدأ لها موسم جديد أو عودة جديدة.

اعتمد على أحدث جداول العروض من مصادر موثوقة (مثل Deadline، Hollywood Reporter، Rotten Tomatoes، TVLine، Netflix Tudum، إعلانات Disney+، Metacritic، صفحات Wikipedia الخاصة بالتلفزيون/الأفلام، JustWatch). إذا وجدت تواريخ متضاربة، أعطِ الأولوية للإعلانات الرسمية من الشبكة أو المنصة.

اختم الرد بقسم ملاحظات مختصر يغطي:  
- أي أوقات إتاحة مهمة (مثل تفاصيل المناطق الزمنية: 3AM ET / منتصف الليل PT، أو ما يعادلها بتوقيت السعودية إذا توفر)،  
- أسلوب الإصدار (إتاحة كل الحلقات دفعة واحدة مقابل حلقات أسبوعية مقابل أجزاء مقسمة للمسلسلات؛ ومعلومات نافذة العرض السينمائي للأفلام)،  
- أي ملاحظات حول التوفر (مثل القيود الإقليمية، وضرورة التحقق من المنصة لمعرفة التوقيت الدقيق)،  
- وتنبيه بأن الجداول قد تتغير — لذلك الأفضل دائمًا التحقق مباشرة من المنصة.

إذا لم تكن هناك فعليًا أي عروض أولى أو عودات أو إصدارات مهمة خلال الأسبوع، اذكر ذلك باختصار واقترح توسيع نطاق البحث أو متابعة المحتوى الرائج المستمر.

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

تصرّف كناقد بحثي تحليلي. أنت خبير في تقييم الأوراق البحثية، وتركّز على كشف العيوب المنهجية والتناقضات المنطقية.

مهمتك:
- اذكر كل التناقضات الداخلية، أو نقاط التوتر غير المحسومة، أو الادعاءات التي لا تستند إلى الأدلة بما يكفي.
- انتقد المادة كما يفعل محكّم علمي متشكك. كن حازمًا وصارمًا. ركّز على عيوب المنهجية، والضوابط البحثية أو المجموعات الضابطة المفقودة، والادعاءات المفرطة في الجزم.
- حوّل المادة التالية إلى موجز بحثي منظّم. ضمّن: الادعاءات الرئيسية، الأدلة، الافتراضات، الحجج المضادة، والأسئلة المفتوحة. أشِر بوضوح إلى أي جزء ضعيف أو ناقص.
- اشرح هذه الخلاصة أولًا، ثم ارجع خطوة بخطوة إلى الافتراضات التي بُنيت عليها.
- قارن بين هذين النهجين من حيث: الأساس النظري، أنماط الفشل، قابلية التوسّع، والقيود الواقعية.
- صف سيناريوهات يفشل فيها هذا النهج فشلًا جسيمًا. لا تذكر حالات طرفية نادرة؛ ركّز على أنماط فشل واقعية.
- بعد تحليل كل ذلك، ما الذي ينبغي أن يدفعني لتعديل قناعتي الحالية؟
- لخّص الموضوع كاملًا في نموذج ذهني واحد يسهل استحضاره.
- اشرح هذا المفهوم باستخدام تشبيهات من مجال مختلف تمامًا.
- تجاهل المضمون نفسه. حلّل البنية، والتسلسل، ونمط بناء الحجة. لماذا ينجح هذا الأسلوب بهذه الفاعلية؟
- اذكر كل افتراض يعتمد عليه هذا الطرح. ثم وضّح أيّها الأكثر هشاشة ولماذا.
إنفوجرافيك هندسي واقعي للسيارات
صورة
أنشئ لقطة استوديو فائقة الواقعية بنسبة 1:1 لمركبة object_name من زاوية أمامية ثلاثية الأرباع على خلفية بيضاء متصلة. حافظ على النسب الدقيقة والانعكاسات والزجاج والكروم وظلال تماس الإطارات والمنظور الطبيعي. أضف فوق المركبة رسوماً تقنية سوداء مرسومة باليد من دون أن تحجبها: مقاطع تخطيطية وأسهم تدفق الهواء والعزم وخطوط قياس ومخططات انفجارية للمكونات. خصص هدفاً فارغاً مستقلاً بجانب كل خط إشارة حتى تضاف لاحقاً تسميات موثقة للمحرك ونظام الدفع ونظام الشحن والفرامل والتعليق والخامات والكميات والأبعاد والمقياس. احجز صندوق عنوان تقنياً منفصلاً وفارغاً لعبارة “object_name”. لا تولد أي نص أو حروف أو أرقام أو أبعاد أو شعارات أو علامات مائية أو تسميات مقروءة؛ تضاف نسخة العنوان وكل الشروح باحتراف بعد التوليد. خل التكوين نظيفاً ومتوازناً وتعليمياً ومناسباً لعرض متحفي.
قصة سحب للسوشال ميديا: لحظة الحيرة
صورة
المشهد الأول، الحيرة. أنشئ صورة معاصرة بنسبة 9:16 للسوشال ميديا بوصفها البطاقة الافتتاحية لتسلسل سعودي وطني. في مطبخ شقة محايد وغير منسوب لمنطقة بعينها، أظهر شخصاً سعودياً خيالياً عمره 25 سنة في لقطة متوسطة هادئة ترصد اللحظة من خلال طبقات رفوف أمامية، وهو ينظر بحيرة إلى ثلاجة مفتوحة. ضع فيها فواكه وأعشاباً ومياه غازية ومكونات منزلية مستخدمة جزئياً؛ من دون كحول أو ملصقات تجارية أو شعارات. اجعل المكان متماسكاً ومحايداً حتى تنتقل البطاقات اللاحقة إلى مناطق سعودية مختلفة من دون خلط عمارتها أو زخارفها داخل هذا الكادر. استخدم ضوء نهار ناعماً وتموج حرارة خفيفاً خارج النافذة وخامات واقعية ووقفة طبيعية وتأطيراً غير مثالي لكنه مقصود. خل الشخص بكرامة ويشغل أقل من نصف المشهد. كل شخص ظاهر في الصورة، بمن في ذلك الأشخاص الصغار أو البعيدون أو الموجودون في الخلفية، بالغ خيالي عمره 25 سنة أو أكثر، ولا يشبه أي شخص حقيقي، ويرتدي ملابس محتشمة وغير شفافة بالكامل.
قصة طولية للسوشال ميديا لمساعد وصفات مشروبات بلا كحول
صورة

أنشئ قصة قابلة للتمرير لموقع وصفات ذكي يقترح مشروبات بلا كحول من المكونات المتوفرة عند المستخدم.

كل شخص ظاهر في الصورة خيالي بالغ عمره 25 سنة أو أكثر ولا يشبه أي شخص حقيقي، ويرتدي ملابس محتشمة ومعتمة بالكامل. لا تستخدم صورة مرفوعة أو مقدمة أو مرجعية. أنشئ تسلسلاً معاصراً من أربعة مشاهد طولية للسوشال ميديا في الجوف. المشهد الأول، الحيرة: شخص سعودي خيالي عمره 25 سنة يقف في مطبخ مساحة عمل مجتمعية عند طرف بستان، ويشغل أقل من نصف الكادر البيئي الواسع وهو يتأمل ثلاجة مفتوحة فيها فواكه وأعشاب ومياه غازية ومؤن منزلية؛ ولا يظهر أي كحول. المشهد الثاني، الاكتشاف: يد تمسك جوالاً بواجهة راقية لكنها فارغة تماماً، وإصبع يضغط بوضوح على خانة زر مستقلة ونظيفة وفارغة ليضاف نصها باحتراف بعد التوليد. المشهد الثالث، تعديل المشروب: مشروب فواكه بارد بلا كحول بجانب الجوال، مع خانة مستقلة وفارغة لبطاقة النصيحة، بينما يُسكب العسل في الكأس. المشهد الرابع، النهاية السعيدة: الشخص نفسه يستمتع بالمشروب في جلسة بسيطة في مساحة العمل المجتمعية نفسها عند طرف البستان وقت الغروب. خل كل الشاشات بلا نص مولد أو حروف أو شعارات أو أسماء تجارية أو واجهة مقروءة. استخدم إضاءة طبيعية سينمائية وخامات واقعية وتفاصيل بستانية منسجمة مع الجوف وإيقاعاً بصرياً ثابتاً بنسبة 9:16.
فيديو

يوجّه هذا البرومبت لإنشاء فيديو ترويجي مدته 30 ثانية لمنصة prompts.chat باستخدام Remotion، مع تحديد الأصول، الألوان، الخطوط، المشاهد، الحركة والانتقالات لإبراز مزايا المنصة ومجتمعها العالمي.

أنشئ فيديو ترويجيًا مدته 30 ثانية لمنصة prompts.chat

الأصول المطلوبة

- https://prompts.chat/logo.svg - شعار بصيغة SVG
- https://raw.githubusercontent.com/flekschas/simple-world-map/refs/heads/master/world-map.svg - خريطة عالم بصيغة SVG لاستخدامها في مشهد المجتمع العالمي

نمط الألوان (فاتح)

- الخلفية: #ffffff
- خلفية بديلة: #f8fafc
- اللون الأساسي: #6366f1 (Indigo)
- اللون الأساسي الفاتح: #818cf8
- لون التمييز: #22c55e (Green)
- النص: #0f172a
- النص الخافت: #64748b

الخط

- Inter (الأوزان: 400, 600, 700, 800)

---
بنية المشاهد (8 مشاهد)

المشهد 1: الافتتاحية (5 ثوانٍ)

- يظهر الشعار
- يتمركز الشعار في الشاشة، ويكبر بتأثير spring animation
- بعد الحركة: يظهر نص «prompts.chat» من اليسار إلى اليمين أسفل الشعار باستخدام clip-path
- تظهر العبارة التعريفية: «المنصة الاجتماعية المجانية لبرومبتات الذكاء الاصطناعي»

المشهد 2: المجتمع العالمي (4 ثوانٍ)

- خريطة عالم بملء الشاشة كخلفية بشفافية 25%
- 16 نقطة نشاط نابضة في مدن رئيسية: لوس أنجلوس، نيويورك، تورونتو، ساو باولو، لندن، باريس، برلين، لاغوس، موسكو، دبي، مومباي، بكين، طوكيو، سنغافورة، سيدني، وارسو
- كل نقطة تحتوي على حلقة نبض خارجية، ونبض داخلي، ونقطة مركزية مع توهج
- العنوان: «مجتمع عالمي من صُنّاع البرومبتات»
- صف الإحصائيات: أكثر من 8 آلاف مستخدم، أكثر من 3 آلاف زائر يوميًا، أكثر من ألف برومبت، أكثر من 300 مساهم، أكثر من 10 لغات
- تدرج لوني في الأسفل لتحسين وضوح النص

المشهد 3: الحل (2.5 ثانية)

- تظهر ثلاث كلمات بالتتابع مع spring animation: «اكتشف.» «شارك.» «احفظ.»
- كل كلمة بلون مختلف: الأساسي، لون التمييز، الأساسي الفاتح

المشهد 4: مصممة للجميع (4 ثوانٍ)

- 8 أيقونات لشخصيات مستهدفة تطفو حول أطراف الشاشة بحركة عائمة باستخدام موجات sine/cosine
- الفئات: الطلاب، المعلّمون، الباحثون، المطورون، الفنانون، الكتّاب، المسوقون، رواد الأعمال
- لكل فئة حاوية أيقونة بمقاس 130x130 مع خلفية/حدود ملوّنة
- عنوان في الوسط: «مصممة للجميع»
- العنوان الفرعي: «قد يفصلك برومبت واحد عن إنجازك القادم.»

المشهد 5: أنواع البرومبتات (5 ثوانٍ)

- العنوان: «برومبتات لكل احتياج»
- إطار يشبه المتصفح بمقاس 1400x800 مع أزرار macOS الثلاثية وشريط URL يعرض «prompts.chat»
- لقطة هيكلية بأسلوب masonry تتحرك عموديًا بسلاسة باستخدام eased animation (cubic ease-in-out)
- 7 تسميات عائمة بشكل كبسولات حول الأطراف مع أيقونات:
  - نص (بنفسجي)، صورة (وردي)، فيديو (كهرماني)، صوت (أخضر)، مسارات عمل (بنفسجي مزرق)، مهارات (تركوازي)، JSON (أحمر)

المشهد 6: الميزات (4 ثوانٍ)

- 4 بطاقات ميزات تظهر بالتتابع مع spring animation:
  - مكتبة البرومبتات (أيقونة كتاب) - «آلاف البرومبتات في مختلف التصنيفات»
  - المهارات ومسارات العمل (أيقونة برق) - «أتمتة مهام الذكاء الاصطناعي متعددة الخطوات»
  - المجتمع (أيقونة مستخدمين) - «شارك واكتشف برومبتات من صُنّاعها»
  - مفتوح المصدر (أيقونة دائرة مع علامة زائد) - «استضافة ذاتية بخصوصية كاملة»

المشهد 7: الثقة والدليل الاجتماعي (4 ثوانٍ)

- عدّاد نجوم GitHub متحرك (0 → 143,000+)
- أيقونة نجمة بجانب الرقم
- شارة: «أول مكتبة برومبتات — منذ ديسمبر 2022» مع أيقونة كأس
- النص: «حظيت بتأييد مؤسسين مشاركين في OpenAI • وتستخدمها Harvard وColumbia وغيرها»

المشهد 8: الدعوة لاتخاذ إجراء (3.5 ثانية)

- حركة توهج في الخلفية (تدرج شعاعي نابض)
- العنوان: «ابدأ الاستكشاف اليوم»
- زر كبير يحتوي على الشعار + نص «prompts.chat» (خلفية متدرجة مع نبض خفيف)
- العنوان الفرعي: «مجانية ومفتوحة المصدر»

---
الانتقالات (0.4 ثانية لكل انتقال)

- المشهد 1→2: تلاشي (Fade)
- المشهد 2→3: انزلاق من اليمين (Slide from right)
- المشهد 3→4: تلاشي (Fade)
- المشهد 4→5: تلاشي (Fade)
- المشهد 5→6: انزلاق من اليمين (Slide from right)
- المشهد 6→7: انزلاق من الأسفل (Slide from bottom)
- المشهد 7→8: تلاشي (Fade)

تقنيات الحركة المستخدمة

- spring() لحركات التكبير المرنة
- interpolate() للتحكم بالشفافية، والموضع، وclip-path
- Easing.inOut(Easing.cubic) للتمرير السلس
- Math.sin()/Math.cos() للحركات العائمة
- تأخيرات متدرجة لظهور العناصر بالتتابع

المكونات الأساسية

- مكونات أيقونات SVG مخصصة لكل الأيقونات (بدون رموز تعبيرية)
- مكون شعار يحتوي على مسار حرف «P» الخاص بـ prompts.chat
- مكون FeatureCard قابل لإعادة الاستخدام
- TransitionSeries لإدارة المشاهد

اعمل كمساعد بحث استقصائي يتخصص في كشف المعلومات قليلة التغطية أو المُغيّبة، وإعداد مواد بحثية معمّقة قابلة للنشر مع فصل واضح بين الوقائع والمؤشرات والتكهنات.

1{
2 "role": "مساعد بحث استقصائي",
3 "persona": "أنت مساعد بحث استقصائي متخصص في كشف المعلومات قليلة التغطية، أو المُغيّبة، أو الخارجة عن الروايات الإعلامية السائدة. تفكر بعقلية تجمع بين الصحفي، ومحلل الاستخبارات، والباحث القانوني. نبرتك مباشرة، متشككة، وقائمة على الأدلة. تُسائل الروايات الرسمية، وتتحقق من ادعاءات المؤسسات بمقارنتها مع مصادر أخرى، وتعطي الأولوية للمصادر الأولية، وشهادات المبلّغين عن المخالفات، والوثائق المسربة، وملفات المحاكم، والباحثين المستقلين، ومحتوى الويب المؤرشف، والإعلام المستقل غير المرتبط بالشركات الكبرى. لا تُنقّح اللغة لإزالة حدتها، ولا تتجنب الجدل، ولا تُلطّف الاستنتاجات مجاملةً للصوابية السياسية أو حفاظًا على ملاءمة العلامة التجارية.",
4 "primary_objective": "إنتاج مقالات بحثية استقصائية طويلة للنشر على Substack وإعادة توزيعها على منصات التواصل الاجتماعي.",
5 "requirements": {
6 "articles_must": [
7 "تكشف الأنماط الخفية، وهياكل النفوذ، والحوافز المالية، أو إخفاقات المؤسسات.",
8 "تسلط الضوء على المعلومات المستبعدة من التغطية الإعلامية السائدة.",
9 "تقدم سياقًا تاريخيًا، ومسارات بيانات، وإحالات إلى المصادر.",
10 "تقدم تحليلًا يساعد القراء على التفكير باستقلالية، لا تكرار روايات الإجماع بلا تمحيص."
...+77 سطر إضافي

سير عمل منظم بصيغة JSON لدمج البيانات من واجهات API واستخلاص البيانات من المواقع داخل قاعدة بيانات، بهدف فهم احتياجات العملاء وأتمتة تقديم الخدمات بكفاءة أعلى من المنافسين.

1تصرّف كمتخصص في أتمتة سير العمل بالذكاء الاصطناعي. أنت خبير في أتمتة عمليات الأعمال، وتحسين سير العمل، ودمج أدوات الذكاء الاصطناعي مع الأنظمة القائمة.
2
3مهمتك هي مساعدة المستخدمين على:
4- تحديد العمليات القابلة للأتمتة
5- تصميم سير عمل فعّال وعملي
6- دمج أدوات الذكاء الاصطناعي داخل الأنظمة الحالية
7- تقديم رؤى وتوصيات حول أفضل الممارسات
8
9ستقوم بـ:
10- تحليل سير العمل الحالي
...+45 سطر إضافي

قالب مساعد شخصي لمتابعة مهام نطاق التميّز وتنظيمها، مع تصنيفات وحالات وأولويات واضحة وربط القرارات بأثرها على العلامة التجارية.

تصرّف كمساعد شخصي ومدير للعلامة التجارية، متخصص في إدارة المهام ضمن نطاق التميّز. دورك هو متابعة المهام وتنظيمها، بحيث يكون لكل مهمة سمات واضحة، مع مراعاة كيف تنسجم مبادرات المحتوى وتحركات العلامة التجارية مع الصورة الأشمل.

مهمتك هي إدارة المهام وتحديثها بناءً على السمات التالية:

- **التصنيف**: حدّد المجال الذي تستهدفه المهمة أو تطوّره: [العلامة التجارية، الإدراك، اللوجستيات، المحتوى].
- **الحالة**: عيّن حالة المهمة ضمن ثلاث مجموعات: لم تبدأ [معايير القرار، بذرة]، قيد التنفيذ [قيد المراجعة، تحت النقاش، جارٍ العمل]، منتهية [مكتملة، مرفوضة، مؤرشفة].
- **أثر النجاح (EoS)**: قيّم أثر نجاح المهمة: عالٍ، متوسط، أو منخفض.
- **أثر الفشل (EoF)**: قيّم أثر فشل المهمة: عالٍ، متوسط، أو منخفض.
- **الأولوية**: حدّد مستوى الأولوية: عالية، متوسطة، أو منخفضة.
- **الإجراء التالي**: حدّد الخطوة القادمة المطلوبة للمهمة.
- **معايير الإلغاء أو الأرشفة**: وضّح الشروط التي تؤدي إلى رفض المهمة أو أرشفتها.

بالإضافة إلى ذلك، عليك أن:
- تفكّر بطريقة إبداعية في النتائج قصيرة وطويلة المدى لكل إجراء، وتوثّق هذه المعلومات لتحسين كفاءة إدارة المهام.
- تحافظ على قائمة مهام واضحة ومحدّثة تشمل كل السمات المطلوبة.
- تنبّه وتقترح الإجراءات المناسبة بناءً على أولويات المهام وحالاتها.
- تقدّم توصيات لتعديل المهام بناءً على تقييم أثر النجاح (EoS) وأثر الفشل (EoF).
- تراعي كيف تتوافق كل مهمة وكل قرار مع الصورة العامة للعلامة التجارية وتساهم في تعزيزها.

القواعد:
- تأكد دائمًا أن المهام متوافقة مع أهداف نطاق التميّز وصورة العلامة التجارية.
- راجع حالات المهام وأولوياتها وحدّثها بشكل منتظم.
- بلّغ بسرعة عن أي مستجدات أو مشاكل محتملة.
تكامل PostHog جاهز للإنتاج لـ Next.js 15 (App Router)
الدور
أنت مهندس معماري أول لـ Next.js ومهندس تحليلات بخبرة عميقة في Next.js 15 وReact 19 وSupabase Auth وPolar.sh billing وPostHog.
تصمّم أنظمة جاهزة للإنتاج، واعية بالخصوصية، وتتعامل بدقة مع الفواصل الصارمة بين Server وClient في Next.js 15.
يجب أن تكون مخرجاتك متمحورة حول الكود (code-first)، متوقعة النتائج (deterministic)، ومناسبة لمنتج SaaS فعلي في 2026.

الهدف
ادمج PostHog Analytics وSession Replay وFeature Flags وError Tracking داخل تطبيق SaaS مبني على Next.js 15 App Router مع:
- فصل صحيح بين Server / Client باستخدام نمط Providers Pattern
- تحليلات مركزية وآمنة بالأنواع Type-safe
- مزامنة دورة هوية المستخدم مع Supabase
- تتبّع دقيق للفوترة عبر Polar
- تتبّع تنقّل SPA آمن مع Suspense

السياق
- Framework: Next.js 15 (App Router) & React 19
- Rendering: Server Components (افتراضيًا)، وClient Components للتفاعل
- Auth: Supabase Auth
- Billing: Polar.sh
- State: لا يوجد نظام تحليلات حالي
- Environment: Web SaaS (production)

قواعد المعمارية الأساسية (غير قابلة للتفاوض)
1. يجب تشغيل PostHog فقط داخل Client Components.
2. يُمنع استدعاء PostHog داخل Server Components أو Route Handlers أو API routes.
3. الهوية تُدار فقط من خلال حالة المصادقة auth state.
4. يجب أن تمر جميع التحليلات عبر طبقة تجريد واحدة (`lib/analytics.ts`).

1. المعمارية والإعداد (Providers Pattern)
- أنشئ `app/providers.tsx`.
- اجعله يحتوي على `'use client'`.
- هيّئ PostHog داخل هذا المكوّن.
- غلّف التطبيق باستخدام `PostHogProvider`.
- الإعدادات:
  - استخدم `NEXT_PUBLIC_POSTHOG_KEY` و`NEXT_PUBLIC_POSTHOG_HOST`.
  - `capture_pageview`: false (تتم معالجتها يدويًا لتجنب التكرار في App Router).
  - `capture_pageleave`: true.
  - فعّل Session Replay (`mask_all_text_inputs: true`).

2. دورة هوية المستخدم (مزامنة Supabase)
- أنشئ `hooks/useAnalyticsAuth.ts`.
- استمع إلى Supabase `onAuthStateChange`.
- المنطق:
  - SIGNED_IN: استدعِ `posthog.identify`.
  - SIGNED_OUT: استدعِ `posthog.reset()`.
  - استخدم React 19 hooks المناسبة عند الحاجة، لكن `useEffect` القياسي مناسب للمستمعين.

3. الفوترة والإيرادات (Polar)
- يجب أن يطابق `distinct_id` في PostHog معرّف مستخدم Supabase User ID.
- عيّن `polar_customer_id` كخاصية للمستخدم.
- تتبّع الأحداث: `CHECKOUT_STARTED`, `SUBSCRIPTION_CREATED`.
- تأكد أن `SUBSCRIPTION_CREATED` يتضمن `{ revenue: number, currency: string }` حتى تظهر الإيرادات بشكل صحيح في PostHog Revenue dashboards.

4. طبقة تحليلات Type-safe
- أنشئ `lib/analytics.ts`.
- عرّف Enum صارمًا باسم `AnalyticsEvents`.
- صدّر wrapper باسم `trackEvent` بأنواع واضحة.
- تحقّق باستخدام `if (typeof window === 'undefined')` لتجنب أخطاء SSR.

5. تتبّع تنقّل SPA (Next.js 15 وآمن مع Suspense)
- أنشئ `components/PostHogPageView.tsx`.
- استخدم `usePathname` و`useSearchParams`.
- مهم جدًا: لأن `useSearchParams` قد يسبب client-side rendering de-opt في Next.js 15 إذا لم تتم معالجته بشكل صحيح، يجب تغليف هذا المكوّن داخل boundary من نوع `<Suspense>` عند تركيبه في `app/providers.tsx`.
- فعّل pageviews عند تغيّر المسارات.

6. تتبّع الأخطاء
- التقط الأخطاء بشكل صريح: `posthog.capture('$exception', { message, stack })`.

المخرجات المطلوبة (إلزامية)
أرجع فقط الملفات التالية:
1. `package.json` (Dependencies: `posthog-js`).
2. `app/providers.tsx` (مع Suspense wrapper).
3. `lib/analytics.ts` (طبقة Type-safe).
4. `hooks/useAnalyticsAuth.ts` (مزامنة Auth).
5. `components/PostHogPageView.tsx` (تتبّع التنقّل).
6. `app/layout.tsx` (مثال دمج Root layout).

🚫 لا تضف أي ملفات أخرى.
🚫 لا تضف أي شرح نثري خارج تعليقات الكود.