Emit public/templates.json from app/templates-data.ts (the single source of
truth) via a prebuild step, so gallery.hanzo.ai/templates.json is the
machine-readable template catalog consumed by hanzo.app. Each record keeps
the raw SoT fields and adds absolute screenshotUrl/templateUrl/repo so
consumers never encode the gallery's internal path scheme.
- scripts/gen-templates-json.mjs: imports templates-data.ts (node 24 type-strip)
- package.json: prebuild hook runs the generator before next build
- Dockerfile: node:22 -> node:24 for stable TS type-stripping
- public/templates.json: 72 templates, 71 with real screenshots
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>