Multi-Workspace Architecture¶
Multiple Claude instances work in parallel on Invotek projects. Each workspace is an independent clone of the same git repository.
Workspace Layout¶
flowchart TB
subgraph mac["Mac Mini M1"]
subgraph ws["Independent Workspaces"]
c2["/Users/post/repos/claude-2/<br/>Legacy workspace"]
c3["/Users/post/repos/claude-3/<br/>Primary workspace"]
c4["/Users/post/repos/claude-4/<br/>Parallel workspace"]
c5["/Users/post/repos/claude-5/<br/>Parallel workspace"]
end
subgraph shared["Shared Resources"]
git["Git Remote<br/>Stig-Johnny/claude-3.git"]
memory["Claude Memory MCP<br/>(Firestore)"]
end
end
c2 --> git
c3 --> git
c4 --> git
c5 --> git
c2 -.-> memory
c3 -.-> memory
c4 -.-> memory
c5 -.-> memory
Workspaces¶
| Workspace | Path | Purpose |
|---|---|---|
| claude-2 | /Users/post/repos/claude-2/ |
Legacy workspace |
| claude-3 | /Users/post/repos/claude-3/ |
Primary workspace |
| claude-4 | /Users/post/repos/claude-4/ |
Parallel workspace |
| claude-5 | /Users/post/repos/claude-5/ |
Parallel workspace |
Key Points¶
- All workspaces share the same git remote (
Stig-Johnny/claude-3.git) - Each workspace has its own
repos/folder with cloned app repositories - Memory MCP is shared -- use the
workspaceparameter for sessions to avoid conflicts - Always work on feature branches to avoid conflicts between workspaces
Managed Repos (per workspace)¶
Each workspace clones these repos into its repos/ directory:
| Repo | Description |
|---|---|
| nutri-e | iOS supplement tracking app |
| cutie | Cuti-E feedback platform |
| ios-sdk | Public Cuti-E iOS SDK |
| ios-link-sdk | Public CutiELink SDK |
| star-rewards | Reward-E star rewards app |
Repo Management¶
./repo-manager.sh clone # Clone all repos
./repo-manager.sh pull # Pull latest from main
./repo-manager.sh status # Check all repos
./repo-manager.sh list # List configured repos
Session Management¶
When saving sessions, include the workspace parameter to avoid overwriting other instances:
save_session(project="cutie", workspace="claude-5", task="Issue #123")
get_session(project="cutie", workspace="claude-5")