इस प्रोजेक्ट के बारे में

# AT प्रोटोकॉल संदर्भ कार्यान्वयन (TypeScript) इस रिपॉजिटरी में AT प्रोटोकॉल (atproto) का ब्लूस्काई का संदर्भ कार्यान्वयन शामिल है, जो एक विकेंद्रीकृत सोशल मीडिया प्रोटोकॉल है, और `app.bsky` माइक्रोब्लॉगिंग एप्लिकेशन सेवा बैकएंड है। इसे इस तरह डिज़ाइन किया गया है कि तृतीय-पक्ष सॉफ़्टवेयर प्रथम-पक्ष के समान ही सहज हो: कस्टम फ़ीड, संघीय सेवाएँ, और वैकल्पिक क्लाइंट सभी समान APIs के विरुद्ध निर्माण करते हैं। ## अंदर क्या है ### लेक्सिकॉन `com.atproto.*` और `app.bsky.*` दोनों नामस्थानों के लिए विहित स्कीमा परिभाषाएँ, लेक्सिकॉन स्कीमा परिभाषा भाषा में JSON फ़ाइलों के रूप में संग्रहीत (JSON Schema या OpenAPI के समान)। ### TypeScript पैकेज npm पर `@atproto/*` स्कोप के अंतर्गत प्रकाशित (आंतरिक उपयोगिताओं के साथ `@atproto-labs/*` के अंतर्गत)। मुख्य पैकेजों में शामिल हैं: - **`@atproto/lex`** – टाइप-सुरक्षित SDK जो लेक्सिकॉन स्कीमा से TypeScript उत्पन्न करता है और एक HTTP (XRPC) क्लाइंट प्रदान करता है। ऐप्स या बॉट बनाने के लिए अनुशंसित। पुराना `@atproto/api` क्लाइंट अभी भी मौजूद है, लेकिन नए कोड को `@atproto/lex` को प्राथमिकता देनी चाहिए। - **OAuth पैकेज** (`./packages/oauth/`) – "ब्लूस्काई के साथ साइन इन करें" के लिए क्लाइंट और सर्वर कार्यान्वयन, ब्राउज़र, Node, और Expo रनटाइम के लिए वेरिएंट के साथ। - **प्रोटोकॉल प्राइमिटिव्स** – पहचानकर्ता पार्सिंग (`syntax`), DID/हैंडल रिज़ॉल्यूशन (`identity`, `did`), हस्ताक्षर (`crypto`), रिपॉजिटरी और मर्कल सर्च ट्री (`repo`), और फायरहोज़ खपत (`sync`) के लिए केंद्रित पैकेज। - **साझा उपयोगिताएँ** – `common`, `common-web`, और `./packages/internal/` में आंतरिक गोंद कोड। ### TypeScript सेवाएँ प्रत्येक सेवा का कार्यान्वयन `packages/<name>` में और एक पतला रनटाइम रैपर `services/<name>` में है: - **`pds`** – व्यक्तिगत डेटा सर्वर, atproto खातों के लिए रिपॉजिटरी सामग्री होस्ट करना। सेल्फ-होस्टिंग निर्देश [bluesky-social/pds](https://github.com/bluesky-social/pds) पर उपलब्ध हैं। - **`bsky`** – `app.bsky.*` API एंडपॉइंट्स का AppView कार्यान्वयन, मुख्य नेटवर्क पर `api.bsky.app` पर चल रहा है। - **`bsync`** – AppView द्वारा उपयोग की जाने वाली आंतरिक सिंक्रनाइज़ेशन सेवा, जैसे म्यूट और सूचनाएँ जैसी क्रॉस-सेवा स्थिति के लिए। - **`ozone`** – `tools.ozone.*` API को लागू करने वाली मॉडरेशन सेवा। ## यहाँ क्या नहीं है ब्लूस्काई सोशल क्लाइंट ऐप (वेब और मोबाइल) का स्रोत कोड [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 पर करें (टीम को स्वचालित रूप से CC किया जाता है)। अधिक जानकारी के लिए [SECURITY.md](https://github.com/bluesky-social/atproto/blob/main/SECURITY.md) देखें। ## लाइसेंस MIT और Apache 2.0 के तहत दोहरी-लाइसेंस प्राप्त। डाउनस्ट्रीम परियोजनाएँ व्यक्तिगत रूप से या दोनों एक साथ कोई भी लाइसेंस चुन सकती हैं। ब्लूस्काई सोशल PBC ने सॉफ़्टवेयर पेटेंट गैर-आक्रामकता प्रतिज्ञा के लिए प्रतिबद्धता जताई है (घोषणा देखें [announcement](https://bsky.social/about/blog/10-01-2025-patent-pledge))।