Rebuilding Petal Pro for an AI-first world
Petal Pro has always been the shortcut. Instead of wiring up authentication, Stripe, multi-tenancy and an admin panel for the hundredth time, you start with all of it done and get to the actual product on day one.
But the way people build changed. A year ago you read the docs, then wrote the code. Now you describe what you want and an agent writes the first draft. If your boilerplate still assumes the old flow, you're leaving most of the leverage on the table.
So v4 is a rebuild around the new one.
The generators do more. mix petal.gen.live scaffolds a whole resource for you: context, schema, LiveView, and tests, all following the same conventions across the app. That matters more than it used to, because consistent conventions are exactly what an agent needs to extend your app correctly. When every resource has the same shape, the agent's next guess is usually right.
It teaches the agent the house rules. Petal Pro ships a CLAUDE.md (and an AGENTS.md for other tools) that spells out how the codebase thinks: UUID v7 keys, the shared schema module, how orgs and memberships hang together, which Oban queue a job belongs in. Point Claude Code at a fresh Petal Pro and it already knows the conventions before it writes a line. A capable agent with that context ships. The same agent without it just guesses.
The unglamorous parts are all still there, and they're still the point: password, OAuth and passwordless auth, TOTP two-factor, Stripe billing you can charge per user or per org, background jobs on Oban, a real admin. None of that is fun to build for the fifth time. That's the whole reason it comes in the box.
The tutorial that ships with it builds a small SaaS called Financy, from an empty folder to a deployed app on Fly. It's the fastest way to feel the difference. You spend your time on the product, not the plumbing.
That was always the pitch. AI just moved the plumbing even further into the background, which is exactly where it belongs.