Contributing to NOMAD
Thanks for your interest in NOMAD! Bug reports, ideas, documentation, testing and code are all welcome.
Where things live
- Code and documentation: github.com/nomad-nmr (
nomad-server,nomad-spect-clientandnomad-docs). - Questions and informal chat: the NOMAD Discord server, or nomad@st-andrews.ac.uk.
Reporting bugs and suggesting features
Open a GitHub issue in the relevant repository. Please include what you expected, what happened, your NOMAD version, and steps to reproduce the problem. If you don't have a GitHub account, tell us on Discord or by email and we'll open the issue for you.
Please don't report security problems in a public issue. See section 10 of the governance document for how to report them privately.
Contributing code or documentation
- For anything bigger than a small fix, open an issue first so we can agree on the approach.
- Fork the repository and create a branch for your change. Keep it focused on one thing.
- Test your change and follow the style of the surrounding code.
- Open a pull request explaining what changed and why. A maintainer will review it.
Documentation fixes are very welcome and go to the nomad-docs repository in the same way.
Licence
NOMAD is released under the AGPL-3.0. By contributing, you agree that your contribution is released under the same licence. You keep the copyright in your work. No separate contributor agreement or sign-off is needed.
AI-assisted contributions
You are responsible for what you submit, including code written with AI assistance. Please mention significant AI assistance in the pull request. The same review standard applies to everyone.
Bigger changes
Changes to the roadmap, licence, data formats or how data leaves a lab's NOMAD instance go through the proposal process in the governance document.
Community standards
Please be kind. See our Code of Conduct.