The atproto.dart ecosystem is modular, allowing you to select specific packages based on your project's requirements. The ecosystem is divided into Core Libraries, Client Libraries, Utilities, a CLI tool, and GitHub Actions workflows.
Core Libraries
Use these for low-level AT Protocol primitives and data structures:
at_primitives: Unified package for AT Protocol primitive types (identifiers, URIs, NSIDs).xrpc: XRPC HTTP client featuring built-in retry and error handling.multiformats: Support for IPFS multiformats (CIDs, multihash, etc.).lexicon: Schema parsing and validation for Lexicons.atproto_core: Shared utilities and base functionality for AT Protocol clients.
Client Libraries
Use these for high-level interaction with AT Protocol services:
atproto: Complete AT Protocol client (covering com.atproto.* endpoints) with Firehose support.bluesky: Full-featured Bluesky client (covering app.bsky.*, chat.bsky.*, and AT Protocol).atproto_oauth: OAuth DPoP authentication client for secure user sessions.did_plc: PLC Directory client for DID resolution and management.atproto_identity: Identity resolution (handle/DID → PDS + signing key) and service-auth JWT verification.
Utilities & Tools
bluesky_text: Rich text parsing for mentions, links, hashtags, and formatting.bluesky_text_flutter: Flutter widgets for bluesky_text, including a rich-text editing controller and a post viewer.bluesky_cli: A command line tool for interacting with app.bsky.* endpoints.