From bd4932ac64d68552fc02c0f46aacb2db1f82eff3 Mon Sep 17 00:00:00 2001 From: Jean Chevronnet Date: Tue, 14 Jul 2026 16:11:57 +0000 Subject: [PATCH] Add wiki home --- Home.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Home.md 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.