npm · @teamclaws/teamclaw
OPENCLAW PLUGIN · teamclaw.dev

Ship with a team,
not a chat.

TeamClaw turns one or more OpenClaw instances into a virtual software company. A controller takes the intake, routes execution-ready work to role-based workers, blocks on real questions instead of guessing, and syncs everything through git.

$npx -y @teamclaws/teamclaw install
See the loop ↓

OpenClaw 2026.3.24+ · Node 22+ · process, Docker or Kubernetes workers

0
Roles on the team
0
Topologies
0
Controller
0
Guessed decisions
01 — THE LOOP

The loop that actually ships

No forty-ticket speculative backlog. The controller creates work that can start now, then keeps the flow moving stage by stage until the outcome lands.

01

Intake

You describe the outcome. The controller asks the sharp questions and writes execution-ready tasks — not a wishlist.

02

Clarify

Missing decision, credential or infra? The task blocks and asks you. It never improvises.

03

Route

Work lands with the right specialist, carrying a role prompt that knows exactly what its job is.

04

Ship

Results publish through git. The controller opens the next stage, and the loop keeps moving.

02 — A LIVE SHIFT

Watch one shift

Every assignment, block and resume is visible — in the controller UI, over WebSocket, and in the message log. No opaque prompt chaining.

  • Clarifications block the task and wait for a human answer — then resume exactly where they stopped.
  • Task states, worker health and idle pools update live in the UI.
  • Full workspace browser: files, diffs and delivery reports, not a wall of chat.
teamclaw — controller :9527
03 — THE ROSTER

Eleven specialists. Zero title inflation.

Each role runs with its own prompt, its own tools and its own lane. Handoffs go through the controller, artifacts go through git.

ROLE 01 ◆

PM

Owns scope and priorities. Turns fuzzy asks into decidable work.

ROLE 02 ◆

Architect

Owns structure, trade-offs and interfaces before code gets written.

ROLE 03 ◆

Developer

Writes the code, ships the branch, answers for the diff.

ROLE 04 ◆

QA

Breaks it before your users do. Blocks on real gaps.

ROLE 05 ◆

Release Engineer

Cuts versions, writes the changelog, pushes the tag.

ROLE 06 ◆

Infra Engineer

Provisions the ground it all runs on — never assumes it exists.

ROLE 07 ◆

DevOps

Pipelines, deploys and the pager nobody wants to hold.

ROLE 08 ◆

Security Engineer

Threat-models the design and hardens the edges.

ROLE 09 ◆

Designer

Product and UI design with a point of view.

ROLE 10 ◆

Marketing

Positioning, launch notes and the story around the ship.

ROLE 11 ◆

Data Engineer

Pipelines, schemas and the plumbing between them.

Roles are built in. The controller routes by role — you never play matchmaker.

04 — TOPOLOGY

One host today. A fleet on Friday.

Start with process workers on a single machine. Grow to containers or Kubernetes pods when the work demands it — same controller, same flow, same UI.

External workers

VALIDATED

Long-lived nodes on other machines register back to the controller over HTTP. Multi-machine role separation from day one.

{ "mode": "worker", "role": "developer",
  "controllerUrl": "http://ctrl:9527" }

Process

VALIDATED

Same-host workers spawned on demand and torn down when idle. The recommended first setup — no networking homework.

{ "mode": "controller",
  "workerProvisioningType": "process",
  "workerProvisioningMaxPerRole": 10 }

Docker

VALIDATED

Isolated container workers from the published runtime image, with named volumes for persistent workspaces.

{ "workerProvisioningType": "docker",
  "workerProvisioningImage":
  "ghcr.io/topcheer/teamclaw-openclaw" }

Kubernetes

VALIDATED

Worker pods through kubectl, cluster-native. Same registration, same routing — just schedulers instead of shells.

{ "workerProvisioningType": "kubernetes" }
05 — THE HONEST BIT

Blocked beats guessing.

When a role can't safely continue — a missing product decision, a credential, a dependency that doesn't exist yet — TeamClaw raises a clarification and parks the task. You answer, it resumes. Infra work never pretends the infrastructure is already there.

CLARIFICATION · TASK-1042 · FROM QA

Webhook tests need a Stripe key. Which environment — test, or the sandbox mirror?

status: blocked → waiting for human · answered tasks resume in place
06 — COLLABORATION

Git is the team's memory.

The controller initializes the repository. Workers sync before they execute and publish after they finish. Nothing important lives only in a chat transcript.

STEP 1

Sync

Workers pull the workspace repo before task execution starts.

STEP 2

Execute

Role work happens on its lane, with diffs you can actually review.

STEP 3

Publish

Push to the configured remote — or bundle through the controller.

No external Git service? No problem. The controller hosts bundle endpoints so distributed workers keep syncing. Configure a gitRemoteUrl and workers switch to plain clone / pull / push the moment it's reachable.

07 — GET IN

Hire the team.

One command. A controller, eleven specialists, and a flow that keeps moving until it ships.

$npx -y @teamclaws/teamclaw install
Copied — now paste it in your terminal