Toolroll

Your agents build. You decide.

Approve the exact scope once; your coding agents build it and come back Ready with the diff, the passing check and screenshots.

npx toolroll up

MIT licensed · runs on your machine · Node 22.13+ on macOS and Linux

Tasks

Sample
  1. Export invoices as CSVshop-web · 3 criteria · claude
    Needs your approval
  2. Dark mode for settingsconsole · claude · +312 −40
    Ready
  3. Rate-limit the public APIshop-api · codex
    Building
  4. Fix the flaky checkout testshop-web · claude
    Running checks
  5. Paginate the orders listshop-web · claude · +88 −31
    Complete

A sample workspace. Review the waiting scope, or inspect the Ready result.

Approve the terms once.

You say what you want. The lead reads the repository and drafts a scope: the goal, what's out of bounds, how you'll know it's done, and which agent builds it. You approve exactly those terms. Anything beyond them comes back to you.

Export invoices as CSV

SampleNeeds your approval
Goal
Add a CSV export to the invoices page: every column the table shows, in its current filter and order.
Not in scope
PDF export. Changing the invoices table itself.
Done when
  1. Export downloads exactly the rows on screencheck
  2. The button sits in the table toolbar, desk and phonescreenshot
  3. Large exports stream without timing outcheck
Built by
claude · sonnet with safe unattended permissions
Proved by
npm test, the project's own check
Or ask the lead for changes in plain words.

Ready means proved.

Agents build in parallel, each in its own worktree. A result is Ready only when your project's check passed on the exact commit, with the diff, the check log and the screenshots saved beside it. Mark it Complete, or ask for one specific change and a revision builds from your note.

Nothing is marked done on an agent's say-so.

check · dark-mode · run 409 · sample
$ npm test
 ✓ settings/theme.test.ts (14)
 ✓ settings/appearance.test.tsx (9)
 ✓ styles/tokens.test.ts (31)
 Test Files  48 passed (48)
      Tests  212 passed (212)
exit 0 · 48s · commit 3fe5194 · sealed

Decide from wherever you are.

The browser, the terminal and your chat apps all act on the same tasks in one local database. Approve a scope from Telegram on the train, read the result at your desk, check the queue from the command line. It's the same task everywhere.

Telegram, Slack, Discord and Microsoft Teams.

ToolrollSample

Scope ready: Export invoices as CSV

3 criteria · claude sonnet · shop-web

ApproveOpen

Ready: Dark mode for settings

checks passed · 7 files

zsh · sample
$ toolroll status
Running: 2 — rate-limit (#412, agent working), flaky-checkout (#413, running checks)
Ready for review: 1 — dark-mode (#409)
Queued: 1 — invoices-csv (scope waiting for you)
Plan windows: claude — 5-hour 12%, Weekly 2%

What's in the roll

One install. Every tool in its own pocket.

Lead chat
One conversation across every project. It plans the work and files it.
Crew
Builds run in parallel, each in its own worktree and branch.
Scopes
The exact terms you approve. Anything beyond them comes back to you.
Checks
Your project's own command decides what counts as Ready.
Evidence
The diff, check log and screenshots are saved with every result.
Flows
Zones and cards for work that isn't code, with triggers and approvals.
Teammates
AI teammates with their own rules, memory and routines.
Memory
Project decisions and knowledge that every task reads first.
Spend
Dollars where you pay per token, plan windows where you don't.
Audit
A sealed ledger of who approved what, and when.

See what you can hand it

Bring what you already use.

Toolroll drives the agent CLIs on your machine, on your own plans or keys, and reaches you in the chat apps you already have open.

Hand it the next task.

Starts the app and a builder for your projects, then opens the console at 127.0.0.1:4180.

npx toolroll up

Or install the command for good

curl -fsSL https://raw.githubusercontent.com/ap9000/toolroll/main/install.sh | sh

Or look around first, with sample projects

npx toolroll demo

npm, bun, pnpm, yarn and Homebrew work too. Needs Node.js 22.13+ and git, on macOS or Linux. MIT licensed, with zero runtime dependencies and one local SQLite database.