Post

1/ The ATProtocol ecosystem has a problem: building on it is harder than it should be. Other libraries throw boilerplate at you. They make you fight the protocol instead of building on it. Jacquard takes a different approach.

2/ The philosophy: "designed in a way which makes things simple that almost every other atproto library seems to make difficult." Post<'_> types borrow data directly from response buffers. No allocations. No copying. When you need owned data? The IntoStatic trait converts it.

3/ "Just .send() it." One method for any endpoint. No restrictive enums. No predefined record sets. let timeline = agent.send(&GetTimeline::new().limit(5).build()).await?; That's it. That's the API.

4/ Modular architecture: jacquard: Main crate jacquard-common: Core types (DIDs, at-URIs, NSIDs, CIDs) jacquard-api: Generated bindings from 646 lexicons jacquard-oauth: OAuth implementation jacquard-repo: Repository primitives Use as much or as little as you need.