Contributing
June 30, 2026 · View on GitHub
Thank you for your interest in contributing to behave-modern-json-report!
Development setup
git clone https://github.com/MathiasPaulenko/behave-modern-json-report.git
cd behave-modern-json-report
python -m pip install -e ".[dev]"
Running tests
python -m pytest tests/ -v
Linting and type checking
ruff check behave_modern_json_report tests
mypy behave_modern_json_report
Schema changes
Schema changes must follow the stability policy:
- Additive changes (new optional fields) → bump minor version in
schema.pyandexecution.schema.json. - Breaking changes (removed fields, changed types) → bump major version and document in
CHANGELOG.md. - Always update the JSON Schema in both locations:
behave_modern_json_report/schemas/execution.schema.json(packaged)schemas/execution.schema.json(repo-level copy)
- Add tests for any new schema fields.
Pull request checklist
- Tests pass (
pytest tests/) - Linting passes (
ruff check) - Schema updated (if structural changes)
-
CHANGELOG.mdupdated - Documentation updated (if user-facing changes)
Release process
- Update
versioninpyproject.toml. - Update
SCHEMA_VERSIONinschema.pyif the schema changed. - Update
CHANGELOG.md. - Tag the release:
git tag v1.0.x. - Build:
python -m build. - Publish to PyPI:
twine upload dist/*.