125 lines
3.6 KiB
Markdown
125 lines
3.6 KiB
Markdown
---
|
|
tags: ["workflow", "git", "branching"]
|
|
description: "Unified branch operations with git-workflow enforcement"
|
|
argument-hint: "create ISSUE-ID | merge [target] | delete branch-name | switch branch-name | status | \"natural language\""
|
|
allowed-tools: ["Bash", "Read", "Edit", "Grep", "Glob"]
|
|
model: claude-sonnet-4-5
|
|
references_guidelines:
|
|
- docs/development/workflows/git-workflow.md # Source of truth for branching rules, merge validation, naming patterns
|
|
---
|
|
|
|
# /branch Command
|
|
|
|
**WHAT**: Unified branch operations (create, merge, delete, switch, status) with git-workflow enforcement.
|
|
|
|
**WHY**: Ensure consistent branch naming, enforce quality gates on merge, prevent workflow violations.
|
|
|
|
**HOW**: See git-workflow.md for branching rules, merge validation requirements, and naming patterns.
|
|
|
|
**CRITICAL**: Always read `docs/development/workflows/git-workflow.md` FIRST for project-specific rules.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
/branch create TASK-001 # Create work branch
|
|
/branch merge [develop|main] # Merge with validation
|
|
/branch delete feature/TASK-001 # Delete merged branch
|
|
/branch switch develop # Switch branches
|
|
/branch status # Show workflow state
|
|
|
|
# Natural language
|
|
/branch "merge to develop"
|
|
/branch "create for TASK-001"
|
|
```
|
|
|
|
## Operations
|
|
|
|
### Create
|
|
1. Read git-workflow.md for branching pattern and base branch
|
|
2. Parse issue ID → determine type (TASK → feature, BUG → bugfix)
|
|
3. Create branch following pattern (e.g., `feature/TASK-001` from `develop`)
|
|
4. Switch to new branch
|
|
|
|
### Merge
|
|
1. Read git-workflow.md for merge rules
|
|
2. Apply validation based on target:
|
|
- **To develop**: Run tests (BLOCK if fail)
|
|
- **To main**:
|
|
- Verify source is `develop` (BLOCK if feature/bugfix)
|
|
- Run staging health checks (BLOCK if fail)
|
|
- Hotfixes require explicit justification
|
|
3. If pass: merge and push
|
|
4. If fail: block with clear error
|
|
|
|
### Delete
|
|
1. Check if fully merged
|
|
2. Confirm with user
|
|
3. Delete local and remote
|
|
|
|
### Switch
|
|
1. Check uncommitted changes (offer stash)
|
|
2. Switch to target
|
|
3. Pull latest
|
|
|
|
### Status
|
|
1. Show current branch and issue context
|
|
2. Check test/validation status
|
|
3. Show merge requirements
|
|
|
|
## Configuration
|
|
|
|
Reads `docs/development/workflows/git-workflow.md` YAML frontmatter:
|
|
|
|
```yaml
|
|
---
|
|
branching_strategy: "three-branch"
|
|
main_branch: "main"
|
|
develop_branch: "develop"
|
|
work_branch_pattern: "type/ISSUE-ID"
|
|
merge_rules:
|
|
to_develop: "tests_pass"
|
|
to_main: "staging_validated"
|
|
---
|
|
```
|
|
|
|
**If missing**: Use defaults (three-branch: main ← develop ← work branches)
|
|
|
|
## Agent Coordination
|
|
|
|
- **devops-engineer** - Health checks, deployment validation
|
|
- **test-engineer** - Test execution, result parsing
|
|
|
|
## Command Instructions
|
|
|
|
```
|
|
Task: "Execute Git branch operation following project workflow rules.
|
|
|
|
CRITICAL:
|
|
1. FIRST: Read docs/development/workflows/git-workflow.md
|
|
- Extract YAML frontmatter
|
|
- Understand strategy, patterns, merge rules
|
|
- Use as source of truth
|
|
|
|
2. Execute operation:
|
|
- create: Follow pattern, create from base
|
|
- merge: Apply validation, block if fail
|
|
- delete: Check merge status, confirm, delete
|
|
- switch: Handle uncommitted, switch, pull
|
|
- status: Show state and readiness
|
|
|
|
3. Validation enforcement:
|
|
- Merge to develop: Run tests (auto-detect)
|
|
- Merge to main: Verify source=develop, check staging
|
|
- Block if fail, show clear errors
|
|
|
|
4. Git commands:
|
|
- git checkout, branch, merge, push
|
|
- Parse output, handle conflicts
|
|
|
|
5. Natural language:
|
|
- Parse intent from quoted string
|
|
- Map to structured operation
|
|
- Execute with same validation
|
|
|
|
All rules defined in git-workflow.md - this command enforces them."
|
|
``` |