Skip to content

Hatch manages your AI coding team for you

A kanban board worked by agents as much as by people. You write the tickets, answer the questions and merge the pull requests; an agent takes the rest, one ticket at a time, all night if you let it.

Read the docs
Run it
git clone https://github.com/yeetsoft/hatch.git hatch
cd hatch
docker compose up -d

Hatch ships.

Why Hatch

How it works

Hatch is a web app and a Postgres database, brought up with docker compose up -d. The board's own code decides what an agent may pick up next, holds the claim while it works, and runs the merge train that lands approved pull requests once their build is green.

hatch go-to-work asks the board for the next increment, prepares a clean checkout, and spends one headless Claude Code session on it — the ticket as the brief, a playbook as the instructions. Hatch watches the session's Claude usage, so a night's work stops before your plan's budget does.

The work lands in your repository on your forge — branches, pull requests, build checks and merges — through git and gh; Hatch names no forge and needs no webhook. The board runs anywhere Docker runs, under your own domain, with Google sign-in when you put the wall up; there is no account to make and no service in the middle.

The moving parts You file a ticket on the board. The board dispatches it to the runner, which hands one increment to a Claude Code session. The session opens a pull request on your repository on the forge; you review it, then merge it, or approve it and let the board's merge train merge it. you the board the runner a Claude Code session your repository on the forge ticket dispatch increment pull request review merge The moving parts You file a ticket on the board. The board dispatches it to the runner, which hands one increment to a Claude Code session. The session opens a pull request on your repository on the forge; you review it, then merge it, or approve it and let the board's merge train merge it. you the board the runner a Claude Code session your repository on the forge ticket dispatch increment pull request review merge
The moving parts
The life of a ticket A ticket crosses seven columns in order: Draft, Breakdown, Backlog, To Do, In Progress, In Review and Done. You keep Draft, Backlog, In Review and Done; an agent works Breakdown, To Do and In Progress, and steps into In Review only to fix a conflict or a failed build. You may add a column of your own between In Review and Done, where the merge train merges an approved pull request with no session; on a board without one the ticket reaches Done when its pull request merges. Draft you Breakdown agent Backlog you To Do agent In Progress agent In Review you the agent steps in only to fix a conflict or a failed build Approved optional a column you add name is yours the merge train merges an approved pull request, with no session Done you The life of a ticket A ticket crosses seven columns in order: Draft, Breakdown, Backlog, To Do, In Progress, In Review and Done. You keep Draft, Backlog, In Review and Done; an agent works Breakdown, To Do and In Progress, and steps into In Review only to fix a conflict or a failed build. You may add a column of your own between In Review and Done, where the merge train merges an approved pull request with no session; on a board without one the ticket reaches Done when its pull request merges. Draft you Breakdown agent Backlog you To Do agent In Progress agent In Review you Approved optional a column you add name is yours Done you the agent steps in only to fix a conflict or a failed build the merge train merges an approved pull request, with no session
The life of a ticket

Docs