To aid in the development of CSET we are adopting some working practices so everyone involved knows what to expect. Linked from this page is everything you need to get started, and the links below go into more detail on specific topics.
.. toctree::
:maxdepth: 1
getting-started
git
testing
documentation
code-review
dependencies
releases
architecture
community-utils
If you have just opened a pull request (PR), then these are the things you need to do ahead of a :doc:`code review <code-review>`.
If you've added a new function check whether it has been documented? If you changed the name of a setting have you changed it everywhere in the documentation? If adding new capability, should you demonstrate it's application via a new :ref:`Gallery <gallery>` page?
A comment should be automatically posted on your PR showing how much of your code is tested. Try and keep this as high as possible by adding new tests when you add new code. Also, make sure the tests are actually testing a reasonable range of different uses. For more, see :doc:`testing`.
All of the pre-existing tests should pass, as should the formatting and linting checks. If they are not, click on "Details" next to the failing check and it will show you what failed. Some of the errors are auto-corrected. In that case you need to add the file again with git add and rerun the commit.
The title of a pull request should clearly describe what the pull request changes, and in particular should highlight any breaking changes.
The titles of pull requests are used to compile the release notes and :doc:`/changelog`, therefore it is important that they are easy to understand for people who are not familiar with the code. Descriptive pull request titles also makes it easier to search for changes; useful when a bug was introduced.
The pull request title can be edited by clicking the "Edit" button to its right. If you need more text to describe what the pull request does, please add it in the description.
Generative AI tools such as GitHub Copilot are useful, but there are still unanswered questions around the copyright of their output. Therefore CSET contributions that used Generative AI must disclose it, along with the name of the AI tool used. This can be a simple statement in the PR description, for example:
This PR contains AI generated code from GitHub Copilot.
If you opened the PR as a draft make sure it is marked as ready for review with a green status symbol when it is ready for others to look at it.

