#!/bin/sh set -e REPO="colus001/pls" INSTALL_DIR="/usr/local/bin" BINARY="pls" # Detect OS OS=$(uname -s | tr '[:upper:]' '[:lower:]') case "$OS" in darwin) OS="macos" ;; linux) OS="linux" ;; *) echo "Error: unsupported OS: $OS" >&2 exit 1 ;; esac # Detect architecture ARCH=$(uname -m) case "$ARCH" in x86_64|amd64) ARCH="x86_64" ;; aarch64|arm64) ARCH="aarch64" ;; *) echo "Error: unsupported architecture: $ARCH" >&2 exit 1 ;; esac ASSET="pls-${OS}-${ARCH}" URL="https://github.com/${REPO}/releases/latest/download/${ASSET}" echo "Downloading ${ASSET}..." TMPFILE=$(mktemp) trap 'rm -f "$TMPFILE"' EXIT if command -v curl >/dev/null 2>&1; then curl -fsSL "$URL" -o "$TMPFILE" elif command -v wget >/dev/null 2>&1; then wget -qO "$TMPFILE" "$URL" else echo "Error: curl or wget is required" >&2 exit 1 fi chmod +x "$TMPFILE" # Install — use sudo if needed if [ -w "$INSTALL_DIR" ]; then mv "$TMPFILE" "${INSTALL_DIR}/${BINARY}" else echo "Installing to ${INSTALL_DIR} (requires sudo)..." sudo mv "$TMPFILE" "${INSTALL_DIR}/${BINARY}" fi echo "pls installed to ${INSTALL_DIR}/${BINARY}" echo "Run 'pls init' to set up your LLM provider."