Reorganize protocol and pseudoclients into a modules/ tree

The core stays in src/; protocol and pseudoclients move to modules/,
pulled in with #[path].
This commit is contained in:
Jean Chevronnet 2026-07-12 10:31:09 +00:00
parent dbc45a0b6a
commit 677963924a
No known key found for this signature in database
11 changed files with 43 additions and 17 deletions

19
modules/README.md Normal file
View file

@ -0,0 +1,19 @@
# modules/
The pluggable parts of fedserv: one directory per protocol and per pseudoclient.
The core (engine, event log, gossip, link loop) stays in `../src/`.
```
modules/
protocol/ ircd link protocols (inspircd.rs)
nickserv/ NickServ pseudoclient
chanserv/ ChanServ pseudoclient
```
`src/main.rs` pulls each in with `#[path = "../modules/..."]`, so crate paths
stay flat (`crate::proto`, `crate::nickserv`, `crate::chanserv`).
## Naming
A service directory holds its pseudoclient file plus, as commands are split out,
one file per command with the service prefix: `ns_register.rs`, `cs_mode.rs`, etc.