Curation is the moat.
Boila stays useful because every entry was reviewed before it landed. These are the rules a maintainer applies to your PR — read them before you open one and you'll get through in a single round.
What we accept
Maintained upstream
Commit within the last 6 months. We don't ship abandoned starters — the catalog is a curation, not an archive.
Works from a clean clone
Install + run must succeed on a fresh machine. If the README needs a paragraph of pre-setup, it's not a boilerplate.
Permissive license
MIT, Apache-2.0, ISC, or BSD only. Anything copyleft or unclear bounces.
Distinct intent
Two starters can share a stack if they solve different problems. A 9th Next + Tailwind landing kit needs a real reason.
One-line description
Max 120 chars, no marketing voice. Tell someone what they get, not how it'll change their life.
What we don't accept
Personal scratch repos
If you wouldn't recommend it to a colleague tomorrow, don't submit it.
Tutorials and walkthroughs
Step-by-step learning projects belong on a blog or a docs site, not in a scaffolding registry.
Demos that need a paid SaaS to run
Required Stripe / Auth0 / Supabase keys are fine — we surface them. But scaffolds that crash without a paid account are out.
Forks with cosmetic changes only
If your fork is 90% upstream + a renamed README, submit upstream instead.
What CI enforces
Every PR runs two automated checks before a human looks at it. Pass them locally first to save a round trip.
npm run registry:validate— every.mdxfrontmatter must validate againstregistry.schema.json. Slug, license, dates, all required fields.npm run check:links— everyrepoanddemoURL is HEAD-pinged. 4xx/5xx fails the run; 429 is a warning.
A reviewer adds the curation eye on top — distinct intent, fit with the existing catalog, quality of the README. Most PRs land within a week.