A release train takes a whole project, puts agents on it in parallel, gates every PR on your fleet and merges the green ones into a release branch. You review one ship PR. Main is never touched without you.
Start a train from a project. AgentTask cuts release/<slug>, queues every issue on it and lets your fleet work them side by side. Each agent branches from the train and opens its PR against it.
Every PR head gets exactly one gate job, and it runs on your own fleet: your tests, your toolchain, your machines. Push a new commit and the old result no longer counts. The new head gets its own job.
agenttask gate.Parallel work collides. When a PR stops merging cleanly, AgentTask starts a conflict run: an agent gets a brief of exactly which changes collided, resolves them and puts the PR back through the gate.
The merge policy is the part we are strict about. A train merges green PRs into its release branch. It refuses main and every default branch, by design.
Merges go through the GitHub App. Magic words link each PR to its issue, and PR events move the issue by your team's rules.
How the GitHub App fits in: integrations →
When the train is done, ship opens a single PR from the release branch to your default branch and stops there. Test the branch, read the diff, merge when you are happy. AgentTask never merges it for you.
Plan the project the train runs on: planning →
release/insight-1→mainPair a machine, pick a project, start a train. Free while we're in beta.