Skip to content

Versioning and Reapply

Leonard Ramminger edited this page Aug 22, 2026 · 1 revision

Versioning & Reapply

Template versions and updates to existing projects.

Template version

version in template.lua is semver. It is stored in .tempify-lock.json and drives update recommendations.

return {
  id = "my_app",
  version = "1.2.0",
  -- ...
}

Rule: breaking changes → major bump; new optional questions/files → minor; fixes → patch.

Lockfile

After the first render, Tempify writes .tempify-lock.json:

  • Template ID and version at generation time
  • Answers (values)
  • Hashes of managed files (managed_file_hashes)
  • tempify_version of the generating CLI

User docs: Reapply & Diff

Reapply from an author's perspective

Change Impact
New optional question Old locks remain valid; default applies
New required question Reapply may fail until answer is provided
File renamed Old path becomes unmanaged; new path is new
Content changed Diff shows deviation; user decides
Major version Communicate as breaking explicitly

Recommendations

  • Do not rename managed files arbitrarily
  • Run tempify test after every version
  • CHANGELOG or release notes for template packages
  • With includes: bump version of the product template

See also

Reapply & Diff · Template Quality

Clone this wiki locally