Roughcut
- When
- 2026
- Status
- Early.
- Stack
- Python 3.9+, Claude Code plugins and dynamic workflows, git worktrees
- Code
- github.com/fellobello/roughcut
Why I built it
I wanted to go from a notebook-style idea to something I could click through without writing a full spec first. Roughcut builds a rough first version with me, then asks what it got wrong, so we incrementally get closer to our vision.
What it does
- Takes an idea in a sentence or two and plans it as modules with written interfaces.
- Builds the modules in parallel, each task in its own git worktree, then merges and runs every test.
- Recursively breaks down problems into modules which can be solved by smaller models or quickly fixed by a user.
- Stops with a short list of questions. Your answers decide what the next round builds, and changing an answer rebuilds only what depends on it.
- There is a built in text editor and some quality of life features to make basic IDE functionalities possible.
- A decision model keeps our token usage lower while problem solving.
- Also works as a plugin for Claude Code
Interesting parts
Interfaces first, tests from the spec
The planner writes the interfaces as real code before any builder starts, so modules can be built at the same time without guessing about each other. Each module's tests are written by a separate agent that never reads that module's implementation.
One writer for shared state
Agents don't talk to each other directly. They communicate through files in a
.hub/ folder that only one script writes, and it locks every change.
Example
From the one-line idea "google maps but you can see flock cameras and plan routes
around them," the first round planned six modules, built them with acceptance tests in
parallel and merged them into a working web app with about 600 tests total. It then handed
back 11 questions throughout the process. The result is
alpr-route-planner.
Agents wrote all of that code; the plan and every decision are in its .hub/ folder.
What I'd do next
I want to integrate more quality of life features so I can do all my development here. For example I want to integrate a simple UI to use git commands.