1.8 KiB
1.8 KiB
GovOPlaN Mail Codex Guide
Documentation Contract
- Treat documentation as part of every behavior change. Update this module's manifest-driven
DocumentationTopiccontributions for affected user and administrator behavior. - Keep feature content here;
govoplan-docsprojects it without importing Mail internals. - Maintain a static user/admin baseline and run
/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.pyafter behavior or manifest changes.
Scope
This repository owns the mail module: SMTP/IMAP profiles, mail profile policy, encrypted mail credentials, SMTP sending, IMAP append and mailbox access, mock mail infrastructure, backend module manifest, and @govoplan/mail-webui.
Core owns auth, tenants, RBAC, database/session primitives, CSRF/API helpers, shared components, and shell layout. Campaign/files integrations must remain optional and go through core module metadata or capabilities.
Local Commands
Install and run through core:
cd /mnt/DATA/git/govoplan-core
./.venv/bin/python -m pip install -r requirements-dev.txt
Focused backend tests:
cd /mnt/DATA/git/govoplan-core
./.venv/bin/python -m unittest discover -s /mnt/DATA/git/govoplan-mail/tests
Focused WebUI tests:
cd /mnt/DATA/git/govoplan-mail/webui
PATH=/mnt/DATA/git/govoplan-core/webui/node_modules/.bin:/home/zemion/.nvm/versions/node/v22.22.3/bin:$PATH /home/zemion/.nvm/versions/node/v22.22.3/bin/npm run test:mail-ui
For combined checks, run:
cd /mnt/DATA/git/govoplan
tools/checks/check-focused.sh
Working Rules
- Keep mail behavior in this module, not core.
- Do not require campaign or files imports for mail-only startup.
- Shared WebUI components belong in core; mail WebUI should consume them through
@govoplan/core-webui. - Prefer mailbox/IMAP tests and targeted API smoke tests before full-suite runs.