Contributing#

Thank you for your interest in Anemoi! This guide will show you how to contribute to the Anemoi packages.

Raise an issue#

If you encounter a bug or have a feature request, the first step is to let us know by raising an issue on GitHub using the following steps:

  1. Check the existing issues to avoid duplicates.

  2. If it’s a new issue, create a detailed bug report or feature request by filling in the issue template.

  3. Use clear, descriptive titles and provide as much relevant information as possible.

  4. If you have a bug, include the steps to reproduce it.

  5. If you have a feature request, describe the use case and expected behaviour.

  6. If you are interested in solving the issue yourself, assign the issue to yourself and follow the steps below.

Developing in Anemoi#

For contributing to the development of the Anemoi packages, please follow these steps:

  1. Fork the anemoi repository on GitHub to your personal/organisation account. See the GitHub tutorial.

  2. Set up the development environment following the instructions in the Development Set-up section.

  3. Create a new branch for your developments, following the Branching Guidelines.

  4. Make your changes and ensure that your changes adhere to the Development Guidelines.

  5. Commit your changes and push your branch to your fork on GitHub.

  6. Open a Pull Request against the main branch of the original repository, set a PR title according to the PR Title Guidelines and fill in the Pull Request template.

  7. Request a review from maintainers or other contributors, which will follow the Code Review Process.

Code Review Process#

The Anemoi packages have a set of automated checks to enforce coding guidelines. These checks are run via GitHub Actions on every Pull Request. For security reasons, maintainers must review code changes before enabling automated checks.

  1. Ensure that all the Development Guidelines criteria are met before submitting a Pull Request.

  2. Request a review from maintainers or other contributors, noting that support is on a best-efforts basis.

  3. After an initial review, a maintainer will enable automated checks to run on the Pull Request.

  4. Reviewers may provide feedback or request changes to your contribution.

  5. Once approved, a maintainer will merge your Pull Request into the appropriate branch.

Code of conduct#

Please follow the GitHub Code of Conduct for respectful collaboration.