main
- Production-ready code, protected branch
Create from main
, merge back to main
via pull request:
git checkout -b feature/description main
Create from main
, merge back to main
via pull request:
git checkout -b hotfix/issue-description main
- Create Feature Branch
git checkout main
git pull
git checkout -b feature/your-feature
- Keep Current
# Update your branch with main
git fetch origin
git rebase origin/main
- Develop and Test
# Make changes
# Add tests
# Run tests
bats test/
- Create Pull Request
gh pr create --base main --head feature/your-feature
- Ensure all tests pass
- Update documentation
- Request review
- Address feedback
- Squash and merge to main
See Development Guide for detailed standards.
All contributions must follow our standards:
- Coding Standards
- Testing Standards
- Documentation Standards
- Security Standards
- Implementation Standards
# Start new feature
git checkout main
git pull
git checkout -b feature/add-cert-validation
# Regular commits
git add src/lib/validators.sh
git commit -m "feat: add certificate validation
- Add chain validation
- Add expiry checking
- Add signature verification
- Add unit tests"
# Update with main
git fetch origin
git rebase origin/main
# Push and create PR
git push -u origin feature/add-cert-validation
gh pr create --base main --head feature/add-cert-validation
# Create hotfix branch
git checkout main
git checkout -b hotfix/fix-cert-parsing
# Fix and test
git add src/lib/processors.sh
git commit -m "fix: correct certificate parsing error
- Fix PEM header detection
- Add regression test
- Update documentation"
# Create PR
gh pr create --base main --head hotfix/fix-cert-parsing --label hotfix
# Address review feedback
git add src/lib/validators.sh
git commit -m "refactor: address review feedback
- Improve error messages
- Add more test cases
- Update documentation"
# Update PR
git push
# After approval, squash and merge via GitHub UI
- ShellCheck compliance
- No TODOs in code
- Clear documentation
- Complete test coverage
- All tests pass
- New tests added
- Edge cases covered
- Debug state verified
- Update relevant docs
- Add examples
- Clear descriptions
- Version updates
- Self-review first
- Address feedback
- Update tests
- Verify changes
# Update version in cert-manager.sh
VERSION="1.0.0"
# Tag release
git tag -a v1.0.0 -m "Version 1.0.0"
- All tests pass
- Documentation updated
- Version bumped
- Changelog updated
- Tagged release
- Release notes created
- GitHub Issues: Bug reports, features
- Pull Requests: Contributions
- Documentation: Questions