Bedrud مستندات

مشارکت‌ها در Bedrud استقبال می‌شوند. این راهنما فرآیند ارسال تغییرات را پوشش می‌دهد.

توجه: راهنمای مشارکت اصلی در روت مخزن است: CONTRIBUTING.md. این صفحه فقط برای مرجع بایگانی شده است.

شروع

۱. مخزن را fork کنید ۲. fork خود را کلون کنید ۳. یک برنچ فیچر از main ایجاد کنید ۴. تغییرات خود را انجام دهید ۵. یک درخواست pull ارسال کنید

پیش‌نیازها

  • Go 1.22+
  • Bun (برای فرانت‌اند وب)
  • Rust (برای برنامه دسکتاپ)
  • Make
  • Git

تنظیم توسعه

# پس از fork کردن در GitHub، fork خود را کلون کنید
git clone https://github.com/<your-username>/bedrud.git
cd bedrud
make init
make dev

به گردش کار توسعه برای دستورالعمل‌های تنظیم دقیق ببینید.

ساختار پروژه

دایرکتوریزبانتوضیحات
server/Goبک‌اند API و LiveKit جاسازی‌شده
apps/web/TypeScript/Reactفرانت‌اند وب
apps/desktop/Rust + Slintبرنامه دسکتاپ
apps/android/Kotlinبرنامه Android
apps/ios/Swiftبرنامه iOS
agents/Pythonعوامل ربات
packages/TypeScriptتعاریف نوع مشترک
tools/cli/PythonCLI استقرار
docs/Markdownمستندات

سبک کد

زباناستاندارد
Gogofmt
TypeScript/ReactBiome
Kotlinپیش‌فرض‌های Android Studio
Swiftپیش‌فرض‌های Xcode
Pythonruff

فرآیند درخواست Pull

۱. نام‌گذاری برنچ: feature/description، fix/description، یا docs/description ۲. پیام‌های commit: <action> <what> for <why> (مثلاً add user model for auth feature، fix login redirect for expired sessions) ۳. بررسی‌های CI: تمام بررسی‌های GitHub Actions باید پاس شوند ۴. توضیحات: آنچه تغییر کرده و چرا را شامل کنید

بررسی‌های CI

هر PR به طور خودکار این بررسی‌ها را اجرا می‌کند:

بررسیچه چیزی را تأیید می‌کند
سرورgo vet، build، tests
وببررسی نوع TypeScript، build
AndroidLint، unit tests
iOSBuild، test (شبیه‌ساز)

گزارش مشکلات

مسائل را در GitHub Issues با موارد زیر ثبت کنید:

  • مراحل برای تولید مجدد
  • رفتار مورد انتظار در مقابل واقعی
  • جزئیات محیط (سیستم عامل، مرورگر، نسخه برنامه)

مستندات

مستندات در docs/ قرار دارد و با MkDocs Material ساخته می‌شود.

پیش‌نمایش محلی

pip install mkdocs-material
mkdocs serve

سپس http://localhost:8000 را در مرورگر خود باز کنید.

ساختار

صفحات مستندات بر اساس موضوع سازماندهی شده‌اند. ناوبری در mkdocs.yml در روت پروژه تعریف شده است.

مجوز

با مشارکت، شما موافقت می‌کنید که مشارکت‌های شما تحت مجوز Apache 2.0 مجوز دارند.