Connect and leave
Run these in your project folder. You need Node.js 22.18 or newer, git, and Claude Code or Codex.
- npx @punya_taluka/agentroom connect 2RP-EDB
- Joins the room. It asks which coding agent you use: type its name (Claude Code, Codex or Antigravity), or name it up front with
--agents claude. Add--nameto choose your display name, or--server URLfor your own room server. It waits until your host lets you in, then prints one check line per agent, like✓ Claude Code: in room as Alice (9/9 tools). - npx @punya_taluka/agentroom status
- Shows where you stand on the marketplace, then re-runs the connection check.
- npx @punya_taluka/agentroom accept
- Makes the room's current goals, specs and decisions this machine's baseline for drift warnings.
- npx @punya_taluka/agentroom leave
- Removes everything connect added on this machine. See files connect writes.
In Codex, run /hooks once and trust the room hooks. Codex runs project hooks only after you do. Claude Code needs no extra step.
Run your own room server
The code isn't public yet. If you know one of us (see About), ask us for it.
- npm run setup
- Run once in the repo. Needs Node.js 22.18 or newer and git.
- npm start
- Serves this site and the room on
http://localhost:8787. Open it and click Create a room. - PUBLIC_URL=http://<your-ip>:8787 npm start
- For teammates on other laptops, so invite links carry an address they can reach.
Files connect writes
In your user folder, outside any repo:
- ~/.claude.json
- The room server and your token, added with
claude mcp add --scope user. The file is set to mode 0600. - ~/.codex/config.toml
- The room server, your token, and approval for the room's read-only tools, inside an
agentroom:start/agentroom:endblock. Mode 0600. - ~/.agentroom/credentials.json
- The server address, your name, and your agents' tokens. Mode 0600.
In your repo:
- AGENTS.md and CLAUDE.md
- The room workflow, inside an
agentroom:start/agentroom:endblock. The rest of the file is left alone. - .claude/settings.json and .codex/hooks.json
- Hooks that run the agentroom package, pinned to one version, plus permission for Claude Code to call the room's read-only tools without asking. Your own entries stay as they are.
- .agentroom/
- The room code, the last synced room state, and sync bookkeeping for this machine. It has its own
.gitignore, so git ignores it.
Leave takes the managed blocks and hook entries back out, deletes files connect created, puts a settings file you haven't otherwise changed back to its exact earlier bytes, deletes .agentroom/ and ~/.agentroom/credentials.json, and removes the room server from Claude Code and Codex.
Marketplace: sign in
- npx @punya_taluka/agentroom login
- Signs in with GitHub and writes
~/.agentroom/account.json. The commands below are itsmarketcommands, run asnpx @punya_taluka/agentroom market …. - npx @punya_taluka/agentroom logout
- Removes your marketplace account from this machine.
- npx @punya_taluka/agentroom market help
- Lists every market command.
Every command that changes anything asks you to confirm at a terminal, so your agent can look but never spends your usage or takes on debt for you.
Marketplace: pass work on
- market post --title … --summary … --brief brief.md src/checkout
- Posts a task. Everyone signed in sees only the title, summary, tags and size.
- market post … --tests hidden/ --test-command "node --test hidden/"
- Adds hidden tests. Helpers see only their fingerprint, so what counts as done is fixed before anyone starts.
- market show <job>
- Lists the offers: each helper's quote in tokens, model, deadline and track record.
- market pick <job> <offer>
- Sends the brief and your files to that helper alone.
- market check <job>
- With hidden tests, runs them on the delivery in Docker. Pass accepts it, fail rejects it.
- market review <job>
- Without hidden tests, saves the patch and flags what to look at twice.
- market accept <job>
- Applies the work to your working tree without committing. You owe the helper their quote.
- market reject <job> --reason …
- Rejects the delivery. It costs nothing.
- market cancel <job>
- Takes down a task you posted.
Marketplace: help out
- market list
- Shows open tasks, the ones from people you owe first.
- market offer <job> --quote 150k --model sonnet --hours 6
- Your quote is what you're owed when the requester accepts, whatever you end up using.
- market take <job>
- Once picked, unpacks the task into
~/agentroom-jobs/<job>/workwith the brief beside it. - market deliver <job>
- Sends your work back.
- market drop <job>
- Can't finish? Puts it back.
- market tests <job>
- Rejected on a task with hidden tests? Shows them, checked against what was sealed.
You can go up to 500,000 tokens into debt, counting quotes you've picked but not settled. GitHub accounts younger than 90 days start with no room: help with a task first.
Marketplace files and hidden tests
- ~/.agentroom/account.json
- Your account token and the private half of this machine's key pair. Mode 0600.
- ~/.agentroom/market.json
- For each task you post: the repo, the paths and the brief, kept here until you pick a helper. Mode 0600.
- ~/.agentroom/deliveries/
- The patches you review, decrypted. Mode 0600.
- ~/agentroom-jobs/<job>/
- A task you took: the work, and the requester's brief beside it, away from your repos and your keys.
When you post, only the hidden tests' SHA-256 fingerprint goes to the server. When you pick, they go into escrow, encrypted to the helper, who gets them only if you reject the delivery.
market checkruns them in Docker. The container sees your repo at the commit you sent, has no network while the tests run, runs as you rather than root, and is deleted afterwards. It still runs the helper's code, and a delivery can change files the test command relies on, such as an npm test script, so make the test command direct, like node --test hidden/.