How templates differ from blocks and how a new one is registered.
Templates are full standalone Next.js apps, not a single component. They live under
registry/new-york/templates instead of registry/new-york/blocks, and there's no fixed
folder shape beyond what the app itself needs:
registry/new-york/templates/{template-name}/
app/ # Routes — layout, pages, nested folders
components/ # UI, including components/ui
content/ # MDX or other app content
lib/ # Actions, data, schemas
styles/ # Extra CSS beyond globals
.env.example # Env vars the template expects
A new template touches four places, same pattern as blocks:
registry/new-york/templates/{template-name}/ — the template itself
lib/templates.ts — adds the version under its category (id, title,
registryPath, description)
registry.json — a registry:block entry with categories: ["template", ...],
listing every file, dependencies, and any envVars
components/template-previews/{id}.tsx plus
components/template-preview-by-version.tsx — preview definition and id map