BlueskyEx
This is an Elixir client for the Bluesky / AT protocol.
Right now it's in a pretty barebones proof-of-concept state. Contributions to make it more full-featured are more than welcome :)
installation
Installation
make build
usage
Usage
Here's an example CLI session:
make console
username = "username"
password = "password"
pds = "https://bsky.social"
creds = %BlueskyEx.Client.Credentials{
username: username,
password: password
}
session = BlueskyEx.Client.Session.create(creds, pds)
# Fetch 15 skeets from the timeline
popular = BlueskyEx.Client.RecordManager.get_timeline(session, limit: 15)
# Make a skeet with the text content "skeet"
post = BlueskyEx.Client.RecordManager.create_post(session, text: "skeet")
api-reference
API reference
See Hexdocs.
contributing
Contributing
formatting
Formatting
This project uses credo and formatter for style consistency. Please run
mix format
and
mix credo -a --strict
before committing changes.
type-checking
Type checking
Typespecs are validated through dialyzer.
mix dialyzer
helpers
Helpers
As a shortcut, you can run
make lint
to run all three of the above commands before authoring a commit.
guidelines
Guidelines
Testing
All public functions "should" be tested exhaustively, but coverage is spotty right now -- contributions are welcome.
You can run the test suite with
make test-unit
Documentation
All public modules and their functions should be documented with the appropriate typespecs.
This library uses ExDoc conventions for documentation. You can run
make docs
to build the docs and open them in your local environment.
license
License
MIT