AT Protocol and Bluesky Social Things for Dart/Flutter 🦋
- 1. Motivation 💪
- 2. Packages & Tools ⚒️
- 3. Developer Quickstart 🏎️
- 4. Who is using atproto.dart? 👀
- 5. Contribution 🏆
- 6. Support ❤️
- 7. License 🔑
- 8. More Information 🧐
Welcome to atproto.dart 🦋
This project will maximize your development productivity about AT Protocol and Bluesky things.
AT Protocol and Bluesky are awesome.
This wonderful platform needs a standard and highly integrated SDK. atproto.dart provides the best development experience in such matters for Dart/Flutter devs.
Package | pub.dev | Docs |
---|---|---|
at_identifier: core library for the syntax in the AT Protocol standard | README | |
nsid: core library for parsing NSIDs in the AT Protocol standard | README | |
at_uri: core library for parsing AT URI in the AT Protocol standard | README | |
xrpc: core library for XRPC communication, wrapped HTTP client | README | |
multiformats: core library for parsing IPFS-related things | README | |
atproto_core: core library for clients and tools | README | |
lexicon: core library for parsing Lexicon in the AT Protocol standard | README | |
did_plc: client library for plc.directory endpoints | README | |
atproto_oauth: client library for OAuth DPoP | README | |
atproto: client library for com.atproto.* endpoints |
README / GUIDE | |
bluesky: client library for com.atproto.* , app.bsky.* and chat.bsky.* endpoints |
README / GUIDE | |
bluesky_text: library for parsing Bluesky text (mentions, links, tags, etc) | README / GUIDE |
Tool | Install | Docs |
---|---|---|
bluesky_cli: command line tool for app.bsky.* endpoints |
dart pub global activate bluesky_cli |
README |
Workflow | Marketplace | Docs |
---|---|---|
bluesky-post: workflow for scheduled post to Bluesky from GitHub Actions | README |
This project consists of several packages and is managed using Melos. The Melos commands makes it easy to set up this project.
git clone https://github.com/myConsciousness/atproto.dart.git
First you need to clone this project and install Melos with following command.
dart pub global activate melos
Then you just execute setup
command as follows.
The setup
command easily solves all the initial setup when cloning this huge project.
melos setup
Command | Description |
---|---|
melos setup | Set up the atproto.dart project when cloned. Run dart pub get and dart run build_runner build in all Dart packages. |
melos get | Run dart pub get command in all packages. |
melos analyze | Run dart analyze in all packages. |
melos fmt | Run dart format and dart run import_sorter:main in all packages. |
melos build | Run dart run build_runner build in all packages. |
melos test | Run all Dart tests in this project. |
The following projects/services are using atproto.dart packages:
- APOD BOT (bot) maintained by @shinyakato.dev
- SkyFeed (web) maintained by @redsolver.dev
- SkyBridge (proxy) maintained by @videah.net
- SkyClad (mobile) maintained by @igz0.bsky.social
- deck.blue (web) maintained by @deck.blue
- SkyThrow (mobile) maintained by @rukari.bsky.social, @hidea.bsky.social
You can see more at showcase, special thanks!
If you would like to contribute to atproto.dart, please create an issue or create a Pull Request.
There are many ways to contribute to the OSS. For example, the following subjects can be considered:
- There are request parameters or response fields that are not implemented.
- Documentation is outdated or incomplete.
- Have a better way or idea to achieve the functionality.
- etc...
You can see more details from resources below:
Or you can create a discussion if you like.
The simplest way to show us your support is by giving the project a star at GitHub and Pub.dev.
You can also support this project by becoming a sponsor on GitHub:
The source code provided in this monorepo is provided under the BSD-3
license.
Copyright 2024 Shinya Kato. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided the conditions.
Note
License notices in the source are strictly validated based on.github/header-checker-lint.yml
. Please check header-checker-lint.yml for the permitted standards.
All resources in atproto.dart is maintained by Shinya Kato (@myConsciousness).