このプロジェクトについて

# AT Protocol 参照実装 (TypeScript) このリポジトリには、分散型ソーシャルメディアプロトコルであるAT Protocol(atproto)のBlueskyによる参照実装と、`app.bsky`マイクロブログアプリケーションサービスのバックエンドが含まれています。サードパーティ製ソフトウェアがファーストパーティと同様にシームレスに動作するよう設計されており、カスタムフィード、連合サービス、代替クライアントはすべて同じAPIに対して構築されます。 ## 含まれるもの ### Lexicons `com.atproto.*` と `app.bsky.*` の両名前空間の標準スキーマ定義で、Lexiconスキーマ定義言語(JSON SchemaやOpenAPIに類似)で記述されたJSONファイルとして保存されています。 ### TypeScriptパッケージ `@atproto/*` スコープ(内部ユーティリティは `@atproto-labs/*`)でnpmに公開されています。主要パッケージは以下の通りです: - **`@atproto/lex`** – LexiconスキーマからTypeScriptを生成し、HTTP(XRPC)クライアントを提供する型安全なSDK。アプリやボットの構築に推奨されます。旧来の `@atproto/api` クライアントも存在しますが、新規コードでは `@atproto/lex` を推奨します。 - **OAuthパッケージ** (`./packages/oauth/`) – 「Sign in with Bluesky」のクライアントおよびサーバー実装。ブラウザ、Node、Expoランタイム向けのバリアントがあります。 - **プロトコル基本要素** – 識別子解析(`syntax`)、DID/ハンドル解決(`identity`、`did`)、署名(`crypto`)、リポジトリ&Merkle Search Tree(`repo`)、ファイアホース消費(`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`** – `app.bsky.*` APIエンドポイントのAppView実装。メインネットワークの `api.bsky.app` で稼働しています。 - **`bsync`** – AppViewがミュートや通知などのクロスサービス状態に使用する内部同期サービス。 - **`ozone`** – `tools.ozone.*` APIを実装するモデレーションサービス。 ## ここにないもの Bluesky Socialクライアントアプリ(Webおよびモバイル)のソースコードは [bluesky-social/social-app](https://github.com/bluesky-social/social-app) にあります。BGS実装を含むGo言語のソースコードは [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) ## 貢献 貢献は歓迎しますが、質の高いissueとプルリクエストを優先します。開発者向けクイックスタート、ルール、ガイドライン(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のデュアルライセンスです。派生プロジェクトは、いずれかのライセンスを個別に、または両方を併用して選択できます。Bluesky Social PBCはソフトウェア特許非攻撃の誓約を行っています([発表](https://bsky.social/about/blog/10-01-2025-patent-pledge) を参照)。