modules: [modules] config + example service crate + SDK guide

A [modules] block selects which services start (default: NickServ + ChanServ);
main.rs constructs each compiled-in module only when named, so a node can run a
subset and optional modules ship dormant. Add fedserv-example, a minimal
read-only Service that depends on fedserv-api alone -- the template a new
pseudo-client is copied from, enabled by adding "example" to the config.
MODULES.md documents writing and registering a service or protocol module.
This commit is contained in:
Jean Chevronnet 2026-07-13 01:48:09 +00:00
parent 596630df53
commit e0bb3a1fea
No known key found for this signature in database
9 changed files with 254 additions and 7 deletions

View file

@ -1,5 +1,5 @@
[workspace]
members = ["api", "inspircd", "chanserv", "nickserv"]
members = ["api", "inspircd", "chanserv", "nickserv", "example"]
[package]
name = "fedserv"
@ -12,6 +12,7 @@ fedserv-api = { path = "api" }
fedserv-inspircd = { path = "inspircd" }
fedserv-chanserv = { path = "chanserv" }
fedserv-nickserv = { path = "nickserv" }
fedserv-example = { path = "example" }
tokio = { version = "1", features = ["net", "io-util", "rt-multi-thread", "macros", "time", "sync", "process"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"