## Dependency diagram of the project ```mermaid graph TD; lavina-->mgmt-api; lavina-->projection-irc; lavina-->projection-xmpp; lavina-->lavina-core; projection-irc-->proto-irc; projection-irc-->lavina-core; projection-xmpp-->proto-xmpp; projection-xmpp-->lavina-core; sim-irc-->proto-irc; sim-irc-->mgmt-api; sim-xmpp-->proto-xmpp; sim-xmpp-->mgmt-api; workspace-->lavina; workspace-->sim-irc; workspace-->sim-xmpp; ``` A few rules: - Only projections should be direct deps of `lavina`, there is no need to depend on `proto-*` crates. - On the other hand, projections should not be dependencies of `sim-*` crates. - `lavina-core` does not depend on protocol-specific crates.