Answers file specification — v1¶
Every render writes .templetry-answers.yml at the output root (ADR-0005). It is what makes template updates possible in the future — and it is public API, versioned.
Shape¶
schema_version: 1
template:
name: react-vite-ts
source: local # local | "github.com/owner/repo@ref/path" for remote renders
commit: <sha> # resolved template commit when known (drift detection anchor)
variables: # resolved values, keys sorted
node_version: "22"
project_name: Demo Shop
features: # resolved states, keys sorted
analytics: false
router: true
Pieces (v1.4+, ADR-0014)¶
Each applied piece appends an entry — its own drift anchor, sub-customization and owned files:
pieces:
- name: axios-api
source: "github.com/Templetry/web@main/react-spa/pieces/axios-api"
commit: <sha resolved at add time>
variables:
api_base: /api
files:
- src/api/client.ts
Rules¶
- Keys are emitted sorted and the file is byte-deterministic: same inputs → same file (NFR4; golden tests depend on it).
- No timestamp in v1 — determinism beats provenance; a
generated_atfield may arrive later behind an explicit option. sourcerecords where the template came from;localfor directory renders. Forge URL + commit ref land together with remote fetching (Phase 2).