Project
CLI

Template Commands

Sync, update, and smoke-test local template snapshots.

project template

Manage the local project template snapshot.

project template [command]

Available commands:

CommandDescription
project template syncSync .project/template from the configured template source.
project template updatePreview a project template update.
project template smokeGenerate a tmp project and run template smoke checks.

Required Project State

Template commands expect this local state:

.project/template.lock.yaml
.project/template/
.project/template.values.yaml

project create and project init create that state. Normal use should not require passing a template path.

project template sync

project template sync [directory] [flags]

Arguments

ArgumentRequiredDefaultDescription
directoryno.Project directory.

Flags

FlagSynonymsTypeDefaultDescription
--dry-run-booleanfalseShow the template sync plan without writing changes.
--format-stringprettyOutput format. Use tsv for filtering.
--template-path-stringnoneOverride the template source path for local testing.
--help-hbooleanfalsePrint help.

Behavior

  • Refreshes .project/template.
  • Updates the template checksum in .project/template.lock.yaml.
  • Ensures required template values exist.
  • Uses the source recorded in the project lock unless --template-path is passed.

Examples

project template sync
project template sync --dry-run
project template sync --dry-run --format tsv

project template update

Preview changes between the current local template snapshot and a target template source.

project template update [directory] [flags]

Arguments

ArgumentRequiredDefaultDescription
directoryno.Project directory.

Flags

FlagSynonymsTypeDefaultDescription
--dry-run-booleanfalseShow the template update plan without writing changes. Required today.
--format-stringprettyOutput format. Use tsv for filtering.
--template-path-stringnoneOverride the target template source path for local testing.
--help-hbooleanfalsePrint help.

Behavior

  • Compares current template values with target values.
  • Shows value changes as before and after.
  • Shows file changes and whether each file is clean or conflicting.
  • Does not currently apply changes; it is preview-only and requires --dry-run.
  • Reports a visible conflict folder under .conflicts/<from>-to-<target> for future manual resolution.

Examples

project template update --dry-run
project template update --dry-run --format tsv
project template update --dry-run --template-path ../project-template

project template smoke

Generate a tmp project and run template smoke checks.

project template smoke [flags]

Flags

FlagSynonymsTypeDefaultDescription
--template-stringnoneTemplate repository.
--template-path-stringnoneLocal template path.
--version-stringnoneTemplate version.
--commit-stringnoneTemplate commit or label.
--name-stringgenerated-appTmp project name prefix.
--global-tmp-booleanfalseCreate the generated project under /tmp.
--skip-checks-booleanfalseSkip dependency, secrets, check, and build commands.
--skip-secrets-doctor-booleanfalseSkip bun run secrets:doctor.
--container-booleanfalseBuild generated project containers.
--help-hbooleanfalsePrint help.

Examples

project template smoke --template-path ../project-template --version local --commit local
project template smoke --template-path ../project-template --version local --commit local --skip-checks
project template smoke --template-path ../project-template --version local --commit local --skip-checks --container

On this page