Contributing
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
Local and Agent Setup
Use GitHub Codespaces or follow the local setup steps in README.md. For coding agents, start with .github/copilot-instructions.md so repository-specific rules are applied before changes are made.
Agents can usually handle documentation edits, placeholder replacement, formatting, changelog generation, and preview preparation. Maintainers should still personally review any GitHub or Zenodo settings changes and any production publication steps.
Pull Request Process
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- Ensure all code is properly formatted and linted:
- Run
npm run formatto format general files with Prettier - Run
npm run checkto verify formatting - Install Prek hooks with
npm run prepare - Run
prek run --all-filesto run all hooks locally (ornpx @j178/prek run --all-filesif Prek isn’t installed globally) - Run
uv run ruff formatto format Python code - Run
uv run ruff checkto lint Python code - Run
uv run ty checkto type check Python code (if applicable) - Run
styler::style_dir(".")in R to format R code - Run
lintr::lint_dir(".")in R to lint R code
- Run
- Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
- You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.