Files
roboco/docs/rag/architecture/workspaces.md
T

2.3 KiB

Workspace Structure

Multi-Agent Isolation

Each agent gets their own git clone:

{workspaces_root}/
└── {project-slug}/
    └── {team}/
        └── {agent-slug}/
            └── [git repo files]

Example

/data/workspaces/
└── roboco/
    ├── backend/
    │   ├── be-dev-1/    # be-dev-1's workspace
    │   ├── be-dev-2/    # be-dev-2's workspace
    │   ├── be-qa/       # be-qa's workspace
    │   ├── be-pm/       # be-pm's workspace
    │   └── be-doc/      # be-doc's workspace
    ├── frontend/
    │   ├── fe-dev-1/
    │   └── ...
    └── ux_ui/
        └── ...

Configuration

# Environment variables
ROBOCO_WORKSPACES_ROOT=/data/workspaces
ROBOCO_WORKSPACE_AUTO_CLONE=true
ROBOCO_WORKSPACE_CLONE_TIMEOUT=300

Features

Feature Description
Auto-clone Workspaces created on first access
Isolation No file locking conflicts
Branch independence Agents on different branches
Project-scoped Organized by project slug

Benefits

  1. Parallel Development: Multiple agents on same project
  2. No Conflicts: Each has own working tree
  3. Branch Flexibility: Different branches simultaneously
  4. Clean State: Fresh clone if needed

MCP Tools

Tool Purpose
roboco_workspace_ensure Create workspace if needed
roboco_workspace_status Check workspace state
roboco_workspace_list List all workspaces (PM only)
# Ensure workspace exists (auto-clones if needed)
roboco_workspace_ensure(project_slug="roboco")

# Check status
roboco_workspace_status(project_slug="roboco")

Workspace Resolution

Path resolved automatically: {workspaces_root}/{project}/{team}/{agent}/

If auto_clone=True and workspace doesn't exist, it's created on first access.

Authentication

HTTPS repositories require a GitHub PAT configured on the project:

  • Token configured: Auto-clone works, git operations succeed
  • Token missing: Error "Project requires a git token for HTTPS repositories"

If you see this error: Contact your PM to configure the project's git token.

PMs use roboco_project_update(slug, git_token="...") to set credentials.