Worktree Status Command banner
michael-harris michael-harris

Worktree Status Command

Development community intermediate

Description

**Debug/Expert Command** - Shows detailed status of all development track worktrees. > **Note:** This command is rarely needed. Worktrees are managed automatically by `/devteam:implement`. Use this on

Installation

Terminal
claude install-skill https://github.com/michael-harris/devteam

README

Worktree Status Command

**Debug/Expert Command** - Shows detailed status of all development track worktrees.

**Note:** This command is rarely needed. Worktrees are managed automatically by `/devteam:implement`. Use this only for debugging worktree issues.

Command Usage

/devteam:worktree status         # Show all worktree status
/devteam:worktree status 01      # Show status for specific track

Your Process

Step 1: Load State from SQLite

Query the SQLite database (`.devteam/devteam.db`) to get worktree configuration:

source scripts/state.sh

# Check worktree mode
mode=$(get_state "parallel_tracks.mode")

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 the state database:

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 SQLite database
    sprints = get_sprints_for_track(track_num)  # via: source scripts/state.sh
    completed_sprints = count(s for s in sprints if s.status == "completed")
    total_sprints = len(sprints)

    # Get task status from SQLite database
    tasks = get_tasks_for_track(track_num)  # via: source scripts/state.sh
    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:**

═══════════════════════════════════════════
 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

══════════════