Contributing¶
Thank you for your interest in contributing to KubeAuto! This guide explains how to get involved.
Ways to Contribute¶
- 🐛 Report bugs — open a GitHub Issue
- 💡 Request features — describe your idea in a GitHub Issue
- 📝 Improve documentation — fix typos, add examples, clarify instructions
- 🔧 Submit code — fix bugs or implement new features via Pull Requests
Development Setup¶
- Fork the repository on GitHub
- Clone your fork:
- Create a feature branch:
- Make your changes
- Commit following the Conventional Commits format
- Push and open a Pull Request against the
developbranch
Branch Naming¶
| Branch Pattern | Use For |
|---|---|
feature/<name> | New features |
fix/<name> | Bug fixes |
docs/<name> | Documentation changes only |
Commit Messages¶
We use Conventional Commits:
| Type | When to Use |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
refactor | Code change with no functional diff |
chore | Maintenance (CI, deps, config) |
test | Adding or updating tests |
Examples¶
feat(cluster): add pinned kubernetes_version field to cluster.yaml
fix(worker): handle expired join token on vagrant up after halt
docs(readme): add architecture diagram
chore(ci): add shellcheck to lint workflow
Pull Request Guidelines¶
- Target the
developbranch (notmain) - Write a clear description of what changed and why
- Ensure your changes don't break existing functionality
- Follow the commit message convention
- Keep PRs focused — one feature or fix per PR
Code Style¶
Shell Scripts¶
- Use
#!/usr/bin/env bash - Enable strict mode:
set -euo pipefail - Use meaningful variable names
- Add comments for non-obvious logic
YAML¶
- Use 2-space indentation
- Quote string values
- Add comments for configuration sections
Questions?¶
Open an issue or start a discussion on the GitHub repository.