#!/bin/sh set -e REPO="gupsammy/brave-cli" BINARY="brave-cli" INSTALL_DIR="/usr/local/bin" # Detect OS case "$(uname -s)" in Darwin) OS="darwin" ;; Linux) OS="linux" ;; *) echo "Unsupported OS: $(uname -s)" exit 1 ;; esac # Detect architecture case "$(uname -m)" in x86_64|amd64) ARCH="amd64" ;; arm64|aarch64) ARCH="arm64" ;; *) echo "Unsupported architecture: $(uname -m)" exit 1 ;; esac ARCHIVE="${BINARY}_${OS}_${ARCH}.tar.gz" URL="https://github.com/${REPO}/releases/latest/download/${ARCHIVE}" echo "Downloading ${BINARY} (${OS}/${ARCH})..." TMP_DIR="$(mktemp -d)" trap 'rm -rf "$TMP_DIR"' EXIT curl -fsSL "$URL" -o "${TMP_DIR}/${ARCHIVE}" tar -xzf "${TMP_DIR}/${ARCHIVE}" -C "$TMP_DIR" # Install to /usr/local/bin if writable, otherwise ~/.local/bin if [ -w "$INSTALL_DIR" ]; then mv "${TMP_DIR}/${BINARY}" "${INSTALL_DIR}/${BINARY}" else INSTALL_DIR="${HOME}/.local/bin" mkdir -p "$INSTALL_DIR" mv "${TMP_DIR}/${BINARY}" "${INSTALL_DIR}/${BINARY}" echo "Installed to ${INSTALL_DIR}/${BINARY}" echo "Add ${INSTALL_DIR} to your PATH if it is not already included." fi echo "Installed ${BINARY} to ${INSTALL_DIR}/${BINARY}" "${INSTALL_DIR}/${BINARY}" --help > /dev/null && echo "OK — ${BINARY} is ready."