Feature/Shipping
Cards that finish their own pull requests.
A Board card ships itself. The runner pushes and opens a draft pull request while the work is under way, Nautelle watches CI and fixes red checks, and the card merges when it is done and green. You stay in charge of what merges.
What happens after Run
The card gets its own worktree and an interactive Claude Code session. Enabled coding rules and the approved design are in the worker prompt. The worker calls finish_card when it is done, and the pull request leaves draft with a description the worker wrote.
- Every card gets a spec file in its first commit; a bug also gets a GitHub issue
- The worker never pushes: the runner pushes and opens the draft pull request
- The description carries a spec link, what changed and why, and the acceptance checklist
- RunOwn worktree, tmux and Claude Code session
- Draft PRThe runner pushes and opens it
- finish_cardThe PR leaves draft, with its description
- CIRed checks start a fix round
- MergeAuto-merge, or your Accept
CI is watched, and red checks get fixed
Nautelle watches the checks. A red check, or a conflict with the base, starts an automatic fix round in the same session with the failing log. After three, the card waits for you.
- At most three fix rounds per pull request
- A head that never reports checks is retriggered once, then handed to you
- A card that needs you says why: no CI, fix rounds used, a failed merge, an unfinished description
- Round 1test failed
- Fix round 1 of 3green
The failing log goes into the same session. After the third fix round, the card waits for a person.
Auto-merge, or your Accept
When a card is done and green, it merges if auto-merge is on for the project: on by default for a non-default base, off for the default branch. Otherwise you decide with Accept.
- Accept can merge, bound to the head commit you saw, or accept without merging
- Auto-merge refuses a round that pushed no new commit or ended within seconds
- Feedback on a merged card opens a new round on a fresh branch and a new pull request
- Completed closes the worker and cleans up its worktree
Your coding rules in every prompt
Write rules by hand, import them from Markdown, or scan the repository for them. Every enabled rule goes into every worker prompt, so each card follows the conventions the team already agreed on.
- Rules are per project
- Each rule is badged by where it came from: manual, imported or scanned
- The same prompt carries the approved design
Handoff notes, so the next round starts in context
Every card has a short handoff note that the agent keeps current. The next round starts from it when that is cheaper than resuming the whole session.
- Goal, done, next, decisions, dead ends, files and how to verify
- It lives in the card’s worktree; a project that ships session content keeps a copy on the server
- The card face shows resumed from handoff or resumed session
- A stuck session is picked up by the Steward
- Goal
- CSV export on the invoices list
- Done
- Export button, server route, tests
- Next
- Currency column per row
- Decisions
- Only active invoices, as agreed
- Dead ends
- Streaming the file client-side
- Files
- invoices/export.ts, invoice-list.tsx
- Verify
- bun test invoices
Where it sits in the chain
The whole chainShipping is the second half of the chain: Run, CI and Merge.
- 01Say what you want
- 02Interview
- 03Card, split or stack
- 04Design
- 05Run
- 06CI
- 07Merge
Every screen and setting, in the shipping guide.
The guide covers each control, limit and rule on this page, with the exact names you will see in the app.