Work in progress synapse admin API command line interface that doubles as playground for a new ruma-client API.
lib.rs contains the API ideas for ruma-client, adhering to the sans-io principles of being agnostic from any form of I/O. Protocol interactions are modeled as finite state machines, which are implemented as in the Type-level Programming in Rust blog post by Will Crichton. main.rs shows how the library is used, by providing the synapse admin API command line interface. endpoints.rs contains endpoint definitions for the synapse admin API, which would eventually be replaced by definitions using ruma-api.