Welcome to Karpenter! We are excited about the prospect of you joining our community. The Kubernetes community abides by the CNCF code of conduct.
- Contributor License Agreement - You must sign a CLA before we can accept your pull requests
- Kubernetes Contributor Guide - Main contributor documentation
- Contributor Cheat Sheet - Common resources for existing developers
- Mentoring Initiatives - Programs available for new contributors
The best way to get involved is to attend our working group meetings. These are open to everyone and are where design decisions, feature discussions, and release planning happen.
Issues labelled help-wanted are good starting points for contributions. If you want to work on an issue, assign yourself to indicate that you're working on it. Assigning is not authoritative — it's a heads up to everyone else.
Features follow a structured lifecycle from proposal to implementation. Before starting work on a feature, read the Feature Lifecycle and Scope Guidelines.
For non-feature contributions, open a pull request referencing the relevant issue. If no issue exists, create one first for bug fixes so the problem can be discussed. For test improvements or documentation changes, a PR without a prior issue is fine.
- Use conventional commits for your PR title (
feat:,fix:,chore:,perf:,docs:,test:,ci:) - Reference the issue your PR addresses
- Ensure tests cover any behavior changes
- Update documentation for user-facing changes
- Large changes should be split into smaller PRs when possible
| Document | Purpose |
|---|---|
| Feature Lifecycle | How features are proposed, evaluated, and tracked |
| Scope Guidelines | What Karpenter will and won't do |
| RFC Template | Template for design proposals |
| Contributor Ladder | Path from contributor to reviewer to approver |
| Release Process | How releases are versioned and published |
| Development Guide | Setting up your local environment |
For questions about using or deploying Karpenter, reach out in #karpenter on Kubernetes Slack. For contribution and development discussions, use #karpenter-dev. See the README for meeting schedules and additional resources.