Skip to content

Curl install script: detect platform, verify checksums, install ship to PATH #62

Description

@maxBRT

Parent

#30 Spec: Cross-platform install and self-update via GitHub Releases

What to build

A new user without Go can install Ship with a single curl-piped shell script that detects OS and architecture, downloads the matching asset from the latest GitHub Release, verifies it against published checksums, and installs ship into a conventional user-writable bin directory (such as ~/.local/bin) or a writable system bin when appropriate. Clear errors for unsupported platforms and for install dirs missing from PATH. Windows gets release assets from the same pipeline; the script itself may remain Unix-shell-first. Asset naming and checksum conventions match GoReleaser defaults used by the release pipeline.

Acceptance criteria

  • One-liner curl install downloads the correct asset for linux/darwin × amd64/arm64
  • Downloaded archive is verified against the published checksums file before install
  • Install defaults to a user-writable bin (e.g. ~/.local/bin) without requiring sudo; system bin is available when writable
  • Unsupported platform produces a clear error (not a cryptic download failure)
  • If the chosen install dir is not on PATH, the script says so clearly
  • Downloads use HTTPS to the project’s GitHub Releases
  • Asset / checksum naming aligns with the GoReleaser release artifacts from Release pipeline: GoReleaser publishes multi-platform binaries with embedded version #59
  • Windows users can obtain matching release assets directly even if the script is Unix-first

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions