Skip to content
HomePagesHomePages template kit

Prepare a submission

Package a template for submission.

Package a template for submission.

  • A template that reaches a green checkRun check.

Get the template to a green check, then pack it — both commands are under Commands below.

pack will not produce a zip until check <template> passes — it re-runs the same gate itself, and a failing check reports every problem in one pass, not one at a time, so a manual check first is just a faster feedback loop, not a separate requirement. A passing pack writes <template>.zip at the workspace root, holding exactly three things:

  • pack-manifest.json — the exact kit version the source was validated against, a content hash of the template tree, the pack timestamp, and a check flag recording that validation passed.
  • package.json and package-lock.json from the workspace root, so the build reproduces with npm ci.
  • templates/<template>/ — that template’s source only (sections, template.ts, theme, README). No node_modules, no build output, no other template.

The submission unit is a single template: in a workspace with several, name the one you mean.

pack refuses to write a zip when:

  • check <template> is not green — fix the reported problems first.
  • the workspace has no package-lock.json — run npm install and commit it.
  • a dependency uses a local file:/link: protocol — depend on a published version instead.

Each refusal prints the cause; fix it and run pack again.

Terminal window
template-kit check <template> # the gate, run first for a faster loop
template-kit pack <template> # runs it again, then writes <template>.zip
template-kit pack # the template inferred from the current directory

Verify with the author looppack refuses to build the zip until check is green, so a clean loop is the gate.

None — this guide changes no file check inspects.

  • pack reference — its arguments, exit codes and constraints.
  • Run check — the gate pack runs before it will produce a zip.