Contributing¶
Thank you for your interest in contributing to gds-idea-cdk-constructs.
We welcome contributions of all kinds:
- ๐ Bug fixes
- โจ New features
- ๐ Documentation improvements
- ๐งช Additional tests
- ๐ก Feature requests and ideas
Quick Links¶
- Full Contributing Guide - Complete guide for developers
- GitHub Issues - Report bugs or request features
- GitHub Discussions - Ask questions and discuss ideas
Quick Start¶
# Clone the repository
git clone https://github.com/co-cddo/gds-idea-cdk-constructs-new.git
cd gds-idea-cdk-constructs-new
# Install dependencies
uv sync --all-groups
# Set up pre-commit hooks
uv run pre-commit install
# Run tests
uv run pytest
# Build documentation
uv run mkdocs serve
Development Workflow¶
- Fork and clone the repository
- Create a branch for your changes (
git checkout -b feature/my-feature) - Make your changes with tests and documentation
- Push and create a PR targeting the
mainbranch - Add a bump label (
bump:major,bump:minor, or default patch) to the PR
Code Quality¶
We use:
- Ruff for linting and formatting (configured in
pyproject.toml) - pytest for testing (aim for 100% coverage)
- pre-commit hooks to ensure code quality before commit
All PRs must pass:
- โ
Linting (
ruff check) - โ
Formatting (
ruff format --check) - โ
Tests (
pytest) - โ
Build (
uv build)
Documentation¶
- Update docstrings for any API changes
- Add examples to relevant documentation pages
- Build docs locally to verify:
uv run mkdocs serve
Need Help?¶
- Check the full contributing guide
- Open a GitHub Discussion
- Ask questions in your PR - we're happy to help!
Thank you for contributing.