Skip to content

myConsciousness/atproto.dart

bluesky

AT Protocol and Bluesky Social Things for Dart/Flutter 🦋


Test/Analyzer License Contributor Covenant GitHub Sponsor melos Reference


Welcome to atproto.dart 🦋

This project will maximize your development productivity about AT Protocol and Bluesky things.

1. Motivation 💪

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.

2. Packages & Tools ⚒️

2.1. Dart Packages

Package pub.dev Docs
at_identifier: core library for the syntax in the AT Protocol standard pub package README
nsid: core library for parsing NSIDs in the AT Protocol standard pub package README
at_uri: core library for parsing AT URI in the AT Protocol standard pub package README
xrpc: core library for XRPC communication, wrapped HTTP client pub package README
multiformats: core library for parsing IPFS-related things pub package README
atproto_core: core library for clients and tools pub package README
lexicon: core library for parsing Lexicon in the AT Protocol standard pub package README
did_plc: client library for plc.directory endpoints pub package README
atproto_oauth: client library for OAuth DPoP pub package README
atproto: client library for com.atproto.* endpoints pub package README / GUIDE
bluesky: client library for com.atproto.*, app.bsky.* and chat.bsky.* endpoints pub package README / GUIDE
bluesky_text: library for parsing Bluesky text (mentions, links, tags, etc) pub package README / GUIDE

2.2. CLI Tool

Tool Install Docs
bluesky_cli: command line tool for app.bsky.* endpoints dart pub global activate bluesky_cli README

2.3. GitHub Actions Workflow

Workflow Marketplace Docs
bluesky-post: workflow for scheduled post to Bluesky from GitHub Actions bluesky-post README

3. Developer Quickstart 🏎️

This project consists of several packages and is managed using Melos. The Melos commands makes it easy to set up this project.

3.1. Clone Project

git clone https://github.com/myConsciousness/atproto.dart.git

3.2. Install Melos

First you need to clone this project and install Melos with following command.

dart pub global activate melos

3.3. Setup Project

Then you just execute setup command as follows. The setup command easily solves all the initial setup when cloning this huge project.

melos setup

3.4. Useful Commands

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.

4. Who is using atproto.dart? 👀

The following projects/services are using atproto.dart packages:

You can see more at showcase, special thanks!

5. Contribution 🏆

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.

6. Support ❤️

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:

7. License 🔑

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.

8. More Information 🧐

All resources in atproto.dart is maintained by Shinya Kato (@myConsciousness).

About

🦋 AT Protocol and Bluesky things for Dart and Flutter.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Languages