Add a boilerplate.
One MDX file. One PR.
Boila has no submission form, no backend, no database — the registry is a folder of MDX files. The PR is the curation gate.
The four steps.
- 01
Fork the repo
Boila is a regular GitHub repo. Fork it like any other open-source project.
- 02
Add an MDX entry
Drop a single file at apps/web/content/boilerplates/<your-slug>.mdx. The frontmatter is validated against registry.schema.json.
- 03
Run the validator
pnpm registry:validate runs locally and on CI. It checks frontmatter, license, and that the repo URL still resolves.
- 04
Open a PR
A maintainer reviews curation fit (intent, maintenance, license) and merges it. Your starter ships with the next deploy.
Copy this. Edit the values.
The schema is enforced by pnpm registry:validate. Unknown fields are rejected so the registry stays a stable contract for the CLI.
---
slug: my-starter
name: My Starter
description: One-line pitch, max 120 chars.
repo: https://github.com/<owner>/<repo>
branch: main # optional, defaults to main
subdir: "" # optional, for monorepos
stack: [next, typescript, tailwind, prisma]
useCases: [saas, dashboard]
features: [auth, payments]
authors: [your-github-handle]
maintained: true
license: MIT
demo: https://... # optional
addedAt: 2026-05-17
---
## Why this boilerplate
Markdown body explaining the tradeoffs, what's included, what's not.What we accept
- Repo is public and actively maintained (commit within the last 6 months).
- Install + run works from a clean clone, no manual surgery.
- Intent is distinct from existing entries — different stack alone isn’t enough.
- License is permissive (MIT, Apache, ISC, BSD).
- Description is one line, max 120 chars, and not marketing-y.
Test your entry locally.
Before opening the PR, scaffold from your new slug to make sure the install path is honest. The CLI reads the same registry the site does.
pnpm --filter cli dev my-starter