# GovOPlaN Campaign Codex Guide ## Scope This repository owns the `campaigns` module: campaign authoring, validation, message building, attachment resolution, queue/review/send control, reports, campaign module manifest, and `@govoplan/campaign-webui`. Core owns auth, tenants, RBAC, database/session primitives, CSRF/API helpers, shared components, and shell layout. Files and mail integrations are optional and must be accessed through core module metadata or capabilities. ## Local Commands Install and run through core: ```bash cd /mnt/DATA/git/govoplan-core ./.venv/bin/python -m pip install -r requirements-dev.txt ``` Focused WebUI tests: ```bash cd /mnt/DATA/git/govoplan-campaign/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:policy-ui 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:template-preview ``` For combined checks, run: ```bash cd /mnt/DATA/git/govoplan tools/checks/check-focused.sh ``` ## Working Rules - Do not add required files/mail imports for campaign startup. - Use core-provided capabilities or module metadata for optional file chooser, managed file usage, mail profile, delivery, and mailbox behavior. - Shared WebUI components belong in core; campaign WebUI should consume them through `@govoplan/core-webui`. - Avoid DataGrid changes unless explicitly requested.