#!/usr/bin/env bash
# install.sh — Instalador Bundle da skill /mentoria-imperatriz + 15 filhas
# Uso: bash install.sh

set -e

SKILL_NAME="mentoria-imperatriz"
SKILL_DIR="$HOME/.claude/skills/$SKILL_NAME"
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

echo "════════════════════════════════════════════════════════════════"
echo "   Mentoria Imperatriz — Bundle Completo"
echo "   Fundação de Mentoria High-Ticket + 15 Skills Filhas"
echo "════════════════════════════════════════════════════════════════"
echo ""

# Verifica Claude Code
if ! command -v claude &> /dev/null; then
  echo "ERRO: Claude Code não encontrado. Instale antes:"
  echo "  https://docs.claude.com/claude-code/install"
  exit 1
fi

# Valida que está rodando do repo clonado
if [ ! -f "$SCRIPT_DIR/SKILL.md" ]; then
  echo "ERRO: Execute este script de dentro da pasta clonada do repo."
  echo "  git clone <repo> && cd skill-mentoria-imperatriz && bash install.sh"
  exit 1
fi

# ────────────────────────────────────────────────────────────────
# PARTE 1 — Instala a SKILL MÃE
# ────────────────────────────────────────────────────────────────
echo "→ Instalando skill mãe: /mentoria-imperatriz"

if [ -d "$SKILL_DIR" ]; then
  echo "  AVISO: $SKILL_NAME já instalada."
  read -p "  Sobrescrever? (s/N): " confirma_mae
  if [ "$confirma_mae" = "s" ] || [ "$confirma_mae" = "S" ]; then
    rm -rf "$SKILL_DIR"
    mkdir -p "$SKILL_DIR"
    # Copia tudo exceto a pasta skill-filhas (vamos tratar separado)
    rsync -a --exclude='skill-filhas/' "$SCRIPT_DIR/" "$SKILL_DIR/" 2>/dev/null || \
      cp -R "$SCRIPT_DIR/"* "$SKILL_DIR/"
    echo "  ✓ Mãe sobrescrita."
  else
    echo "  ↪ Mantendo versão existente da mãe."
  fi
else
  mkdir -p "$SKILL_DIR"
  rsync -a --exclude='skill-filhas/' "$SCRIPT_DIR/" "$SKILL_DIR/" 2>/dev/null || \
    cp -R "$SCRIPT_DIR/"* "$SKILL_DIR/"
  echo "  ✓ Skill mãe instalada em $SKILL_DIR"
fi

# ────────────────────────────────────────────────────────────────
# PARTE 2 — Instala SKILLS FILHAS (copy condicional)
# ────────────────────────────────────────────────────────────────
echo ""
echo "→ Instalando skills filhas (não sobrescreve as que você já tem):"

FILHAS=(
  "skill-persona-profunda"
  "deep-market-research"
  "transcript-fixer"
  "mecanismo-unico"
  "headline-imperatriz"
  "bencivenga-method"
  "skill-oferta-irresistivel"
  "voz-humana-br"
  "copy-conversacional-dm"
  "skill-historia-metodo"
  "epiphany-bridge"
  "analise-anuncio-1000"
  "skill-pitch-high-ticket"
  "skill-pagina-vendas"
  "imperio-agente"
)

INSTALADAS=0
JA_TINHA=0
PULADAS=0

for filha in "${FILHAS[@]}"; do
  ORIGEM="$SCRIPT_DIR/skill-filhas/$filha"
  DESTINO="$HOME/.claude/skills/$filha"

  if [ ! -d "$ORIGEM" ]; then
    echo "  ⚠ $filha (não está no bundle — pulando)"
    PULADAS=$((PULADAS + 1))
    continue
  fi

  if [ -d "$DESTINO" ]; then
    echo "  ↪ $filha (você já tem — preservando sua versão)"
    JA_TINHA=$((JA_TINHA + 1))
  else
    cp -R "$ORIGEM" "$DESTINO"
    echo "  ✓ $filha (instalada)"
    INSTALADAS=$((INSTALADAS + 1))
  fi
done

# ────────────────────────────────────────────────────────────────
# PARTE 3 — Verifica vault Obsidian
# ────────────────────────────────────────────────────────────────
echo ""
VAULT_DIR="$HOME/Documents/Obsidian Vault"
if [ -d "$VAULT_DIR" ]; then
  echo "✓ Vault Obsidian detectado em $VAULT_DIR"
  PROJ_DIR="$VAULT_DIR/03 - Projetos"
  if [ ! -d "$PROJ_DIR" ]; then
    mkdir -p "$PROJ_DIR"
    echo "  → Criado: 03 - Projetos/"
  fi
else
  echo "AVISO: Vault Obsidian não detectado em $VAULT_DIR"
  echo "  A skill vai salvar em $HOME/mentora-high-ticket-{nome}/ por padrão."
fi

# ────────────────────────────────────────────────────────────────
# RESUMO FINAL
# ────────────────────────────────────────────────────────────────
echo ""
echo "════════════════════════════════════════════════════════════════"
echo "   ✓ Bundle instalado!"
echo "════════════════════════════════════════════════════════════════"
echo ""
echo "   Skill mãe: /mentoria-imperatriz ✓"
echo ""
echo "   Skills filhas:"
echo "   ✓ Instaladas agora: $INSTALADAS"
echo "   ↪ Já tinha (preservadas): $JA_TINHA"
echo "   ⚠ Não estavam no bundle: $PULADAS"
echo "   = Total disponível: $((INSTALADAS + JA_TINHA)) / ${#FILHAS[@]}"
echo ""

MODO="embedded-only"
if [ $((INSTALADAS + JA_TINHA)) -eq ${#FILHAS[@]} ]; then
  MODO="full-upgrade ⭐"
elif [ $((INSTALADAS + JA_TINHA)) -gt 0 ]; then
  MODO="partial-upgrade"
fi
echo "   Modo de qualidade: $MODO"
echo ""
echo "   Pra usar:"
echo "   1. Abra o Claude Code"
echo "   2. Digite: /mentoria-imperatriz"
echo "   3. Siga as perguntas — 12 ciclos sequenciais até a Aula Imperatriz pronta"
echo ""
echo "   Destino final: primeira venda high-ticket em ~90 dias"
echo ""
echo "   📦 Skills filhas adicionais instaladas (podem ser usadas separadamente):"
for filha in "${FILHAS[@]}"; do
  if [ -d "$HOME/.claude/skills/$filha" ]; then
    echo "      /$filha"
  fi
done
echo ""
