Contributions are welcomed via merge requests. Contact the **WEST** developers before starting work to ensure it meshes well with the planned development direction and
Contributions are welcomed via merge requests. Contact the **WEST** developers before starting work to ensure it meshes well with the planned development direction and
standards set for the project.
standards set for the project.
# Features
## Version control
All changes in a pull request should be closely related. Multiple change sets that are loosely coupled should be proposed in separate pull requests. Use a consistent style for writing code.
## Features
New features should be applicable to a variety of use-cases. The **WEST** developers can assist you in designing flexible interfaces.
New features should be applicable to a variety of use-cases. The **WEST** developers can assist you in designing flexible interfaces.
# Version control
## Testing
All changes in a pull request should be closely related. Multiple change sets that are loosely coupled should be proposed in separate pull requests. Use a consistent style for writing code.
Add tests for all new functionality.
# Documentation
## Release
We use [semantic versioning](https://semver.org/), i.e. version labels have the form v`<major>`.`<minor>`.`<patch>`
- Patch release: v0.0.0 to v0.0.1, only bug fixes
- Minor release: v0.0.0 to v0.1.0, bug fixes and new features that maintain backwards compatibility
- Major release: v0.0.0 to v1.0.0, bug fixes and new features that break backwards compatibility
# Contributing to the documentation
Comment complex sections of code so that other developers can understand them.
Comment complex sections of code so that other developers can understand them.
Add demonstrations of new functionality, e.g. using Jupyter notebooks.
Add demonstrations of new functionality, e.g. using Jupyter notebooks.