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:
- Create Markdown under
docs/ - Register the page in
navinsidemkdocs.yml - Run
zensical build --strictbefore 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/Thensentences - Add example
.featurefiles underexamples/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.