- the publish job reads the tag's own message and uses it as the release body: `git tag -a vX.Y.Z -m "..."` writes the notes shown on the release page - a lightweight tag carries no message, so the body falls back to "fix some bugs"; GitHub still appends its auto-generated compare link below whatever body is passed - a signed tag's PGP block is stripped from the notes - document the annotated-tag flow in docs/development.md Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
Documentation
Technical documentation for vpsmgr. All docs are in English.
| Doc | What it covers |
|---|---|
| architecture.md | System design: components, storage, network, security, traffic, users and user groups, image, install/uninstall lifecycle |
| configuration.md | Full reference for /etc/vpsmgr/config.yaml |
| ipv6.md | IPv6 pass-through design: deterministic addresses, prefix support, routing, installer flow |
| ipv6-ndp-responder.md | Why prefix mode replaced ndppd with an in-tree NDP responder, design hardening, and what to test at scale |
| development.md | Building, testing, releasing, conventions |
See also AGENTS.md at the repo root — short version aimed at AI coding agents.