A Powerful and Useful CLI Tool for Bluesky Social 🦋
1. Guide 🌎
A powerful CLI tool that allows Bluesky Social's APIs to be executed from the command line powered by Dart language.
Give a ⭐ on GitHub repository and follow shinyakato.dev on Bluesky!
1.1. Getting Started ⚡
1.1.1. Install
dart pub global activate bluesky_cli
1.1.2. Usage
A useful and powerful CLI tool to use Bluesky Social's APIs.
Usage: bsky <command> [arguments]
Global options:
-h, --help Print this usage information.
--identifier Handle or email address for authentication.
(defaults to environment variable "BLUESKY_IDENTIFIER")
--password Bluesky password for authentication.
(defaults to environment variable "BLUESKY_PASSWORD")
--service Name of the service sending the request. Defaults to "bsky.social".
--pretty Enable to output JSON in pretty format.
--status Enable to output status code and reason phrase.
--request Enable to output request method and URI.
--verbose Enable verbose logging.
Available commands:
actor-feeds Show the selected feeds of specific actor.
actor-likes Show the liked feeds of specific actor.
actors-typeahead Show the typeahead for actors.
add-list-item Add an item to list.
block Block an user.
blocks Show the blocked users.
create-generator Create a generator.
create-list Create a list.
custom-feed Show the custom feed from specific generator.
delete Delete a specific contents from repository.
feed Show the feed of specific actor.
feed-generator Show the specific feed generator.
feed-generators Show the specific feed generators.
follow Follow an user.
followers Show the followers.
follows Show the following users.
generator-info Show the information of generators.
like Like a specific post.
likes Show the likes of specific post.
list Show the list.
list-feed Show the feed from the list.
lists Show the lists.
mute Mute an user.
mute-list Mute an actor list.
mutes Show the muted users.
muting-lists Show the muting lists.
notification-count Show the count of notification of authenticated user.
notifications Show the notifications of authenticated user.
popular Show the popular contents.
popular-feed-generators Show the popular feed generators.
post Post to Bluesky Social.
posts Show the posts.
preferences Show the private preferences.
profile Show the profile of specific user.
profiles Show the profiles of specific users.
put-preferences Put new preferences.
repost Repost a specific post.
reposted-by Show the actors reposted specific post.
search-actors Search the actors based on term.
seen-notifications Update all notifications to read.
suggested-follows Show a list of suggested follows.
suggestions Show the actor suggestions.
thread Show the thread of specific post.
timeline Show the timeline of authenticated user.
unmute Unmute an user.
unmute-list Unmute an actor list.
Run "bsky help <command>" for more information about a command.
1.1.3. Authentication
The following methods are available to authenticate with Bluesky Social via this CLI tool.
1.1.3.1. Global Options
Authentication data can be specified for identifier
and password
in Global Options.
bsky timeline --identifier=shinyakato.dev --password=xxxxxxxxx
1.1.3.2. Environment Variables
By setting the authentication data in the environment variable, the specification of authentication data in Global Options can be omitted.
Environment Variable | Equivalent Option |
---|---|
BLUESKY_IDENTIFIER | identifier |
BLUESKY_PASSWORD | password |
Then you can call like:
bsky timeline
1.2. Tips 🏄
1.2.1. Prettify JSON
The JSON output from this CLI tool is unformatted, but you can use the following options to output JSON in a formatted state.
bsky timeline --pretty
1.2.2. Show Status and Request
The status code and request URI are not output by default, but can be output with the following options.
bsky timeline --status --request
1.3. Contribution 🏆
If you would like to contribute to bluesky_cli, 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.
Feel free to join this development, diverse opinions make software better!
1.4. 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:
You can also show on your repository that your app is made with bluesky_cli by using one of the following badges:
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg)](https://github.com/myConsciousness/atproto.dart)
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg?style=flat-square)](https://github.com/myConsciousness/atproto.dart)
[![Powered by bluesky_cli](https://img.shields.io/badge/Powered%20by-bluesky_cli-00acee.svg?style=for-the-badge)](https://github.com/myConsciousness/atproto.dart)
1.5. License 🔑
All resources of bluesky_cli 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.
1.6. More Information 🧐
bluesky_cli was designed and implemented by Shinya Kato (@myConsciousness).