lite-kits 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lite_kits/__init__.py +9 -0
- lite_kits/cli.py +481 -0
- lite_kits/installer.py +417 -0
- lite_kits/kits/README.md +191 -0
- lite_kits/kits/git/README.md +374 -0
- lite_kits/kits/git/claude/commands/cleanup.md +361 -0
- lite_kits/kits/git/claude/commands/commit.md +612 -0
- lite_kits/kits/git/claude/commands/pr.md +593 -0
- lite_kits/kits/git/github/prompts/cleanup.prompt.md +382 -0
- lite_kits/kits/git/github/prompts/commit.prompt.md +591 -0
- lite_kits/kits/git/github/prompts/pr.prompt.md +603 -0
- lite_kits/kits/git/scripts/bash/get-git-context.sh +208 -0
- lite_kits/kits/git/scripts/powershell/Get-GitContext.ps1 +242 -0
- lite_kits/kits/multiagent/README.md +395 -0
- lite_kits/kits/multiagent/claude/commands/sync.md +331 -0
- lite_kits/kits/multiagent/github/prompts/sync.prompt.md +331 -0
- lite_kits/kits/multiagent/memory/git-worktrees-protocol.md +370 -0
- lite_kits/kits/multiagent/memory/parallel-work-protocol.md +536 -0
- lite_kits/kits/multiagent/memory/pr-workflow-guide.md +281 -0
- lite_kits/kits/multiagent/templates/collaboration-structure/README.md +166 -0
- lite_kits/kits/multiagent/templates/decision.md +79 -0
- lite_kits/kits/multiagent/templates/handoff.md +95 -0
- lite_kits/kits/multiagent/templates/session-log.md +68 -0
- lite_kits/kits/project/README.md +244 -0
- lite_kits/kits/project/claude/commands/orient.md +163 -0
- lite_kits/kits/project/github/prompts/orient.prompt.md +163 -0
- lite_kits-0.1.0.dist-info/METADATA +415 -0
- lite_kits-0.1.0.dist-info/RECORD +31 -0
- lite_kits-0.1.0.dist-info/WHEEL +4 -0
- lite_kits-0.1.0.dist-info/entry_points.txt +2 -0
- lite_kits-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,331 @@
|
|
1
|
+
---
|
2
|
+
description: Check multi-agent sync status with ASCII visualization
|
3
|
+
---
|
4
|
+
|
5
|
+
# Multi-Agent Sync Status
|
6
|
+
|
7
|
+
**Purpose**: Visualize git sync status and multi-agent coordination state.
|
8
|
+
|
9
|
+
## Execution Steps
|
10
|
+
|
11
|
+
### 1. Check Git Status
|
12
|
+
|
13
|
+
```powershell
|
14
|
+
# Current branch
|
15
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
16
|
+
|
17
|
+
# Check if tracking remote
|
18
|
+
REMOTE_BRANCH=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null)
|
19
|
+
|
20
|
+
# Commits ahead/behind
|
21
|
+
if [ -n "$REMOTE_BRANCH" ]; then
|
22
|
+
AHEAD=$(git rev-list --count $REMOTE_BRANCH..HEAD)
|
23
|
+
BEHIND=$(git rev-list --count HEAD..$REMOTE_BRANCH)
|
24
|
+
else
|
25
|
+
AHEAD="N/A"
|
26
|
+
BEHIND="N/A"
|
27
|
+
fi
|
28
|
+
|
29
|
+
# Uncommitted changes
|
30
|
+
MODIFIED=$(git status --short | wc -l)
|
31
|
+
UNTRACKED=$(git ls-files --others --exclude-standard | wc -l)
|
32
|
+
```
|
33
|
+
|
34
|
+
### 2. Detect Multi-Agent Activity
|
35
|
+
|
36
|
+
```powershell
|
37
|
+
# Check for recent commits by different agents
|
38
|
+
git log --since="7 days ago" --format="%b" | grep "via.*@" | sort -u
|
39
|
+
|
40
|
+
# Count commits by agent
|
41
|
+
echo "Recent activity (last 7 days):"
|
42
|
+
git log --since="7 days ago" --format="%b" | \
|
43
|
+
grep "via.*@" | \
|
44
|
+
sed 's/.*via \(.*\)/\1/' | \
|
45
|
+
sort | uniq -c | sort -rn
|
46
|
+
```
|
47
|
+
|
48
|
+
### 3. Check Collaboration Structure
|
49
|
+
|
50
|
+
```powershell
|
51
|
+
# Find active collaboration directories
|
52
|
+
if [ -d "specs" ]; then
|
53
|
+
# List active sessions
|
54
|
+
SESSION_COUNT=$(find specs/*/collaboration/active/sessions -name "*.md" 2>/dev/null | wc -l)
|
55
|
+
|
56
|
+
# List pending handoffs
|
57
|
+
HANDOFF_COUNT=$(find specs/*/collaboration/active/decisions -name "handoff-*.md" 2>/dev/null | wc -l)
|
58
|
+
|
59
|
+
# List active features
|
60
|
+
FEATURES=$(find specs -maxdepth 1 -type d -name "[0-9]*" | wc -l)
|
61
|
+
else
|
62
|
+
SESSION_COUNT=0
|
63
|
+
HANDOFF_COUNT=0
|
64
|
+
FEATURES=0
|
65
|
+
fi
|
66
|
+
```
|
67
|
+
|
68
|
+
### 4. Generate ASCII Visualization
|
69
|
+
|
70
|
+
Create a visual representation of sync status:
|
71
|
+
|
72
|
+
```
|
73
|
+
===========================================================
|
74
|
+
Multi-Agent Sync Status
|
75
|
+
===========================================================
|
76
|
+
|
77
|
+
Branch: dev/001-starter-kits
|
78
|
+
Remote: origin/dev/001-starter-kits
|
79
|
+
|
80
|
+
Local Remote
|
81
|
+
↓ ↓
|
82
|
+
┌─────┐ ┌─────┐
|
83
|
+
│ ●●● │ ←──(2 behind)── │ ●● │
|
84
|
+
│ ●● │ ──(3 ahead)───→ │ │
|
85
|
+
└─────┘ └─────┘
|
86
|
+
|
87
|
+
3 commits to push
|
88
|
+
2 commits to pull
|
89
|
+
5 uncommitted changes
|
90
|
+
|
91
|
+
===========================================================
|
92
|
+
Agent Activity (last 7 days):
|
93
|
+
===========================================================
|
94
|
+
|
95
|
+
github-copilot-cli ████████████ 12 commits
|
96
|
+
github-copilot-cli ████████ 8 commits
|
97
|
+
|
98
|
+
===========================================================
|
99
|
+
Collaboration Status:
|
100
|
+
===========================================================
|
101
|
+
|
102
|
+
Active features: 3
|
103
|
+
Active sessions: 2
|
104
|
+
Pending handoffs: 1 ⚠
|
105
|
+
|
106
|
+
===========================================================
|
107
|
+
```
|
108
|
+
|
109
|
+
### 5. Check for Conflicts
|
110
|
+
|
111
|
+
```powershell
|
112
|
+
# Check if there are merge conflicts
|
113
|
+
if git ls-files -u | wc -l | grep -q "^0$"; then
|
114
|
+
echo "✓ No merge conflicts"
|
115
|
+
else
|
116
|
+
echo "⚠ Merge conflicts detected"
|
117
|
+
git diff --name-only --diff-filter=U
|
118
|
+
fi
|
119
|
+
```
|
120
|
+
|
121
|
+
### 6. Provide Sync Recommendations
|
122
|
+
|
123
|
+
Based on the status, suggest actions:
|
124
|
+
|
125
|
+
**If commits to pull**:
|
126
|
+
```
|
127
|
+
⚠ You are behind the remote branch
|
128
|
+
|
129
|
+
Recommended action:
|
130
|
+
git pull origin $CURRENT_BRANCH
|
131
|
+
|
132
|
+
Or if you have local commits:
|
133
|
+
git pull --rebase origin $CURRENT_BRANCH
|
134
|
+
```
|
135
|
+
|
136
|
+
**If commits to push**:
|
137
|
+
```
|
138
|
+
✓ You have commits to push
|
139
|
+
|
140
|
+
Recommended action:
|
141
|
+
git push origin $CURRENT_BRANCH
|
142
|
+
```
|
143
|
+
|
144
|
+
**If handoffs pending**:
|
145
|
+
```
|
146
|
+
⚠ Pending handoff detected
|
147
|
+
|
148
|
+
Review handoff:
|
149
|
+
cat specs/*/collaboration/active/decisions/handoff-*.md
|
150
|
+
|
151
|
+
Accept handoff:
|
152
|
+
1. Review the handoff document
|
153
|
+
2. Create session log for your work
|
154
|
+
3. Remove handoff file when complete
|
155
|
+
```
|
156
|
+
|
157
|
+
**If diverged (both ahead and behind)**:
|
158
|
+
```
|
159
|
+
⚠ Branches have diverged
|
160
|
+
|
161
|
+
You have local commits AND remote has new commits.
|
162
|
+
|
163
|
+
Recommended actions:
|
164
|
+
1. Review remote changes: git fetch && git log HEAD..origin/$CURRENT_BRANCH
|
165
|
+
2. Pull with rebase: git pull --rebase origin $CURRENT_BRANCH
|
166
|
+
3. Resolve conflicts if any
|
167
|
+
4. Push: git push origin $CURRENT_BRANCH
|
168
|
+
```
|
169
|
+
|
170
|
+
### 7. Session Log Status
|
171
|
+
|
172
|
+
If multiagent-kit installed, check session logs:
|
173
|
+
|
174
|
+
```powershell
|
175
|
+
# Find today's session log
|
176
|
+
TODAY=$(date +%Y-%m-%d)
|
177
|
+
AGENT="github-copilot-cli" # or "github-copilot-cli"
|
178
|
+
|
179
|
+
SESSION_LOG=$(find specs/*/collaboration/active/sessions -name "${TODAY}*${AGENT}*.md" 2>/dev/null | head -1)
|
180
|
+
|
181
|
+
if [ -n "$SESSION_LOG" ]; then
|
182
|
+
echo "✓ Session log exists: $SESSION_LOG"
|
183
|
+
else
|
184
|
+
echo "⚠ No session log for today"
|
185
|
+
echo " Create one: specs/<feature>/collaboration/active/sessions/${TODAY}-${AGENT}.md"
|
186
|
+
fi
|
187
|
+
```
|
188
|
+
|
189
|
+
## Output Examples
|
190
|
+
|
191
|
+
### Example 1: Clean Sync
|
192
|
+
|
193
|
+
```
|
194
|
+
===========================================================
|
195
|
+
Multi-Agent Sync Status
|
196
|
+
===========================================================
|
197
|
+
|
198
|
+
Branch: dev/001-starter-kits
|
199
|
+
Remote: origin/dev/001-starter-kits
|
200
|
+
|
201
|
+
Local Remote
|
202
|
+
↓ ↓
|
203
|
+
┌─────┐ ┌─────┐
|
204
|
+
│ ●●● │ ===(in sync)=== │ ●●● │
|
205
|
+
└─────┘ └─────┘
|
206
|
+
|
207
|
+
✓ Up to date with remote
|
208
|
+
✓ No uncommitted changes
|
209
|
+
|
210
|
+
===========================================================
|
211
|
+
Agent Activity (last 7 days):
|
212
|
+
===========================================================
|
213
|
+
|
214
|
+
github-copilot-cli ████████████ 12 commits
|
215
|
+
|
216
|
+
===========================================================
|
217
|
+
Collaboration Status:
|
218
|
+
===========================================================
|
219
|
+
|
220
|
+
Active features: 1
|
221
|
+
Active sessions: 1
|
222
|
+
Pending handoffs: 0
|
223
|
+
|
224
|
+
✓ All in sync, ready to work!
|
225
|
+
===========================================================
|
226
|
+
```
|
227
|
+
|
228
|
+
### Example 2: Needs Sync
|
229
|
+
|
230
|
+
```
|
231
|
+
===========================================================
|
232
|
+
Multi-Agent Sync Status
|
233
|
+
===========================================================
|
234
|
+
|
235
|
+
Branch: dev/002-blog-feature
|
236
|
+
Remote: origin/dev/002-blog-feature
|
237
|
+
|
238
|
+
Local Remote
|
239
|
+
↓ ↓
|
240
|
+
┌─────┐ ┌─────┐
|
241
|
+
│ ● │ ←──(1 behind)── │ ●● │
|
242
|
+
│ │ ──(0 ahead)───→ │ ● │
|
243
|
+
└─────┘ └─────┘
|
244
|
+
|
245
|
+
⚠ 1 commit to pull
|
246
|
+
2 uncommitted changes
|
247
|
+
|
248
|
+
===========================================================
|
249
|
+
Agent Activity (last 7 days):
|
250
|
+
===========================================================
|
251
|
+
|
252
|
+
github-copilot-cli ████████ 5 commits (most recent)
|
253
|
+
github-copilot-cli ████ 3 commits
|
254
|
+
|
255
|
+
===========================================================
|
256
|
+
Collaboration Status:
|
257
|
+
===========================================================
|
258
|
+
|
259
|
+
Active features: 1
|
260
|
+
Active sessions: 2
|
261
|
+
Pending handoffs: 1 ⚠
|
262
|
+
|
263
|
+
Handoff found:
|
264
|
+
specs/002-blog-feature/collaboration/active/decisions/handoff-to-claude.md
|
265
|
+
|
266
|
+
===========================================================
|
267
|
+
Recommended Actions:
|
268
|
+
===========================================================
|
269
|
+
|
270
|
+
1. Review handoff: cat specs/002-blog-feature/collaboration/active/decisions/handoff-to-claude.md
|
271
|
+
2. Pull latest: git pull origin dev/002-blog-feature
|
272
|
+
3. Review changes: git log -1 origin/dev/002-blog-feature
|
273
|
+
4. Start work on handoff items
|
274
|
+
|
275
|
+
===========================================================
|
276
|
+
```
|
277
|
+
|
278
|
+
## Advanced Features
|
279
|
+
|
280
|
+
### Check Worktree Status
|
281
|
+
|
282
|
+
If working with worktrees:
|
283
|
+
|
284
|
+
```powershell
|
285
|
+
# List all worktrees
|
286
|
+
git worktree list
|
287
|
+
|
288
|
+
# Check which worktrees are active
|
289
|
+
for worktree in $(git worktree list --porcelain | grep "worktree" | cut -d' ' -f2); do
|
290
|
+
echo "Worktree: $worktree"
|
291
|
+
cd "$worktree"
|
292
|
+
git status --short
|
293
|
+
cd - > /dev/null
|
294
|
+
done
|
295
|
+
```
|
296
|
+
|
297
|
+
### Compare with Other Branches
|
298
|
+
|
299
|
+
```powershell
|
300
|
+
# Compare with main
|
301
|
+
git log main..HEAD --oneline --format="%h %s (via %b)" | grep "via"
|
302
|
+
|
303
|
+
# Show what's new in main since you branched
|
304
|
+
git log HEAD..main --oneline
|
305
|
+
```
|
306
|
+
|
307
|
+
### Check for Stale Branches
|
308
|
+
|
309
|
+
```powershell
|
310
|
+
# List branches not updated in 30 days
|
311
|
+
git for-each-ref --format='%(refname:short) %(committerdate:relative)' \
|
312
|
+
refs/heads/ | grep -E '(weeks|months|years) ago'
|
313
|
+
```
|
314
|
+
|
315
|
+
## Important Notes
|
316
|
+
|
317
|
+
- **Read-only**: This command never modifies git state
|
318
|
+
- **Fast**: Only checks status, doesn't fetch from remote
|
319
|
+
- **Visual**: ASCII art helps quickly understand sync state
|
320
|
+
- **Multi-agent aware**: Highlights collaboration indicators
|
321
|
+
- **Actionable**: Provides specific next steps
|
322
|
+
|
323
|
+
## Integration with /orient
|
324
|
+
|
325
|
+
The `/sync` command complements `/orient`:
|
326
|
+
- `/orient` - Initial orientation when starting work
|
327
|
+
- `/sync` - Check status during work session
|
328
|
+
- `/commit` - Save work with attribution
|
329
|
+
- `/pr` - Create pull request when done
|
330
|
+
|
331
|
+
Use `/sync` frequently during multi-agent sessions to stay coordinated!
|
@@ -0,0 +1,370 @@
|
|
1
|
+
# Git Worktrees Protocol for Multi-Agent Development
|
2
|
+
|
3
|
+
**Version**: 1.0.0
|
4
|
+
**Last Updated**: 2025-10-06
|
5
|
+
|
6
|
+
## Purpose
|
7
|
+
|
8
|
+
Enable multiple AI agents to work on different aspects of the same feature simultaneously using git worktrees, avoiding merge conflicts and coordination overhead.
|
9
|
+
|
10
|
+
## What Are Git Worktrees?
|
11
|
+
|
12
|
+
Git worktrees allow multiple working directories from a single repository:
|
13
|
+
- Each worktree is a separate checkout
|
14
|
+
- All worktrees share the same .git database
|
15
|
+
- Changes in one worktree don't affect others until pushed
|
16
|
+
|
17
|
+
## When to Use Worktrees
|
18
|
+
|
19
|
+
**Use worktrees when**:
|
20
|
+
- Multiple agents working on same feature simultaneously
|
21
|
+
- Frontend + backend split work
|
22
|
+
- Independent file sets with no overlap
|
23
|
+
- Testing different approaches in parallel
|
24
|
+
|
25
|
+
**Don't use worktrees when**:
|
26
|
+
- Single agent working alone
|
27
|
+
- Sequential work (use normal git workflow)
|
28
|
+
- Frequent file overlap (high merge conflict risk)
|
29
|
+
|
30
|
+
## Basic Worktree Workflow
|
31
|
+
|
32
|
+
### Setup: Create Worktrees
|
33
|
+
|
34
|
+
**Agent 1 (Claude Code)** - Backend work:
|
35
|
+
```bash
|
36
|
+
# From main repository
|
37
|
+
git worktree add ../feature-auth-backend 003-user-auth
|
38
|
+
|
39
|
+
# This creates:
|
40
|
+
# - New directory: ../feature-auth-backend
|
41
|
+
# - Checked out to branch: 003-user-auth
|
42
|
+
# - Ready for backend work
|
43
|
+
|
44
|
+
cd ../feature-auth-backend
|
45
|
+
# Work on backend files here
|
46
|
+
```
|
47
|
+
|
48
|
+
**Agent 2 (Copilot)** - Frontend work:
|
49
|
+
```bash
|
50
|
+
# From main repository
|
51
|
+
git worktree add ../feature-auth-frontend 003-user-auth
|
52
|
+
|
53
|
+
cd ../feature-auth-frontend
|
54
|
+
# Work on frontend files here
|
55
|
+
```
|
56
|
+
|
57
|
+
### Working: Independent Development
|
58
|
+
|
59
|
+
Each agent works in their own worktree:
|
60
|
+
|
61
|
+
```bash
|
62
|
+
# Agent 1: Backend
|
63
|
+
cd ../feature-auth-backend
|
64
|
+
# Edit src/auth.py, src/models.py
|
65
|
+
git add src/auth.py src/models.py
|
66
|
+
git commit -m "feat: Add authentication backend
|
67
|
+
|
68
|
+
via claude-sonnet-4.5 @ claude-code"
|
69
|
+
git push origin 003-user-auth
|
70
|
+
```
|
71
|
+
|
72
|
+
```bash
|
73
|
+
# Agent 2: Frontend (in parallel)
|
74
|
+
cd ../feature-auth-frontend
|
75
|
+
# Edit src/components/LoginForm.tsx
|
76
|
+
git add src/components/LoginForm.tsx
|
77
|
+
git commit -m "feat: Add login form component
|
78
|
+
|
79
|
+
via gpt-4 @ github-copilot-cli"
|
80
|
+
git push origin 003-user-auth
|
81
|
+
```
|
82
|
+
|
83
|
+
### Synchronization: Pull Changes
|
84
|
+
|
85
|
+
Each agent periodically pulls others' work:
|
86
|
+
|
87
|
+
```bash
|
88
|
+
# Agent 1: Get frontend changes
|
89
|
+
cd ../feature-auth-backend
|
90
|
+
git pull origin 003-user-auth
|
91
|
+
|
92
|
+
# Agent 2: Get backend changes
|
93
|
+
cd ../feature-auth-frontend
|
94
|
+
git pull origin 003-user-auth
|
95
|
+
```
|
96
|
+
|
97
|
+
### Cleanup: Remove Worktrees
|
98
|
+
|
99
|
+
When work is complete:
|
100
|
+
|
101
|
+
```bash
|
102
|
+
# Remove worktree (from main repo)
|
103
|
+
cd /path/to/main/repo
|
104
|
+
git worktree remove ../feature-auth-backend
|
105
|
+
git worktree remove ../feature-auth-frontend
|
106
|
+
|
107
|
+
# Or if worktrees already deleted:
|
108
|
+
git worktree prune
|
109
|
+
```
|
110
|
+
|
111
|
+
## Advanced Patterns
|
112
|
+
|
113
|
+
### Pattern 1: Component Isolation
|
114
|
+
|
115
|
+
**Scenario**: Split large feature by components
|
116
|
+
|
117
|
+
```bash
|
118
|
+
# Agent 1: Database layer
|
119
|
+
git worktree add ../feature-db 005-ecommerce
|
120
|
+
cd ../feature-db
|
121
|
+
# Work on: src/database/, migrations/
|
122
|
+
|
123
|
+
# Agent 2: API layer
|
124
|
+
git worktree add ../feature-api 005-ecommerce
|
125
|
+
cd ../feature-api
|
126
|
+
# Work on: src/api/, src/routes/
|
127
|
+
|
128
|
+
# Agent 3: Tests
|
129
|
+
git worktree add ../feature-tests 005-ecommerce
|
130
|
+
cd ../feature-tests
|
131
|
+
# Work on: tests/
|
132
|
+
```
|
133
|
+
|
134
|
+
### Pattern 2: Experimental Branches
|
135
|
+
|
136
|
+
**Scenario**: Try different approaches simultaneously
|
137
|
+
|
138
|
+
```bash
|
139
|
+
# Approach A: REST API
|
140
|
+
git worktree add ../feature-rest 006-api
|
141
|
+
cd ../feature-rest
|
142
|
+
# Implement REST endpoints
|
143
|
+
|
144
|
+
# Approach B: GraphQL
|
145
|
+
git worktree add ../feature-graphql 006-api
|
146
|
+
cd ../feature-graphql
|
147
|
+
# Implement GraphQL schema
|
148
|
+
|
149
|
+
# Later: Merge winning approach back
|
150
|
+
```
|
151
|
+
|
152
|
+
### Pattern 3: Review + Fix
|
153
|
+
|
154
|
+
**Scenario**: One agent reviews while another implements
|
155
|
+
|
156
|
+
```bash
|
157
|
+
# Agent 1: Continue implementing
|
158
|
+
git worktree add ../feature-impl 007-feature
|
159
|
+
cd ../feature-impl
|
160
|
+
# Keep coding...
|
161
|
+
|
162
|
+
# Agent 2: Review previous work
|
163
|
+
git worktree add ../feature-review 007-feature
|
164
|
+
cd ../feature-review
|
165
|
+
# Read code, test, create review notes in collaboration/
|
166
|
+
```
|
167
|
+
|
168
|
+
## Collaboration Directory Integration
|
169
|
+
|
170
|
+
### Session Tracking
|
171
|
+
|
172
|
+
Each worktree session should be logged:
|
173
|
+
|
174
|
+
```markdown
|
175
|
+
# collaboration/active/sessions/2025-10-06-claude-backend-worktree.md
|
176
|
+
|
177
|
+
## Worktree Session: Backend Development
|
178
|
+
|
179
|
+
**Agent**: Claude Code (claude-sonnet-4.5)
|
180
|
+
**Worktree**: ../feature-auth-backend
|
181
|
+
**Branch**: 003-user-auth
|
182
|
+
**Start**: 2025-10-06 14:00
|
183
|
+
**End**: 2025-10-06 16:30
|
184
|
+
|
185
|
+
### Work Completed
|
186
|
+
- Implemented authentication logic
|
187
|
+
- Added password hashing
|
188
|
+
- Created session management
|
189
|
+
|
190
|
+
### Commits
|
191
|
+
- a1b2c3d: feat: Add authentication backend
|
192
|
+
- d4e5f6g: feat: Add session management
|
193
|
+
|
194
|
+
### Synchronized With
|
195
|
+
- Pulled frontend changes at 15:00 (commit h7i8j9k)
|
196
|
+
- No merge conflicts
|
197
|
+
|
198
|
+
### Status
|
199
|
+
Ready for integration testing with frontend
|
200
|
+
```
|
201
|
+
|
202
|
+
### Handoff Documents
|
203
|
+
|
204
|
+
Create handoffs between worktree agents:
|
205
|
+
|
206
|
+
```markdown
|
207
|
+
# collaboration/active/decisions/worktree-handoff.md
|
208
|
+
|
209
|
+
## Worktree Coordination
|
210
|
+
|
211
|
+
### Active Worktrees
|
212
|
+
|
213
|
+
| Agent | Worktree | Focus Area | Last Push |
|
214
|
+
|-------|----------|------------|-----------|
|
215
|
+
| Claude Code | feature-auth-backend | Backend API | 16:30 |
|
216
|
+
| Copilot CLI | feature-auth-frontend | React components | 16:15 |
|
217
|
+
|
218
|
+
### File Territory (Avoid Conflicts)
|
219
|
+
|
220
|
+
**Backend worktree** owns:
|
221
|
+
- src/auth.py
|
222
|
+
- src/models.py
|
223
|
+
- src/database/
|
224
|
+
- tests/test_auth.py
|
225
|
+
|
226
|
+
**Frontend worktree** owns:
|
227
|
+
- src/components/LoginForm.tsx
|
228
|
+
- src/components/ProtectedRoute.tsx
|
229
|
+
- src/hooks/useAuth.ts
|
230
|
+
- tests/components/LoginForm.test.tsx
|
231
|
+
|
232
|
+
**Shared** (coordinate before editing):
|
233
|
+
- README.md
|
234
|
+
- package.json / requirements.txt
|
235
|
+
- specs/003-user-auth/
|
236
|
+
|
237
|
+
### Merge Strategy
|
238
|
+
Both agents push to `003-user-auth` branch.
|
239
|
+
Final merge to main after both complete + integration tests pass.
|
240
|
+
```
|
241
|
+
|
242
|
+
## Best Practices
|
243
|
+
|
244
|
+
### DO:
|
245
|
+
- ✅ Create worktrees in sibling directories (`../feature-*`)
|
246
|
+
- ✅ Use descriptive worktree directory names
|
247
|
+
- ✅ Pull frequently to stay synchronized
|
248
|
+
- ✅ Document worktree sessions in collaboration/
|
249
|
+
- ✅ Define clear file territories to avoid conflicts
|
250
|
+
- ✅ Clean up worktrees when done
|
251
|
+
|
252
|
+
### DON'T:
|
253
|
+
- ❌ Create worktrees inside existing worktrees (nested)
|
254
|
+
- ❌ Edit same files in multiple worktrees simultaneously
|
255
|
+
- ❌ Forget to push before switching context
|
256
|
+
- ❌ Leave stale worktrees around (prune regularly)
|
257
|
+
- ❌ Use worktrees for simple sequential work
|
258
|
+
|
259
|
+
## Troubleshooting
|
260
|
+
|
261
|
+
### Problem: "Branch already checked out"
|
262
|
+
|
263
|
+
**Symptom**: Can't create worktree for a branch already checked out
|
264
|
+
|
265
|
+
**Solution**:
|
266
|
+
```bash
|
267
|
+
# Option 1: Use same branch in multiple worktrees (advanced)
|
268
|
+
git worktree add --detach ../feature-copy
|
269
|
+
cd ../feature-copy
|
270
|
+
git checkout 003-user-auth
|
271
|
+
|
272
|
+
# Option 2: Create from commit instead
|
273
|
+
git worktree add ../feature-copy abc123
|
274
|
+
```
|
275
|
+
|
276
|
+
### Problem: Merge conflicts between worktrees
|
277
|
+
|
278
|
+
**Symptom**: Pull fails with conflicts
|
279
|
+
|
280
|
+
**Solution**:
|
281
|
+
```bash
|
282
|
+
# In worktree with conflict
|
283
|
+
git pull origin 003-user-auth
|
284
|
+
# Resolve conflicts manually
|
285
|
+
git add .
|
286
|
+
git commit -m "merge: Resolve conflicts from other worktree
|
287
|
+
|
288
|
+
via claude-sonnet-4.5 @ claude-code"
|
289
|
+
git push origin 003-user-auth
|
290
|
+
```
|
291
|
+
|
292
|
+
### Problem: Can't remove worktree (locked)
|
293
|
+
|
294
|
+
**Symptom**: `git worktree remove` fails
|
295
|
+
|
296
|
+
**Solution**:
|
297
|
+
```bash
|
298
|
+
# Force remove (if directory deleted manually)
|
299
|
+
git worktree remove --force ../feature-old
|
300
|
+
|
301
|
+
# Or prune all stale worktrees
|
302
|
+
git worktree prune
|
303
|
+
```
|
304
|
+
|
305
|
+
### Problem: Lost track of worktrees
|
306
|
+
|
307
|
+
**Symptom**: Don't remember what worktrees exist
|
308
|
+
|
309
|
+
**Solution**:
|
310
|
+
```bash
|
311
|
+
# List all worktrees
|
312
|
+
git worktree list
|
313
|
+
|
314
|
+
# Example output:
|
315
|
+
# /path/to/main/repo abc123 [003-user-auth]
|
316
|
+
# /path/to/feature-auth-backend def456 [003-user-auth]
|
317
|
+
# /path/to/feature-auth-frontend ghi789 [003-user-auth]
|
318
|
+
```
|
319
|
+
|
320
|
+
## Integration with lite-kits
|
321
|
+
|
322
|
+
### Check Worktree Status
|
323
|
+
|
324
|
+
```bash
|
325
|
+
# From main repo
|
326
|
+
lite-kits status
|
327
|
+
|
328
|
+
# Output should show active worktrees (TODO: implement)
|
329
|
+
# Worktrees:
|
330
|
+
# ✓ ../feature-auth-backend (claude-code, last commit 2h ago)
|
331
|
+
# ✓ ../feature-auth-frontend (copilot, last commit 30m ago)
|
332
|
+
```
|
333
|
+
|
334
|
+
### Validate Worktree Collaboration
|
335
|
+
|
336
|
+
```bash
|
337
|
+
# Ensure collaboration docs exist for each worktree
|
338
|
+
lite-kits validate
|
339
|
+
|
340
|
+
# Checks:
|
341
|
+
# - Session logs for each worktree
|
342
|
+
# - File territory definitions
|
343
|
+
# - No conflicting edits
|
344
|
+
```
|
345
|
+
|
346
|
+
## Quick Reference
|
347
|
+
|
348
|
+
```bash
|
349
|
+
# Create worktree
|
350
|
+
git worktree add <path> <branch>
|
351
|
+
|
352
|
+
# List worktrees
|
353
|
+
git worktree list
|
354
|
+
|
355
|
+
# Remove worktree
|
356
|
+
git worktree remove <path>
|
357
|
+
|
358
|
+
# Clean up stale worktrees
|
359
|
+
git worktree prune
|
360
|
+
|
361
|
+
# Move worktree (manual)
|
362
|
+
mv <old-path> <new-path>
|
363
|
+
git worktree repair <new-path>
|
364
|
+
```
|
365
|
+
|
366
|
+
## Resources
|
367
|
+
|
368
|
+
- Git worktree docs: https://git-scm.com/docs/git-worktree
|
369
|
+
- Parallel development patterns: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/
|
370
|
+
- Multi-agent coordination: [pr-workflow-guide.md](./pr-workflow-guide.md)
|