প্রকল্প সম্পর্কে

# AT প্রোটোকল রেফারেন্স ইমপ্লিমেন্টেশন (TypeScript) এই রিপোজিটরিতে ব্লুস্কাইর AT প্রোটোকল (atproto) এর রেফারেন্স ইমপ্লিমেন্টেশন রয়েছে, একটি ডিসেন্ট্রালাইজড সোশ্যাল মিডিয়া প্রোটোকল, এবং `app.bsky` মাইক্রোব্লগিং অ্যাপ্লিকেশন সার্ভিস ব্যাকএন্ড। এটি এইভাবে ডিজাইন করা হয়েছে যাতে থার্ড-পার্টি সফ্টওয়্যার ফার্স্ট-পার্টি যতটুকু সিমলেস হতে পারে: কাস্টম ফিড, ফেডারেটেড সার্ভিস, এবং বিকল্প ক্লায়েন্ট সবই একই API-এর বিপরীতে তৈরি হয়। ## ভিতরে কী আছে ### লেক্সিকন `com.atproto.*` এবং `app.bsky.*` নেমস্পেসের জন্য ক্যানোনিক্যাল স্কিমা ডেফিনিশন, JSON ফাইল হিসাবে সংরক্ষিত লেক্সিকন স্কিমা ডেফিনিশন ল্যাঙ্গুয়েজে (JSON স্কিমা বা OpenAPI-এর মতো)। ### টাইপস্ক্রিপ্ট প্যাকেজ `@atproto/*` স্কোপের অধীনে npm-এ প্রকাশিত (আন্তরিক ইউটিলিটি `@atproto-labs/*` এর অধীনে)। মূল প্যাকেজগুলি شامل: - **`@atproto/lex`** – টাইপ-সেফ SDK যা লেক্সিকন স্কিমা থেকে টাইপস্ক্রিপ্ট জেনারেট করে এবং একটি HTTP (XRPC) ক্লায়েন্ট প্রদান করে। অ্যাপ বা বট তৈরির জন্য সুপারিশ করা। পুরানো `@atproto/api` ক্লায়েন্ট এখনও আছে কিন্তু নতুন কোড `@atproto/lex` পছন্দ করা উচিত। - **OAuth প্যাকেজ** (`./packages/oauth/`) – "ব্লুস্কাই দিয়ে সাইন ইন" এর জন্য ক্লায়েন্ট এবং সার্ভার ইমপ্লিমেন্টেশন, ব্রাউজার, Node, এবং Expo রানটাইমের জন্য ভেরিয়েন্ট সহ। - **প্রোটোকল প্রিমিটিভস** – আইডেন্টিফায়ার পার্সিং (`syntax`), DID/হ্যান্ডেল রেজোলিউশন (`identity`, `did`), সাইনিং (`crypto`), রিপোজিটরি ও 머클 সার্চ ট্রি (`repo`), এবং ফায়ারহোজ কনসাম্পশন (`sync`) এর জন্য ফোকাসড প্যাকেজ। - **শেয়ার্ড ইউটিলিটি** – `common`, `common-web`, এবং `./packages/internal/` এ আন্তরিক গ্লু কোড। ### টাইপস্ক্রিপ্ট সার্ভিস প্রতিটি সার্ভিসের ইমপ্লিমেন্টেশন `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 Discussions](https://github.com/bluesky-social/atproto/discussions) - **প্রোটোকল স্পেসিফিকেশন**: [atproto.com/specs/atp](https://atproto.com/specs/atp) ## অবদান অবদান স্বাগতযোগ্য, কিন্তু হাই-কোয়ালিটি ইস্যু এবং পুল রিকোয়েস্টকে প্রাধান্য দেওয়া হয়। ডেভেলপার কুইকস্টার্ট, নিয়ম, এবং গাইডলাইনসহ LLM-সহায়তাকৃত অবদানের নীতি জন্য [CONTRIBUTING.md](./CONTRIBUTING.md) দেখুন। কোড কনভেনশন [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 সফ্টওয়্যার পেটেন্ট নন-অগ্রেশন প্লেজের জন্য প্রতিশ্রুতिबদ্ধ (দেখুন [ঘোষণা](https://bsky.social/about/blog/10-01-2025-patent-pledge))।