The Generated Template Library vs. the Hand-Built Starters
The 500-template gallery isn't one thing — it's two production methods sitting behind one browsing experience, and knowing which is which changes what you should expect from a given template.
Announcing "500 templates" is the kind of number that invites a fair question: were these 500 actually made, or generated in bulk and dumped into a gallery to hit a round number? The honest answer for Piskes' template library is "both, and they're not the same thing" — and it's worth explaining the difference rather than letting the gallery imply every entry was produced the same way.
Fifteen templates, written and maintained as files
A core set of 15 templates live as actual files in the repository, each one hand-built and edited the normal way engineers and designers edit things: reviewed, versioned, listed by name, category, and color scheme in the templates README. These are starters in the traditional sense — someone made deliberate choices about every section, and those choices are visible and auditable in version control the same as any other code in the platform.
A much larger set, composed from data specs
Sitting alongside those 15 is a separately generated library, with template IDs prefixed tpl_kx_, produced by a build script (kit/build.mjs) that composes templates from data specifications rather than from someone writing markup by hand. This is how the library gets to 500: not 500 individual acts of design, but a smaller set of well-designed building blocks — the same theme-kit vocabulary behind the AI page generator — combined systematically according to structured specs.
The part worth being upfront about
Here's the detail that matters if you're deciding how much to trust a given template: the generated library's entries live in a website_templates D1 table, and that table is not itself in version control. The 15 hand-built templates get the full engineering-review treatment that comes with living in the repo — pull requests, diffs, history. The generated ones are database rows, produced by a script, without that same paper trail by default.
That's not a defect to apologize for — a database table is the right storage for something generated systematically at scale, and the generation process itself is what's doing the quality-consistency work (see the piece on why generated pages look designed, not assembled). But it does mean "hand-built starter" and "generated template" are different promises, and a gallery that presents them side by side without saying which is which would be quietly overstating the former and underselling the discipline behind the latter.
What this means when you're picking a template
If you want to know exactly what you're building on and see its full history, the 15 hand-built starters are the ones you can trace commit by commit. If you want breadth and are relying on the generation system's consistency to have done its job — which, per the theme-kit design, it's built to do — the generated library is the wider net. Neither is the "real" one; they're two different production methods, and the gallery is honest about that once you know to ask.