diff --git a/Repo-README.md b/Repo-README.md new file mode 100644 index 0000000..3256f26 --- /dev/null +++ b/Repo-README.md @@ -0,0 +1,66 @@ + + +> Mirrored from `/mnt/DATA/git/govoplan-mail/README.md`. +> Origin: `repository`. +> Active tasks and changing state belong in Gitea issues; this wiki page is durable project context. + +--- +# govoplan-mail + +GovOPlaN Mail is the mail transport module. It owns reusable SMTP/IMAP profile management, mail profile policy enforcement, mock mail infrastructure, and the mail WebUI package. + +## Ownership + +This repository owns: + +- backend module manifest `mail` +- mail permissions such as `mail:profile:read`, `mail:profile:write`, `mail:profile:use`, `mail:profile:test`, and `mail:mailbox:read` +- SMTP/IMAP profile models, policy checks, encrypted credential storage, and profile resolution +- SMTP send and IMAP append adapters, including mock transports for development +- development mock mailbox endpoints used by test-send flows +- WebUI package `@govoplan/mail-webui` with profile management, policy management, and read-only mailbox components + +Core owns auth, tenants, RBAC evaluation, database/session primitives, secret helpers, CSRF/API helpers, and shell layout. + +## Credential inheritance policy + +SMTP and IMAP each have one credential inheritance decision: descendants inherit profile credentials, may inherit profile credentials, or must provide local credentials. The lower-level override switch for `smtp_credentials.inherit` and `imap_credentials.inherit` decides whether child scopes may change that decision. There is no separate "override the override" credential policy field. + +## Development + +Install through the core environment: + +```bash +cd /mnt/DATA/git/govoplan-core +./.venv/bin/python -m pip install -r requirements-dev.txt +``` + +Run the WebUI from the core host: + +```bash +cd /mnt/DATA/git/govoplan-core/webui +PATH=/home/zemion/.nvm/versions/node/v22.22.3/bin:$PATH /home/zemion/.nvm/versions/node/v22.22.3/bin/npm run dev +``` + +## Module integration + +Backend entry point: + +```toml +[project.entry-points."govoplan.modules"] +mail = "govoplan_mail.backend.manifest:get_manifest" +``` + +Frontend package: + +```text +@govoplan/mail-webui +``` + +The campaign module depends on this module for sending, append-to-Sent behavior, profile selection, and read-only mailbox inspection. + +Platform RBAC and governance rules are documented in `govoplan-core/docs/`. + +## Release packaging + +The repository root includes a `package.json` for git-based WebUI installs. It exports the package `@govoplan/mail-webui` from `webui/src` so release builds can depend on tagged git refs instead of local `file:` paths.