We follow a GitFlow-inspired branching model:
main- Production-ready code, protected branchdevelop- Integration branch for features, protected branch
feature/*- New features and enhancementshotfix/*- Critical fixes for productionrelease/*- Release preparation
- Require pull request reviews (minimum 1)
- Require status checks to pass
- Require branches to be up to date
- Restrict pushes to admins only
- Require linear history
- Require pull request reviews (minimum 1)
- Require status checks to pass
- Allow force pushes for maintainers
-
Feature Development
git checkout develop git pull origin develop git checkout -b feature/your-feature-name # Make changes git commit -m "feat: your feature description" git push origin feature/your-feature-name # Create PR to develop
-
Release Process
git checkout develop git checkout -b release/v1.x.x # Update version numbers, changelog git commit -m "chore: prepare release v1.x.x" # Create PR to main # After merge, tag the release
-
Hotfixes
git checkout main git checkout -b hotfix/critical-fix # Make fix git commit -m "fix: critical issue description" # Create PR to main and develop
main- Latest stable version with all improvementsdevelop- Development integration branchfeature/production-environment- Production deployment setupfeature/monitoring-setup- Monitoring and analyticsfeature/community-portal- Community platform setupfeature/marketing-automation- Marketing and growth tracking
- All code must pass ESLint and Prettier checks
- Unit tests required for new features
- Integration tests for API changes
- Security scans must pass
- Performance benchmarks maintained
- Use descriptive titles and descriptions
- Link related issues
- Include screenshots for UI changes
- Update documentation as needed
- Ensure CI/CD passes
- Request appropriate reviewers
We follow Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringtest:- Test additions/changeschore:- Maintenance tasks
- Fork the repository
- Clone your fork
- Set up development environment
- Create feature branch
- Make changes and test
- Submit pull request
For questions, please open an issue or contact the maintainers.