# install.ps1 — Instalador Bundle Windows da skill /mentoria-imperatriz + 15 filhas
# Uso: powershell -ExecutionPolicy Bypass -File install.ps1

$SkillName = "mentoria-imperatriz"
$SkillDir = "$HOME\.claude\skills\$SkillName"
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path

Write-Host "================================================================" -ForegroundColor Cyan
Write-Host "   Mentoria Imperatriz — Bundle Completo" -ForegroundColor Cyan
Write-Host "   Fundacao de Mentoria High-Ticket + 15 Skills Filhas" -ForegroundColor Cyan
Write-Host "================================================================" -ForegroundColor Cyan
Write-Host ""

# Verifica Claude Code
$claudeCmd = Get-Command claude -ErrorAction SilentlyContinue
if (-not $claudeCmd) {
    Write-Host "ERRO: Claude Code nao encontrado. Instale antes:" -ForegroundColor Red
    Write-Host "  https://docs.claude.com/claude-code/install" -ForegroundColor Yellow
    exit 1
}

# Valida que está rodando do repo clonado
if (-not (Test-Path "$ScriptDir\SKILL.md")) {
    Write-Host "ERRO: Execute este script de dentro da pasta clonada do repo." -ForegroundColor Red
    Write-Host "  git clone <repo> ; cd skill-mentoria-imperatriz ; powershell -File install.ps1" -ForegroundColor Yellow
    exit 1
}

# ────────────────────────────────────────────────────────────────
# PARTE 1 — Instala a SKILL MÃE
# ────────────────────────────────────────────────────────────────
Write-Host "-> Instalando skill mae: /mentoria-imperatriz" -ForegroundColor Green

if (Test-Path $SkillDir) {
    Write-Host "  AVISO: $SkillName ja instalada." -ForegroundColor Yellow
    $confirmaMae = Read-Host "  Sobrescrever? (s/N)"
    if ($confirmaMae -eq "s" -or $confirmaMae -eq "S") {
        Remove-Item -Recurse -Force $SkillDir
        New-Item -ItemType Directory -Force -Path $SkillDir | Out-Null
        Get-ChildItem -Path $ScriptDir -Exclude "skill-filhas", "install.sh", "install.ps1" |
            Copy-Item -Destination $SkillDir -Recurse -Force
        Write-Host "  Mae sobrescrita." -ForegroundColor Green
    } else {
        Write-Host "  Mantendo versao existente da mae." -ForegroundColor Yellow
    }
} else {
    New-Item -ItemType Directory -Force -Path $SkillDir | Out-Null
    Get-ChildItem -Path $ScriptDir -Exclude "skill-filhas", "install.sh", "install.ps1" |
        Copy-Item -Destination $SkillDir -Recurse -Force
    Write-Host "  Skill mae instalada em $SkillDir" -ForegroundColor Green
}

# ────────────────────────────────────────────────────────────────
# PARTE 2 — Instala SKILLS FILHAS (copy condicional)
# ────────────────────────────────────────────────────────────────
Write-Host ""
Write-Host "-> Instalando skills filhas (nao sobrescreve as que voce ja tem):" -ForegroundColor Green

$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
$JaTinha = 0
$Puladas = 0

foreach ($filha in $Filhas) {
    $Origem = "$ScriptDir\skill-filhas\$filha"
    $Destino = "$HOME\.claude\skills\$filha"

    if (-not (Test-Path $Origem)) {
        Write-Host "  $filha (nao esta no bundle - pulando)" -ForegroundColor Yellow
        $Puladas++
        continue
    }

    if (Test-Path $Destino) {
        Write-Host "  $filha (voce ja tem - preservando sua versao)" -ForegroundColor Gray
        $JaTinha++
    } else {
        Copy-Item -Path $Origem -Destination $Destino -Recurse -Force
        Write-Host "  $filha (instalada)" -ForegroundColor Green
        $Instaladas++
    }
}

# ────────────────────────────────────────────────────────────────
# PARTE 3 — Verifica vault Obsidian
# ────────────────────────────────────────────────────────────────
Write-Host ""
$VaultDir = "$HOME\Documents\Obsidian Vault"
if (Test-Path $VaultDir) {
    Write-Host "Vault Obsidian detectado em $VaultDir" -ForegroundColor Green
    $ProjDir = "$VaultDir\03 - Projetos"
    if (-not (Test-Path $ProjDir)) {
        New-Item -ItemType Directory -Force -Path $ProjDir | Out-Null
        Write-Host "  Criado: 03 - Projetos\" -ForegroundColor Green
    }
} else {
    Write-Host "AVISO: Vault Obsidian nao detectado em $VaultDir" -ForegroundColor Yellow
    Write-Host "  A skill vai salvar em $HOME\mentora-high-ticket-{nome}\ por padrao." -ForegroundColor Yellow
}

# ────────────────────────────────────────────────────────────────
# RESUMO FINAL
# ────────────────────────────────────────────────────────────────
Write-Host ""
Write-Host "================================================================" -ForegroundColor Cyan
Write-Host "   Bundle instalado!" -ForegroundColor Green
Write-Host "================================================================" -ForegroundColor Cyan
Write-Host ""
Write-Host "   Skill mae: /mentoria-imperatriz" -ForegroundColor White
Write-Host ""
Write-Host "   Skills filhas:" -ForegroundColor White
Write-Host "   Instaladas agora: $Instaladas" -ForegroundColor Green
Write-Host "   Ja tinha (preservadas): $JaTinha" -ForegroundColor Gray
Write-Host "   Nao estavam no bundle: $Puladas" -ForegroundColor Yellow
Write-Host "   = Total disponivel: $($Instaladas + $JaTinha) / $($Filhas.Count)" -ForegroundColor White
Write-Host ""

$Modo = "embedded-only"
if (($Instaladas + $JaTinha) -eq $Filhas.Count) {
    $Modo = "full-upgrade *"
} elseif (($Instaladas + $JaTinha) -gt 0) {
    $Modo = "partial-upgrade"
}
Write-Host "   Modo de qualidade: $Modo" -ForegroundColor Cyan
Write-Host ""
Write-Host "   Pra usar:" -ForegroundColor White
Write-Host "   1. Abra o Claude Code" -ForegroundColor White
Write-Host "   2. Digite: /mentoria-imperatriz" -ForegroundColor Yellow
Write-Host "   3. Siga as perguntas - 12 ciclos sequenciais ate a Aula Imperatriz pronta" -ForegroundColor White
Write-Host ""
Write-Host "   Destino final: primeira venda high-ticket em ~90 dias" -ForegroundColor Cyan
Write-Host ""
Write-Host "   Skills filhas adicionais instaladas (podem ser usadas separadamente):" -ForegroundColor White
foreach ($filha in $Filhas) {
    if (Test-Path "$HOME\.claude\skills\$filha") {
        Write-Host "      /$filha" -ForegroundColor Gray
    }
}
Write-Host ""
