Contributing to OGSTools#

Thanks for your interest in ogstools! Here’s how to get involved.

Reporting issues and bugs#

  • Open to everyone: file an issue on the GitHub mirror.

  • Preferred: If you already have (or can request) access to the GitLab instance: use the GitLab issue tracker instead.

Found a security vulnerability? Please don’t file a public issue — email info@opengeosys.org instead.

Getting support#

For general questions and usage help, ask on the OpenGeoSys Discourse forum.

Proposing larger changes#

Planning a new module, a significant feature, or a breaking change? Open an issue on GitLab or GitHub, or ask on Discourse, first. That way we can align on direction before you invest time in an implementation.

Contributing code#

Start with the Developer Guide for setting up your environment, running tests, building the docs and running the pre-commit checks.

New to ogstools? Look for issues labeled Good first issue — these are scoped to be small and self-contained, a good way to get familiar with the codebase and the contribution flow below before tackling something bigger. If nothing fits, feel free to ask on Discourse for directions.

        flowchart TD
    A[Idea: bug, feature, or docs] --> B{Big change?}
    B -- yes --> C[Discuss first]
    C --> D
    B -- no --> D[Implement & open MR<br/>workflow::in development]
    D --> E{CI green?}
    E -- no --> F[Fix, or ask for help]
    F --> D
    E -- yes --> G[workflow::please review]
    

MRs should carry the workflow::in development label while open; once CI is green, that should be swapped for workflow::please review to request review.

  • If you have (or can request) a GitLab account: fork the repository on GitLab and open a merge request.

  • Otherwise: open a pull request on the GitHub mirror — these are welcome and will be reviewed and merged upstream. Since GitHub PRs can’t set GitLab labels directly, a maintainer applies workflow::please review once it’s ready.

Try to keep the MR/PR focused on a single change and add tests for new behavior — CI covers the rest (pre-commit, existing tests).

Maintenance#

See the Maintainer Guide.