📑 جدول المحتويات
المساهمة في Carch
نحن متحمسون لاهتمامك بالمساهمة في Carch! جميع أنواع المساهمات مرحب بها، سواء كنت تصلح الأخطاء أو تضيف ميزات جديدة أو تحسن التوثيق. اتبع هذا الدليل للبدء.
WARNING
قبل تقديم أي مساهمات، افتح أولاً مشكلة في قسم طلب الميزة. سنناقش التغييرات هناك قبل المتابعة مع التنفيذ.
📌 فهم قاعدة الكود
NOTE
قبل المساهمة، افهم هيكل Carch:
- ملفات Rust الرئيسية لـ Carch موجودة في:
src
src/
├── ui/
│ ├── app.rs
│ ├── mod.rs
│ ├── popups.rs
│ └── render.rs
├── main.rs
├── commands.rs
├── display.rs
├── script_list.rs
└── version.rs
- جميع نصوص
modules
منظمة حسب الفئة في:
modules/
├── Browser/ # نصوص متعلقة بالمتصفح
├── Desktop/ # نصوص متعلقة ببيئة سطح المكتب
├── Development/ # نصوص أدوات التطوير
├── System/ # نصوص تكوين النظام
└── Terminal/ # نصوص إعداد المحطة الطرفية
IMPORTANT
أولاً، قم بتحليل كيف يعمل النص قبل إجراء أي تغييرات. إذا كنت تريد تحسين أو إضافة إلى المشروع، تأكد من أنك تفهم الهيكل وكيف تتفاعل كل قطعة. سيساعدك هذا على المساهمة بطريقة متسقة مع تصميم المشروع.
للالتزام، استخدم تسميات مثل
feat: your-commit-message أو fix: your-commit-message.
بالمناسبة، قبل الالتزام، إذا كنت تقوم بتعديل أي ملف .sh
أو ملف سكربت Bash، تأكد من التحقق من مجلد scripts/
وتشغيل ./check.sh
لاكتشاف أي مسافات بيضاء أو فراغات إضافية. إذا فشل، قم بتشغيل ./cleanup.sh
. هذا خاص فقط بسكربتات Bash.
بالنسبة لتغييرات ملفات Rust، تأكد من تشغيل cargo fmt --all --check
. إذا ظهرت اقتراحات، قم بتشغيل cargo fmt --all
.
تأكد أيضًا من تشغيل cargo clippy
و cargo clippy -- -Dwarnings
لضمان عدم وجود أي أخطاء. شكرًا.
لمزيد من المعلومات حول Conventional Commits، راجع هذا الدليل.
إذا كان لديك أسئلة أو تحتاج مساعدة، لا تتردد في التواصل معنا:
📧 البريد الإلكتروني: [email protected]
💬 Discord: انضم هنا
خطوات المساهمة
1. 🍽️ قم بعمل Fork للمستودع
- اذهب إلى صفحة Carch على GitHub.
- انقر على زر Fork في الزاوية العلوية اليمنى لإنشاء نسختك الخاصة من المستودع.
2. 🌿 استنساخ المستودع المتفرع
استخدم الأمر التالي لاستنساخ المستودع إلى نظامك المحلي:
bashgit clone https://github.com/your-username/carch.git
استبدل
your-username
باسم المستخدم الخاص بك على GitHub.
💡 نصيحة
يمكنك أيضاً استخدام أدوات واجهة المستخدم الرسومية مثل GitHub Desktop
أو حتى واجهة GitHub الويب لعمل fork واستنساخ المستودعات. توفر هذه الأدوات واجهة بصرية سهلة الاستخدام لإدارة مساهماتك.
3. 🌱 تعيين المستودع الأصلي كـ Upstream
أضف مستودع Carch الأصلي كـ upstream remote للحفاظ على تحديث fork الخاص بك:
bashcd carch
bashgit remote add upstream https://github.com/original-author/carch.git
4. 🍇 إنشاء فرع ميزة جديد
قبل إجراء التغييرات، أنشئ فرعاً جديداً باسم وصفي:
bashgit checkout -b feature/your-branch-name
أمثلة على أسماء الفروع:
feature/add-new-script
bugfix/fix-installation-issue
5. 🔧 اجعل تغييراتك
- قم بتنفيذ التغييرات اللازمة على الكود أو التوثيق.
- تأكد من أن تغييراتك واضحة ومختبرة وتتبع معايير الترميز الخاصة بالمشروع.
6. 📝 ضع تغييراتك في المرحلة والتزم بها
أضف الملفات المعدلة إلى منطقة التدريج:
bashgit add .
قم بالالتزام بتغييراتك برسالة واضحة:
bashgit commit -m "Add: [وصف موجز لتغييراتك]"
7. 🚀 ادفع التغييرات إلى Fork الخاص بك
ادفع فرعك إلى المستودع المتفرع:
bashgit push origin feature/your-branch-name
8. 📥 أرسل طلب السحب (PR)
- اذهب إلى مستودع Carch الأصلي على GitHub.
- انقر على New Pull Request.
- اختر فرعك من القائمة المنسدلة وصف تغييراتك بالتفصيل.
- أرسل PR للمراجعة!
📚 المساهمة في وثائق Carch
وثائق Carch ➥ مباشر هنا
🚀 طرق المساهمة
يمكنك المساهمة من خلال:
- 🪛 إصلاح الأخطاء المطبعية أو الأخطاء في الدلائل الموجودة
- 🌐 ترجمة التوثيق إلى لغات أخرى (مشجع بشدة!)
🌍 ترجمة التوثيق
تريد المساعدة في جعل Carch في متناول المستخدمين في جميع أنحاء العالم؟ ساعدنا في ترجمة الوثائق!
إذا كنت تساهم بـ لغة جديدة، اتبع هذه الخطوات:
- 📁 أنشئ مجلداً جديداً للغتك داخل دليل
docs/
. استخدم رموز ISO 639-1 (مثلfr
,es
,hi
, إلخ). - 🛠️ ترجم محتوى Markdown داخل المجلد الجديد.
- 🧩 عدّل
docs/.vitepress/config.ts
:- أضف لغتك في قسم
locales
. - قدم
label
,lang
, وlink
للتنقل.
- أضف لغتك في قسم
🧪 اختبار تغييراتك محلياً
لمعاينة تغييراتك:
bun install
bun run docs:dev
IMPORTANT
يرجى فتح مشكلة أولاً إذا كنت تخطط لإدخال تغييرات هيكلية أو تنظيمية رئيسية. نود مناقشة والتعاون عليها مسبقاً!
🧾 نمط الالتزام
استخدم رسائل التزام واضحة مثل:
git commit -m "fix(docs): تصحيح خطأ مطبعي في دليل التثبيت"
git commit -m "feat(docs): إضافة الترجمة العربية"
المزيد عن Conventional Commits.
🙌 شكراً لمساعدتك في تحسين التوثيق!
الإرشادات
جودة الكود
- اتبع نمط الترميز الموجود للمشروع.
- اكتب كوداً واضحاً ومقتضباً وموثقاً جيداً.
الاختبار
- اختبر تغييراتك محلياً للتأكد من أنها تعمل كما هو متوقع.
- إذا كانت تغييراتك تقدم ميزات جديدة، أضف الاختبارات اللازمة حيثما أمكن.
التوثيق
- إذا كانت تغييراتك تتضمن وظائف جديدة، حدّث التوثيق ذي الصلة.
- تأكد من أن README أو Wiki يعكس تحديثاتك.
مزامنة Fork الخاص بك
حافظ على تحديث fork الخاص بك لتجنب التعارضات:
bashgit fetch upstream
bashgit merge upstream/main
- استبدل
main
بالفرع الافتراضي للمستودع إذا كان مختلفاً.
- استبدل
شكراً لك على المساهمة في Carch! جهدك يساعد في جعل هذا المشروع أفضل للجميع.