- Go to Settings → Branches
- Add rule for
main - Enable these settings:
- ✅ Require a pull request before merging
- ✅ Require approvals (1)
- ✅ Dismiss stale pull request approvals
- ✅ Require status checks to pass
- ✅ Require branches to be up to date
- ✅ Require conversation resolution
- ✅ Include administrators
- ✅ Restrict who can push (only CI/CD)
- Add rule for
develop - Enable:
- ✅ Require pull request reviews
- ✅ Require status checks
- ⬜ Allow force pushes (for maintainers only)
Add these secrets in Settings → Secrets and variables → Actions:
APPLE_DEVELOPER_ID: Your Apple Developer certificate IDAPPLE_DEVELOPER_PASSWORD: Certificate passwordNOTARIZATION_USERNAME: Apple ID for notarizationNOTARIZATION_PASSWORD: App-specific password
- build-test.yml - Runs on every push and PR
- release.yml - Creates releases on version tags
- deploy-pages.yml - Deploys website updates (coming soon)
Create these labels for issues and PRs:
bug(red) - Something isn't workingenhancement(blue) - New feature or requestdocumentation(light blue) - Documentation improvementssecurity(dark red) - Security vulnerabilitiesci/cd(purple) - CI/CD pipeline changeshotfix(orange) - Critical production fixeswontfix(white) - This will not be worked onduplicate(gray) - This issue or PR already exists
Current milestones:
- v1.3.0 - Auto-update feature
- v1.4.0 - Analytics integration
- v2.0.0 - App Store release
Recommended team structure:
- Maintainers: Full access
- Developers: Write access, no admin
- Contributors: Read access, fork workflow