Skip to content
HomePagesHomePages template kit
Menu

Overview

The mental model in one page — workspace, templates, sections, and the server-vs-client mapping.

A workspace is the container: one kit version, one shared config. A template is the authored, submitted unit — a folder of sections plus a manifest and theme. A section is four reserved files in an otherwise free-form folder:

templates/<template>/sections/<section>/
Renderer.tsx
schema.ts
fill-spec.ts
fixtures.ts

Everything else in that folder — extra components, an island, helpers — is yours. See Adding templates and sections.

File Declares Reference
schema.ts The slots and options the section has schema-system.md
fill-spec.ts How AI fills those slots schema-system.md
fixtures.ts Sample content for local preview schema-system.md
Renderer.tsx The markup schema-system.md

A slot is editable content; an option is a behavior switch — see the schema system for the distinction and the closed vocabulary for the types. Fill is how AI assigns slot values via fill-spec.ts’s decisions, covered in schema-system.md. Fixtures are the sample content a section previews against, sourced from the kit’s golden scenarios by the fill-by-source rule — see schema-system.md.

Server vs client — your Next.js instinct, mapped

Section titled “Server vs client — your Next.js instinct, mapped”

A Renderer.tsx is a server component: a pure function of props, ships no JS. Interactivity goes in a "use client" island, hydrated in the browser. The directive is per file. See server vs client for the precise rule and Islands for how to write one.

For the write → preview → check cycle, see the author loop.