#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

warn() {
  echo "[openlife postinstall] $1" >&2
}

if ! command -v node >/dev/null 2>&1; then
  warn "Node.js não encontrado no PATH. Instale Node 20+ para usar OpenLife."
  exit 0
fi

if ! command -v npm >/dev/null 2>&1; then
  warn "npm não encontrado no PATH."
  exit 0
fi

NPM_PREFIX="$(npm prefix -g 2>/dev/null || true)"
OPENLIFE_BIN_DIR=""
if [ -n "$NPM_PREFIX" ]; then
  OPENLIFE_BIN_DIR="$NPM_PREFIX/bin"
fi
if [ -n "$OPENLIFE_BIN_DIR" ] && [ -d "$OPENLIFE_BIN_DIR" ] && [[ ":$PATH:" != *":$OPENLIFE_BIN_DIR:"* ]]; then
  warn "Diretório de binários globais npm não está no PATH: $OPENLIFE_BIN_DIR"
  warn "Adicione ao shell profile para usar o comando 'openlife' globalmente."
fi

for cmd in claude codex gemini; do
  if ! command -v "$cmd" >/dev/null 2>&1; then
    warn "Dependência opcional ausente: $cmd (fallback/runtime pode ficar limitado)."
  fi
done

echo "[openlife postinstall] checks concluídos"

if [ "${CLAUDECODE:-}" = "1" ]; then
  echo ""
  echo "[openlife] ✨ Claude Code detectado!"
  echo "[openlife] Para ativar os /openlife commands, rode:"
  echo "[openlife]   openlife install"
  echo ""
fi
