Agent Smith; an experimental bot framework
(corroborated by @gnunicorn)
I'd like to introduce a first experiment for the rust sdk; a high-level batteries-included Bot SDK, from which any developer can create a bot on matrix with ease.
This PR will introduce an MVP, together with a design document describing possible future ideas and expansions.
To Reviewers: I wouldn't recommend giving this a serious look until actual code has been written and an initial public API nears stabilization, however, input (ideas and thoughts) on the design document is always appreciated.
The idea behind this experiment is, with an assumption that the current Rust SDK is too low-level to be as developer-friendly as the likes of Discord.py, Serenity, and other IM-integration frameworks can be, a separate crate should be made, one which builds on top of rust-sdk, and provides a friendlier interface.
This'll likely result in unfortunate API duplication, at the benefit of a coherent opinionated API which'd be more fit for developers for its ease.
agent-smith is a placeholder name, meant to make it easy to break away in the future and convert the experiment into a proper crate, which then starts its versioning and stabilization guarantee again under a different name.
(However, I like the name immensely just in general, if its possible to keep the name while transitioning out of labs, i'd love for it to.)
The names agent-smith, matrix-sdk-bot and matrix-sdk-agent have already been reserved on crates.io (with ben as co-owner), a definitive final name is still up in the air.