To contribute to OpenMS:
- Familiarise yourself with the OpenMS technical documentation.
- Check out the OpenMS tutorial for developers.
For any questions, please contact us.
New to the project? Start with our Contributor Onboarding Guide to understand project structure and communication channels.
Ready to contribute code? See CONTRIBUTING.md for workflow and process guidelines.
This guide covers technical details for active developers.
Untested installers and containers are known as the {term}`nightly snapshot`, are released every night. They generally pass
automated continuous integration tests but no manual tests.
View the documentation for the nightly snapshot of OpenMS develop branch at the build archive.
See the documentation for the latest release.
For detailed contribution workflows, pull request checklists, issue reporting guidelines, and OpenMS-specific development processes, see the canonical CONTRIBUTING.md in the main repository.
This developer guide focuses on technical implementation details below.
See the manual for coding style recommended by OpenMS: Coding conventions.
[C++ Guide](https://abibuilder.cs.uni-tuebingen.de/archive/openms/Documentation/nightly/html/developer_faq.html).
OpenMS automatically tests for common coding convention violations using a modified version of cpplint.
Style testing can be enabled using cmake options. clang-format is used for formatting the cpp code.
View the guidelines for commit messages: How to write commit messages.
Nightly tests run on different platforms. It is recommended to test on different platforms.
This saves time and increases productivity during continuous integration tests.
Nightly tests: CDASH.
Consider the following resources for further information:
- Guidelines for adding new dependency libraries: View the guidelines for adding new dependency libraries.
- Experimental installers: We automatically build installers for different platforms. These usually contain unstable or partially untested code. The nightly (unstable) installers are available at the build archive.
- Developer FAQ: Visit the Developer FAQ to get answers to frequently asked questions.
:maxdepth: 1
develop/adding-new-tool-to-topp.md
develop/custom-compilation.md
develop/developer-guidelines-for-adding-new-dependent-libraries.md
develop/link-external-code-to-openms.md
develop/developer-faq.md