diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..efdf004 --- /dev/null +++ b/install.sh @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +REPO="chris/agent-tui" +BASE_URL="https://gitea.yeeted.lol" +INSTALL_DIR="${INSTALL_DIR:-/usr/local/bin}" +TAG="${1:-v0.1.0}" + +OS=$(uname -s | tr '[:upper:]' '[:lower:]') +ARCH=$(uname -m) + +case "$ARCH" in + x86_64|amd64) ARCH="amd64" ;; + arm64|aarch64) ARCH="arm64" ;; + *) echo "Unsupported architecture: $ARCH" >&2; exit 1 ;; +esac + +case "$OS" in + darwin|linux) ;; + *) echo "Unsupported OS: $OS" >&2; exit 1 ;; +esac + +BINARY="agent-tui-${OS}-${ARCH}" +URL="${BASE_URL}/${REPO}/releases/download/${TAG}/${BINARY}" + +echo "Downloading ${BINARY} (${TAG})..." +TMP=$(mktemp) +trap 'rm -f "$TMP"' EXIT + +if command -v curl >/dev/null 2>&1; then + curl -fSL -o "$TMP" "$URL" +elif command -v wget >/dev/null 2>&1; then + wget -qO "$TMP" "$URL" +else + echo "Error: curl or wget required" >&2 + exit 1 +fi + +chmod +x "$TMP" + +if [ -w "$INSTALL_DIR" ]; then + mv "$TMP" "${INSTALL_DIR}/agent-tui" +else + echo "Installing to ${INSTALL_DIR} (requires sudo)..." + sudo mv "$TMP" "${INSTALL_DIR}/agent-tui" +fi + +echo "Installed agent-tui to ${INSTALL_DIR}/agent-tui"