Skip to content

المساهمة في Hatcher

شكراً لاهتمامك بالمساهمة في 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/                           # Application packages
│   ├── electron/                   # Main Electron process
│   ├── web/                       # Renderer process (Vue 3 + TypeScript)
│   ├── preload/                   # Preload scripts for Electron
│   └── docs/                      # VitePress documentation site
├── universal/                      # Shared libraries and systems
│   ├── terminal-system/           # Terminal emulation and management
│   ├── storage/                   # Storage abstraction layer
│   ├── git-genius/               # Git operations and timeline
│   ├── shared-rendering/         # Shared rendering utilities
│   └── shared-utils/             # Common utilities
├── tooling/                       # Development and build tools
│   ├── vite-plugin/              # Custom Vite plugins
│   ├── translation-system/       # i18n and translation tools
│   └── puppeteer-google-translate/ # Automated translation
├── scripts/                       # Build, test, and utility scripts
├── brand/                         # Brand assets (logos, icons, etc.)
└── types/                         # Shared TypeScript type definitions

طرق المساهمة

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

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

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

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

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

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

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

استخدم نموذج طلب الميزة الخاص بنا.

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

قبل البدء

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

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

  1. إنشاء فرع

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

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

    bash
    pnpm build
    pnpm test
  4. Commit تغييراتك

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

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

  5. Push وإنشاء PR

    bash
    git push origin feature/your-feature-name

معايير البرمجة

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

📋 دليل معايير البرمجة الكامل

مرجع سريع

TypeScript

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

Vue.js

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

التنسيق

  • استخدم الأنماط المحددة النطاق لـ CSS الخاص بالمكون
  • اتبع منهجية BEM لتسمية الفئات
  • استخدم خصائص CSS المخصصة للسمات
  • فضل flexbox و CSS Grid للتخطيطات

اصطلاحات Git

  • اتبع تنسيق Conventional Commits
  • استخدم أسماء فروع وصفية: feature/، fix/، docs/، refactor/
  • احتفظ بالـ commits ذرية ومركزة على تغيير واحد

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

نستخدم أدوات آلية لتطبيق المعايير:

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

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

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

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

خطافات ما قبل الالتزام

يُشغّل Husky فحوصات تلقائية قبل كل commit:

  • ESLint لجودة الكود
  • تحويل TypeScript
  • Prettier للتنسيق
  • اختبارات الوحدة للمسارات الحرجة

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

التوثيق

أنواع التوثيق

  • تعليقات الكود: اشرح المنطق المعقد
  • ملفات README: نظرة عامة وتعليمات الإعداد
  • توثيق API: وثق الواجهات العامة
  • أدلة المستخدم: أدلة إرشادية للمستخدمين النهائيين

إرشادات الكتابة

  • استخدم لغة واضحة وموجزة
  • قم بتضمين أمثلة الكود
  • حافظ على تحديث التوثيق مع تغييرات الكود
  • اختبر جميع أمثلة الكود

عملية Pull Request

قبل الإرسال

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

نموذج وصف PR

markdown
## الوصف

وصف موجز للتغييرات

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

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

## الاختبار

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

## لقطات الشاشة (إذا أمكن)

قم بتضمين لقطات شاشة قبل/بعد لتغييرات واجهة المستخدم

عملية المراجعة

  1. الفحوصات الآلية: يجب أن ينجح CI/CD
  2. مراجعة الكود: مراجعة مشرف واحد على الأقل
  3. الاختبار: يتم اختبار التغييرات في بيئة التطوير
  4. التوثيق: تحقق من تحديث المستندات
  5. الدمج: دمج وضغط PRs المعتمدة

عملية الإصدار

الإصدار

نتبع Semantic Versioning:

  • MAJOR: تغييرات مفصلة
  • MINOR: ميزات جديدة (متوافقة مع الإصدارات السابقة)
  • PATCH: إصلاحات الأخطاء (متوافقة مع الإصدارات السابقة)

سير عمل الإصدار

  1. تجميد الميزات: توقف عن قبول ميزات جديدة
  2. الاختبار: مرحلة اختبار شاملة
  3. التوثيق: قم بتحديث سجل التغيير والمستندات
  4. الإصدار: إنشاء إصدار موسوم
  5. الإعلان: إبلاغ التغييرات إلى المجتمع

المجتمع

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

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

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

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

التقدير

نقدر جميع المساهمات! يتم التعرف على المساهمين في:

  • CONTRIBUTORS.md: قائمة بجميع مساهمي المشروع
  • ملاحظات الإصدار: تُسلط الضوء على المساهمات الرئيسية
  • وسائل التواصل الاجتماعي: عرض مساهمات المجتمع

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

روابط مفيدة

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

  • VS Code: محرر موصى به مع امتدادات Vue و TypeScript
  • Vue DevTools: امتداد المتصفح لتصحيح تطبيقات Vue
  • Electron DevTools: أدوات تصحيح مدمجة

أسئلة؟

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

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

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

جاهز لترك بصمتك؟

انضم إلى المجتمع الذي يبني بيئة التطوير المتكاملة الدستورية لعصر الذكاء الاصطناعي