Thank you for your interest in contributing to OpenShift Python Wrapper! This guide will help you get started with contributing code, documentation, and other improvements to the project.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/RedHatQE/openshift-python-wrapper/llms.txt
Use this file to discover all available pages before exploring further.
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