#!/usr/bin/env bash
# =============================================================================
# VarejoTech — Segundo Cérebro · Passo 3: instalar as duas skills
# -----------------------------------------------------------------------------
#   /ingestao  → só dentro da pasta do cérebro (é lá que ela faz sentido)
#   /salvar    → em qualquer pasta do computador (fecha a sessão e guarda)
#
# Pode rodar quantas vezes quiser.
# Uso:  bash 03-skills.sh
# =============================================================================
set -uo pipefail

BASE_URL="${BASE_URL:-https://varejotech-segundo-cerebro.pages.dev/d}"
CONF="$HOME/.cerebro-setup.conf"
say()  { printf '\n\033[1;34m▸ %s\033[0m\n' "$*"; }
ok()   { printf '  \033[0;32m✓\033[0m %s\n' "$*"; }
warn() { printf '  \033[0;33m!\033[0m %s\n' "$*"; }
die()  { printf '\n\033[0;31m✗ %s\033[0m\n\n' "$*"; exit 1; }

[ -f "$CONF" ] || die "Não achei $CONF. Rode antes: bash 01-clonar.sh"
. "$CONF"
[ -d "$PASTA/.git" ] || die "Não achei o cérebro em $PASTA. Rode antes: bash 01-clonar.sh"

echo
echo "=========================================================="
echo " Segundo Cérebro · Passo 3 — as duas skills"
echo "=========================================================="

instalar() { # instalar <origem> <destino>
  local url="$BASE_URL/$1" dest="$2" tmp
  tmp="$(mktemp)"
  curl -fsSL "$url" -o "$tmp" || die "Não consegui baixar $url — sem internet?"
  [ -s "$tmp" ] || die "Baixei $1 vazio. Tente de novo."
  sed -i.tmp \
    -e "s|{{DONO}}|$DONO|g" -e "s|{{SLUG_DONO}}|$DONO_SLUG|g" \
    -e "s|{{AGENTE}}|$AGENTE|g" -e "s|{{AGENTE_SLUG}}|$AGENTE_SLUG|g" \
    -e "s|{{PASTA}}|$PASTA|g" "$tmp" && rm -f "$tmp.tmp"
  if [ -f "$dest" ] && ! cmp -s "$tmp" "$dest"; then
    cp "$dest" "$dest.bak.$(date +%Y%m%d-%H%M%S)"
    warn "já existia uma versão diferente — guardei .bak"
  fi
  mkdir -p "$(dirname "$dest")"
  mv "$tmp" "$dest"
  ok "$dest"
}

say "/ingestao — escopo do cérebro (só roda dentro de $PASTA)"
instalar "skill-ingestao.md" "$PASTA/.claude/skills/ingestao/SKILL.md"

say "/salvar — escopo global (roda de qualquer pasta)"
instalar "skill-salvar.md" "$HOME/.claude/skills/salvar/SKILL.md"

# a skill /salvar precisa saber onde o cérebro mora
printf '%s\n' "$PASTA" > "$HOME/.claude/cerebro-path"
ok "~/.claude/cerebro-path aponta para $PASTA"

say "Conferindo"
for f in "$PASTA/.claude/skills/ingestao/SKILL.md" "$HOME/.claude/skills/salvar/SKILL.md"; do
  if [ -s "$f" ] && head -1 "$f" | grep -q -- '---'; then
    ok "$(basename "$(dirname "$f")") — $(wc -l < "$f" | tr -d ' ') linhas"
  else
    warn "$f parece incompleto"
  fi
done

echo
echo "=========================================================="
echo " ✓ Passo 3 concluído."
echo "   Teste agora: abra o Claude Code na pasta do cérebro"
echo "     cd \"$PASTA\" && claude"
echo "   e digite /ingestao — a skill deve aparecer na lista."
echo "   (Se o Claude já estava aberto, feche e abra de novo.)"
echo "=========================================================="
echo
