diff --git a/cline_docs/gitWorkflow.md b/cline_docs/gitWorkflow.md new file mode 100644 index 0000000..c7a79f6 --- /dev/null +++ b/cline_docs/gitWorkflow.md @@ -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