WORK-451
ID:WORK-451Status:ready

Template package format and template.json manifest type

SPEC-109 §2 — define the site-template package format and the template.json manifest type. The config payload is a SiteConfig partial (install = add a site); the path fields are install-derived, not author-set.

Priority:highComplexity:moderateMilestone:v0.25.0Source:SPEC-109
claude/v0.25.0-workitems View source

Criteria completion

Criteria completion: 0 of 5 (0%) checked; tracking started on Jun 23, no incremental history yet0%25%50%75%100%Jun 23Jul 11

Tracking started Jun 23 — check back for trends.

Branches 3
claude/v0.25.0-workitems current ready
main donechangeset-release/main doneclaude/v0.25.0-impl done
History 2
  1. c36d24c
    Content editedby bjornolofandersson
  2. a6bdcba
    Created (ready)by bjornolofandersson

Acceptance Criteria

  • A template.json type is defined: metadata (kind, name, title, description, category, a refrakt range, optional previewUrl) plus a site field that is a SiteConfig partial
  • The site partial omits contentDir/sandbox.dir — they are install-derived (SPEC-109 §2)
  • kind defaults to "site"; "section" is reserved (type-level only, not implemented)
  • The package layout (content/, optional sandboxes/) is documented as fixed source-folder names
  • The type lives in packages/types and is importable by the install path and the scaffold

Approach

Add the template.json interface alongside ThemeManifest in packages/types/src/theme.ts, reusing SiteConfig. No runtime yet — this is the shared shape the apply step and scaffold both consume.

Dependencies

  • WORK-465 — the refrakt range field

References

  • SPEC-109 §2; packages/types/src/theme.ts (SiteConfig)