Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mary-ext/atcute
a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky.
https://github.com/mary-ext/atcute
atproto bluesky bluesky-client cbor dag-cbor ipld typescript typescript-library
Last synced: 2 days ago
JSON representation
a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky.
- Host: GitHub
- URL: https://github.com/mary-ext/atcute
- Owner: mary-ext
- License: mit
- Created: 2024-09-01T03:00:52.000Z (4 months ago)
- Default Branch: trunk
- Last Pushed: 2024-12-12T01:11:47.000Z (10 days ago)
- Last Synced: 2024-12-15T09:13:11.711Z (7 days ago)
- Topics: atproto, bluesky, bluesky-client, cbor, dag-cbor, ipld, typescript, typescript-library
- Language: TypeScript
- Homepage: https://codeberg.org/mary-ext/atcute
- Size: 601 KB
- Stars: 196
- Watchers: 2
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# atcute
a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky,
featuring:- an [API client][client] for making typed HTTP requests, with support for lexicons like
[WhiteWind][whitewind] or [Bluemoji][bluemoji]
- an [OAuth client for SPA applications][oauth-browser-client] for authentication use-cases
- utility packages for various data formats, including CIDv1, DAG-CBOR, CAR and TID record keys
- Bluesky-specific utility packages like [a rich text builder][bluesky-richtext-builder] and [a post
threader][bluesky-threading]looking for more? check out [skyware][skyware], an additional collection of packages, built on top
of atcute.[bluemoji]: ./packages/definitions/bluemoji
[bluesky-richtext-builder]: ./packages/bluesky/richtext-builder
[bluesky-threading]: ./packages/bluesky/threading
[client]: ./packages/core/client
[oauth-browser-client]: ./packages/oauth/browser-client
[whitewind]: ./packages/definitions/whitewind
[skyware]: https://skyware.js.org/---
| Packages |
| ---------------------------------------------------------------------------------------------------------------------- |
| **Core packages** |
| [`client`](./packages/core/client): API client library |
| [`lex-cli`](./packages/core/lex-cli): CLI tool to generate type definitions for the API client |
| **OAuth packages** |
| [`oauth-browser-client`](./packages/oauth/browser-client): minimal OAuth browser client implementation |
| **Lexicon definitions** |
| [`bluemoji`](./packages/definitions/bluemoji): adds `blue.moji.*` lexicons |
| [`bluesky`](./packages/definitions/bluesky): adds `app.bsky.*` and `chat.bsky.*` lexicons |
| [`ozone`](./packages/definitions/ozone): adds `tools.ozone.*` lexicons |
| [`whitewind`](./packages/definitions/whitewind): adds `com.whtwnd.*` lexicons |
| **Utility packages** |
| [`tid`](./packages/utilities/tid): TID record key codec |
| [`car`](./packages/utilities/car): CAR/repository decoder |
| [`cid`](./packages/utilities/cid): CIDv1 codec |
| [`cbor`](./packages/utilities/cbor): DAG-CBOR codec |
| [`varint`](./packages/utilities/varint): Protobuf-style varint codec |
| [`base32`](./packages/utilities/base32): base32 codec |
| **Bluesky-specific packages** |
| [`bluesky-richtext-builder`](./packages/bluesky/richtext-builder): builder pattern for Bluesky's rich text facets |
| [`bluesky-richtext-parser`](./packages/bluesky/richtext-parser): parse Bluesky's (extended) rich text syntax |
| [`bluesky-richtext-segmenter`](./packages/bluesky/richtext-segmenter): segments Bluesky's rich text facets into tokens |
| [`bluesky-threading`](./packages/bluesky/threading): create Bluesky threads containing multiple posts with one write |