أنت مختص في جاهزية الإطلاق. أنشئ قائمة تحقق شاملة قبل الإطلاق، مخصصة لهذا المشروع تحديدًا.
## سياق المشروع
- **المشروع:** [name, type, description]
- **التقنيات المستخدمة:** [framework, hosting, services]
- **الميزات:**
- **نوع الإطلاق:** [soft launch / public launch / client handoff]
- **النطاق:** [is DNS already configured?]
## أنشئ قائمة تحقق تغطي:
### الوظائف والتشغيل
- كل مسارات المستخدم الأساسية تعمل من البداية للنهاية
- كل نماذج الإدخال تُرسل بشكل صحيح وتعرض رسالة مناسبة للمستخدم
- مسار الدفع يعمل، إذا كان موجودًا — اختبره في بيئة Sandbox حقيقية
- المصادقة تعمل بشكل صحيح: تسجيل الدخول، تسجيل الخروج، استعادة كلمة المرور، وانتهاء الجلسة
- إشعارات البريد الإلكتروني تُرسل بشكل صحيح، مع فحص مجلد الرسائل المزعجة
- تكاملات الطرف الثالث تستجيب وتعمل كما هو متوقع
- معالجة الأخطاء تعمل: ماذا يظهر للمستخدم إذا تعطل شيء؟
### المحتوى والنصوص
- لا يوجد أي نص lorem ipsum متبقٍ
- كل الروابط تعمل ولا توجد صفحات 404 غير مقصودة
- الصفحات القانونية موجودة: سياسة الخصوصية، الشروط والأحكام، وموافقة ملفات الارتباط
- معلومات التواصل صحيحة
- سنة حقوق النشر محدثة
- روابط حسابات التواصل الاجتماعي تشير إلى الملفات الصحيحة مثل لينكدإن، X، تيك توك أو غيرها
- كل الصور تحتوي على نص alt مناسب
- تم ضبط favicon بكل المقاسات المطلوبة
### فحص الأصول البصرية المؤقتة 🔴
افحص كامل قاعدة الكود والموقع المنشور بحثًا عن أي أصول بصرية مؤقتة
لازم تُستبدل قبل الإطلاق. هذا بند حرج جدًا — ظهور صورة مؤقتة في موقع منشور
قد يكون أضر من خطأ إملائي بسيط.
**فحص قاعدة الكود — ابحث عن الأنماط التالية:**
- روابط تحتوي على: `placeholder`, `via.placeholder.com`, `placehold.co`,
`picsum.photos`, `unsplash.it/random`, `dummyimage.com`, `placekitten`,
`placebear`, `fakeimg`
- أسماء ملفات تحتوي على: `placeholder`, `dummy`, `sample`, `example`,
`temp`, `test-image`, `default-`, `no-image`
- الملفات الافتراضية في Next.js / Vercel: `public/next.svg`, `public/vercel.svg`,
`public/thirteen.svg`, `app/favicon.ico` إذا كان لا يزال favicon الافتراضي من Next.js
- صور القوالب الافتراضية الخاصة بإطار العمل إذا ما زالت داخل مجلد `public/`
- أبعاد ثابتة بدون صورة فعلية: `width={400} height={300}`
مع `div` رمادي أو `src` مفقود
- أنماط SVG مؤقتة: SVG مضمّنة تُستخدم كبديل مؤقت للصور
وغالبًا تكون مستطيلات رمادية مع أيقونة في المنتصف
**فحص على مستوى المكوّنات:**
- مكوّنات الصور الشخصية Avatar التي تعود إلى أيقونة مستخدم عامة — هل البديل مصمم ضمن هوية المشروع أم مجرد افتراضي من مكتبة؟
- مكوّنات البطاقات التي تحتوي على خاصية `image?: string` — ماذا يظهر إذا لم تُمرر صورة؟ هل هي حالة فارغة مصممة أم تخطيط مكسور؟
- أقسام Hero أو البنرات — هل صورة الخلفية نهائية أم عينة أثناء التطوير؟
- شبكات المنتجات أو الأعمال — هل كل العناصر تستخدم صورًا حقيقية أم أن بعضها لا يزال يستخدم نفس صورة الاختبار المكررة؟
- مكوّن الشعار — هل يستخدم ملف الشعار النهائي أم مجرد نص مؤقت؟
- صورة OG عبر وسم `og:image` — هل هي أصل بصري مصمم أم صورة افتراضية من إطار العمل أو الاستضافة؟
**فحص الطرف الثالث وCDN:**
- الصور المحمّلة من شبكات CDN مخصصة للتطوير فقط مثل `picsum.photos`
- علامات مائية لصور مخزنية ما زالت ظاهرة، وابحث خصوصًا عن الصور الأكبر من 500kb التي قد تكون صورًا غير مشتراة
- الصور التي تحتوي نصوص alt فيها على `lorem` أو `test`
**صيغة المخرجات:**
أنتج جدولًا بكل عنصر مؤقت تم العثور عليه:
| # | مسار الملف | السطر | النوع | القيمة الحالية | مستوى الخطورة | الإجراء المطلوب |
|---|------------|-------|-------|----------------|---------------|-----------------|
| 1 | `src/app/page.tsx` | 42 | رابط صورة | `via.placeholder.com/800x400` | 🔴 حرج | استبداله بصورة Hero النهائية |
| 2 | `public/favicon.ico` | — | افتراضي من إطار العمل | favicon الافتراضي من Next.js | 🔴 حرج | استبداله بـ favicon خاص بالعلامة |
| 3 | `src/components/Card.tsx` | 18 | بديل مفقود | لا توجد صورة = التخطيط يتعطل | 🟡 عالٍ | تصميم حالة فارغة مناسبة |
مستويات الخطورة:
- 🔴 حرج: ظاهر للمستخدمين في صفحات رئيسية أو أماكن مهمة مثل Hero، الجزء العلوي من الصفحة، أو صورة OG
- 🟡 عالٍ: ظاهر للمستخدمين أثناء الاستخدام الطبيعي مثل البطاقات، الصور الشخصية، وصور المحتوى
- 🟠 متوسط: يظهر في حالات جانبية مثل الحالات الفارغة، صفحات الخطأ، أو البدائل الاحتياطية
- ⚪ منخفض: موجود في الكود فقط وغير ظاهر للمستخدم مثل بيانات الاختبار أو مسارات التطوير فقط
### SEO والبيانات الوصفية
- عناوين الصفحات فريدة وواضحة وتصف محتوى الصفحة
- أوصاف meta مكتوبة لكل صفحة
- وسوم Open Graph جاهزة للمشاركة على المنصات الاجتماعية، واختبرها بأداة فحص المشاركة
- ملف Robots.txt مضبوط بشكل صحيح
- ملف Sitemap.xml موجود ومُرسل لمحركات البحث
- روابط Canonical مضبوطة
- البيانات المنظمة / Schema markup مضافة إذا كانت مناسبة للمشروع
### الأداء
- نتائج Lighthouse تحقق الأهداف المطلوبة
- الصور محسّنة ومتجاوبة مع أحجام الشاشات
- الخطوط تُحمّل بكفاءة
- لا توجد أخطاء في وحدة التحكم Console في نسخة الإنتاج
- أدوات التحليلات مثبتة وتتابع الزيارات بشكل صحيح
### الأمان
- HTTPS مفعّل إجباريًا ولا يوجد mixed content
- متغيرات البيئة مضبوطة في بيئة الإنتاج
- لا توجد مفاتيح API مكشوفة في كود الواجهة الأمامية
- يوجد تحديد لمعدل الإرسال على النماذج لمنع الرسائل المزعجة
- إعدادات CORS مضبوطة بشكل صحيح
- ترويسات CSP مفعّلة إذا كانت مناسبة
### التوافق عبر المنصات
- تم الاختبار على: Chrome وSafari وFirefox بأحدث الإصدارات
- تم الاختبار على: iOS Safari وAndroid Chrome
- تم الاختبار على نقاط الكسر الأساسية للشاشات
- تنسيق الطباعة موجود إذا كان المستخدمون قد يحتاجون للطباعة
### البنية التحتية
- النطاق مربوط وSSL مفعّل
- التحويلات بين www وnon-www مضبوطة
- صفحة 404 مصممة وليست افتراضية
- صفحات الأخطاء مصممة مثل 500 والصيانة
- النسخ الاحتياطية مفعّلة، خصوصًا قاعدة البيانات إذا كانت موجودة
- المراقبة وفحص التوقف uptime مفعّلان
### التسليم، إذا كان المشروع لعميل
- العميل لديه صلاحية الوصول لكل الحسابات: الاستضافة، النطاق، والتحليلات
- التوثيق مكتمل مثل FORGOKBEY.md أو ما يعادله
- التدريب مجدول أو مسجل
- اتفاقية الدعم والصيانة واضحة
## صيغة المخرجات
قائمة تحقق بصيغة Markdown تحتوي على:
- [ ] كل بند على شكل مربع قابل للتأشير
- مرتبة حسب الفئات
- وسم أولوية للبنود الحرجة: 🔴 لازم تُعالج قبل الإطلاق
- كل بند يتضمن ملاحظة من سطر واحد بعنوان «طريقة التحقق»