💻
برومبت اكتشاف وتأهيل قاعدة التعليمات البرمجية
يساعد المطورين على فهم قاعدة تعليمات برمجية جديدة لتأهيل أسرع وزيادة الإنتاجية.
💻 البرمجةمتوسط
البرومبت
**السياق:**
أنا مطور انضممت للتو إلى المشروع وأستخدمك، مساعد برمجة يعمل بالذكاء الاصطناعي، لاكتساب فهم عميق لقاعدة التعليمات البرمجية الحالية. هدفي هو أن أصبح منتجًا في أسرع وقت ممكن واتخاذ قرارات تقنية مستنيرة بناءً على فهم قوي للنظام الحالي.
**الهدف الأساسي:**
حلل الكود المصدري المقدم في هذا المشروع/مساحة العمل وأنشئ **مستند Markdown مفصل وواضح ومنظم جيدًا** يشرح بنية النظام وميزاته والتدفقات الرئيسية والمكونات الأساسية ومجموعة التقنيات المستخدمة.
يجب أن يكون هذا المستند بمثابة **دليل إعداد تقني**.
كلما أمكن، حسّن قابلية التنقل من خلال توفير **روابط مباشرة للملفات والفئات والوظائف ذات الصلة**، بالإضافة إلى أمثلة تعليمات برمجية تساعد في توضيح المفاهيم.
---
## **تعليمات مفصلة — يرجى معالجة النقاط التالية:**
### 1. **ملخص ملفات README / التعليمات**
- ابحث عن ملفات مثل `README.md`، `LEIAME.md`، `CONTRIBUTING.md`، أو وثائق مشابهة.
- قدم ملخصًا موضوعيًا ومفصلاً للأقسام الأكثر صلة للمطور الجديد، بما في ذلك:
- نظرة عامة على المشروع
- كيفية إعداد وتشغيل النظام محليًا
- المعايير والاتفاقيات المعتمدة
- إرشادات المساهمة (إذا كانت متوفرة)
---
### 2. **مجموعة التقنيات التفصيلية**
- حدد وقائمة مجموعة التقنيات الكاملة المستخدمة في المشروع:
- لغة (لغات) البرمجة، بما في ذلك الإصدارات عند اكتشافها (على سبيل المثال، من `package.json`، `pom.xml`، `.tool-versions`، `requirements.txt`، `build.gradle`، إلخ).
- الأطر الرئيسية (الخلفية، الواجهة الأمامية، إلخ — على سبيل المثال، Spring Boot، .NET، React، Angular، Vue، Django، Rails).
- قاعدة (قواعد) البيانات:
- النوع (SQL / NoSQL)
- الاسم (PostgreSQL، MongoDB، إلخ)
- نمط البنية الأساسي (على سبيل المثال، Monolith، Microservices، Serverless، MVC، MVVM، Clean Architecture).
- النظام الأساسي السحابي (إذا كان قابلاً للتحديد عبر SDKs أو التكوين — AWS، Azure، GCP).
- أدوات البناء ومديري الحزم (Maven، Gradle، npm، yarn، pip).
- أي تقنيات أخرى ذات صلة (التخزين المؤقت، وسطاء الرسائل، الحاويات — Docker، Kubernetes).
- **الرجوع إلى ملفات التكوين التي توضح كل عنصر وربطها.**
---
### 3. **نظرة عامة على النظام والغرض منه**
- صف بوضوح ما يفعله النظام ولمن هو.
- ما المشاكل التي يحلها؟
- قائمة الوظائف الأساسية.
- إذا أمكن، اربط النظام بمجالات الأعمال المعنية.
- قدم وصفًا عالي المستوى للميزات الرئيسية.
---
### 4. **هيكل المشروع وتوصيات القراءة**
- **نقطة الدخول:**
أين يجب أن أبدأ استكشاف الكود؟ حدد نقاط الدخول الرئيسية (على سبيل المثال، `main.go`، `index.js`، `Program.cs`، `app.py`، `Application.java`).
**قدم روابط مباشرة لهذه الملفات.**
- **التنظيم العام:**
اشرح الهيكل العام للمجلدات والملفات. سلط الضوء على الاتفاقيات الهامة.
**استخدم أمثلة لأسماء المجلدات والملفات الحقيقية.**
- **التكوين:**
هل توجد ملفات تكوين رئيسية؟ (على سبيل المثال، `config.yaml`، `.env`، `appsettings.json`)
ما هي التكوينات الحاسمة؟
**قدم روابط.**
- **توصية القراءة:**
اقترح ترتيبًا أو مجموعة من الملفات/الوحدات الرئيسية التي يجب قراءتها أولاً لفهم المفاهيم الأساسية للمشروع بسرعة.
---
### 5. **المكونات الرئيسية**
- حدد ووصف أهم الوحدات أو الفئات أو الوظائف أو الخدمات المركزية.
- اشرح مسؤوليات كل مكون.
- صف مسؤولياتها وترابطها.
- لكل مكون:
- قم بتضمين مقتطف تعليمات برمجية تمثيلي
- قدم رابطًا إلى مكان تنفيذه
- **قدم روابط مباشرة وأمثلة تعليمات برمجية كلما أمكن ذلك.**
---
### 6. **تدفقات التنفيذ والبيانات**
- صف سير العمليات أو العمليات التجارية الأكثر شيوعًا أو أهمية (على سبيل المثال، معالجة الطلبات، مصادقة المستخدم).
- اشرح كيف تتدفق البيانات عبر النظام:
- أين يتم تخزين البيانات
- كيف يتم قراءتها وتعديلها ونشرها
- **كلما أمكن، وضح بالأمثلة واربط بالوظائف أو الفئات ذات الصلة.**
#### 6.1 **نظرة عامة على مخطط قاعدة البيانات (إذا كان قابلاً للتطبيق)**
- للتطبيقات كثيفة البيانات:
- حدد الكيانات/الجداول/المجموعات الرئيسية
- صف علاقاتها الأساسية
- استند إلى نماذج ORM أو عمليات الترحيل أو ملفات المخطط إذا كانت متوفرة
---
### 7. **التبعيات والتكاملات**
- **التبعيات:**
قائمة بالمكتبات الخارجية والأطر و SDKs الرئيسية المستخدمة.
اشرح بإيجاز دور كل منها.
**قدم روابط إلى مكان تكوينها أو استخدامها الأكثر شيوعًا.**
- **التكاملات:**
حدد واشرح التكاملات مع الخدمات الخارجية، وقواعد البيانات الإضافية، وواجهات برمجة التطبيقات التابعة لجهات خارجية، ووسطاء الرسائل، وما إلى ذلك.
كيف يتم الاتصال؟
**أشر إلى الوحدات/الفئات المسؤولة وقم بتضمين روابط.**
#### 7.1 **وثائق API (إذا كانت قابلة للتطبيق)**
- إذا كان المشروع يكشف عن واجهات برمجة التطبيقات:
- هل هناك دليل على أدوات أو معايير توثيق API (على سبيل المثال، Swagger/OpenAPI، Javadoc، docstrings خاصة بنقطة النهاية)؟
- أين يمكن العثور على هذه الوثائق أو كيف يمكن إنشاؤها؟
---
### 8. **الرسوم البيانية**
- أنشئ رسومًا بيانية عالية المستوى لتصور بنية النظام وسلوكه:
- مخطط المكونات (يسلط الضوء على الوحدات الرئيسية وتفاعلاتها)
- مخطط تدفق البيانات (يوضح كيف تنتقل المعلومات عبر النظام)
- مخطط الفئات (يوضح الفئات الرئيسية والعلاقات، إذا كان قابلاً للتطبيق)
- مخطط نشر مبسط (حيث تعمل المكونات، إذا كان قابلاً للاكتشاف)
- مخطط بنية تحتية/نشر مبسط (إذا كانت تفاصيل البنية التحتية واضحة)
- **أنشئ هذه الرسوم البيانية باستخدام صيغة Mermaid داخل ملف Markdown.**
- يجب أن تكون الرسوم البيانية **عالية المستوى**؛ لا يلزم تفصيل واسع.
---
### 9. **الاختبار**
- هل توجد اختبارات آلية؟
- اختبارات الوحدة
- اختبارات التكامل
- اختبارات شاملة (E2E)
- أين توجد في المشروع؟
- ما هي أطر الاختبار المستخدمة؟
- كيف يتم تنفيذ الاختبارات عادة؟
- كيف يمكن تشغيل الاختبارات محليًا؟
- هل توجد أي استراتيجية CI/CD تتضمن الاختبارات؟
---
### 10. **معالجة الأخطاء والتسجيل**
- كيف يتعامل التطبيق بشكل عام مع الأخطاء؟
- هل يوجد نمط قياسي (على سبيل المثال، برمجيات وسيطة عامة، استثناءات مخصصة)؟
- ما هي مكتبة التسجيل المستخدمة؟
- هل يوجد تنسيق تسجيل قياسي؟
- هل يوجد تكامل مرئي مع أدوات المراقبة (على سبيل المثال، Datadog، Sentry)؟
---
### 11. **اعتبارات الأمان**
- هل توجد آليات أمان واضحة في الكود؟
- المصادقة
- التفويض (برمجيات وسيطة/مرشحات)
- التحقق من صحة المدخلات
- هل تستخدم مكتبات أمان محددة بشكل بارز (على سبيل المثال، Spring Security، Passport.js، مكتبات JWT)؟
- هل توجد ممارسات أمنية ملحوظة؟
- إدارة الأسرار
- الحماية من الهجمات الشائعة
---
### 12. **ملاحظات أخرى ذات صلة (بما في ذلك البناء/النشر)**
- هل توجد ملفات متعلقة **بالبناء أو النشر**؟
- `Dockerfile`
- `docker-compose.yml`
- نصوص البناء/النشر
- ملفات تكوين CI/CD (على سبيل المثال، `.github/workflows/`، `.gitlab-ci.yml`)
- ماذا تشير هذه الملفات حول كيفية بناء التطبيق ونشره؟
- هل يوجد أي شيء آخر حاسم أو مفيد بشكل خاص لمطور جديد؟
- الديون التقنية المعروفة المذكورة في التعليقات
- أنماط تصميم غير عادية
- اتفاقيات ترميز مهمة
- ملاحظات الأداء
---
## **تنسيق الإخراج النهائي**
- أنشئ الاستجابة الكاملة كـ **مستند Markdown (`.md`) منسق جيدًا**.
- استخدم **لغة واضحة ومباشرة**.
- نظم المحتوى باستخدام **العناوين والعناوين الفرعية** وفقًا للأقسام المرقمة أعلاه.
- **قم بتضمين مقتطفات تعليمات برمجية ذات صلة** (قصيرة وتمثيلية).
- **قم بتضمين روابط قابلة للنقر** للملفات والوظائف والفئات والتعريفات كلما تم ذكر عنصر تعليمات برمجية محدد.
- قم بهيكلة المستند باستخدام الأقسام المرقمة أعلاه لسهولة القراءة.
**كلما أمكن:**
- قم بتضمين **روابط قابلة للنقر** للملفات والوظائف والفئات.
- أظهر **مقتطفات تعليمات برمجية قصيرة وتمثيلية**.
- استخدم **النقاط أو الجداول** للقوائم.
---
### **هام**
يجب أن يأخذ التحليل في الاعتبار **جميع الملفات في المشروع**.
اقرأ وافهم **جميع الملفات الضرورية** المطلوبة لتنفيذ هذه المهمة بالكامل وتحقيق فهم كامل للنظام.
---
### **الإجراء**
يرجى تحليل الكود المصدري المتاح حاليًا في بيئتي/مساحة عملي وإنشاء مستند Markdown كما هو مطلوب.
يجب أن يتبع اسم ملف الإخراج هذا التنسيق:
`<yyyy-mm-dd-project-name-app-dev-discovery_cursor.md>`اضغط لعرض البرومبت الكامل
#قاعدة الكود#إعداد#توثيق#فهم