# Gemini CLI — Windows Uninstaller
# Usage: powershell -ExecutionPolicy Bypass -File gemini\ugemini_uninstall.ps1

$ErrorActionPreference = "Continue"

Write-Host ""
Write-Host "  +--------------------------------------+" -ForegroundColor Cyan
Write-Host "  |   Gemini CLI -- Windows Uninstaller  |" -ForegroundColor Cyan
Write-Host "  +--------------------------------------+" -ForegroundColor Cyan
Write-Host ""

# ---- Uninstall npm package ----

Write-Host "  Removing @google/gemini-cli..." -ForegroundColor Cyan
npm uninstall -g @google/gemini-cli 2>$null
Write-Host "  npm package removed" -ForegroundColor Green

# ---- Remove settings ----

$geminiDir = "$env:USERPROFILE\.gemini"
if (Test-Path $geminiDir) {
    Write-Host "  Removing $geminiDir..." -ForegroundColor Cyan
    Remove-Item -Recurse -Force $geminiDir
    Write-Host "  Settings removed" -ForegroundColor Green
} else {
    Write-Host "  No settings directory found" -ForegroundColor Yellow
}

# ---- Remove env vars ----

Write-Host "  Removing environment variables..." -ForegroundColor Cyan
[System.Environment]::SetEnvironmentVariable("GEMINI_API_KEY", $null, "User")
[System.Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", $null, "User")
Remove-Item Env:GEMINI_API_KEY -ErrorAction SilentlyContinue
Remove-Item Env:GOOGLE_GEMINI_BASE_URL -ErrorAction SilentlyContinue
Write-Host "  Env vars removed" -ForegroundColor Green

# ---- Remove npm registry config ----

Write-Host "  Removing npm registry config..." -ForegroundColor Cyan
npm config delete "@google:registry" 2>$null
Write-Host "  Registry config removed" -ForegroundColor Green

Write-Host ""
Write-Host "  Gemini CLI fully uninstalled!" -ForegroundColor Green
Write-Host ""
