echo/modules/README.md

19 lines
598 B
Markdown

# 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: `register.rs`, `mode.rs`, etc.