docs(workflow): add comprehensive git workflow standards

This commit is contained in:
TheMaddax 2025-01-06 11:04:00 -06:00
parent 451f16b25d
commit c7d79cddce

181
cline_docs/gitWorkflow.md Normal file
View file

@ -0,0 +1,181 @@
# Git Workflow Standards
## Branch Structure
### Main Branches
1. main
- Production-ready code
- Tagged releases only
- Protected branch
- Requires pull request approval
2. develop
- Integration branch
- Source for feature branches
- Continuous integration testing
- Pre-release staging
### Supporting Branches
1. feature/*
- Branch from: develop
- Merge to: develop
- Naming: feature/descriptive-name
- Example: feature/permission-handlers
2. release/*
- Branch from: develop
- Merge to: main and develop
- Naming: release/v1.0.0
- For version preparation
3. hotfix/*
- Branch from: main
- Merge to: main and develop
- Naming: hotfix/critical-fix
- For urgent production fixes
## Workflow Procedures
### Initial Setup
1. Clone Repository:
git clone https://gitea.sigd.net/chaulmark/ChessPrism.git
cd ChessPrism
2. Create Develop Branch:
git checkout -b develop
git push -u origin develop
### Feature Development
1. Create Feature Branch:
git checkout develop
git pull origin develop
git checkout -b feature/your-feature
2. Development Cycle:
git add .
git commit -m "type: descriptive message"
git push -u origin feature/your-feature
3. Complete Feature:
git checkout develop
git pull origin develop
git merge feature/your-feature
git push origin develop
### Release Process
1. Create Release Branch:
git checkout develop
git checkout -b release/v1.0.0
2. Version Preparation:
Update version numbers
Final testing
Documentation updates
3. Complete Release:
git checkout main
git merge release/v1.0.0
git tag -a v1.0.0 -m "Version 1.0.0"
git push origin main --tags
git checkout develop
git merge release/v1.0.0
git push origin develop
## Commit Standards
### Commit Message Format
type(scope): subject
Types:
- feat: New feature
- fix: Bug fix
- docs: Documentation
- style: Formatting
- refactor: Code restructuring
- test: Adding tests
- chore: Maintenance
### Examples
- feat(auth): implement permission handlers
- fix(capture): resolve screenshot timing issue
- docs(api): update endpoint documentation
## Pull Request Process
1. Create Pull Request
- Clear title and description
- Reference related issues
- Include testing details
- Add relevant labels
2. Review Requirements
- Code review by team member
- CI/CD checks passed
- Documentation updated
- Tests included
3. Merge Guidelines
- Squash and merge preferred
- Delete branch after merge
- Update related issues
## Version Control
### Semantic Versioning
- Major.Minor.Patch
- Example: 1.0.0
### Version Tags
- Release candidates: v1.0.0-rc.1
- Beta versions: v1.0.0-beta.1
- Alpha versions: v1.0.0-alpha.1
## Best Practices
1. Regular Commits
- Commit early and often
- Keep commits focused
- Use clear messages
2. Branch Management
- Regular develop syncs
- Clean up merged branches
- Keep branches updated
3. Code Review
- Detailed reviews
- Constructive feedback
- Quick response times
## Tools and Integration
1. Git Hooks
- Pre-commit linting
- Commit message validation
- Automated testing
2. CI/CD Integration
- Automated builds
- Test execution
- Deployment pipelines
3. Code Quality
- SwiftLint integration
- Test coverage checks
- Documentation validation
## Emergency Procedures
1. Critical Bugs
- Create hotfix branch
- Expedited review process
- Immediate deployment
2. Recovery Steps
- Revert capabilities
- Backup procedures
- Rollback protocols
## Workflow Automation
1. GitHub Actions
- Automated testing
- Build verification
- Documentation generation
2. Quality Gates
- Code coverage thresholds
- Performance benchmarks
- Security scanning