Acceptance Criteria
- A template seeds
sites.<site>.assets from template.json at scaffold time; with no base URL configured the scaffolded site renders shape-correct placeholders (zero binary assets, nothing to strip) - Setting an asset base URL lights up real images with no demo-build flag
- A template may carry a sandbox program-source tree, scaffold-copied to
site.sandbox.dir (the renamed dir, WORK-463) - A template's
site.backgrounds is seeded so a named bg-sandbox preset resolves out of the box - No new build-time or npm dependency is introduced — the sandbox runtime stays CDN-loaded at activation
Approach
Extend the apply step (WORK-453) to seed assets/backgrounds and copy the sandboxes/ tree to the configured sandbox dir. Asset resolution itself is owned by SPEC-115; this only requires a template can seed the config.
Dependencies
- WORK-453 — the template apply step
- WORK-463 — the renamed sandbox directory field
References
- SPEC-109 §4, §7; SPEC-115; ADR-022
Resolution
Completed: 2026-06-24
Branch: claude/v0.25.0-impl-3. applyTemplate seeds site.assets + site.backgrounds from template.json into the written config, and scaffold-copies a bundled sandboxes/ tree to site.sandbox.dir (./sandboxes, ADR-022). No new build/npm dependency — the sandbox runtime stays CDN-loaded at activation. Asset resolution itself (placeholder vs base-URL) is SPEC-115; here the template seeds the config. Verified by a synthetic-template test (assets + backgrounds + sandbox copy).