This document explains the branch protection settings for the vTeam repository.
The main branch has minimal protection rules optimized for solo development:
- ✅ Admin enforcement enabled - Ensures consistency in protection rules
- ❌ Required PR reviews disabled - Allows self-merging of PRs
- ❌ Status checks disabled - No CI/CD requirements (can be added later)
- ❌ Restrictions disabled - No user/team restrictions on merging
This configuration is designed for solo development scenarios where:
- Jeremy is the primary/only developer - Self-review doesn't add value
- Maintains Git history - PRs are still encouraged for tracking changes
- Removes friction - No waiting for external approvals
- Preserves flexibility - Can easily revert when team grows
- Create feature branches for significant changes
- Create PRs for change documentation and review history
- Self-merge PRs when ready (no approval needed)
- Use direct pushes only for hotfixes or minor updates
- PRs: New features, architecture changes, documentation updates
- Direct Push: Typo fixes, quick configuration changes, emergency hotfixes
When the team grows beyond solo development, consider re-enabling:
# Re-enable required reviews (example)
gh api --method PUT repos/red-hat-data-services/vTeam/branches/main/protection \
--field required_status_checks=null \
--field enforce_admins=true \
--field required_pull_request_reviews='{"required_approving_review_count":1,"dismiss_stale_reviews":true,"require_code_owner_reviews":false}' \
--field restrictions=nullTo disable branch protection (current state):
gh api --method PUT repos/red-hat-data-services/vTeam/branches/main/protection \
--field required_status_checks=null \
--field enforce_admins=true \
--field required_pull_request_reviews=null \
--field restrictions=nullTo check current protection status:
gh api repos/red-hat-data-services/vTeam/branches/main/protection