Change software by touching it.
Point at the running product. Boomship finds the source behind the pixels, makes the change, and shows the evidence.
Northstar v4
Everything you order, in one platform.
Request a demoIt reads the repository before it touches it.
Every goal is planned first: the files, identifiers and error lines it names decide which lanes run and how much each counts. The bundle carries a reason per item.
- components/PricingHero.tsxpinned · the goal names it
- app/pricing/page.tsxgraph ×1.2 · imports PricingHero
- memory ✓ decision · Launch positioning leads with speed, not price.confirmed 12 Oct · a person said it
- run 0197 · “pricing page copy”similar goal · verified high · held up
A real browser. It tries to break it.
Preview is one Chromium capture with a map of every element on screen; Inspect hit-tests that map under your pointer and traces the element to source through the Brain. /break then attacks the page.
- Load on desktop0 console errors · 0 failed requests
- Load on mobileno horizontal overflow
- Submit every form empty1 form · validation held
- Double-click the primary actions1 order · 1 idempotency key
- Reload with a slow API (2s per request)loading state shown
- Go offline after loadno uncaught error
Every command leaves a line.
Files, commands, tests and git run in a real runner. Each tool call is written to the ledger with a hash of what went in and what came out, and whether the result was observed or only asserted by the model.
Commits go to a boomship/ branch.
Changes land on boomship/<name>, never main. Shipping is off until you allow it in the composer’s scope chip, and git_commit refuses staged secrets.
12 <span className="eb">{product}</span> 13− <h1>Northstar v4</h1> 14− <p>Everything you order, in one platform.</p> 15− <Button>Request a demo</Button> 13+ <h1>Your first order in nine minutes.</h1> 14+ <p>Northstar v4 sets up your catalogue from last month’s invoices.</p> 15+ <Button>Start with an invoice</Button>
The tests most likely to break run first.
The import graph predicts which tests cover the changed files. Those run first, then the whole suite, fresh, by the verifier.
Reviewed by a model that did not write it.
The independent reviewer is never the builder’s model when another is eligible. At high and critical risk a second, adversarial reviewer looks only for what an attacker would.
Four efforts. One sentence.
Which model does the work is Auto’s call, from the models you connected. These say how hard it tries.
Fast
Quick everyday work: the fastest connected model, low effort.
Auto
Boomship chooses the model and the effort for each task; planning and review escalate on their own.
Deep
More exploration and verification: a frontier model at full effort.
Swarm
Parallel approaches: the work is split into nodes that run side by side in their own worktrees, each verified, then merged.
- Each node runs in its own git worktree under .boomship/worktrees
- Nodes are checked with predicted tests, then merged in dependency order
- A graph that stops halfway resumes: merged nodes are reused, the rest run again
Verify a pull request you didn’t write.
One composer command. The PR is checked out on the host, reset to the merge base, installed with scripts off, and verified in the sandbox.
Boomship Verify/verify https://github.com/northstar/web/pull/412 --reportFetch
The pull request is read with your GitHub token and fetched into a host-private mirror. The sandbox that runs tests has no network and no token.
Reset
The head is checked out and soft-reset to the merge base, so git diff HEAD is exactly the pull request.
Install
npm ci with lifecycle scripts disabled, every .npmrc removed, no user or global npm config.
Verify
The same verifier as a Build run: fresh tests, typecheck, independent review, the security review at high and critical risk.
Report
A Work Receipt. With --report, the verdict is posted as a “Boomship Verify” commit status.