Vib Mail welcomes focused, tested and backward-compatible contributions.
- Do not remove, disable or silently simplify an existing feature.
- Do not rewrite migration history.
- Do not change mail-flow or authorization behavior without tests and explicit review.
- Preserve existing configuration defaults and documented legacy compatibility.
cd mailbox-app
python3.12 -m venv .venv
. .venv/bin/activate
pip install -r requirements/development.txtFrom the repository root:
python scripts/check_docs.py
python scripts/validate_templates.py
python scripts/test_installer.py
python scripts/test_operations.py
python scripts/forensic_audit.py --root . --fullThe full gate runs tests, coverage, Ruff, Bandit, Django checks, contact-service tests and source-safety checks.
- Open an issue for significant behavior, schema or deployment changes.
- Keep changes narrow and explain compatibility impact.
- Add or update tests for every behavior change.
- Update documentation, changelog and release notes where applicable.
- Do not commit secrets, real mailbox data, personal email addresses, certificates, databases, logs, archives or generated credentials.
- Confirm the pull-request checklist and CI results.
Follow docs/CODING_STANDARDS.md. New Python must support Python 3.12 and pass the configured Ruff and Bandit rules. Shell changes must use fail-closed practices and pass bash -n plus installer/operations contract tests.
By contributing, you agree that your contribution is licensed under AGPL-3.0-or-later.