Skip to content
IBM Bob Live Collab

One live workspace for every teammate's IBM Bob. Shared locks, a queue, and a PM who approves before anything risky lands.

Replay runs in your browser, no login · macOS build is arm64, unsigned

northlight/abyssal-drift-server · session/lobby-join-race
Bob → PM · approval needed

Alice finished lines 3–5. Budi is queued on the same block. Hand the lock to Budi?

ApproveDeny

1Alice’s Bob agent writes lines 3–5. Bob locks the block to her.

Live Collab

Three people, three Bobs, one repo

Each teammate keeps their own Bob. Live Collab shares locks, tasks and hook traces, and asks a human before anything risky lands.

toko-demo · live

Files & locks

  • checkout.ts A
  • routes.ts A
  • theme.css B
  • Header.tsx B

Team

Andi · coderBudi · coderCitra · pm-lead

Needs you

Budi's Bob asks for checkout.ts
Held by Andi for T-1. Queue Budi and continue Header.tsx meanwhile.
✓ auto-applied
Plan P-1 · tasks for toko-demo
Proposed by the pm-lead Bob. A human approved it before any lock was reserved.
✓ approved
Replay of the recorded session · no login · no API keyWatch full replay
near-miss caught by a hook
1
decisions, each shown to a human
2
merge conflicts
0
median time to a decision
2.9 s

From the recorded toko-demo session shown in the replay.

How it works

How three Bobs share one repo

  1. lock_guard

    One file, one Bob

    A PreToolUse hook checks the shared lock table before any write. Andi holds checkout.ts, so no other Bob can overwrite it.

  2. radar.why_blocked

    A near-miss explains itself

    The blocked Bob calls an MCP tool and tells its human, in one sentence, who holds the file and what to do next.

  3. pm-lead

    PM Bob proposes, a human decides

    The pm-lead mode can only read and propose. Plans and conflicts land in Needs you, where a person clicks Approve or Deny.

  4. radar-mcp

    Every teammate keeps their own Bob

    Each person runs IBM Bob on their own machine. Live Collab syncs locks, tasks and hook traces between them in real time.

Visible

Every Bob shows its owner, file and last hook on one screen.

Locked

A file has one holder. Others queue or switch files, never merge by accident.

Human-approved

Agents suggest. A person approves the plan before work starts.

Near-miss

Catch the near-miss before it merges.

Two Bobs reach for the same file. The hook stops the second one, the Bob says why, and its human keeps working on something else.

Blocked, then queued

lock_guard stops the write before it lands. Budi's Bob waits at position 1 and moves on to Header.tsx.

See it in the replay →
  1. budi · coderapply_diff src/checkout/checkout.ts
  2. hookPreToolUse · lock_guard → blocked
  3. held byandi · T-1 coupon
  4. mcpradar.why_blocked → "held by Andi for T-1"
  5. decisionqueued · position 1
  6. budi · codercontinues src/ui/Header.tsx

IBM Bob

Built on IBM Bob primitives

Browse the bob_sessions/ evidence →
  • mode
    coder · pm-lead

    Two custom modes. coder edits and runs; pm-lead only reads and proposes.

  • hook
    5 hooks

    SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop. Locks and briefs run here.

  • mcp
    radar-mcp

    MCP tools such as radar.why_blocked, so a Bob can read team state and explain itself.

Get started

Install in three steps

Grab the .dmg, let macOS open it, then join your team from Bob IDE.

  1. Download

    The latest .dmg from GitHub Releases.

  2. Allow the unsigned app

    System Settings → Privacy & Security → Open Anyway, or run:

    xattr -dr com.apple.quarantine "/Applications/IBM Bob Live Collab.app"
  3. Join your team

    Paste the invite, choose the folder, then open it in Bob IDE and trust the workspace.