Workcell
A FIFO queue for the Macs, phones, GPUs, and rigs that coding agents share.
Pause the queue example to read a state, or restart it and announce the release and automatic handoff.
Agent A is running. Agents B and C are waiting in FIFO order. Agent D is running on a different resource.
One device, one owner
Agents are easy to multiply. Hardware is not. Two builds can target the same Mac; two tests can reset the same phone; two jobs can claim the same GPU. One command can change the resource underneath another, and a green check may belong to the wrong run.
Workcell gives each resource a first-in, first-out queue. One command owns it. Callers using --wait line up in order; callers without it receive a busy result immediately. When the owner exits, the next waiting command starts automatically. Jobs for other resources keep moving.
The reservation follows the process
The resource host owns the queue and operating-system lock. The launched process inherits that lock, so killing its wrapper cannot hand the device to a second job while the first is still running. The reservation ends when the owning processes release it.
Checked-in project commands supply consistent resource keys. Workcell rejects attempts to reacquire the same key and nested requests in an inverted order, catching deadlocks before a job waits indefinitely. Structured status gives an agent the current owner, its queue position, and the run’s log path.
Install and use
curl -fsSL https://workcell-137.pages.dev/install.sh | sh or tell your agent
install https://workcell-137.pages.dev/llms.txt Prefer the project wrapper. For direct use with an established resource key:
workcell run macos-xcode --wait --json -- xcodebuild test macos-xcodeis the resource key. Matching keys take turns; different keys run independently.--waitwaits in line until the command can run. Omit it to return immediately when the resource is busy.--jsonreturns structured output. Includes the owner, queue position, log path, and a command for waiting.