commit bd4932ac64d68552fc02c0f46aacb2db1f82eff3 Author: Jean Chevronnet Date: Tue Jul 14 16:11:57 2026 +0000 Add wiki home diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..717764b --- /dev/null +++ b/Home.md @@ -0,0 +1,16 @@ +# Echo + +A federated IRC services daemon in Rust. This wiki covers how Echo is built, how the federation works, how to run it, and how to extend it. + +## Contents + +- [Architecture](Architecture) — the engine, the event-sourced store, the module boundary +- [Federation](Federation) — gossip replication, the global/local scope model, conflict resolution +- [Services](Services) — the built-in service suite and their commands +- [Configuration](Configuration) — the `config.toml` reference +- [Directory API](Directory-API) — the gRPC account and channel directory for websites +- [Writing a Module](Writing-a-Module) — build a new service or ircd protocol link + +## In one paragraph + +Echo links to an ircd over its server-to-server protocol and runs the network's services as pseudo-clients. Every change to an account or channel is an event appended to a per-node log, and state is the fold of that log. Nodes exchange logs by gossip and converge, so several Echo instances share one account and channel database with no central server. The core is one crate; each service and each ircd protocol is a separate crate built against the `echo-api` SDK.