Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
247 changes: 247 additions & 0 deletions website/blog/2026-05-08-worktree-trick-multi-project-ai-teams.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
flowchart LR
subgraph Before["🔴 Before: Babysitting Loop"]
direction TB
B1["Start session"] --> B2["Agent picks\nwrong branch"]
B2 --> B3["Human redirects"]
B3 --> B4["Agent picks\nwrong repo"]
B4 --> B5["Human redirects"]
B5 --> B6["Agent commits\nto main"]
B6 --> B7["Human redirects"]
B7 --> B1
end

subgraph After["🟢 After: Worktree Flow"]
direction TB
A1["Create worktree"] --> A2["cd into directory"]
A2 --> A3["Start Copilot CLI"]
A3 --> A4["Assign agent"]
A4 --> A5["Review PR"]
A5 --> A6["✅ Done"]
end

style Before fill:#fff0f0
style After fill:#f0fff0
style B1 fill:#dc3545,color:#fff
style B2 fill:#dc3545,color:#fff
style B3 fill:#ff6b6b,color:#fff
style B4 fill:#dc3545,color:#fff
style B5 fill:#ff6b6b,color:#fff
style B6 fill:#dc3545,color:#fff
style B7 fill:#ff6b6b,color:#fff
style A1 fill:#28a745,color:#fff
style A2 fill:#28a745,color:#fff
style A3 fill:#28a745,color:#fff
style A4 fill:#28a745,color:#fff
style A5 fill:#28a745,color:#fff
style A6 fill:#1b5e20,color:#fff
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
flowchart TB
subgraph Hub["🧠 project-dina Hub"]
SA["squad.agent.md"]
DM["decisions.md"]
SK["skills/"]
end

Hub -->|"shared config"| W1["📂 blog-requirements\nproject: dina"]
Hub -->|"shared config"| W2["📂 docdb-article\nproject: data-plus-ai"]
Hub -->|"shared config"| W3["📂 azure-mcp\nproject: azure-ai-tools"]
Hub -->|"shared config"| W4["📂 content-gen-cli\nproject: content"]

RJ["repos.json\nRouting Table"] -->|"routing"| R1["internal-repo-1"]
RJ -->|"routing"| R2["internal-repo-2"]
RJ -->|"routing"| R3["internal-repo-3"]
RJ -->|"routing"| R4["personal-repo-1"]

Hub --- RJ

style Hub fill:#1a73e8,color:#fff
style W1 fill:#34a853,color:#fff
style W2 fill:#34a853,color:#fff
style W3 fill:#34a853,color:#fff
style W4 fill:#34a853,color:#fff
style RJ fill:#fbbc04,color:#000
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Image References for "The Worktree Trick" Blog Post

Use these markdown snippets to embed each diagram in the blog post.

---

## 1. Three Approaches Progression
**Alt text:** Flowchart showing progression from same-directory approach through per-project squads to hub plus worktrees solution
```markdown
![Flowchart showing progression from same-directory approach through per-project squads to hub plus worktrees solution](media/2026-05-08-worktree-trick-multi-project-ai-teams/three-approaches-progression.png)
```

## 2. Hub + Worktree Architecture
**Alt text:** Architecture diagram showing hub as central brain with worktrees branching to isolated workspaces and repos.json routing to downstream repos
```markdown
![Architecture diagram showing hub as central brain with worktrees branching to isolated workspaces and repos.json routing to downstream repos](media/2026-05-08-worktree-trick-multi-project-ai-teams/hub-worktree-architecture.png)
```

## 3. Before and After Workflow
**Alt text:** Side-by-side comparison of babysitting loop with constant human redirects versus clean worktree flow ending in PR review
```markdown
![Side-by-side comparison of babysitting loop with constant human redirects versus clean worktree flow ending in PR review](media/2026-05-08-worktree-trick-multi-project-ai-teams/before-after-workflow.png)
```

## 4. Skill Confidence Lifecycle
**Alt text:** State diagram showing skill confidence transitions from low to medium to high with feedback loops
```markdown
![State diagram showing skill confidence transitions from low to medium to high with feedback loops](media/2026-05-08-worktree-trick-multi-project-ai-teams/skill-confidence-lifecycle.png)
```

## 5. Ralph Go Pipeline
**Alt text:** Left-to-right pipeline showing human trigger through automated triage routing and execution to PR review and merge
```markdown
![Left-to-right pipeline showing human trigger through automated triage routing and execution to PR review and merge](media/2026-05-08-worktree-trick-multi-project-ai-teams/ralph-go-pipeline.png)
```

## 6. Tradeoff Comparison
**Alt text:** Grid comparing same directory versus per-project squads versus hub plus worktrees across six dimensions including context isolation and scaling
```markdown
![Grid comparing same directory versus per-project squads versus hub plus worktrees across six dimensions including context isolation and scaling](media/2026-05-08-worktree-trick-multi-project-ai-teams/tradeoff-comparison.png)
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
flowchart LR
H1["👤 Human\nsays 'go'"] --> T["Issue triage"]
T --> R["Agent routing"]
R --> E["Execution"]
E --> PR["PR created"]
PR --> H2["👤 Human\nreview"]
H2 --> M["Merge"]

subgraph Auto["The gap to close"]
T
R
E
PR
end

style H1 fill:#1a73e8,color:#fff
style H2 fill:#1a73e8,color:#fff
style M fill:#28a745,color:#fff
style Auto fill:none,stroke:#ff6b6b,stroke-width:2px,stroke-dasharray: 5 5
style T fill:#ffc107,color:#000
style R fill:#ffc107,color:#000
style E fill:#ffc107,color:#000
style PR fill:#ffc107,color:#000
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
stateDiagram-v2
[*] --> Low: Pattern observed
Low --> Medium: Repeated successful use
Medium --> High: Human review + cross-project validation
High --> Medium: Context drift / edge case found
Medium --> Low: Repeated failures

Low: 🟡 Low Confidence (new / untested)
Medium: 🟠 Medium Confidence (validated in 2-3 contexts)
High: 🟢 High Confidence (reliable across projects)

note right of High: Nobody else is going to do it.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
flowchart TD
Start["Multi-project AI agents"] --> A1["Approach 1: Same directory"]
A1 --> F1["❌ Context bleed, branch chaos"]
F1 --> D1{"Try isolation?"}
D1 --> A2["Approach 2: Per-project squads"]
A2 --> F2["❌ Skill duplication, no shared brain"]
F2 --> D2{"Combine strengths?"}
D2 --> A3["Approach 3: Hub + worktrees"]
A3 --> S1["✅ Shared brain + isolated workspaces"]

style F1 fill:#dc3545,color:#fff
style F2 fill:#dc3545,color:#fff
style S1 fill:#28a745,color:#fff
style D1 fill:#ffc107,color:#000
style D2 fill:#ffc107,color:#000
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
block-beta
columns 4
space:1 C1["Same Directory"]:1 C2["Per-Project Squads"]:1 C3["Hub + Worktrees"]:1
R1["Context isolation"]:1 V1["❌ Bleed"]:1 V2["✅ Perfect"]:1 V3["✅ Branch-level"]:1
R2["Shared skills"]:1 V4["✅ Auto"]:1 V5["❌ Copy everywhere"]:1 V6["✅ From hub"]:1
R3["Shared decisions"]:1 V7["✅ One file"]:1 V8["❌ Fragmented"]:1 V9["✅ One file"]:1
R4["Agent confusion"]:1 V10["❌ Wrong branches"]:1 V11["✅ Clean"]:1 V12["✅ Clean"]:1
R5["Setup overhead"]:1 V13["✅ Minimal"]:1 V14["❌ Heavy"]:1 V15["🟡 Moderate"]:1
R6["Scaling"]:1 V16["❌ Collapses"]:1 V17["🟡 Linear"]:1 V18["✅ Scales well"]:1

style C1 fill:#6c757d,color:#fff
style C2 fill:#6c757d,color:#fff
style C3 fill:#1a73e8,color:#fff
style V1 fill:#dc3545,color:#fff
style V5 fill:#dc3545,color:#fff
style V8 fill:#dc3545,color:#fff
style V10 fill:#dc3545,color:#fff
style V14 fill:#dc3545,color:#fff
style V16 fill:#dc3545,color:#fff
style V2 fill:#28a745,color:#fff
style V3 fill:#28a745,color:#fff
style V4 fill:#28a745,color:#fff
style V6 fill:#28a745,color:#fff
style V7 fill:#28a745,color:#fff
style V9 fill:#28a745,color:#fff
style V11 fill:#28a745,color:#fff
style V12 fill:#28a745,color:#fff
style V13 fill:#28a745,color:#fff
style V18 fill:#28a745,color:#fff
style V15 fill:#ffc107,color:#000
style V17 fill:#ffc107,color:#000
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.