Manage git worktrees for isolated autonomous development.
Purpose
Provides workspace isolation using git worktrees, enabling parallel development and safe rollback without affecting the main branch.
Quick Start
from scripts.workspace_manager import WorkspaceManager
manager = WorkspaceManager(project_dir)
worktree = await manager.create_worktree("feature-auth")
await manager.merge_completed(worktree)
Worktree Strategy
main branch (stable)
│
├── .worktrees/
│ ├── build-001/ ← Isolated worktree
│ ├── build-002/ ← Another build
│ └── build-003/ ← Parallel work
│
└── project files
Workflow
- Create: New worktree from main branch
- Develop: All changes in isolated workspace
- Review: Review changes before merge
- Merge: Merge back to main
- Cleanup: Remove worktree
API
# Create new worktree
worktree = await manager.create_worktree("build-001")
# Get current worktree
current = await manager.get_current_worktree()
# List all worktrees
worktrees = await manager.list_worktrees()
# Merge completed work
await manager.merge_completed(worktree)
# Cleanup worktree
await manager.cleanup_worktree(worktree)
Integration
- Used by:
ac-session-managerfor session isolation - Uses:
ac-checkpoint-managerfor rollback points
API Reference
See scripts/workspace_manager.py for full implementation.