Contains some AI-generated content

Minions: Stripe's one-shot, end-to-end coding agents stripe.dev

Alistair Gray on why Stripe built its own unattended coding agents rather than adopting an off-the-shelf one. The argument is that general tools stall on a codebase this size and this unusual: most of Stripe’s backend is Ruby without Rails, typed with Sorbet, spread across a few large repositories. A minion is one-shot and end to end:

Over a thousand pull requests merged each week at Stripe are completely minion-produced, and while they’re human-reviewed, they contain no human-written code.

Engineers can start one from a CLI or a web interface, but usually do it from Slack. From there it runs unattended in a pre-warmed devbox, gathers context through Toolshed, an internal MCP server with more than 400 tools covering internal systems and the SaaS products Stripe uses, lints locally for fast feedback, then pushes and iterates against CI, which selects from a battery of over three million tests. What lands is a branch and a PR for a human to review.

The line worth keeping is if it’s good for humans, it’s good for LLMs, too. The devboxes, the linters and the test selection were all built for human developers first, and the agents inherit them. The follow-up post goes into the architecture. For the same bet applied to work that is not coding, see Kai.

← All links