1.9 KiB
1.9 KiB
Contributing to Magent
Thanks for helping improve Magent. Small, reviewable changes with a clear reason are the easiest to test and merge.
Before opening an issue
- Use SUPPORT.md to choose the right report type.
- Search existing issues and read the relevant installation guide.
- Remove credentials, tokens, email addresses, database content and private URLs.
- Use SECURITY.md for vulnerabilities; do not publish exploit details.
Development setup
Use Python 3.14 and Node.js 24. Follow the foreground development guide, use synthetic data, and never connect tests to someone else's services.
Quality checks
Backend:
python -m venv .venv
. .venv/bin/activate
pip install -r backend/requirements-dev.txt
python -m unittest discover -s backend/tests -p 'test_*.py'
python scripts/check_environment_docs.py
Frontend:
cd frontend
npm ci
npm test
npm run lint
npm run format:check
npm run typecheck
npm run build
Container changes should also pass both isolated smoke modes:
docker build -t magent:review .
bash scripts/ci_container_smoke.sh magent:review
MAGENT_SMOKE_MANAGED=true bash scripts/ci_container_smoke.sh magent:review
The smoke harness creates disposable containers, networks and volumes. Do not aim it at a live instance or reuse a production volume.
Pull requests
- Base public work on the
releasebranch. - Keep each pull request focused and explain the user-visible reason.
- Add or update tests for behavior changes.
- Update documentation and
CHANGELOG.mdwhen behavior or setup changes. - State exactly which checks ran and any platform limits or skipped checks.
- Do not commit generated builds,
.envfiles, logs, databases, backups or secrets.
By contributing, you agree that your contribution is licensed under the project's MIT License. Participation must follow the Code of Conduct.