Files
roboco/docs/rag/tools/project-tools.md
T

2.8 KiB

Project Tools

Overview

Project tools manage git repositories and agent workspaces.

List Projects

roboco_project_list()           # All accessible projects
roboco_project_list(cell="backend")  # Filter by cell

Returns projects you have access to (cell-scoped for non-PMs).

Get Project Details

roboco_project_get(slug="roboco")

Returns: name, git_url, assigned_cell, default_branch, has_git_token, test_command, etc.

Note: has_git_token indicates if authentication is configured (required for HTTPS repos).

Create Project (PM+ Only)

# Example: register a separate frontend-only repo as a project.
# (The built-in RoboCo control panel lives in this same repo under
# panel/ and is NOT registered as a separate project.)
roboco_project_create(
    name="Customer Portal",
    slug="customer-portal",
    git_url="https://github.com/org/customer-portal.git",
    assigned_cell="frontend",
    git_token="ghp_xxxx...",  # GitHub PAT with repo scope
    default_branch="main",
    test_command="pnpm test",
    lint_command="pnpm lint"
)

Who can create: Main PM, Board, CEO

IMPORTANT: git_token is required for HTTPS repositories. Without it, workspace creation and git operations will fail.

Update Project

roboco_project_update(
    slug="roboco-panel",
    git_token="ghp_newtoken...",  # Update/rotate token
    test_command="pnpm test:ci",
    lint_command="pnpm lint:fix"
)

Who can update:

  • CEO, Main PM: Any project
  • Cell PM: Own cell's projects only

Token rotation: Pass git_token to update credentials. Pass empty string to clear.

Workspace Tools

Ensure Workspace

roboco_workspace_ensure(project_slug="roboco")

Creates your workspace if it doesn't exist. Auto-clones the repository.

Check Workspace Status

roboco_workspace_status(project_slug="roboco")

Returns: exists, branch, has_uncommitted, staged_files, unstaged_files

List Workspaces (PM Only)

roboco_workspace_list(project_slug="roboco")

Lists all agent workspaces for a project. Cell PM sees own cell only.

Permission Matrix

Tool Dev/QA/Doc Cell PM Main PM CEO
project_list Own cell Own cell All All
project_get Yes Yes Yes Yes
project_create No No Yes Yes
project_update No Own cell All All
workspace_ensure Yes Yes Yes Yes
workspace_status Yes Yes Yes Yes
workspace_list No Own cell All All

Task Creation with Project

When creating tasks:

roboco_task_create(
    title="Add rate limiting",
    team="backend",
    project_slug="roboco",    # Required - all tasks follow git workflow
)

Use project_slug="roboco" for internal RoboCo codebase work.