Skip to content

feat: add self-update/upgrade command to CLI #597

@amilz

Description

@amilz

Summary

Add a self-update command to the Surfpool CLI (e.g. surfpool update or surfpool upgrade) that checks for the latest release and updates the binary in place.

Motivation

Modern CLIs like bun upgrade and claude update provide a frictionless self-update experience. Surfpool should offer the same — users shouldn't need to manually download new releases or re-run an install script.

Proposed Behavior

  • surfpool update — check for the latest GitHub release, download and replace the current binary if a newer version is available
  • If already on the latest version, print a message and exit
  • Show download progress
  • The command should appear in the --help menu

Acceptance Criteria

  • New update (or upgrade) subcommand added to the CLI
  • Checks latest release from GitHub releases API
  • Downloads and replaces the running binary on update
  • Prints current version vs. latest version
  • No-op with friendly message when already up to date
  • Visible in surfpool --help output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions