تقديم Pull Request 🔀
إرشادات للمساهمة في مشروع OpenClaw من خلال Pull Requests.
قبل أن تبدأ
✅ قائمة التحقق السريعة
- ✓ تحقق من Issues الموجودة لتجنب التكرار
- ✓ ناقش التغييرات الكبيرة في Issue أولاً
- ✓ اتبع معايير الكود الموجودة
- ✓ قم بتشغيل الاختبارات قبل التقديم
سير العمل
1. Fork المستودع
انقر على زر "Fork" في أعلى صفحة المستودع على GitHub.
2. Clone النسخة المستنسخة
git clone https://github.com/YOUR_USERNAME/openclaw.git
cd openclaw3. إنشاء فرع جديد
git checkout -b feature/your-feature-name💡 نصيحة: تسمية الفروع
استخدم أسماء وصفية:
feature/add-telegram-support— ميزة جديدةfix/memory-leak-session— إصلاح خطأdocs/update-install-guide— تحديث التوثيق
4. قم بإجراء التغييرات
- اكتب كوداً نظيفاً وقابلاً للصيانة
- اتبع أسلوب الكود الموجود
- أضف تعليقات عند الضرورة
- حدّث التوثيق إذا لزم الأمر
5. قم بتشغيل الاختبارات
# تثبيت التبعيات
pnpm install
# تشغيل الاختبارات
pnpm test
# فحص linting
pnpm lint6. Commit التغييرات
git add .
git commit -m "feat: add new feature description"📝 تنسيق رسائل Commit
استخدم Conventional Commits:
feat:ميزة جديدةfix:إصلاح خطأdocs:تحديث التوثيقrefactor:إعادة هيكلة الكودtest:إضافة اختباراتchore:مهام صيانة
7. Push إلى Fork الخاص بك
git push origin feature/your-feature-name8. إنشاء Pull Request
- انتقل إلى المستودع الأصلي على GitHub
- انقر على "New Pull Request"
- اختر فرعك من القائمة المنسدلة
- املأ قالب PR بالتفاصيل
- انقر على "Create Pull Request"
إرشادات PR
العنوان والوصف
- عنوان واضح: صِف ما يفعله PR في جملة واحدة
- السياق: اشرح لماذا التغيير ضروري
- التنفيذ: قدّم نظرة عامة على النهج
- الاختبار: صِف كيف تم اختبار التغييرات
حجم PR
- احتفظ بـ PRs مركزة على تغيير واحد
- قسّم التغييرات الكبيرة إلى PRs أصغر
- تجنب التغييرات غير المرتبطة في نفس PR
مراجعة الكود
- استجب للمراجعات بسرعة
- كن منفتحاً للتعليقات
- اطلب التوضيح إذا لزم الأمر
- قم بإجراء التغييرات المطلوبة بسرعة
بعد الدمج
بمجرد دمج PR الخاص بك:
- احذف الفرع المحلي والبعيد
- احتفظ بـ fork الخاص بك محدثاً
- شاهد المستودع للتحديثات
# تحديث fork الخاص بك
git checkout main
git pull upstream main
git push origin main
# حذف الفرع
git branch -d feature/your-feature-name
git push origin --delete feature/your-feature-nameموارد إضافية
- تقديم Issue — الإبلاغ عن الأخطاء
- إعداد البيئة — تكوين بيئة التطوير
- الاختبار — كيفية كتابة وتشغيل الاختبارات