#!/usr/bin/env bash # Ringa CLI Installer # Usage: curl -fsSL https://install.ringa.com.br | sh set -euo pipefail BASE_URL="https://install.ringa.com.br" INSTALL_DIR="${RINGA_INSTALL_DIR:-$HOME/.ringa/bin}" # Detect OS and arch OS="$(uname -s | tr '[:upper:]' '[:lower:]')" ARCH="$(uname -m)" case "${ARCH}" in x86_64|amd64) ARCH="amd64" ;; aarch64|arm64) ARCH="arm64" ;; *) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; esac case "${OS}" in linux|darwin) ;; *) echo "Unsupported OS: ${OS}"; exit 1 ;; esac BINARY="ringa-${OS}-${ARCH}" # Get latest version echo "=> Detecting latest version..." VERSION=$(curl -fsSL "${BASE_URL}/download/version.txt") if [ -z "${VERSION}" ]; then echo "Error: Could not determine latest version" exit 1 fi echo "=> Installing Ringa CLI ${VERSION} (${OS}/${ARCH})" # Download URL="${BASE_URL}/download/${VERSION}/${BINARY}" echo "=> Downloading ${URL}..." mkdir -p "${INSTALL_DIR}" curl -fsSL "${URL}" -o "${INSTALL_DIR}/ringa" chmod +x "${INSTALL_DIR}/ringa" # Add to PATH if not already there if ! echo "$PATH" | tr ':' '\n' | grep -q "${INSTALL_DIR}"; then SHELL_RC="" case "${SHELL:-}" in */zsh) SHELL_RC="$HOME/.zshrc" ;; */bash) SHELL_RC="$HOME/.bashrc" ;; *) SHELL_RC="$HOME/.profile" ;; esac if [ -n "${SHELL_RC}" ] && ! grep -q "${INSTALL_DIR}" "${SHELL_RC}" 2>/dev/null; then echo "" >> "${SHELL_RC}" echo "# Ringa CLI" >> "${SHELL_RC}" echo "export PATH=\"${INSTALL_DIR}:\$PATH\"" >> "${SHELL_RC}" echo "=> Added ${INSTALL_DIR} to PATH in ${SHELL_RC}" fi fi echo "" echo "=> Ringa CLI ${VERSION} installed to ${INSTALL_DIR}/ringa" echo "" echo " Run 'ringa install' to complete setup." echo " Run 'ringa --help' for usage." echo "" echo " If ringa is not found, restart your terminal or run:" echo " export PATH=\"${INSTALL_DIR}:\$PATH\""