Project Maintainers
See the OWNERS file for the current list of project maintainers.Getting Started
Before contributing, familiarize yourself with the project:- Read the README for an overview
- Review existing issues
- Check the pull requests to see ongoing work
Development Setup
Prerequisites
- Python 3.9 or higher
- uv package manager
- Git
Clone and Install
Clone the repository and install dependencies:Pre-commit Setup
Before submitting any pull request, installprek for code quality checks:
- Ruff: Code formatting and linting
- Flake8: Style checking
- mypy: Type checking
- detect-secrets: Security scanning
- gitleaks: Secret detection
- Various other checks (trailing whitespace, merge conflicts, etc.)
Code Quality Standards
Type Hints
All new code must include type hints. Type checking is enforced using mypy.Code Style
The project uses:- Line length: 120 characters
- Formatter: Ruff
- Linter: Ruff + Flake8
Issues
Creating Issues
If you find a bug or have a feature request:- Search existing issues first
- If none exist, create a new issue
- Use the appropriate issue template
- Provide clear description and reproduction steps
Pull Requests Auto-create Issues
If you open a pull request to fix a problem, an issue will be automatically created.Pull Requests
Fork and Branch Workflow
- Fork the repository to your GitHub account
- Clone your fork locally
- Create a branch for your changes:
- Make your changes and commit them
- Push to your fork:
- Open a pull request from your fork to the main repository
Pull Request Guidelines
- Fill out all required fields in the PR template
- Keep the title descriptive and concise
- Reference related issues using
#issue-number - Ensure all pre-commit checks pass
- Add tests for new functionality
- Update documentation as needed
PR Dependencies
The project uses dpulls for PR dependencies. To make your PR depend on another: Add this to your PR description:Cherry-picking to Release Branches
If a fix is needed in a released version:- Wait for your PR to be merged to main
- Add a comment to the PR:
- This will create a new PR targeting the specified branch
Code Review Process
- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, maintainers will merge your PR
- Your changes will be included in the next release
What to Contribute
- Bug fixes: Fix issues in existing code
- New resources: Add support for new Kubernetes/OpenShift resources
- Features: Enhance existing functionality
- Tests: Improve test coverage
- Documentation: Improve or add documentation
- Examples: Add usage examples
Next Steps
Adding Resources
Learn how to add new Kubernetes/OpenShift resources
Testing
Understand the testing framework and add tests
Releasing
Learn about the release process