Contributing to HiGlass
January 21, 2025 ยท View on GitHub
๐ Hooray, it's marvelous to see you here! Thanks for considering to contribute to HiGlass. ๐
Help! I am lost... ๐ญ
Join our Slack channel and we're happy to help.
Basic Resources ๐
- Docs: https://docs.higlass.io
- Development Docs: https://docs-develop.higlass.io (related to not-yet-released code)
- Bugs / Issue Tracker: https://github.com/higlass/higlass/issues
- Community: https://higlass.slack.com Join Now!
- News / Updates: https://twitter.com/higlass_io
Contribute Code ๐ฉโ๐ป๐จโ๐ป
If you have improvements to HiGlass, send us your pull requests! If you're wondering what a pull request (PR) is, please check out GitHub's how to.
HiGlass core members will be assigned to review your pull requests. Once the pull requests are approved and pass continuous integration checks, we will merge your pull request add it to the next scheduled release.
Pull Request Checklist โ
- Ensure that the title of incomplete pull requests starts with
[WIP](work in progress) - Ensure that your pull request answers the relevant questions in the pull request template.
- Ensure that your pull requests successfully passes all continuous integration tests with GH Actions.
Coding Style ๐จ
Note, continuous integration will fail if your code is not compatible with our coding style.
-
JavaScript coding style: We are following Biome's recommended. See
biome.jsonfor details. The easiest way to ensure you're following our coding style is to automatically runnpm run lint. -
Python coding style: We follow the PEP 8 style guide and the numpydoc convention for docstrings.
-
Changelog: PRs should contain an update to the CHANGELOG.md describing the user-facing changes. This means that changes are strictly developer facing, such as updates to dependencies, don't need to be included.
-
Documentation: We use the Sphinx documentation generator, which uses reStructuredText as its markup language. We also use Sphinx extensions to support Markdown, API reference generation from docstrings, and rendering of Jupyter Notebooks.