#!/usr/bin/env bash
# ====================================================================
# Course-Agent-Skills - Universal Installer Wizard (POSIX / Linux / macOS)
# ====================================================================

set -e

REPO_NAME="Course-Agent-Skills"
REPO_URL="https://github.com/lensetek/Course-Agent-Skills"
CAPACITY="Course & Class Management AI Agent Skills Suite (17 Skills)"

echo "===================================================================="
echo "      $REPO_NAME - UNIVERSAL INSTALLER WIZARD        "
echo "===================================================================="
echo "Repository : $REPO_URL"
echo "Capacity   : $CAPACITY"
echo "Scope      : Global Installation (Available across all AI Agents)"
echo "--------------------------------------------------------------------"
echo ""

# Step 1: Check & Install OpenCode CLI
echo "[1/3] Checking OpenCode CLI setup..."
if command -v opencode >/dev/null 2>&1; then
    echo "[OK] OpenCode CLI is already installed on your system."
else
    echo "OpenCode CLI not found. Installing OpenCode CLI globally..."
    npm install -g @opencode/cli || sudo npm install -g @opencode/cli
fi
echo "Default model: FREE Tier (no paid API key required)."
echo ""

# Step 2: Register Skills Globally via NPX
echo "[2/3] Installing Agent Skills GLOBALLY via NPX..."
echo "Registering all 17 course management skills across AI agents..."
npx --yes skills add -g "$REPO_URL" -y
echo ""
echo "===================================================================="
echo "[SUCCESS] Course Agent Skills installed GLOBALLY!"
echo "All AI Agents (OpenCode, Antigravity, Claude Code, Cursor, Codex, ChatGPT)"
echo "now recognize all 17 skills across all your local workspaces!"
echo "===================================================================="
echo ""

# Step 3: Offer OpenCode Desktop GUI
echo "[3/3] OPTIONAL: OPENCODE DESKTOP (MODERN GRAPHICAL USER INTERFACE)"
echo "Would you like to install OpenCode Desktop (A modern visual GUI client)?"
read -r -p "Download OpenCode Desktop now? [Y/n]: " choice
choice=${choice:-Y}
if [[ "$choice" =~ ^[Yy]$ ]]; then
    echo "Opening official OpenCode Desktop download page..."
    if command -v xdg-open >/dev/null 2>&1; then
        xdg-open "https://opencode.ai/download"
    elif command -v open >/dev/null 2>&1; then
        open "https://opencode.ai/download"
    else
        echo "Please visit: https://opencode.ai/download"
    fi
else
    echo "You can download OpenCode Desktop anytime at https://opencode.ai/download"
fi

echo ""
echo "Setup complete! Enjoy your 15 Course Management Agent Skills."
