المساهمة في Hatcher
شكراً لاهتمامك بالمساهمة في Hatcher! أنت تنضم إلى حركة لبناء مستقبل تطوير البرمجيات في عصر الذكاء الاصطناعي - مستقبل حيث يحافظ المطورون على السيطرة المطلقة أثناء تسخير قوة تضخيم الذكاء الاصطناعي. يوفر هذا الدليل الخطوات العملية للبدء، ولكن إذا لم تكن قد فعلت ذلك بالفعل، نوصي بقراءة الفلسفة لفهم "لماذا" وراء عملنا.
من خلال المساهمة في Hatcher، أنت لا تكتب الكود فقط - بل تساعد في تحديد كيف سيبني البشر البرمجيات في عصر الذكاء الاصطناعي. كل مساهمة، سواء كانت إصلاح خطأ أو ميزة أو تحسين توثيق، تدفع مهمتنا للتضخيم المتحكم فيه قدماً.
قواعد السلوك
من خلال المشاركة في هذا المشروع، فإنك توافق على الالتزام بـ قواعد السلوك الخاصة بنا. يرجى قراءتها قبل المساهمة.
البدء
إعداد التطوير
Fork وClone
bashgit clone https://github.com/your-username/dx-engine.git cd dx-engine
تثبيت التبعيات
bashpnpm install
بدء خادم التطوير
bashpnpm 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
- لقطات شاشة: إذا أمكن، قم بتضمين أدلة مرئية
استخدم نموذج تقرير الأخطاء الخاص بنا عند إنشاء المشكلات.
طلبات الميزات
نرحب بطلبات الميزات! يرجى تضمين:
- حالة الاستخدام: لماذا هذه الميزة مطلوبة؟
- الحل المقترح: كيف يجب أن تعمل؟
- البدائل: ما هي الطرق الأخرى التي فكرت فيها؟
استخدم نموذج طلب الميزة الخاص بنا.
مساهمات الكود
قبل البدء
- تحقق من المشكلات الموجودة: ابحث عن المشكلات أو طلبات الميزات ذات الصلة
- ناقش التغييرات الكبيرة: افتح مشكلة لمناقشة التغييرات الهامة
- ابدأ صغيراً: ابدأ بمساهمات صغيرة ومركزة
سير عمل التطوير
إنشاء فرع
bashgit checkout -b feature/your-feature-name
إجراء التغييرات
- اتبع معايير البرمجة الخاصة بنا (انظر أدناه)
- اكتب اختبارات للوظائف الجديدة
- قم بتحديث التوثيق حسب الحاجة
اختبر تغييراتك
bashpnpm build pnpm test
Commit تغييراتك
bashgit commit -m "feat: add amazing new feature"
نتبع تنسيق Conventional Commits.
Push وإنشاء PR
bashgit 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 ذرية ومركزة على تغيير واحد
أدوات جودة الكود
نستخدم أدوات آلية لتطبيق المعايير:
# Lint وإصلاح مشكلات نمط الكود
pnpm lint:fix
# فحص الأنواع
pnpm typecheck
# تشغيل جميع الاختبارات
pnpm test
# تنسيق الكود
pnpm format
خطافات ما قبل الالتزام
يُشغّل Husky فحوصات تلقائية قبل كل commit:
- ESLint لجودة الكود
- تحويل TypeScript
- Prettier للتنسيق
- اختبارات الوحدة للمسارات الحرجة
للحصول على إرشادات مفصلة وأمثلة وأفضل الممارسات، راجع وثائق معايير البرمجة الخاصة بنا.
التوثيق
أنواع التوثيق
- تعليقات الكود: اشرح المنطق المعقد
- ملفات README: نظرة عامة وتعليمات الإعداد
- توثيق API: وثق الواجهات العامة
- أدلة المستخدم: أدلة إرشادية للمستخدمين النهائيين
إرشادات الكتابة
- استخدم لغة واضحة وموجزة
- قم بتضمين أمثلة الكود
- حافظ على تحديث التوثيق مع تغييرات الكود
- اختبر جميع أمثلة الكود
عملية Pull Request
قبل الإرسال
- [ ] يتبع الكود معايير المشروع
- [ ] تمر الاختبارات محلياً
- [ ] تم تحديث التوثيق
- [ ] التغييرات مركزة وذرية
نموذج وصف PR
## الوصف
وصف موجز للتغييرات
## نوع التغيير
- [ ] إصلاح خطأ
- [ ] ميزة جديدة
- [ ] تغيير مفصل
- [ ] تحديث التوثيق
## الاختبار
- [ ] إضافة/تحديث اختبارات الوحدة
- [ ] إضافة/تحديث اختبارات التكامل
- [ ] اكتمل الاختبار اليدوي
## لقطات الشاشة (إذا أمكن)
قم بتضمين لقطات شاشة قبل/بعد لتغييرات واجهة المستخدم
عملية المراجعة
- الفحوصات الآلية: يجب أن ينجح CI/CD
- مراجعة الكود: مراجعة مشرف واحد على الأقل
- الاختبار: يتم اختبار التغييرات في بيئة التطوير
- التوثيق: تحقق من تحديث المستندات
- الدمج: دمج وضغط PRs المعتمدة
عملية الإصدار
الإصدار
نتبع Semantic Versioning:
- MAJOR: تغييرات مفصلة
- MINOR: ميزات جديدة (متوافقة مع الإصدارات السابقة)
- PATCH: إصلاحات الأخطاء (متوافقة مع الإصدارات السابقة)
سير عمل الإصدار
- تجميد الميزات: توقف عن قبول ميزات جديدة
- الاختبار: مرحلة اختبار شاملة
- التوثيق: قم بتحديث سجل التغيير والمستندات
- الإصدار: إنشاء إصدار موسوم
- الإعلان: إبلاغ التغييرات إلى المجتمع
المجتمع
قنوات الاتصال
- مشكلات GitHub: تقارير الأخطاء وطلبات الميزات
- نقاشات GitHub: أسئلة عامة وأفكار
- Discord: دردشة فورية مع المجتمع
- Twitter: اتبع @HatcherDX للتحديثات
إرشادات المجتمع
- كن محترماً: عامل الجميع باحترام
- كن بناءً: ركز على الحلول، وليس المشاكل
- كن صبوراً: تذكر أننا جميعاً متطوعون
- كن مفيداً: شارك المعرفة وساعد الآخرين
التقدير
نقدر جميع المساهمات! يتم التعرف على المساهمين في:
- CONTRIBUTORS.md: قائمة بجميع مساهمي المشروع
- ملاحظات الإصدار: تُسلط الضوء على المساهمات الرئيسية
- وسائل التواصل الاجتماعي: عرض مساهمات المجتمع
موارد التطوير
روابط مفيدة
أدوات التطوير
- VS Code: محرر موصى به مع امتدادات Vue و TypeScript
- Vue DevTools: امتداد المتصفح لتصحيح تطبيقات Vue
- Electron DevTools: أدوات تصحيح مدمجة
أسئلة؟
إذا كانت لديك أسئلة حول المساهمة:
- تحقق من نقاشات GitHub الموجودة
- انضم إلى مجتمع Discord الخاص بنا
- أنشئ نقاشاً أو مشكلة جديدة
شكراً للمساهمة في Hatcher! معاً، نحن نبني مستقبل التطوير بمساعدة الذكاء الاصطناعي.
جاهز لترك بصمتك؟
انضم إلى المجتمع الذي يبني بيئة التطوير المتكاملة الدستورية لعصر الذكاء الاصطناعي