عن المشروع

# تنفيذ مرجعي لـ Bluesky على بروتوكول AT (atproto) يحتوي هذا المستودع على التنفيذ المرجعي لـ Bluesky لبروتوكول AT Protocol (atproto)، وهو بروتوكول وسائط اجتماعية لامركزي، وخدمة خلفية تطبيق microblogging باسم `app.bsky`. صُمم ليكون من السهل على البرامج الخارجية العمل بشكل سلس مثل التطبيقات الأولى: التغذية المخصصة، الخدمات الموحدة، والعملاء البديلون يبنون ضد نفس واجهات برمجة التطبيقات. ## ما بداخله ### القواميس تعريفات النطاق المعيارية لكل من فضاءات أسماء `com.atproto.*` و `app.bsky.*`، مخزنة كملفات JSON في لغة تعريف_schema (تشبه JSON Schema أو OpenAPI). ### حزم TypeScript نُشرت تحت npm تحت النطاق `@atproto/*` (مع أدوات داخلية تحت `@atproto-labs/*`). تشمل الحزم الرئيسية: - **`@atproto/lex`** – حزمة SDK آمنة للأنواع تولد TypeScript من قوالب Lexicon وتوفر عميلاً HTTP (XRPC). موصى بها لبناء التطبيقات أو الروبوتات. لا يزال عميل `@atproto/api` موجوداً لكن الكود الجديد يجب أن يفضل `@atproto/lex`. - **حزم OAuth** (`./packages/oauth/`) – تطبيقات العميل والخادم لـ "تسجيل الدخول مع Bluesky"، مع متغيرات لمتصفح وNode وExpo runtimes. - **المكونات الأساسية للبروتوكول** – حزم مركزة لمعالجة المعرفات (`syntax`)، حل DID/handle (`identity`, `did`)، التوقيع (`crypto`)، مستودع وMerkle Search Tree (`repo`)، واستهلاك firehose (`sync`). - **الخدمات المشتركة** – كود الغراء الداخلي في `common` و `common-web` و `./packages/internal/`. ### خدمات TypeScript كل خدمة لها تنفيذها في `packages/<name>` وواجهة تشغيل رفيعة في `services/<name>`: - **`pds`** – خادم البيانات الشخصية (Personal Data Server)، يستضيف محتوى المستودع لحسابات atproto. تتوفر تعليمات للإدارة الذاتية على [bluesky-social/pds](https://github.com/bluesky-social/pds). - **`bsky`** – تنفيذ AppView لنقاط نهاية API `app.bsky.*`، يعمل على الشبكة الرئيسية عند `api.bsky.app`. - **`bsync`** – خدمة مزامنة داخلية تُستخدم بواسطة AppView لحالة الخدمة عبر مثل الإخفاقات والإشعارات. - **`ozone`** – خدمة الرقابة التي تنفذ API `tools.ozone.*`. ## ما ليس فيه تطبيق BlueSky Social client (الويب والهاتف) مصدره في [bluesky-social/social-app](https://github.com/bluesky-social/social-app). مصدر كود Go، بما في ذلك تنفيذ BGS، في [bluesky-social/indigo](https://github.com/bluesky-social/indigo). ## البدء - **النظرة العامة والدليل**: [atproto.com/guides/overview](https://atproto.com/guides/overview) - **الأسئلة**: [منتديات GitHub](https://github.com/bluesky-social/atproto/discussions) - **مواصفات البروتوكول**: [atproto.com/specs/atp](https://atproto.com/specs/atp) ## المساهمات مرحبى بالمساهمين، لكن الأولويات تذهب للمشكلات عالية الجودة ومقترحات السحب. انظر إلى [CONTRIBUTING.md](./CONTRIBUTING.md) للحصول على دليل المطور السريع، والقواعد، والإرشادات، بما في ذلك سياسة المساهمات المدعومة بالـ LLM. قواعد الأسلوب في [STYLE_GUIDE.md](./STYLE_GUIDE.md). ## الأمان أبلغ عن أي مشكلات أمنية إلى security@bsky.app (سيتم إرفاق الفريق تلقائياً). انظر إلى [SECURITY.md](https://github.com/bluesky-social/atproto/blob/main/SECURITY.md) لمزيد من المعلومات. ## الترخيص مترخيص مزدوج تحت MIT و Apache 2.0. يمكن للمشاريع الفرعية اختيار أي ترخيص منها أو كليهما معاً. التزام Bluesky Social PBC بوعد عدم الاعتداء على براءات الاختراع.