المقدمة
مرحباً بك في الوثائق الرسمية لواجهة Appbox المفتوحة المصدر.
مرحباً بك في وثائق Appbox
يسعدنا أن نعلن أن واجهة Appbox أصبحت الآن مفتوحة المصدر على GitHub. هدفنا هو بناء مجتمع تعاوني يساهم في الوثائق، ويطور ميزات جديدة للواجهة، ويساعد على تحسين تجربة Appbox عموماً.
ما زالت وثائقنا في مراحلها الأولى، لكننا نعمل على بناء مرجع شامل يشبه المنصات الأخرى في مجالنا. تركّز الوثائق حالياً بشكل أساسي على إرشادات المساهمة، لكننا نخطط لتوسيعها بمعلومات مفصلة لكل التطبيقات المتاحة على Appbox.
إلى أن تصبح وثائقنا أكثر اكتمالاً، يرجى زيارة قاعدة المعرفة القديمة للأسئلة الفورية حول تطبيقات أو خدمات محددة. إذا كنت تحتاج إلى دعم فني، يمكنك إرسال تذكرة للحصول على المساعدة. يمكنك دائماً الوصول إلى هذه الوثائق الجديدة عبر الرابط الموجود في تذييل موقعنا لمتابعة تقدمنا أثناء التوسع.
الخطط المستقبلية
- أدلة تطبيقات معمّقة
تغطي التثبيت، واستكشاف الأخطاء وإصلاحها، والنصائح لكل تطبيق من التطبيقات المدعومة على منصتنا. - موارد للمستخدمين والمطورين
تقدم كل شيء، من شروحات مناسبة للمبتدئين إلى مراجع شيفرة متقدمة لتخصيص تجربة Appbox. - محتوى يقوده المجتمع
نشجع طلبات السحب والملاحظات والاقتراحات؛ كلها مرحب بها وتساعد على تنمية هذا المشروع للجميع.
البدء
إذا أردت الاطلاع على شيفرة واجهتنا المفتوحة المصدر أو المساهمة فيها، فاستنسخ مستودع Appbox:
git clone https://github.com/appbox-co/appbox.gitثم انتقل إلى داخل المشروع وثبّت اعتمادياته:
cd appbox
pnpm install
pnpm devستكون نسختك المحلية متاحة على http://localhost:3000. لا تتردد في الاستكشاف وإجراء التغييرات وإنشاء طلبات سحب. نقدر كل مساهمة!
أدوات التطوير
فحص الشيفرة
يأتي المشروع بإعداد شامل لفحص الشيفرة باستخدام ESLint مع TypeScript وتكامل Prettier. يضمن ذلك نمط شيفرة متسقاً ويساعد على اكتشاف الأخطاء الشائعة مبكراً. يمكنك تشغيل فحوصات lint يدوياً:
# Run linting
pnpm lint
# Fix automatically fixable issues
pnpm lint:fixيتضمن إعداد ESLint لدينا:
- قواعد خاصة بـ TypeScript عبر
@typescript-eslint - فحصاً خاصاً بـ Next.js باستخدام
eslint-config-next - تنسيق الشيفرة مع تكامل Prettier
خطافات ما قبل الالتزام
نستخدم Husky لإدارة Git hooks، مما يساعد على ضمان عدم إدراج إلا شيفرة جيدة في المستودع. الخطافات التالية مفعّلة:
- pre-commit: يشغّل
lint:fixقبل كل commit لضمان جودة الشيفرة - commit-msg: يستخدم commitlint لفرض تنسيق رسائل commit المتعارف عليه
يعني ذلك أن commits الخاصة بك ستُفحص تلقائياً من حيث جودة الشيفرة وصحة التنسيق قبل قبولها، مما يحافظ على معيار عالٍ في قاعدة الشيفرة.
إنشاء Pull Requests
عندما تكون جاهزاً للمساهمة بتغييراتك، اتبع هذه الإرشادات لزيادة احتمال قبول Pull Request (PR):
قبل إنشاء PR
-
أعد التأسيس من أحدث فرع main لتجنب تعارضات الدمج:
git checkout main git pull origin main git checkout your-branch git rebase main -
تأكد من نجاح كل فحوصات lint:
pnpm lint:fix -
تأكد من أن شيفرتك تعمل محلياً عبر اختبار الوظيفة ذات الصلة.
إرشادات PR
- اجعل PR مركّزاً - عالج مشكلة واحدة أو ميزة واحدة في كل PR.
- اكتب رسائل commit واضحة - باتباع تنسيق Conventional Commits.
- أضف أوصافاً واضحة - اشرح ما الذي يفعله PR ولماذا هو مطلوب.
- أضف اختبارات - عند الملاءمة، أضف اختبارات للتحقق من أن تغييراتك تعمل بشكل صحيح.
- وثّق شيفرتك - استخدم التعليقات للمنطق المعقد وتأكد من أن أسماء الدوال وصفية.
- اتبع الأنماط الموجودة - يجب أن تطابق شيفرتك النمط والأنماط المستخدمة في بقية قاعدة الشيفرة.
للتغييرات الكبيرة، فكّر في فتح issue أولاً لمناقشة النهج قبل استثمار الوقت في البرمجة. يساعد ذلك على ضمان توافق مساهمتك مع اتجاه المشروع وتجنب إهدار الجهد.