#!/usr/bin/env bash # claude-cmd - Instalador de un clic de Claude Code para macOS # https://github.com/aeca420-coder/claude-cmd # # curl -fsSL https://raw.githubusercontent.com/aeca420-coder/claude-cmd/main/install-mac.command | bash # # Instala Claude Code con el instalador oficial de Anthropic, arregla el PATH y deja # en el Escritorio el icono "Claude Terminal": tu Centro de Mando de sesiones. # # NOTA: el panel y el icono se inyectan con assets/build.ps1. # No los edites aqui: edita panel/claude-terminal.sh y assets/claude-terminal.png. set -uo pipefail SKIP_PERMS=0 for arg in "$@"; do case "$arg" in --dangerously-skip-permissions) SKIP_PERMS=1 ;; -h|--help) echo "Uso: install-mac.command [--dangerously-skip-permissions]"; exit 0 ;; esac done say() { printf "\n\033[1;36m==>\033[0m %s\n" "$1"; } ok() { printf "\033[1;32m ok\033[0m %s\n" "$1"; } warn() { printf "\033[1;33m !\033[0m %s\n" "$1"; } die() { printf "\n\033[1;31mError:\033[0m %s\n" "$1"; exit 1; } printf "\n \033[38;5;208mclaude-cmd\033[0m - Claude Code en 1 clic\n" printf " ------------------------------------\n" # --- 1. Comprobaciones ---------------------------------------------------- say "Comprobando tu Mac" [ "$(uname -s)" = "Darwin" ] || die "Este script es solo para macOS. Usa install-linux.sh o install-windows.ps1." macver="$(sw_vers -productVersion 2>/dev/null || echo 0)" if [ "${macver%%.*}" -lt 13 ] 2>/dev/null; then warn "Tu macOS es $macver. Claude Code pide macOS 13 o superior." else ok "macOS $macver" fi curl -fsS --max-time 10 https://claude.ai >/dev/null 2>&1 \ && ok "Conexion a claude.ai correcta." \ || warn "No se pudo contactar con claude.ai. Revisa tu conexion." # --- 2. Instalar Claude Code --------------------------------------------- if command -v claude >/dev/null 2>&1; then ok "Claude Code ya estaba instalado ($(command -v claude))." else say "Instalando Claude Code (instalador oficial de Anthropic)" if curl -fsSL https://claude.ai/install.sh | bash; then ok "Instalado con el instalador nativo." else warn "El instalador nativo fallo. Probando con npm." if command -v npm >/dev/null 2>&1; then npm install -g @anthropic-ai/claude-code || die "npm no pudo instalar @anthropic-ai/claude-code." ok "Instalado con npm." else die "No hay npm en este Mac y el instalador nativo fallo. Instala Node.js desde https://nodejs.org y vuelve a ejecutar este archivo." fi fi fi # --- 3. PATH -------------------------------------------------------------- say "Configurando el PATH" CLAUDE_BIN="" for c in "$HOME/.local/bin" "$HOME/.claude/bin" /usr/local/bin /opt/homebrew/bin; do [ -x "$c/claude" ] && { CLAUDE_BIN="$c"; break; } done [ -z "$CLAUDE_BIN" ] && command -v claude >/dev/null 2>&1 && CLAUDE_BIN="$(dirname "$(command -v claude)")" if [ -z "$CLAUDE_BIN" ]; then warn "No encontre el binario 'claude'. Abre una terminal nueva y prueba 'claude'." else LINE="export PATH=\"$CLAUDE_BIN:\$PATH\" # claude-cmd" for profile in "$HOME/.zshrc" "$HOME/.bash_profile"; do [ -e "$profile" ] || [ "$profile" = "$HOME/.zshrc" ] || continue touch "$profile" if grep -qF "# claude-cmd" "$profile" 2>/dev/null; then ok "PATH ya estaba en $profile" else printf '\n%s\n' "$LINE" >> "$profile" ok "PATH agregado a $profile" fi done export PATH="$CLAUDE_BIN:$PATH" fi # --- 4. Centro de Mando --------------------------------------------------- say "Instalando el Centro de Mando" mkdir -p "$HOME/.local/bin" "$HOME/.local/share/claude-cmd" PANEL="$HOME/.local/bin/claude-terminal" cat > "$PANEL" <<'CLAUDE_CMD_PANEL_EOF' # --- PANEL-START --- #!/usr/bin/env bash # Claude Terminal - Centro de Mando (macOS y Linux) # Parte de claude-cmd: https://github.com/aeca420-coder/claude-cmd # # Panel que se queda abierto y desde el que lanzas y controlas varias sesiones # de Claude Code a la vez. Estado en ~/.claude-cmd/sessions.tsv set -uo pipefail STATE_DIR="$HOME/.claude-cmd" SESSIONS="$STATE_DIR/sessions.tsv" LAST_DIR="$STATE_DIR/last-dir" mkdir -p "$STATE_DIR" touch "$SESSIONS" WIDTH=62 if [ -t 1 ]; then RESET=$'\033[0m'; BOLD=$'\033[1m'; DIM=$'\033[2m' ORANGE=$'\033[38;5;208m'; GREEN=$'\033[32m'; GRAY=$'\033[90m' CYAN=$'\033[36m'; YELLOW=$'\033[33m'; RED=$'\033[31m' else RESET=''; BOLD=''; DIM=''; ORANGE=''; GREEN=''; GRAY=''; CYAN=''; YELLOW=''; RED='' fi case "$(uname -s)" in Darwin) OS=mac ;; *) OS=linux ;; esac # --- Dibujo --------------------------------------------------------------- # El padding se calcula SIEMPRE sobre el texto plano; el coloreado se aplica # despues por sustitucion, para que los codigos ANSI no descuadren el borde. rule() { local ch="${1:--}" line='' local i for ((i = 0; i < WIDTH; i++)); do line="$line$ch"; done printf ' %s+%s+%s\n' "$ORANGE" "$line" "$RESET" } row() { # $1 = texto plano (define el ancho), $2 = version coloreada (opcional) local plain="$1" colored="${2:-$1}" pad=$((WIDTH - ${#1})) [ "$pad" -lt 0 ] && pad=0 printf ' %s|%s%s%*s%s|%s\n' "$ORANGE" "$RESET" "$colored" "$pad" '' "$ORANGE" "$RESET" } clear_screen() { command clear 2>/dev/null || printf '\n\n'; } short_path() { case "$1" in "$HOME"/*) printf '~%s' "${1#$HOME}" ;; "$HOME") printf '~' ;; *) printf '%s' "$1" ;; esac } is_alive() { [ -n "${1:-}" ] && [ "$1" != "-" ] && kill -0 "$1" 2>/dev/null; } # --- Panel ---------------------------------------------------------------- draw_panel() { local active=0 closed=0 total=0 id procpid mode folder started while IFS=$'\t' read -r id procpid mode folder started; do [ -z "${id:-}" ] && continue total=$((total + 1)) if is_alive "$procpid"; then active=$((active + 1)); else closed=$((closed + 1)); fi done < "$SESSIONS" clear_screen echo rule '=' row " CLAUDE TERMINAL - CENTRO DE MANDO" \ " ${BOLD}CLAUDE TERMINAL - CENTRO DE MANDO${RESET}" row " panel de control de sesiones" \ " ${DIM}panel de control de sesiones${RESET}" rule row "$(printf ' ESTADO Activas: %s Cerradas: %s Total: %s' "$active" "$closed" "$total")" rule if [ "$total" -eq 0 ]; then row " Sin sesiones todavia. Pulsa [N] para abrir la primera." else local head head="$(printf ' %-4s%-11s%-10s%-25s%s' 'No.' 'ESTADO' 'MODO' 'CARPETA' 'PID')" row "$head" " ${DIM}${head# }${RESET}" while IFS=$'\t' read -r id procpid mode folder started; do [ -z "${id:-}" ] && continue local state color pidtxt shortf plain colored statepad if is_alive "$procpid"; then state='[ACTIVA]'; color="$GREEN"; pidtxt="$procpid" else state='[CERRADA]'; color="$GRAY"; pidtxt='-' fi shortf="$(short_path "$folder")" [ ${#shortf} -gt 24 ] && shortf="...${shortf: -21}" plain="$(printf ' %-4s%-11s%-10s%-25s%s' "$id" "$state" "$mode" "$shortf" "$pidtxt")" # Ojo: nada de ${plain/$state/...} — los corchetes de [ACTIVA] se tomarian # como clase de caracteres del glob. La fila coloreada se arma aparte. statepad="$(printf '%*s' $((11 - ${#state})) '')" colored="$(printf ' %-4s%s%s%s%s%-10s%-25s%s' \ "$id" "$color" "$state" "$RESET" "$statepad" "$mode" "$shortf" "$pidtxt")" row "$plain" "$colored" done < "$SESSIONS" fi rule local l1 l2 l3 l1=' [N] Nueva sesion [A] Nueva avanzada [R] Refrescar' l2=' [C] Cerrar una [X] Cerrar todas [L] Limpiar' l3=' [S] Salir' row "$l1" "$(printf ' %s[N]%s Nueva sesion %s[A]%s Nueva avanzada %s[R]%s Refrescar' \ "$CYAN" "$RESET" "$CYAN" "$RESET" "$CYAN" "$RESET")" row "$l2" "$(printf ' %s[C]%s Cerrar una %s[X]%s Cerrar todas %s[L]%s Limpiar' \ "$CYAN" "$RESET" "$CYAN" "$RESET" "$CYAN" "$RESET")" row "$l3" "$(printf ' %s[S]%s Salir' "$CYAN" "$RESET")" rule '=' echo } # --- Elegir carpeta ------------------------------------------------------- pick_folder() { local last='' [ -f "$LAST_DIR" ] && last="$(cat "$LAST_DIR")" { echo echo " ${BOLD}En que carpeta quieres trabajar?${RESET}" echo " 1) Tu carpeta personal (~)" echo " 2) Escritorio" echo " 3) Documentos" echo " 4) Elegir con una ventana grafica" echo " 5) Escribir o pegar una ruta (puedes arrastrar la carpeta aqui)" [ -n "$last" ] && echo " 6) La ultima que usaste ($(short_path "$last"))" echo } >&2 local opt dir='' read -r -p " Opcion: " opt local desktop="$HOME/Desktop"; [ -d "$desktop" ] || desktop="$HOME/Escritorio" local docs="$HOME/Documents"; [ -d "$docs" ] || docs="$HOME/Documentos" case "$opt" in 1) dir="$HOME" ;; 2) dir="$desktop" ;; 3) dir="$docs" ;; 4) if [ "$OS" = mac ]; then dir="$(osascript -e 'POSIX path of (choose folder with prompt "Elige la carpeta para esta sesion")' 2>/dev/null)" elif command -v zenity >/dev/null 2>&1; then dir="$(zenity --file-selection --directory --title="Elige la carpeta" 2>/dev/null)" elif command -v kdialog >/dev/null 2>&1; then dir="$(kdialog --getexistingdirectory "$HOME" 2>/dev/null)" else echo " ${YELLOW}No hay selector grafico (instala zenity o kdialog). Escribe la ruta:${RESET}" >&2 read -r -p " Ruta: " dir fi ;; 5) read -r -p " Ruta: " dir ;; 6) dir="$last" ;; *) return 1 ;; esac # Quita comillas y espacios que deja el arrastrar-y-soltar. dir="${dir%\"}"; dir="${dir#\"}"; dir="${dir%\'}"; dir="${dir#\'}" dir="${dir%/}" [ -z "$dir" ] && return 1 case "$dir" in "~"*) dir="$HOME${dir#\~}" ;; esac if [ ! -d "$dir" ]; then echo " ${RED}Esa carpeta no existe:${RESET} $dir" >&2 sleep 2 return 1 fi printf '%s' "$dir" > "$LAST_DIR" printf '%s' "$dir" } # --- Lanzar sesiones ------------------------------------------------------ find_claude() { if command -v claude >/dev/null 2>&1; then command -v claude; return 0; fi local c for c in "$HOME/.local/bin/claude" "$HOME/.claude/bin/claude" "$HOME/.npm-global/bin/claude" /usr/local/bin/claude; do [ -x "$c" ] && { printf '%s' "$c"; return 0; } done return 1 } pick_terminal() { local t for t in gnome-terminal konsole xfce4-terminal mate-terminal tilix x-terminal-emulator xterm; do command -v "$t" >/dev/null 2>&1 && { printf '%s' "$t"; return 0; } done return 1 } next_id() { local max=0 id rest while IFS=$'\t' read -r id rest; do [ -z "${id:-}" ] && continue [ "$id" -gt "$max" ] 2>/dev/null && max="$id" done < "$SESSIONS" echo $((max + 1)) } new_session() { local advanced="${1:-0}" claude_bin dir id launcher pidfile extra='' if ! claude_bin="$(find_claude)"; then echo " ${RED}No encuentro 'claude'.${RESET} Vuelve a ejecutar el instalador de claude-cmd." read -r -p " Enter para volver " _ return fi if [ "$advanced" = "1" ]; then echo echo " ${YELLOW}MODO AVANZADO${RESET} - Claude actuara SIN pedirte confirmacion." echo " ${DIM}Usalo solo en carpetas de prueba y si entiendes el riesgo.${RESET}" local ok read -r -p " Escribe SI para continuar: " ok [ "$ok" = "SI" ] || return extra='--dangerously-skip-permissions' fi dir="$(pick_folder)" || return id="$(next_id)" launcher="$STATE_DIR/launch-$id.sh" pidfile="$STATE_DIR/pid-$id" rm -f "$pidfile" # El wrapper publica su PID y luego SE CONVIERTE en claude (exec), asi que # el PID guardado es el del propio Claude Code: matarlo cierra la sesion. cat > "$launcher" < "$pidfile" cd "$dir" || exit 1 exec "$claude_bin" $extra EOF chmod +x "$launcher" if [ "$OS" = mac ]; then osascript -e "tell application \"Terminal\" to do script \"exec '$launcher'\"" \ -e 'tell application "Terminal" to activate' >/dev/null 2>&1 else local term if term="$(pick_terminal)"; then case "$term" in gnome-terminal) nohup gnome-terminal -- bash -lc "'$launcher'" >/dev/null 2>&1 & ;; konsole) nohup konsole -e bash -lc "'$launcher'" >/dev/null 2>&1 & ;; *) nohup "$term" -e bash -lc "'$launcher'" >/dev/null 2>&1 & ;; esac else echo " ${RED}No encuentro ningun emulador de terminal.${RESET}" read -r -p " Enter para volver " _ return fi fi # Espera a que el wrapper publique su PID (hasta ~6 s). local i procpid='' for i in $(seq 1 30); do [ -f "$pidfile" ] && { procpid="$(cat "$pidfile")"; break; } sleep 0.2 done if [ -z "$procpid" ]; then echo " ${YELLOW}La ventana se abrio pero no pude registrar su PID.${RESET}" echo " ${DIM}La sesion funciona igual; solo no aparecera como ACTIVA.${RESET}" sleep 2 procpid='-' fi local mode='normal'; [ "$advanced" = "1" ] && mode='avanzada' printf '%s\t%s\t%s\t%s\t%s\n' "$id" "$procpid" "$mode" "$dir" "$(date '+%Y-%m-%d %H:%M')" >> "$SESSIONS" } close_one() { local n id procpid rest read -r -p " Numero de sesion a cerrar: " n local found=0 while IFS=$'\t' read -r id procpid rest; do [ "$id" = "$n" ] && { found=1; is_alive "$procpid" && kill "$procpid" 2>/dev/null; } done < "$SESSIONS" if [ "$found" -eq 0 ]; then echo " ${RED}No hay ninguna sesion con ese numero.${RESET}" sleep 1 fi } close_all() { local id procpid rest while IFS=$'\t' read -r id procpid rest; do is_alive "$procpid" && kill "$procpid" 2>/dev/null done < "$SESSIONS" } clean_closed() { local tmp="$STATE_DIR/.sessions.tmp" id procpid mode folder started : > "$tmp" while IFS=$'\t' read -r id procpid mode folder started; do [ -z "${id:-}" ] && continue if is_alive "$procpid"; then printf '%s\t%s\t%s\t%s\t%s\n' "$id" "$procpid" "$mode" "$folder" "$started" >> "$tmp" else rm -f "$STATE_DIR/launch-$id.sh" "$STATE_DIR/pid-$id" fi done < "$SESSIONS" mv "$tmp" "$SESSIONS" } # --- Bucle principal ------------------------------------------------------ while true; do draw_panel read -r -p " Elige una opcion: " key || { echo; exit 0; } case "$(printf '%s' "$key" | tr '[:lower:]' '[:upper:]')" in N) new_session 0 ;; A) new_session 1 ;; R) ;; C) close_one ;; X) close_all ;; L) clean_closed ;; S) clear_screen; echo " Hasta luego."; echo; exit 0 ;; *) ;; esac done # --- PANEL-END --- CLAUDE_CMD_PANEL_EOF chmod +x "$PANEL" ok "Panel instalado en $PANEL" # Icono propio (PNG generado con assets/make-icon.ps1, embebido en base64). ICON_DIR="$HOME/.local/share/claude-cmd" ICON_PNG="$ICON_DIR/claude-terminal.png" ICON_OK=0 ICON_B64="$(cat <<'CLAUDE_CMD_ICON_EOF' # --- ICON-B64-START --- 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 # --- ICON-B64-END --- CLAUDE_CMD_ICON_EOF )" CLEAN_B64="$(printf '%s' "$ICON_B64" | grep -v '^#' | tr -d '\n\r ')" if [ "${#CLEAN_B64}" -gt 100 ]; then if printf '%s' "$CLEAN_B64" | base64 --decode > "$ICON_PNG" 2>/dev/null; then ICON_OK=1 ok "Icono instalado en $ICON_PNG" else warn "No se pudo decodificar el icono; se usara el del sistema." fi fi # --- 5. Acceso directo ---------------------------------------------------- say "Creando el acceso directo 'Claude Terminal' en el Escritorio" DESKTOP="$HOME/Desktop"; [ -d "$DESKTOP" ] || DESKTOP="$HOME/Escritorio" if [ -d "$DESKTOP" ]; then SHORTCUT="$DESKTOP/Claude Terminal.command" cat > "$SHORTCUT" </dev/null 2>&1 && ok "Icono aplicado al acceso directo." \ || warn "No pude aplicar el icono al acceso directo (funciona igual)." fi ok "Creado: $SHORTCUT" else warn "No encontre la carpeta del Escritorio; me salto el acceso directo." fi # --- 6. Modo avanzado (opcional) ----------------------------------------- if [ "$SKIP_PERMS" -eq 1 ]; then say "Modo avanzado (--dangerously-skip-permissions)" warn "ADVERTENCIA: Claude ejecutara acciones SIN pedirte confirmacion." warn "Usalo solo en carpetas de prueba y si entiendes el riesgo." ALIAS="alias claude-yolo='claude --dangerously-skip-permissions' # claude-cmd-skip" for profile in "$HOME/.zshrc" "$HOME/.bash_profile"; do [ -e "$profile" ] || continue grep -qF "# claude-cmd-skip" "$profile" 2>/dev/null || printf '\n%s\n' "$ALIAS" >> "$profile" done ok "Alias 'claude-yolo' creado. 'claude' sigue en modo seguro." ok "En el Centro de Mando tambien tienes [A] Nueva avanzada, sesion por sesion." fi # --- 7. Final ------------------------------------------------------------- printf "\n \033[1;32mListo.\033[0m\n" printf " Abre el icono 'Claude Terminal' de tu Escritorio: desde ahi lanzas y\n" printf " controlas todas tus sesiones de Claude Code.\n" printf " O abre una terminal NUEVA y escribe: claude\n\n" printf " \033[2mNecesitas un plan de pago de Claude (Pro, Max, Team o Enterprise).\033[0m\n\n"