product:sync-template
Apply template updates to SPLENT-owned product files without touching developer code.
Usage
splent product:sync-template [<product_name>] [--scripts] [--entrypoints] [--docker] [--dry-run] [--yes]
| Argument / Option | Description |
|---|---|
<product_name> |
Optional. Product to update. Defaults to the active product (SPLENT_APP). |
--scripts |
Update only scripts/. |
--entrypoints |
Update only entrypoints/. |
--docker |
Update only docker/ files. |
--dry-run |
Show what would change without writing any files. |
--yes |
Skip the confirmation prompt. |
Examples
Update all SPLENT-owned files (with confirmation):
splent product:sync-template myapp
Preview changes without applying them:
splent product:sync-template myapp --dry-run
Update only shell scripts:
splent product:sync-template myapp --scripts
Non-interactive (CI/scripts):
splent product:sync-template myapp --yes
Example output
Files to update (3):
scripts/00_install_features.sh (4 line(s) changed)
scripts/04_handle_migrations.sh (1 line(s) changed)
docker/Dockerfile.myapp.dev (2 line(s) changed)
Proceed with update? [y/N]: y
✔ scripts/00_install_features.sh
✔ scripts/04_handle_migrations.sh
✔ docker/Dockerfile.myapp.dev
Done.
Description
Re-renders the current templates and overwrites only the files that have changed. It never touches developer-owned files.
Files that can be updated:
| Group | Files | Flag |
|---|---|---|
scripts/ |
10 numbered setup/startup scripts | --scripts |
entrypoints/ |
entrypoint.dev.sh, entrypoint.prod.sh |
--entrypoints |
docker/ |
Dockerfile.{name}.dev/prod, .env.*.example |
--docker |
Never touched:
src/{name}/config.py,errors.py,logging.pysrc/{name}/templates/,src/{name}/static/pyproject.toml,docker-compose.*.yml
Pairs well with
product:drift— inspect what has drifted before syncing.feature:sync-template— same workflow for individual features.