Files
gh-michael-harris-claude-co…/commands/worktree-status.md
2025-11-30 08:40:21 +08:00

230 lines
6.9 KiB
Markdown

# Worktree Status Command
**Expert Command** - Shows detailed status of all development track worktrees.
## Command Usage
```bash
/multi-agent:worktree status # Show all worktree status
/multi-agent:worktree status 01 # Show status for specific track
```
## Your Process
### Step 1: Load State File
Read `docs/planning/.project-state.yaml` to get worktree configuration.
If not worktree mode:
```
This project is not using git worktrees (mode: state-only)
No worktrees to show status for.
```
### Step 2: Collect Worktree Information
For each track in state file:
```bash
track_num = "01"
worktree_path = ".multi-agent/track-01"
branch_name = "dev-track-01"
# Check if worktree exists
if [ -d "$worktree_path" ]; then
exists = true
cd "$worktree_path"
# Get git status
current_branch = $(git rev-parse --abbrev-ref HEAD)
uncommitted = $(git status --porcelain | wc -l)
ahead = $(git rev-list --count @{u}..HEAD 2>/dev/null || echo "N/A")
behind = $(git rev-list --count HEAD..@{u} 2>/dev/null || echo "N/A")
# Get sprint status from state file
sprints = get_sprints_for_track(track_num)
completed_sprints = count(s for s in sprints if s.status == "completed")
total_sprints = len(sprints)
# Get task status
tasks = get_tasks_for_track(track_num)
completed_tasks = count(t for t in tasks if t.status == "completed")
total_tasks = len(tasks)
else
exists = false
fi
```
### Step 3: Display Status
**For all tracks:**
```markdown
═══════════════════════════════════════════
Development Track Status
═══════════════════════════════════════════
Mode: Git worktrees (physical isolation)
Base path: .multi-agent/
Track 1: Backend API
───────────────────────────────────────────
Status: ✅ ACTIVE
Location: .multi-agent/track-01/
Branch: dev-track-01 (current)
Progress: 2/2 sprints complete (7/7 tasks)
Git status:
Uncommitted changes: 0
Ahead of remote: 3 commits
Behind remote: 0
Action: ⚠️ Push recommended
Track 2: Frontend
───────────────────────────────────────────
Status: 🔄 IN PROGRESS
Location: .multi-agent/track-02/
Branch: dev-track-02 (current)
Progress: 1/2 sprints complete (4/6 tasks)
Git status:
Uncommitted changes: 5 files
Ahead of remote: 2 commits
Behind remote: 0
Action: ⚠️ Commit and push needed
Track 3: Infrastructure
───────────────────────────────────────────
Status: ⏸️ PENDING
Location: .multi-agent/track-03/
Branch: dev-track-03 (current)
Progress: 0/2 sprints complete (0/5 tasks)
Git status:
Uncommitted changes: 0
Ahead of remote: 0
Behind remote: 0
Action: ✓ Clean
═══════════════════════════════════════════
Summary
═══════════════════════════════════════════
Total tracks: 3
Complete: 1
In progress: 1
Pending: 1
Warnings:
⚠️ Track 1: Unpushed commits (backup recommended)
⚠️ Track 2: Uncommitted changes (commit before merge)
Next steps:
Track 2: /multi-agent:sprint all 02
Track 3: /multi-agent:sprint all 03
After all complete: /multi-agent:merge-tracks
```
**For specific track:**
```markdown
═══════════════════════════════════════════
Track 01: Backend API
═══════════════════════════════════════════
Worktree Information:
───────────────────────────────────────────
Location: .multi-agent/track-01/
Branch: dev-track-01 (current: dev-track-01) ✓
Status: Active
Progress:
───────────────────────────────────────────
Sprints: 2/2 complete ✅
✅ SPRINT-001-01: Foundation (5 tasks)
✅ SPRINT-002-01: Advanced Features (2 tasks)
Tasks: 7/7 complete ✅
✅ TASK-001: Database schema design
✅ TASK-004: User authentication API
✅ TASK-008: Product catalog API
✅ TASK-012: Shopping cart API
✅ TASK-016: Payment integration
✅ TASK-006: Email notifications
✅ TASK-018: Admin dashboard API
Git Status:
───────────────────────────────────────────
Uncommitted changes: 0 ✓
Staged files: 0
Commits ahead of remote: 3
Commits behind remote: 0
Recent commits:
abc123 (2 hours ago) Complete TASK-018: Admin dashboard
def456 (3 hours ago) Complete TASK-016: Payment integration
ghi789 (4 hours ago) Complete SPRINT-001-01
Actions Needed:
───────────────────────────────────────────
⚠️ Push commits to remote (backup)
git push origin dev-track-01
Ready for merge:
───────────────────────────────────────────
✅ All sprints complete
✅ All tasks complete
✅ No uncommitted changes
⚠️ Not pushed (recommended before merge)
When ready:
/multi-agent:merge-tracks
```
## Error Handling
**Worktree missing:**
```
═══════════════════════════════════════════
Track 02: Frontend
═══════════════════════════════════════════
Status: ❌ ERROR - Worktree not found
Expected location: .multi-agent/track-02/
Expected branch: dev-track-02
The worktree appears to be missing or was removed.
To recreate:
git worktree add .multi-agent/track-02 -b dev-track-02
Or recreate all with:
/multi-agent:planning 3 --use-worktrees
```
**Wrong branch:**
```
═══════════════════════════════════════════
Track 01: Backend API
═══════════════════════════════════════════
Status: ⚠️ WARNING - Branch mismatch
Location: .multi-agent/track-01/
Expected branch: dev-track-01
Current branch: main ❌
The worktree is on the wrong branch.
To fix:
cd .multi-agent/track-01/
git checkout dev-track-01
```
## Notes
- This command is read-only (no changes made)
- Shows aggregate status for quick health check
- Warns about issues that could block merging
- Useful before running merge-tracks