#!/usr/bin/env bash
# Vangu - Claude Code CLI Otomatik Kurulum ve Yapilandirma Scripti (Linux & macOS)
# Kullanim:
#   curl -sSL https://vangu.dev/scripts/install-claude-code.sh | bash
#   veya:
#   bash install-claude-code.sh -k vgu_live_your_api_key

set -euo pipefail

VANGU_BASE_URL="https://api.vangu.dev/anthropic"
API_KEY="${VANGU_API_KEY:-}"
DEFAULT_MODEL="gpt-5.6-sol"

# Parametre kontrolu
while [[ $# -gt 0 ]]; do
  case "$1" in
    -k|--key|--api-key)
      API_KEY="$2"
      shift 2
      ;;
    -m|--model)
      DEFAULT_MODEL="$2"
      shift 2
      ;;
    -h|--help)
      echo "Vangu Claude Code CLI Kurulum Scripti"
      echo "Kullanim: $0 [-k <VANGU_API_KEY>] [-m <MODEL_ID>]"
      exit 0
      ;;
    *)
      echo "Bilinmeyen parametre: $1"
      exit 1
      ;;
  esac
done

echo "========================================================"
echo " Vangu - Claude Code CLI Kurulum ve Yapilandirici"
echo "========================================================"

# 1. Node.js ve npm kontrolu
if ! command -v node >/dev/null 2>&1; then
  echo "[!] Hata: Node.js sisteminizde kurulu degil."
  echo "    Lutfen Node.js (v18+) yukleyin: https://nodejs.org/"
  exit 1
fi

NODE_VER=$(node -v | sed 's/v//' | cut -d. -f1)
if [ "$NODE_VER" -lt 18 ]; then
  echo "[!] Uyari: Node.js surumunuz ($NODE_VER) 18'den kucuk. Claude Code v18+ gerektirir."
fi

if ! command -v npm >/dev/null 2>&1; then
  echo "[!] Hata: npm sisteminizde bulunamadi."
  exit 1
fi

echo "[*] Node.js $(node -v) ve npm $(npm -v) algilandi."

# 2. Claude Code CLI Kurulumu
echo "[*] @anthropic-ai/claude-code CLI kuruluyor..."
if npm install -g @anthropic-ai/claude-code 2>/dev/null; then
  echo "[+] Claude Code CLI basariyla global olarak kuruldu."
else
  echo "[*] Global izin yetersiz, kullanici alanina yukleniyor..."
  npm install --prefix "$HOME/.local" -g @anthropic-ai/claude-code
  export PATH="$HOME/.local/bin:$PATH"
fi

# 3. API Anahtari Alma
if [ -z "$API_KEY" ]; then
  echo ""
  echo "--------------------------------------------------------"
  echo "Vangu API Anahtarinizi girin (vgu_live_...):"
  read -r -s -p "API Key: " API_KEY
  echo ""
  echo "--------------------------------------------------------"
fi

if [ -z "$API_KEY" ]; then
  echo "[!] API Anahtari bos birakildi. Yapilandirma ortami tanimlanamadi."
  echo "    Daha sonra su degiskenleri ekleyebilirsiniz:"
  echo "    export ANTHROPIC_BASE_URL=\"$VANGU_BASE_URL\""
  echo "    export ANTHROPIC_API_KEY=\"vgu_live_...\""
  exit 0
fi

# 4. Profil Dosyalarina Ortam Degiskenlerini Yazma
EXPORT_STR="
# --- Vangu Anthropic & Claude Code Yapilandirmasi ---
export ANTHROPIC_BASE_URL=\"$VANGU_BASE_URL\"
export ANTHROPIC_API_KEY=\"$API_KEY\"
export ANTHROPIC_MODEL=\"$DEFAULT_MODEL\"
# -----------------------------------------------------"

PROFILE_FILES=()
[ -f "$HOME/.zshrc" ] && PROFILE_FILES+=("$HOME/.zshrc")
[ -f "$HOME/.bashrc" ] && PROFILE_FILES+=("$HOME/.bashrc")
[ -f "$HOME/.profile" ] && PROFILE_FILES+=("$HOME/.profile")

# Eger hicbiri yoksa varsayilan bir olustur
if [ ${#PROFILE_FILES[@]} -eq 0 ]; then
  PROFILE_FILES+=("$HOME/.bashrc")
fi

for pf in "${PROFILE_FILES[@]}"; do
  # Varsa eski Vangu blogunu temizle
  if grep -q "Vangu Anthropic" "$pf" 2>/dev/null; then
    sed -i.bak '/# --- Vangu Anthropic/,/# -----------------------------------------------------/d' "$pf"
    rm -f "${pf}.bak"
  fi
  echo "$EXPORT_STR" >> "$pf"
  echo "[+] Yapilandirma kaydedildi: $pf"
done

# Aktif kabuk icin degiskenleri ihrac et
export ANTHROPIC_BASE_URL="$VANGU_BASE_URL"
export ANTHROPIC_API_KEY="$API_KEY"
export ANTHROPIC_MODEL="$DEFAULT_MODEL"

echo ""
echo "========================================================"
echo " [OK] Kurulum ve Yapilandirma Basariyla Tamamlandi!"
echo "========================================================"
echo " Endpoint : $VANGU_BASE_URL"
echo " Model    : $DEFAULT_MODEL"
echo ""
echo "Hemen baslamak icin su komutu calistirin:"
echo "  source ~/.zshrc   # (veya ~/.bashrc)"
echo "  claude"
echo "========================================================"
