docs: add multi-agent worktree policy
- Each agent session gets isolated worktree in /tmp - Prevents branch conflicts between concurrent agents - Automatic cleanup after session
This commit is contained in:
57
docs/multi-agent-worktree.md
Normal file
57
docs/multi-agent-worktree.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Multi-Agent Worktree Policy
|
||||
|
||||
## Rule: Each Agent Session Gets Its Own Worktree
|
||||
|
||||
To prevent conflicts when multiple agents work on the same repository:
|
||||
|
||||
### Before Starting Work
|
||||
|
||||
```bash
|
||||
# Create isolated worktree in /tmp
|
||||
WORKTREE_ID=$(date +%s)-$$
|
||||
WORKTREE_PATH="/tmp/infra-worktree-$WORKTREE_ID"
|
||||
|
||||
git worktree add -b "agent/$WORKTREE_ID" "$WORKTREE_PATH"
|
||||
cd "$WORKTREE_PATH"
|
||||
|
||||
# Do your work...
|
||||
git add .
|
||||
git commit -m "..."
|
||||
|
||||
# Push when done
|
||||
git push origin "agent/$WORKTREE_ID"
|
||||
|
||||
# Cleanup
|
||||
cd /opt/data/infra
|
||||
git worktree remove "$WORKTREE_PATH"
|
||||
```
|
||||
|
||||
### Benefits
|
||||
|
||||
- No branch conflicts between agents
|
||||
- Each agent has isolated working directory
|
||||
- Automatic cleanup after session
|
||||
- Easy to track which agent did what
|
||||
|
||||
### For Hermes Agent
|
||||
|
||||
Add to agent system prompt or skill:
|
||||
```
|
||||
Before modifying any git repository:
|
||||
1. Check if worktree already exists for this session
|
||||
2. If not, create one: git worktree add -b "agent/$SESSION_ID" /tmp/repo-worktree-$SESSION_ID
|
||||
3. Do all work in the worktree
|
||||
4. Push branch when complete
|
||||
5. Remove worktree on cleanup
|
||||
```
|
||||
|
||||
### Manual Cleanup (if needed)
|
||||
|
||||
```bash
|
||||
# List all worktrees
|
||||
git worktree list
|
||||
|
||||
# Remove stale ones
|
||||
git worktree prune
|
||||
git worktree remove /tmp/infra-worktree-XXX
|
||||
```
|
||||
Reference in New Issue
Block a user