Bedrud التوثيق

نرحب بمساهماتكم في Bedrud. يغطي هذا الدليل عملية تقديم التغييرات.

ملاحظة: دليل المساهمة الرسمي موجود في جذر المستودع: CONTRIBUTING.md. هذه الصفحة محفوظة للرجوع إليها فقط.

البدء

١. قم بعمل نسخة fork للمستودع ٢. انسخ نسختك fork ٣. أنشئ فرع ميزة من main ٤. أجرِ تغييراتك ٥. قدّم طلب سحب pull request

المتطلبات المسبقة

  • Go 1.22+
  • Bun (لواجهة الويب الأمامية)
  • Rust (لتطبيق سطح المكتب)
  • Make
  • Git

إعداد بيئة التطوير

# After forking on GitHub, clone your fork
git clone https://github.com/<your-username>/bedrud.git
cd bedrud
make init
make dev

راجع سير عمل التطوير للحصول على تعليمات الإعداد التفصيلية.

هيكل المشروع

الدليلاللغةالوصف
server/Goواجهة برمجة التطبيقات الخلفية وخادم LiveKit المدمج
apps/web/TypeScript/Reactواجهة الويب الأمامية
apps/desktop/Rust + Slintتطبيق سطح المكتب
apps/android/Kotlinتطبيق أندرويد
apps/ios/Swiftتطبيق iOS
agents/Pythonوكلاء البوت
packages/TypeScriptتعريفات الأنواع المشتركة
tools/cli/Pythonواجهة سطر الأوامر للنشر
docs/Markdownالتوثيق

أسلوب الكتابة

اللغةالمعيار
Gogofmt
TypeScript/ReactBiome
Kotlinالإعدادات الافتراضية لـ Android Studio
Swiftالإعدادات الافتراضية لـ Xcode
Pythonruff

عملية طلب السحب

١. تسمية الفروع: feature/description أو fix/description أو docs/description ٢. رسائل الالتزام: <action> <what> for <why> (مثال: add user model for auth feature أو fix login redirect for expired sessions) ٣. فحوصات CI: يجب أن تجتاز جميع فحوصات GitHub Actions ٤. الوصف: أدرج ما الذي تغير ولماذا

فحوصات CI

يُشغَّل على كل طلب سحب هذه الفحوصات تلقائيًا:

الفحصما الذي يتم التحقق منه
الخادمgo vet، البناء، الاختبارات
الويبفحص أنواع TypeScript، البناء
أندرويدLint، اختبارات الوحدة
iOSالبناء، الاختبار (المحاكي)

الإبلاغ عن المشكلات

قدّم مشكلاتك على GitHub Issues مع:

  • خطوات إعادة الإنتاج
  • السلوك المتوقع مقابل الفعلي
  • تفاصيل البيئة (نظام التشغيل، المتصفح، إصدار التطبيق)

التوثيق

يوجد التوثيق في docs/ ويُبنى باستخدام MkDocs Material.

المعاينة المحلية

pip install mkdocs-material
mkdocs serve

ثم افتح http://localhost:8000 في متصفحك.

الهيكل

تُنظَّم صفحات التوثيق حسب الموضوع. يُعرَّف التنقل في mkdocs.yml في جذر المشروع.

الترخيص

بمساهمتك، فإنك توافق على أن مساهماتك ستكون مرخصة بموجب Apache License 2.0.