Originally created by: kumaakh
Add an apra-fleet update subcommand so users can self-update from the CLI without manually downloading a new installer.
apra-fleet update Download latest release and reinstall with saved options
apra-fleet update --check Check if a newer version is available, print result, exit (no download)
apra-fleet update --help Show usage for the update subcommand
apra-fleet --help should list apra-fleet update alongside install and auth.
apra-fleet update must reinstall with the same options the user originally chose — not hardcoded defaults. If the user installed with --llm gemini or --no-skill, the update must honour that.
Implementation:
~/.apra-fleet/data/install-config.json:json
{ "llm": "gemini", "skill": "none" }apra-fleet update reads this config and passes the same flags to the downloaded installer"No saved install config found — using defaults (--llm claude --skill all). Re-run with explicit flags to override."The handoff is straightforward — no --force needed in the update flow:
detached: true, stdio: 'ignore', unref()) — it is now an orphan, not a child processprocess.exit()) — on Windows the binary is immediately free to be overwritten since the old process has exitedinstall normally (no --force required — nothing to kill)--force is only relevant when a user manually runs the installer without going through apra-fleet update.
checkForUpdate / parseVersion logic)install-config.json for saved optionsprocess.exit() — old server is gone, binary is freeThe notice currently shown in fleet_status reads:
Run `/pm deploy apra-fleet` to update.
Change to:
Run `apra-fleet update` to update.
/pm deploy is PM-skill-specific and meaningless to standalone users.