Contributing to the App¶
The project is packaged with a light development environment based on docker-compose
to help with the local development of the project and to run tests.
The project is following Network to Code software development guidelines and is leveraging the following:
- Python linting and formatting:
black
,pylint
,bandit
,flake8
, andpydocstyle
. - YAML linting is done with
yamllint
. - Django unit test to ensure the plugin is working properly.
Documentation is built using mkdocs. The Docker based development environment automatically starts a container hosting a live version of the documentation website on http://localhost:8001 that auto-refreshes when you make any changes to your local files.
To contribute, follow this workflow.
- Open an issue
- Get approval from one of the codeowners before working on the issue
- If working on the issue, assign the issue to yourself
- Fork the Project and Create a branch in the fork
- Open a PR into develop, from the branch in your fork
- Get peer review and approval to merge from one of the codeowners
- Once approval has been gained, the PR will be merged into develop
- One of the codeowners will enumerate the features added per the contributor's PR when a tagged release is merged into main
Release Policy¶
Releases are on a somewhat adhoc basis as needed. A more formal release process may be decided upon in the future.