Skip to content

feat: install script for curl-pipe-sh installation #113

@auswm85

Description

@auswm85

Summary

Add an install script for quick installation via curl.

curl -sSf https://rungstack.com/install.sh | sh

Current State

Installation options exist but require extra steps:

  • cargo install rung-cli (requires Rust toolchain)
  • cargo binstall rung-cli (requires cargo-binstall)
  • brew install auswm85/tap/rung (macOS, requires tap)
  • Manual download from GitHub releases

Proposed Behavior

# Install latest
$ curl -sSf https://rungstack.com/install.sh | sh
Detected: aarch64-apple-darwin
Downloading rung v0.6.0...
Installing to /usr/local/bin/rung...
✓ rung installed successfully!

Run 'rung --help' to get started.

# Install specific version
$ curl -sSf https://rungstack.com/install.sh | sh -s -- --version v0.5.0
Downloading rung v0.5.0...
✓ rung v0.5.0 installed successfully!

Implementation

The script should:

  • Detect OS and architecture
  • Fetch latest release version from GitHub API (or use specified version)
  • Download appropriate binary from releases
  • Verify checksum (if available)
  • Install to /usr/local/bin or ~/.local/bin
  • Provide clear success/error messages

Platform Detection

OS: $(uname -s)      # Darwin, Linux
ARCH: $(uname -m)    # x86_64, arm64/aarch64

Target Mapping

Detected Release Asset
Darwin + arm64 aarch64-apple-darwin
Darwin + x86_64 x86_64-apple-darwin
Linux + x86_64 x86_64-unknown-linux-gnu
Windows Suggest manual download or scoop

Flags

Flag Description
--version <tag> Install specific version (e.g., v0.5.0)
--help Show usage

Acceptance Criteria

  • Script works on macOS (Intel + Apple Silicon)
  • Script works on Linux (x86_64)
  • --version flag to install specific version
  • Graceful error handling (no binary available, network failure, invalid version)
  • Respects INSTALL_DIR env var for custom location
  • --help flag shows usage
  • Add to README.md installation section

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions