It's a fork, not a dependency
The day you clone, you diverge. There's no upgrade path when Stripe deprecates an API or an auth advisory lands — you patch it by hand, forever, across every client copy.
microservices.sh vs SaaS boilerplates
A boilerplate is a great head start — until the day you clone it. From then on you own every auth bug and every Stripe API change, and your agent has no contract telling it what's safe to touch. microservices.sh distributes the same foundations as version-pinned modules instead of a one-time fork.
Compared against: ShipFast, Supastarter, Open SaaS
Credit where due
The gap
The day you clone, you diverge. There's no upgrade path when Stripe deprecates an API or an auth advisory lands — you patch it by hand, forever, across every client copy.
An agent dropping a boilerplate into a project has no way to know whether the bundled Stripe integration is current, correct, or safe. It edits freely and breaks implicit assumptions.
Cloudflare-native multi-tenant dispatch, D1, and Workers-for-Platforms aren't the boilerplate default — you're rebuilding the hard part yourself.
Side by side
| SaaS boilerplates | microservices.sh | |
|---|---|---|
| Distribution | One-time fork you clone | Version-pinned dependency (microservices.lock.json) |
| Upgrades | You own every change forever | Reviewable upgrade flow via lockfile |
| Agent safety | Agent diverges from implicit contract | Typed module.json contract + pnpm microservices check |
| Runtime | Mostly Next.js / Vercel | Cloudflare-native (Workers, D1, KV, R2) |
| Multi-tenant | Do-it-yourself | Workers-for-Platforms dispatch + custom domains built in |
| Source-visible | Yes | Yes |
| Price | ~$99–$499 one-time | Free local + $5–$149/mo managed |
You want a complete, opinionated Next.js/Vercel app to own outright today and never upgrade as a unit.
You ship apps repeatedly (agency, multiple products) and want a Cloudflare-native foundation your agent can upgrade safely instead of re-forking.
Boilerplates are forks you own every bug of forever. Modules are governed contracts with pinned versions and an upgrade path — when Stripe deprecates an API, you run one command.