Summary
Add a command that refreshes the prompt templates in ~/.sabori-flow/ from the ones bundled with the installed version, without going through the whole init flow.
Problem
Prompt templates are only copied during init. loadTemplate() in src/worker/prompt.ts always prefers the user directory, so template improvements shipped in a new version never reach an existing installation - the user directory shadows them permanently.
Re-running init is the only way to refresh them today, and it also walks the entire repository and execution setup and offers to overwrite config.yml. Its per-file overwrite prompt defaults to "no", shows no diff, and takes no backup, so the choice is between never updating and overwriting blind.
Confirmed on a live installation: the installed templates are byte-identical to the bundled ones, so nothing was ever customised - yet there is still no way to pull in a newer version.
Scope
- New command (for example
sabori-flow update-prompts).
- Report which templates differ from the bundled version and which are already up to date.
- Per file, let the user keep or overwrite, with the option to see the diff before deciding.
- Back up the current file before overwriting.
- Never touch
config.yml or the launchd registration.
Considerations
Summary
Add a command that refreshes the prompt templates in
~/.sabori-flow/from the ones bundled with the installed version, without going through the wholeinitflow.Problem
Prompt templates are only copied during
init.loadTemplate()insrc/worker/prompt.tsalways prefers the user directory, so template improvements shipped in a new version never reach an existing installation - the user directory shadows them permanently.Re-running
initis the only way to refresh them today, and it also walks the entire repository and execution setup and offers to overwriteconfig.yml. Its per-file overwrite prompt defaults to "no", shows no diff, and takes no backup, so the choice is between never updating and overwriting blind.Confirmed on a live installation: the installed templates are byte-identical to the bundled ones, so nothing was ever customised - yet there is still no way to pull in a newer version.
Scope
sabori-flow update-prompts).config.ymlor the launchd registration.Considerations
copyPromptTemplates()insrc/commands/init.tsrather than duplicating it.~/.sabori-flow/prompts/becomes language-aware, and this command has to operate on the new layout.