SkillAgentSearch skills...

Atcute

a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky.

Install / Use

/learn @mary-ext/Atcute
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

atcute

lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky.

quick start

npm install @atcute/client @atcute/bluesky
import { Client, simpleFetchHandler } from '@atcute/client';
import type {} from '@atcute/bluesky';

const client = new Client({
	handler: simpleFetchHandler({ service: 'https://public.api.bsky.app' }),
});

const { data } = await client.get('app.bsky.actor.getProfile', {
	params: { actor: 'bsky.app' },
});

console.log(data.displayName);
// -> Bluesky

for authenticated requests, see the client docs or use the OAuth browser client for web apps.

packages

| Packages | | ----------------------------------------------------------------------------------------------------------- | | Client packages | | cache: normalized cache store | | client: XRPC HTTP client | | firehose: XRPC subscription client | | jetstream: Jetstream WebSocket client | | password-session: password-based auth session handler | | tap: Tap WebSocket client | | Server packages | | xrpc-server: XRPC web framework | | xrpc-server-bun: Bun WebSocket adapter | | xrpc-server-cloudflare: Cloudflare Workers WebSocket adapter | | xrpc-server-deno: Deno WebSocket adapter | | xrpc-server-node: Node.js WebSocket adapter | | OAuth packages | | oauth-browser-client: minimal OAuth client for SPAs | | oauth-node-client: OAuth client for Node.js | | Lexicon packages | | lex-cli: generate TypeScript from lexicon schemas | | lexicon-doc: parse and author lexicon documents | | lexicon-resolver: resolve lexicons from the network | | lexicon-resolver-node: Node.js lexicon resolvers | | lexicons: core types and schema validation | | Lexicon definition packages | | atproto: com.atproto.* definitions | | bluemoji: blue.moji.* definitions | | bluesky: app.bsky.*, chat.bsky.* definitions | | frontpage: fyi.unravel.frontpage.* definitions | | leaflet: pub.leaflet.* definitions | | lexicon-community: community.lexicon.* definitions | | microcosm: blue.microcosm.*, com.bad-example.* definitions | | ozone: tools.ozone.* definitions | | pckt: blog.pckt.* definitions | | standard-site: site.standard.* definitions | | tangled: sh.tangled.* definitions | | whitewind: com.whtwnd.* definitions | | Identity packages | | identity: handle, DID and DID document types | | identity-resolver: handle and DID document resolution | | identity-resolver-node: Node.js DNS-based handle resolver | | did-plc: did:plc operation validation | | Utility packages | | car: CAR archive codec | | cbor: deterministic CBOR codec | | cid: content identifier codec | | crypto: signing and verification | | mst: merkle search tree utilities | | multibase: base32/base64 encoding | | repo: repository export reader | | tid: timestamp identifier codec | | varint: LEB128 varint codec | | Bluesky-specific packages | | bluesky-moderation: content moderation interpretation | | bluesky-richtext-builder: rich text facet builder | | bluesky-richtext-parser: parse rich text syntax | | bluesky-richtext-segmenter: segment text by facets | | bluesky-search-parser: search query tokenizer | | bluesky-threading: atomic thread publishing |

contributing

this monorepo uses mise for runtime versioning and pnpm for package management.

# install runtimes
mise install

# build all packages
pnpm run -r build

# pull latest lexicons and regenerate definitions
pnpm run -r pull
pnpm run -r generate

Related Skills

View on GitHub
GitHub Stars467
CategoryDevelopment
Updated2d ago
Forks21

Languages

TypeScript

Security Score

100/100

Audited on Mar 29, 2026

No findings