atproto-devtool 0.1.0

A multitool for the atproto developer ecosystem
Documentation

atproto-devtool

A multitool for the atproto developer ecosystem.

Installation

Environment CLI command
Cargo (Rust 1.85+) cargo install atproto-devtool

Usage

test labeler

Runs a conformance suite against a labeler, and produces a structured report with per-check results plus a summary exit code. The suite has four stages:

  • Identity: DID document contains the correct entries, and the labeler's PDS holds a valid labeler record.
  • HTTP: Checks the com.atproto.label.queryLabels XRPC API.
  • Subscription: Checks the com.atproto.label.subscribeLabels WebSocket.
  • Crypto: Samples labels and verifies their signatures.
Run the labeler conformance suite against an atproto labeler

Usage: atproto-devtool test labeler [OPTIONS] <TARGET>

Arguments:
  <TARGET>
          Handle (`alice.example`), DID (`did:plc:...` / `did:web:...`), or labeler endpoint URL

Options:
      --did <DID>
          Explicit DID override. Required (and combined with the target URL) when `target` is a raw
          endpoint URL and you want identity/crypto checks to run

      --subscribe-timeout <SUBSCRIBE_TIMEOUT>
          Per-connection time budget for the subscription-layer checks.

          Minimum 1 second; values below 1 second are rejected at parse time.

          [default: 5s]

      --no-color
          Whether to suppress colored output

      --verbose
          Whether to emit verbose diagnostics

  -h, --help
          Print help (see a summary with '-h')

Examples

Resolve by handle:

atproto-devtool test labeler moderation.bsky.app

Resolve by DID:

atproto-devtool test labeler did:plc:ar7c4by46qjdydhdevvrndac

Point at a raw labeler endpoint and supply the DID separately so identity and crypto stages still run:

atproto-devtool test labeler https://mod.bsky.app --did did:plc:ar7c4by46qjdydhdevvrndac

Pass --verbose to any of the above to emit DEBUG-level tracing on stderr (HTTP requests, WebSocket connect/disconnect and frame counts, PLC audit-log fetches, per-label verification). NO_COLOR=1 or --no-color disables ANSI escape sequences in the rendered report.

Exit codes

  • 0 — all spec-required checks passed (advisories and skipped checks are allowed).
  • 1 — one or more spec-required checks failed.
  • 2 — no spec-required checks failed but one or more network errors occurred.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.