دليل المساهمة في نظام Auto-Guardian
شكرًا لاهتمامك بالمساهمة في تطوير نظام Auto-Guardian! نرحب بجميع المساهمات التي تساعد في تحسين هذا المشروع مفتوح المصدر.
فهرس المحتوى
- كيفية المساهمة
- إعداد بيئة التطوير
- قواعد كتابة الكود
- عملية تقديم Pull Request
- إرشادات الأمان
- التواصل والدعم
كيفية المساهمة
هناك عدة طرق للمساهمة في تطوير النظام:
- الإبلاغ عن الأخطاء: إذا وجدت خطأ في النظام، يُرجى فتح Issue جديدة مع وصف مفصل للمشكلة وكيفية إعادة إنتاجها.
- اقتراح الميزات: نرحب باقتراحاتك لتحسين النظام. يُرجى فتح Issue جديدة في قسم Feature Requests.
- تحسين الوثائق: إذا وجدت أي أخطاء في الوثائق أو أردت تحسينها، يُرجى تقديم مساهمتك.
- كتابة الكود: يمكنك حل أي Issue مفتوح وتقديم Pull Request.
- مراجعة الكود: ساعد في مراجعة Pull Requests الأخرى وتقديم ملاحظات بنّاءة.
إعداد بيئة التطوير
المتطلبات الأساسية
قبل البدء، تأكد من تثبيت المتطلبات التالية:
Python >= 3.11
Node.js >= 20
Go >= 1.21
Rust (أحدث إصدار ثابت)
Git
خطوات الإعداد
- استنساخ المستودع:
git clone https://github.com/yourusername/auto-guardian.git
cd auto-guardian
- تثبيت تبعيات Python:
pip install -r requirements.txt
- تثبيت تبعيات Node.js:
npm install
- تشغيل الفحوصات محليًا:
# فحص Python
bandit -r scripts/
pylint scripts/
# فحص JavaScript
npx eslint .
# فحص Go
gosec ./...
قواعد كتابة الكود
معايير كود Python
- اتبع أسلوب PEP 8 لكتابة الكود.
- استخدم أسماء متغيرات واضحة ومعبرة.
- أضف docstrings لجميع الدوال والكلاسات.
- استخدم type hints حيثما أمكن.
- احتفظ بطول السطر أقل من 120 حرفًا.
معايير كود JavaScript/TypeScript
- اتبع معايير ESLint المعرفة في
.eslintrc.json. - استخدم
constوletبدلاً منvar. - استخدم arrow functions حيثما أمكن.
- أضف أنواع TypeScript لجميع الدوال والمتغيرات.
معايير كود Go
- اتبع معايير Go الرسمية.
- استخدم
gofmtلتنسيق الكود. - أضف توثيق لجميع الدوال العامة.
- استخدم go vet للفحص.
معايير كود Rust
- اتبع معايير Rust الرسمية.
- استخدم
cargo fmtلتنسيق الكود. - أضف توثيق للدوال العامة.
- تحقق من السلامة مع
cargo clippy.
عملية تقديم Pull Request
الخطوة 1: إنشاء Fork
انتقل إلى صفحة المستودع على GitHub وأنشئ Fork الخاص بك.
الخطوة 2: إنشاء فرع جديد
git checkout -b feature/your-feature-name
الخطوة 3: إجراء التغييرات
قم بإجراء التغييرات المطلوبة على الكود أو الوثائق.
الخطوة 4: اختبار التغييرات
# تشغيل جميع الفحوصات
python -m pytest
npm test
الخطوة 5: إنشاء Commit
git add .
git commit -m "إضافة: وصف موجز للتغييرات"
الخطوة 6: رفع الفرع
git push origin feature/your-feature-name
الخطوة 7: إنشاء Pull Request
انتقل إلى صفحة GitHub وأنشئ Pull Request جديدًا. تأكد من:
- وصف التغييرات بشكل واضح.
- ربط أي Issue ذي صلة.
- إرفاق لقطات شاشة إذا كانت التغييرات مرئية.
- اجتياز جميع الفحوصات الآلية.
إرشادات الأمان
الإبلاغ عن الثغرات الأمنية
إذا اكتشفت ثغرة أمنية في النظام، يُرجى عدم فتح Issue علني. بدلاً من ذلك:
- أرسل بريدًا إلكترونيًا إلى: security@example.com
- وصف الثغرة بتفصيل.
- أخبرنا إذا كنت تريد أن يتم الإشارة إليك في شكر المساهمين.
أفضل الممارسات الأمنية
- لا تقم أبدًا بتنفيذ كود غير موثوق.
- تحقق من جميع المدخلات قبل معالجتها.
- استخدم HTTPS للاتصالات الآمنة.
- لا تخزن بيانات حساسة في الكود.
التواصل والدعم
الحصول على المساعدة
- الأسئلة الشائعة: راجع قسم FAQ في الوثائق.
- المجتمع: انضم إلى Discord server الخاص بالمشروع.
- الدعم: افتح Issue مع تصنيف "question".
ساعات العمل
نحاول الرد على جميع الاستفسارات خلال 48 ساعة عمل.
شكر خاص
نشكر جميع المساهمين الذين ساعدوا في تطوير هذا المشروع! 🙏