A better Rust ATProto crate
1# Jacquard
2
3A suite of Rust crates for the AT Protocol.
4
5## Goals
6
7- Validated, spec-compliant, easy to work with, and performant baseline types (including typed at:// uris)
8- Batteries-included, but easily replaceable batteries.
9 - Easy to extend with custom lexicons
10- lexicon Value type for working with unknown atproto data (dag-cbor or json)
11- order of magnitude less boilerplate than some existing crates
12 - either the codegen produces code that's easy to work with, or there are good handwritten wrappers
13- didDoc type with helper methods for getting handles, multikey, and PDS endpoint
14- use as much or as little from the crates as you need
15
16## Development
17
18This repo uses [Flakes](https://nixos.asia/en/flakes) from the get-go.
19
20```bash
21# Dev shell
22nix develop
23
24# or run via cargo
25nix develop -c cargo run
26
27# build
28nix build
29```
30
31There's also a [`justfile`](https://just.systems/) for Makefile-esque commands to be run inside of the devShell, and you can generally `cargo ...` or `just ...` whatever just fine if you don't want to use Nix and have the prerequisites installed.