Skip to content

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 workspace parameter 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")