#!/bin/bash # ClaudMax CLI Installer for macOS & Linux # Usage: curl -fsSL https://claudmax.pro/setup.sh | bash set -e BOLD='\033[1m' CYAN='\033[0;36m' GREEN='\033[0;32m' ORANGE='\033[0;33m' RED='\033[0;31m' DIM='\033[2m' MAGENTA='\033[0;35m' RESET='\033[0m' CHECK="${GREEN}✓${RESET}" CROSS="${RED}✗${RESET}" ARROW="${MAGENTA}▶${RESET}" print_banner() { echo "" echo -e "${CYAN}╔════════════════════════════════════════════════════╗${RESET}" echo -e "${CYAN}║${RESET} ${BOLD}✦ ClaudMax Setup${RESET} ${CYAN}║${RESET}" echo -e "${CYAN}╚════════════════════════════════════════════════════╝${RESET}" echo "" } check_command() { if command -v "$1" &> /dev/null; then local ver=$("$1" --version 2>/dev/null | head -1) echo -e " ${CHECK} ${GREEN}$1${RESET} ${DIM}${ver}${RESET}" return 0 else echo -e " ${CROSS} ${RED}$1${RESET} ${DIM}not found${RESET}" return 1 fi } install_nodejs() { echo -e "${ARROW} ${BOLD}Installing Node.js...${RESET}" if command -v brew &> /dev/null; then brew install node elif command -v apt-get &> /dev/null; then curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs elif command -v yum &> /dev/null; then curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - && sudo yum install -y nodejs else echo -e " ${CROSS} No package manager found. Install manually: https://nodejs.org" exit 1 fi } install_git() { echo -e "${ARROW} ${BOLD}Installing Git...${RESET}" if command -v brew &> /dev/null; then brew install git elif command -v apt-get &> /dev/null; then sudo apt-get update && sudo apt-get install -y git elif command -v yum &> /dev/null; then sudo yum install -y git fi } install_claude() { echo -e "${ARROW} ${BOLD}Installing Claude Code CLI...${RESET}" npm install -g @anthropic-ai/claude-code 2>/dev/null || echo -e " ${DIM}Could not auto-install — run: npm i -g @anthropic-ai/claude-code${RESET}" } print_banner echo -e "${BOLD}Checking dependencies...${RESET}" MISSING="" if ! check_command node; then MISSING="${MISSING} node"; fi if ! check_command git; then MISSING="${MISSING} git"; fi if ! check_command claude; then MISSING="${MISSING} claude"; fi echo "" if [[ "$MISSING" == *"node"* ]]; then install_nodejs fi if [[ "$MISSING" == *"git"* ]]; then install_git fi if [[ "$MISSING" == *"claude"* ]]; then if command -v npm &> /dev/null; then install_claude fi fi echo "" echo -e "${ARROW} ${BOLD}Running ClaudMax CLI installer...${RESET}" echo "" echo -e "${CYAN}Get Your API Key: https://www.claudmax.pro/check-usage${RESET}" echo "" npx claudmax-cli