# Contributing to the source 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. ## 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. ## Testing Add tests for all new functionality. ## Release We use [semantic versioning](https://semver.org/), i.e. version labels have the form v``.``.`` - 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. Add demonstrations of new functionality, e.g. using Jupyter notebooks.