myConsciousness / atproto.dart

πŸ¦‹ AT Protocol and Bluesky things for Dart and Flutter.
https://atprotodart.com
BSD 3-Clause "New" or "Revised" License
147 stars 13 forks source link
api atproto bluesky dart dartlang flutter github-actions mobile mobile-development sdk social-media tools web wrapper

bluesky

AT Protocol and Bluesky Social Things for Dart/Flutter πŸ¦‹


GitHub Sponsor GitHub Sponsor melos Reference

Test/Analyzer codecov Issues Pull Requests Stars Contributors Code size Last Commits License Contributor Covenant


Welcome to atproto.dart πŸ¦‹

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

Give a ⭐ on GitHub repository and follow shinyakato.dev on Bluesky!

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: 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:

You can see more details from resources below:

Or you can create a discussion if you like.

Feel free to join this development, diverse opinions make software better!

6. Contributors ✨

Thanks goes to these wonderful people (emoji key):

Shinya Kato / εŠ θ—€ 真也
Shinya Kato / εŠ θ—€ 真也

πŸ’» πŸ–‹ πŸ› πŸ“– πŸ”£ 🎨 πŸ’‘ πŸš‡ 🚧 πŸ“† πŸ“£ πŸ‘€ πŸ›‘οΈ πŸ”§ ⚠️ βœ…
tacsotai
tacsotai

πŸ€”
Luke Pighetti
Luke Pighetti

πŸ€” πŸ›
Alice
Alice

πŸ€” πŸ“¦
videah
videah

πŸ€” πŸ› πŸ“¦ πŸ’¬ πŸ““
redsolver
redsolver

πŸ€” πŸ› πŸ’¬
Shy Ruparel
Shy Ruparel

πŸ€”
Julien
Julien "uj" Abadji

πŸ’»
maughtchiner
maughtchiner

πŸ€” πŸ–‹
igz0
igz0

πŸ€” πŸ–‹
GildΓ‘sio Filho
GildΓ‘sio Filho

πŸ’» πŸ–‹ ⚠️ πŸ€”
YU-KI Hidea
YU-KI Hidea

πŸ’» πŸ–‹ πŸ“¦
Covalent
Covalent

πŸ€”

This project follows the all-contributors specification. Contributions of any kind welcome!

7. 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:

myconsciousness

8. License πŸ”‘

The source code provided in this monorepo is provided under the BSD-3 license.

Copyright 2023 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.

9. More Information 🧐

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