ようこそお友達!
このリポジトリには、Bluesky の AT プロトコルとapp.bsky
マイクロブログ アプリケーション サービス バックエンドのリファレンス実装が含まれています。
TypeScript パッケージ:
パッケージ | ドキュメント | 故宮 |
---|---|---|
@atproto/api : クライアント ライブラリ | お読みください | |
@atproto/common-web : Web ブラウザーで実行できる共有コードとヘルパー | お読みください | |
@atproto/common : Web ブラウザーでは機能しない共有コードとヘルパー | お読みください | |
@atproto/crypto : 暗号化署名とキーのシリアル化 | お読みください | |
@atproto/identity : DID とハンドル解決 | お読みください | |
@atproto/lexicon : スキーマ定義言語 | お読みください | |
@atproto/repo : MST を含むデータ ストレージ構造 | お読みください | |
@atproto/syntax : 識別子の文字列パーサー | お読みください | |
@atproto/xrpc : クライアント側の HTTP API ヘルパー | お読みください | |
@atproto/xrpc-server : サーバー側の HTTP API ヘルパー | お読みください |
TypeScript サービス:
pds
: atproto アカウントのリポジトリ コンテンツをホストする「パーソナル データ サーバー」。ほとんどの実装コードはpackages/pds
にあり、ランタイム ラッパーはservices/pds
にあります。セルフホスティングの手順については、bluesky-social/pds を参照してください。bsky
: app.bsky.*
API エンドポイントの AppView 実装。 api.bsky.app
のメインネットワークで実行されます。ほとんどの実装コードはpackages/bsky
にあり、ランタイム ラッパーはservices/bsky
にあります。レキシコン: com.atproto.*
とapp.bsky.*
の両方について、現時点では、このリポジトリの./lexicons/
の下で正規にバージョン管理されています。これらは、JSON スキーマや OpenAPI に似た、Lexicon スキーマ定義言語の JSON ファイルです。
相互運用性テスト データ: ./interop-test-files/
にある言語に依存しないテスト ファイルは、他のプロトコル実装が仕様に正しく準拠していることを確認するのに役立ちます。
Bluesky Social クライアント アプリ (Web およびモバイル用) のソース コードは、bluesky-social/social-app にあります。
Go プログラミング言語のソース コードは、BGS 実装を含む、bluesky-social/indigo 形式です。
Node.js インストールの管理にはnvm
をお勧めします。このプロジェクトには Node.js バージョン 18 が必要ですpnpm
複数のパッケージのワークスペースを管理するために使用されます。 npm install --global pnpm
を使用してインストールできます。
基本的な開発タスクに役立つ Makefile があります。
# use existing nvm to install node 18 and pnpm
make nvm-setup
# pull dependencies and build all local packages
make deps
make build
# run the tests, using Docker services as needed
make test
# run a local PDS and AppView with fake test accounts and data
# (this requires a global installation of `jq` and `docker`)
make run-dev-env
# show all other commands
make help
Authenticated Transfer Protocol (「ATP」または「atproto」) は、Bluesky PBC によって開発された分散型ソーシャル メディア プロトコルです。詳細については、以下をご覧ください。
Bluesky Social アプリケーションには、AT プロトコル フレームワーク全体に構築された一連のスキーマと API が含まれています。これらの「レキシコン」の名前空間はapp.bsky.*
です。
コントリビュートは受け付けますが、高品質な問題とプル リクエストを優先します。以下のガイドラインに従うことで、よりタイムリーなレビューが確実に行われます。
ルール:
ガイドライン:
私たちは幅広いユーザー コミュニティにサービスを提供していることを忘れないでください。私たちは日々「何が最優先なのか」を常に問い続けています。問題を簡潔に解決する、よく書かれた PR を提出した場合、それは素晴らしい貢献となります。それ以外の場合は、皆様のアイデアや貢献を喜んで受け入れたいのですが、実際には帯域幅がありません。
Bluesky は、AT プロトコルに基づいて構築されたオープン ソーシャル ネットワークです。AT プロトコルは、開発者が構築を支援するエコシステムから決して締め出されることがない柔軟なテクノロジーです。 atproto を使用すると、カスタム フィード、フェデレーション サービス、クライアントなどを通じて、サードパーティもファーストパーティと同様にシームレスになります。
セキュリティの問題を発見した場合は、[email protected] に電子メールを送信してください。電子メールは自動的にチーム全体に CC に送信され、すぐに返信されます。詳細については、SECURITY.md を参照してください。
このプロジェクトは、MIT および Apache 2.0 の条件に基づいて二重ライセンスされています。
下流プロジェクトとエンドユーザーは、それぞれの裁量で、どちらかのライセンスを個別に選択することも、両方を一緒に選択することもできます。このデュアル ライセンスの動機は、Apache 2.0 によって提供される追加のソフトウェア特許保証です。