CLI
Template Commands
Sync, update, and smoke-test local template snapshots.
project template
Manage the local project template snapshot.
project template [command]Available commands:
| Command | Description |
|---|---|
project template sync | Sync .project/template from the configured template source. |
project template update | Preview a project template update. |
project template smoke | Generate 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.yamlproject 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
| Argument | Required | Default | Description |
|---|---|---|---|
directory | no | . | Project directory. |
Flags
| Flag | Synonyms | Type | Default | Description |
|---|---|---|---|---|
--dry-run | - | boolean | false | Show the template sync plan without writing changes. |
--format | - | string | pretty | Output format. Use tsv for filtering. |
--template-path | - | string | none | Override the template source path for local testing. |
--help | -h | boolean | false | Print 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-pathis passed.
Examples
project template sync
project template sync --dry-run
project template sync --dry-run --format tsvproject template update
Preview changes between the current local template snapshot and a target template source.
project template update [directory] [flags]Arguments
| Argument | Required | Default | Description |
|---|---|---|---|
directory | no | . | Project directory. |
Flags
| Flag | Synonyms | Type | Default | Description |
|---|---|---|---|---|
--dry-run | - | boolean | false | Show the template update plan without writing changes. Required today. |
--format | - | string | pretty | Output format. Use tsv for filtering. |
--template-path | - | string | none | Override the target template source path for local testing. |
--help | -h | boolean | false | Print 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-templateproject template smoke
Generate a tmp project and run template smoke checks.
project template smoke [flags]Flags
| Flag | Synonyms | Type | Default | Description |
|---|---|---|---|---|
--template | - | string | none | Template repository. |
--template-path | - | string | none | Local template path. |
--version | - | string | none | Template version. |
--commit | - | string | none | Template commit or label. |
--name | - | string | generated-app | Tmp project name prefix. |
--global-tmp | - | boolean | false | Create the generated project under /tmp. |
--skip-checks | - | boolean | false | Skip dependency, secrets, check, and build commands. |
--skip-secrets-doctor | - | boolean | false | Skip bun run secrets:doctor. |
--container | - | boolean | false | Build generated project containers. |
--help | -h | boolean | false | Print 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