Skip to content

Latest commit

 

History

History
111 lines (73 loc) · 1.78 KB

README.md

File metadata and controls

111 lines (73 loc) · 1.78 KB

BlueskyEx

This is an Elixir client for the Bluesky / AT protocol.

Installation

make build

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

See Hexdocs.

Contributing

Formatting

This project uses credo and formatter for style consistency. Please run

mix format

and

mix credo -a --strict

before committing changes.

Type checking

Typespecs are validated through dialyzer.

mix dialyzer

Helpers

As a shortcut, you can run

make lint

to run all three of the above commands before authoring a commit.

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

MIT