Shipwright Harness

Rollout model

Trust is the bottleneck, not the tooling.

Most teams stall on AI adoption for the same reason: nobody wants to be the person who let an agent break production. So it stays a side experiment for a few enthusiasts and nothing changes for everyone else.

Shipwright is built to be dialled up, not switched on. You choose how much the agent does on its own, and you change your mind in under a minute.

The three stages

Stage 1

Plan and build.

The agent reads your task queue, picks the next ready task, builds it with tests, and opens a PR. Your engineers review and merge, exactly as they would for a new hire. The agent cannot merge anything.

Crons: dev-task on.review, patch,deploy off.

Stage 2

Add review and patch.

The agent reviews open PRs and fixes failing CI. Review and patch are separate toggles, so you can take one without the other. Your engineers still control every merge.

Crons: dev-task, review,patch on. deploy off.

Stage 3

Close the loop.

The agent merges approved PRs and watches post-merge CI. Plan, build, review, patch, deploy, without manual intervention.

Crons: all on.

Only turn on Stage 3 once the safeguards are in place: CI gates, required reviewers, and a working deploy pre-check. The docs say the same thing, and we mean it.

The dial, in detail

Each of these is a real per-agent policy setting, edited in the admin UI. No restart, no redeploy, picked up on the next config sync.

You wantSetting
Read every review before it reaches GitHubautoPostReviews off - findings stage locally until you approve them
An agent can never block a human PRBuilt into review.md's rules — REQUEST_CHANGES is never used
Agent PRs always need a human reviewerallowSelfReview off, the default
Less review noiseminConfidence, maxFindings

What does not change between stages

Three things are true at Stage 1 and still true at Stage 3:

Two ways in

Every stage is a toggle, and every toggle goes both ways. If a stage is not working for your team, turn it off and nothing is stranded.

Read the full configuration reference →

Try it

Install the plugin into Claude Code and run a task end to end. Free, MIT, runs on your own infra.

/plugin install shipwright@app-vitals/shipwright

Rolling this out to a team? We can talk through which stage to start at.How the stages work