Vibe Maintainer
"Vibe coding" moved the writing of code onto agents with a light supervisory touch. Yegge's essay does the same thing on the other side of the pull request: it's a field report on what happens to a maintainer when the contributions arrive faster than any human could ever review them — and why the winning move is to stop saying no.
The thesis: maintaining, on autopilot
Yegge is describing a workflow, not a theory. Between two very young, very popular repos he's fielding roughly fifty PRs a day, seven days a week — a volume no human triages by hand. His answer is to treat maintenance the way vibe coders treat coding: set the philosophy, delegate the mechanical work to agents, and keep only the final judgment for yourself. He's blunt that this sounds absurd, and equally sure it's coming for everyone.
"I'm beginning to believe that my 'vibe maintainer' workflow, crazy as it might sound, will be what a lot of you are doing before long."— Vibe Maintainer
Why saying no got dangerous
The old maintainer's power was the veto. Yegge argues that the agent era quietly repriced it. When every enthusiast — "everyone and their grandmother" — can spin up a coding agent, a rejected PR isn't a closed door; it's a reason to leave. The survival metric flipped from correctness to speed.
"Software survival is now about velocity–specifically, keeping up with what your users want."— Vibe Maintainer
Reject too much and the community stops treating you as the destination. This is the essay's sharpest warning, and he states it as a trajectory, not a maybe:
"We are headed toward a world in which if you refuse enough PRs, the community will consider you a dead-end street and begin routing around you. They will copy your software, either by forking it or rewriting it from the ground up, and use their own mutated version from then on."— Vibe Maintainer, on the fork threat
The PR Sheriff: triage becomes the whole job
If you can't reject, you have to metabolize. Yegge's mechanism is a decision tree he calls the PR Sheriff (now handled by "the Mayor" in Gas Town) that routes every incoming PR to an outcome other than "no." The point is that a rejection is the last resort on a long menu of ways to say yes:
- Merge — well-tested and broadly useful, land it as-is.
- Fix-merge — pull it locally, fix what's wrong, push with the contributor's attribution intact.
- Cherry-pick / split-merge — take the good parts, or separate tangled concerns into clean commits.
- Redesign / reimplement — reject the design but solve the problem the contributor was actually chasing.
- Retire or reject — only for the obsolete or the features that don't pay their weight in tech debt.
- Request changes — the genuine last resort, because it starves contributors.
Making someone rebase and resubmit sounds polite; at his velocity it's a slow death for their contribution, so it sits at the very bottom of the list.
The philosophy: throughput over perfection
Underneath the tooling is a single north star. Yegge isn't optimizing for a pristine tree or the "right" implementation — he's optimizing for the number of people who successfully land something and stay. Every mechanical choice serves that.
"My core philosophy is, help contributors get to the finish line."— Vibe Maintainer
And the closing distillation of the whole workflow:
"Maximize community throughput, and you'll have a happy and thriving community."— Vibe Maintainer
Honest notes on scope
Two things worth flagging so you don't over-read the piece. First, on the title's echo: the essay is filed under the "vibe coding" banner Yegge is known for, but it doesn't actually stop to contrast vibe maintaining against vibe coding — the parallel (light-touch human, agents do the grind) is left implicit, and the body is really a hands-on maintenance playbook, not a taxonomy. Second, on the irony: on X he claimed he hand-wrote this particular essay with essentially zero AI help — a post about delegating everything to agents, written the old way. Treat that as a nice footnote, not part of the argument.