--- allowed-tools: Bash(git:*), Read description: Display comprehensive Git Flow status including branch type, sync status, changes, and merge targets --- # Git Flow Status Display comprehensive Git Flow repository status ## Current Repository State - Current branch: !`git branch --show-current` - Git status: !`git status --porcelain` - Branch list: !`git branch -a | grep -E '(feature|release|hotfix|develop|main)' | head -20` - Latest tags: !`git tag --sort=-version:refname | head -5` - Recent commits: !`git log --oneline --graph --all -10` - Remote status: !`git remote -v` ## Task Provide a comprehensive Git Flow status report: ### 1. Branch Analysis Determine current branch type and state: ```bash CURRENT_BRANCH=$(git branch --show-current) # Detect branch type if [[ $CURRENT_BRANCH == "main" ]]; then BRANCH_TYPE="🏠 Production" ICON="🏠" STATUS_COLOR="red" elif [[ $CURRENT_BRANCH == "develop" ]]; then BRANCH_TYPE="🔀 Integration" ICON="🔀" STATUS_COLOR="blue" elif [[ $CURRENT_BRANCH == feature/* ]]; then BRANCH_TYPE="đŸŒŋ Feature" ICON="đŸŒŋ" STATUS_COLOR="green" elif [[ $CURRENT_BRANCH == release/* ]]; then BRANCH_TYPE="🚀 Release" ICON="🚀" STATUS_COLOR="yellow" elif [[ $CURRENT_BRANCH == hotfix/* ]]; then BRANCH_TYPE="đŸ”Ĩ Hotfix" ICON="đŸ”Ĩ" STATUS_COLOR="red" else BRANCH_TYPE="📁 Other" ICON="📁" STATUS_COLOR="gray" fi ``` ### 2. Comprehensive Status Display ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ đŸŒŋ GIT FLOW STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📍 CURRENT BRANCH $ICON $CURRENT_BRANCH Type: $BRANCH_TYPE Base: [origin branch] Target: [merge destination] 📊 REPOSITORY INFO Remote: origin ($REMOTE_URL) Latest tag: v1.2.0 Total branches: 12 Active features: 3 Active releases: 0 Active hotfixes: 0 🔄 SYNC STATUS Commits ahead: ↑ 2 Commits behind: ↓ 1 Status: âš ī¸ Branch diverged from remote Recommendations: - Pull latest changes: git pull - Push your commits: git push 📝 WORKING DIRECTORY Modified: ● 3 files Added: ✚ 5 files Deleted: ✖ 1 file Untracked: ? 2 files Total changes: 11 files Status: âš ī¸ Uncommitted changes 📈 COMMIT HISTORY Commits on branch: 5 Commits since base: 7 Last commit: 2 hours ago Author: John Doe đŸŽ¯ MERGE TARGET Will merge to: develop Merge status: ✓ Ready (no conflicts) Estimated files affected: 12 Estimated lines changed: +245 -87 đŸˇī¸ VERSION INFO Current production: v1.2.0 (on main) Last release: 3 days ago Next suggested: v1.3.0 (based on commits) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ### 3. Branch-Specific Information **For Feature Branches:** ``` đŸŒŋ FEATURE BRANCH: feature/user-authentication Branch info: Created: 2 days ago Base branch: develop Merge target: develop Progress: Commits: 5 Files changed: 12 Lines added: 245 Lines removed: 87 Status: ✓ No merge conflicts with develop ✓ Branch is up to date with remote âš ī¸ 3 uncommitted changes âš ī¸ Tests not run recently Next steps: 1. Commit your changes 2. Run tests: npm test 3. Push to remote: git push 4. When ready: /finish ``` **For Release Branches:** ``` 🚀 RELEASE BRANCH: release/v1.3.0 Release info: Version: v1.3.0 Created: 1 day ago Base branch: develop Merge targets: main, develop Release contents: Features: 5 Bug fixes: 3 Performance: 1 Total commits: 15 Version analysis: Current: v1.2.0 Proposed: v1.3.0 Increment: MINOR (new features) Checklist: ✓ CHANGELOG.md updated ✓ Version in package.json âš ī¸ Tests not run ✗ No tag created yet Next steps: 1. Run final tests: npm test 2. Review CHANGELOG.md 3. Create PR: gh pr create 4. Get approvals 5. Finish release: /finish ``` **For Hotfix Branches:** ``` đŸ”Ĩ HOTFIX BRANCH: hotfix/critical-security-patch Hotfix info: Issue: critical-security-patch Created: 2 hours ago Base branch: main Merge targets: main, develop Severity: CRITICAL Version info: Current production: v1.2.0 Hotfix version: v1.2.1 Increment: PATCH Status: ✓ Fix implemented ✓ Tests passing âš ī¸ Not yet deployed âš ī¸ 2 uncommitted changes âš ī¸ URGENT: This is a critical production hotfix! Next steps: 1. Commit remaining changes 2. Final testing 3. Create emergency PR 4. Get fast-track approval 5. Finish and deploy: /finish 6. Monitor production ``` **For Main Branch:** ``` 🏠 MAIN BRANCH (Production) Production info: Latest tag: v1.2.0 Released: 3 days ago Last commit: 3 days ago Status: ✓ Clean and stable Active work: Feature branches: 3 Release branches: 0 Hotfix branches: 0 Recent releases: v1.2.0 - 3 days ago v1.1.5 - 1 week ago v1.1.4 - 2 weeks ago âš ī¸ WARNING: You are on the production branch! Avoid committing directly to main. Use feature/release/hotfix branches instead. To start new work: /feature - New feature /release - New release /hotfix - Emergency fix ``` **For Develop Branch:** ``` 🔀 DEVELOP BRANCH (Integration) Integration info: Ahead of main: 12 commits Last merge: 1 day ago Status: ✓ Stable Merged features: feature/user-authentication (2 days ago) feature/payment-gateway (1 week ago) feature/dashboard-redesign (2 weeks ago) Active features: feature/notifications (in progress) feature/api-v2 (in progress) feature/mobile-app (in progress) Next release: Suggested version: v1.3.0 Estimated features: 5 Estimated timeline: 1 week To start new work: /feature - Create new feature ``` ### 4. All Git Flow Branches List all active Git Flow branches: ``` 📋 ACTIVE BRANCHES đŸŒŋ Features (3): feature/notifications (2 commits, 1 day old) feature/api-v2 (8 commits, 1 week old) feature/mobile-app (15 commits, 2 weeks old) 🚀 Releases (0): No active releases đŸ”Ĩ Hotfixes (0): No active hotfixes 🏠 Main branches: main (production, v1.2.0) develop (integration, +12 commits ahead) đŸ“Ļ Stale branches (older than 30 days): feature/old-experiment (45 days old) feature/deprecated-feature (60 days old) Cleanup suggestion: /clean-branches ``` ### 5. Recommendations Provide actionable recommendations based on status: ``` 💡 RECOMMENDATIONS Priority Actions: 1. âš ī¸ Commit your 3 uncommitted changes 2. âš ī¸ Push 2 unpushed commits to remote 3. âš ī¸ Pull 1 commit from remote (behind) 4. â„šī¸ Run tests before finishing Branch Hygiene: - 2 stale branches can be deleted - feature/mobile-app is 2 weeks old (consider splitting) - No merge conflicts detected ✓ Next Steps: 1. Commit changes: git add . && git commit 2. Pull updates: git pull 3. Push commits: git push 4. Run tests: npm test 5. Finish when ready: /finish ``` ### 6. Error States **Not in Git Repository:** ``` ❌ Not in a git repository Initialize git repository: git init git remote add origin Or navigate to a git repository. ``` **No Git Flow Structure:** ``` âš ī¸ Git Flow structure not detected Missing branches: - develop (integration branch) - main (production branch) Initialize Git Flow: git flow init Or create branches manually: git checkout -b develop git checkout -b main ``` **Remote Not Configured:** ``` âš ī¸ No remote repository configured Add remote: git remote add origin Verify remote: git remote -v ``` ### 7. Quick Stats ``` 📊 QUICK STATS Commits: Today: 3 This week: 12 This month: 45 Branches: Features: 3 active Releases: 0 active Hotfixes: 0 active Other: 5 Contributors: Active this week: 4 Total: 8 Repository: Total commits: 1,234 Total tags: 25 Latest: v1.2.0 Age: 6 months ``` ### 8. Workflow Suggestions Based on current state, suggest next commands: ``` đŸŽ¯ SUGGESTED NEXT COMMANDS For current branch (feature/user-authentication): /finish - Complete and merge feature /flow-status - Refresh this status To start new work: /feature - New feature branch /release - New release /hotfix - Emergency fix Repository maintenance: /clean-branches - Clean up old branches git fetch --prune - Remove stale remote refs ``` ## Related Commands - `/feature ` - Create feature branch - `/release ` - Create release branch - `/hotfix ` - Create hotfix branch - `/finish` - Complete current branch ## Best Practices **Regular Status Checks:** - ✅ Run /flow-status daily - ✅ Check before starting new work - ✅ Verify before finishing branches - ✅ Monitor for stale branches **Status Indicators:** - ✓ Green: Good to proceed - âš ī¸ Yellow: Attention needed - ✗ Red: Action required - â„šī¸ Blue: Informational