Contributing to Kubelings
We welcome contributions of new exercises, bug fixes, performance improvements, and documentation polish!
Local Development Setup
-
Clone the repository:
-
Create a virtual environment and install dev dependencies:
-
Install pre-commit hooks:
Running Tests
-
Run all unit & integration tests:
-
Run reference solution self-tests:
-
Lint and typecheck:
Adding New Exercises
- Create the starter exercise file under
exercises/<chapter_name>/<exercise_name>.pywith placeholders that fail validation initially. - Create the corresponding reference solution under
solutions/<chapter_name>/<exercise_name>.py. - Register the exercise in
src/kubelings/manifest.pywith 2-3 progressive hints. - Add unit tests verifying both the broken starter state and working solution pass state.
Conventional Commits
We follow the Conventional Commits standard. Commit messages must start with:
- feat: for new features or exercises
- fix: for bug fixes
- docs: for documentation updates
- test: for test additions/modifications
- chore: for tooling or infrastructure changes