Skip to content

Contributing

Thank you for contributing to gitlab-compliance.

Development setup

git clone https://github.com/MaturityBuilder/gitlab-compliance.git
cd gitlab-compliance
poetry install --with docs
poetry run gitlab-compliance --help

Tests

poetry run pytest
poetry run behave

Pre-commit

poetry install
poetry run pre-commit install
poetry run pre-commit run --all-files

Hooks are defined in .pre-commit-config.yaml. CI runs the same checks via .github/workflows/pre-commit.yml.

Documentation

Docs are built with Zensical. Structure mirrors terraform-compliance.com.

poetry install --with docs
poetry run zensical serve
poetry run zensical build --strict

When adding pages:

  1. Create Markdown under docs/
  2. Register the page in nav inside mkdocs.yml
  3. Run zensical build --strict before opening a pull request

Policy and BDD changes

  • Step definitions live under src/compliance/behave_support/steps/
  • Update BDD Reference when adding new Given / When / Then sentences
  • Add example .feature files under examples/example-policies/ and a matching Examples page

Pull requests

  • Keep changes focused
  • Include tests for new compliance steps or CLI behavior
  • Update docs for user-facing changes

Report issues on GitHub.