Skip to content

المساهمة في Hatcher

شكراً لاهتمامك بالمساهمة في Hatcher! سيساعدك هذا الدليل على البدء في المساهمة في المشروع.

قواعد السلوك

من خلال المشاركة في هذا المشروع، توافق على الالتزام بـقواعد السلوك الخاصة بنا. يرجى قراءتها قبل المساهمة.

البداية

إعداد التطوير

  1. Fork و Clone

    bash
    git clone https://github.com/your-username/dx-engine.git
    cd dx-engine
  2. تثبيت التبعيات

    bash
    pnpm install
  3. بدء خادم التطوير

    bash
    pnpm dev

هيكل المشروع

dx-engine/
├── apps/
│   ├── electron/          # عملية Electron الرئيسية
│   ├── web/              # عملية العرض (Vue.js)
│   ├── preload/          # سكريبتات التحميل المسبق
│   └── docs/             # وثائق VitePress
├── universal/
│   ├── vite-plugin/      # ملحقات Vite مخصصة
│   └── puppeteer-google-translate/
└── scripts/              # سكريبتات البناء والتطوير

طرق المساهمة

الإبلاغ عن الأخطاء

عند الإبلاغ عن الأخطاء، يرجى تضمين:

  • وصف واضح: ما حدث مقابل ما توقعته
  • خطوات الإعادة: خطوات مفصلة لإعادة إنشاء المشكلة
  • البيئة: نظام التشغيل، إصدار Node.js، إصدار pnpm
  • لقطات الشاشة: إذا أمكن، قم بتضمين دليل بصري

استخدم قالب تقرير الخطأ عند إنشاء المشاكل.

طلبات الميزات

نرحب بطلبات الميزات! يرجى تضمين:

  • حالة الاستخدام: لماذا هذه الميزة مطلوبة؟
  • الحل المقترح: كيف يجب أن تعمل؟
  • البدائل: ما هي الطرق الأخرى التي فكرت فيها؟

استخدم قالب طلب الميزة.

مساهمات الكود

قبل البدء

  1. تحقق من المشاكل الموجودة: ابحث عن المشاكل ذات الصلة أو طلبات الميزات
  2. ناقش التغييرات الكبيرة: افتح مشكلة لمناقشة التغييرات المهمة
  3. ابدأ صغيراً: ابدأ بمساهمات صغيرة ومركزة

سير عمل التطوير

  1. إنشاء فرع

    bash
    git checkout -b feature/your-feature-name
  2. إجراء التغييرات

    • اتبع معايير الترميز الخاصة بنا (انظر أدناه)
    • اكتب اختبارات للوظائف الجديدة
    • حدث الوثائق حسب الحاجة
  3. اختبر تغييراتك

    bash
    pnpm build
    pnpm test
  4. قم بتسجيل تغييراتك

    bash
    git commit -m "feat: add amazing new feature"

    نتبع تنسيق Conventional Commits.

  5. ادفع وأنشئ PR

    bash
    git push origin feature/your-feature-name

معايير الترميز

يتبع Hatcher معايير ترميز صارمة لضمان الاتساق وقابلية الصيانة والكود عالي الجودة في جميع أنحاء المشروع.

📋 دليل معايير الترميز الكامل

مرجع سريع

TypeScript

  • استخدم TypeScript لجميع الأكواد الجديدة مع تمكين الوضع الصارم
  • فضل الواجهات على الأنواع لأشكال الكائنات
  • استخدم أسماء ذات معنى ووصفية للمتغيرات والوظائف
  • قم بتضمين تعليقات JSDoc لجميع واجهات برمجة التطبيقات العامة

Vue.js

  • استخدم Composition API مع صيغة <script setup>
  • عرّف props و emits بواجهات TypeScript
  • فضل composables للمنطق القابل لإعادة الاستخدام
  • اتبع هيكل المكون أحادي الملف: script → template → style

أدوات جودة الكود

نستخدم أدوات آلية لفرض المعايير:

bash
# فحص وإصلاح مشاكل نمط الكود
pnpm lint:fix

# فحص الأنواع
pnpm typecheck

# تشغيل جميع الاختبارات
pnpm test

# تنسيق الكود
pnpm format

عملية Pull Request

قبل التقديم

  • [ ] الكود يتبع معايير المشروع
  • [ ] الاختبارات تمر محلياً
  • [ ] الوثائق محدثة
  • [ ] التغييرات مركزة وذرية

قالب وصف PR

markdown
## الوصف

وصف مختصر للتغييرات

## نوع التغيير

- [ ] إصلاح خطأ
- [ ] ميزة جديدة
- [ ] تغيير كاسر
- [ ] تحديث الوثائق

## الاختبار

- [ ] اختبارات الوحدة مضافة/محدثة
- [ ] اختبارات التكامل مضافة/محدثة
- [ ] الاختبار اليدوي مكتمل

المجتمع

قنوات التواصل

  • GitHub Issues: تقارير الأخطاء وطلبات الميزات
  • GitHub Discussions: الأسئلة العامة والأفكار
  • Discord: دردشة فورية مع المجتمع
  • Twitter: تابع @HatcherDX للتحديثات

إرشادات المجتمع

  • كن محترماً: عامل الجميع باحترام
  • كن بناءً: ركز على الحلول وليس المشاكل
  • كن صبوراً: تذكر أننا جميعاً متطوعون
  • كن مفيداً: شارك المعرفة وساعد الآخرين

موارد التطوير

روابط مفيدة

أسئلة؟

إذا كان لديك أسئلة حول المساهمة:

  1. تحقق من GitHub Discussions الموجودة
  2. انضم إلى مجتمع Discord الخاص بنا
  3. أنشئ مناقشة أو مشكلة جديدة

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

Released under the MIT License. Built with ❤️ by Chriss Mejía and the Hatcher community.