Add native PowerShell installer for Windows
Features: - Automatic download of repository from GitHub - Full installation of all components (skills, agents, hooks, commands, plugins, scripts) - Claude Code detection and optional installation via npm - Dependency checking (Node.js, Git, Python, Ralph Orchestrator) - Automatic backup of existing configuration - Color-coded output for better user experience - Error handling with clear messages Usage: irm https://.../install-windows.ps1 | pwsh -ExecutionPolicy Bypass - OR right-click "Run with PowerShell" Updated README with PowerShell installer as Option 1 (recommended) Updated WordPress article with Windows PowerShell option Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
27
README.md
27
README.md
@@ -22,13 +22,25 @@ cd SuperCharged-Claude-Code-Upgrade
|
||||
|
||||
### Windows Installation Options
|
||||
|
||||
#### Option 1: WSL (Windows Subsystem for Linux) - **Recommended**
|
||||
#### Option 1: PowerShell Installer ⭐ **Native - Recommended**
|
||||
```powershell
|
||||
# Download and run the native PowerShell installer
|
||||
irm https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade/raw/main/install-windows.ps1 | pwsh -ExecutionPolicy Bypass -
|
||||
|
||||
# OR download and run manually
|
||||
Invoke-WebRequest -Uri "https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade/raw/main/install-windows.ps1" -OutFile "install-windows.ps1"
|
||||
pwsh -ExecutionPolicy Bypass -File install-windows.ps1
|
||||
|
||||
# OR right-click install-windows.ps1 and select "Run with PowerShell"
|
||||
```
|
||||
|
||||
#### Option 2: WSL (Windows Subsystem for Linux)
|
||||
```bash
|
||||
# Clone and run in WSL
|
||||
wsl bash -c "git clone https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade.git && cd SuperCharged-Claude-Code-Upgrade && ./supercharge.sh"
|
||||
```
|
||||
|
||||
#### Option 2: Git Bash
|
||||
#### Option 3: Git Bash
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade.git
|
||||
@@ -38,20 +50,19 @@ cd SuperCharged-Claude-Code-Upgrade
|
||||
./supercharge.sh
|
||||
```
|
||||
|
||||
#### Option 3: Manual Download
|
||||
#### Option 4: Manual Download
|
||||
```powershell
|
||||
# 1. Download and extract the ZIP from:
|
||||
# https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade/archive/refs/heads/main.zip
|
||||
|
||||
# 2. Open WSL and navigate to extracted folder
|
||||
wsl
|
||||
# 2. Open PowerShell and navigate to extracted folder
|
||||
cd path\to\SuperCharged-Claude-Code-Upgrade
|
||||
|
||||
# 3. Run the installer
|
||||
cd /path/to/SuperCharged-Claude-Code-Upgrade
|
||||
./supercharge.sh
|
||||
pwsh -ExecutionPolicy Bypass -File install-windows.ps1
|
||||
```
|
||||
|
||||
> **⚠️ Important:** The installer requires access to files in the repository (skills, agents, hooks, etc.). One-line curl installs won't work - you must clone the full repository first.
|
||||
> **📝 Note:** The PowerShell installer (Option 1) downloads everything automatically. For bash/WSL options, you must clone the repository first since the script needs access to local files.
|
||||
|
||||
---
|
||||
|
||||
|
||||
490
install-windows.ps1
Normal file
490
install-windows.ps1
Normal file
@@ -0,0 +1,490 @@
|
||||
#!/usr/bin/env pwsh
|
||||
################################################################################
|
||||
# SuperCharge Claude Code - Windows PowerShell Installer
|
||||
################################################################################
|
||||
# This script transforms any Claude Code installation into a supercharged
|
||||
# version with all customizations, skills, agents, plugins, and integrations.
|
||||
#
|
||||
# Usage:
|
||||
# pwsh -ExecutionPolicy Bypass -File install-windows.ps1
|
||||
# OR right-click -> "Run with PowerShell"
|
||||
#
|
||||
# Features:
|
||||
# - 30+ Custom Skills (cognitive, development, UI/UX)
|
||||
# - RalphLoop autonomous agent integration
|
||||
# - Multi-AI consultation (Qwen integration)
|
||||
# - Agent management system
|
||||
# - Custom hooks and commands
|
||||
# - MCP servers integration
|
||||
################################################################################
|
||||
|
||||
#Requires -Version 5.1
|
||||
|
||||
[CmdletBinding()]
|
||||
param()
|
||||
|
||||
# Colors for output
|
||||
function Write-ColorOutput {
|
||||
param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[string]$Message,
|
||||
|
||||
[Parameter(Mandatory=$false)]
|
||||
[ValidateSet("Info", "Success", "Warning", "Error", "Step")]
|
||||
[string]$Type = "Info"
|
||||
)
|
||||
|
||||
$colors = @{
|
||||
"Info" = "Cyan"
|
||||
"Success" = "Green"
|
||||
"Warning" = "Yellow"
|
||||
"Error" = "Red"
|
||||
"Step" = "Magenta"
|
||||
}
|
||||
|
||||
$prefixes = @{
|
||||
"Info" = "[INFO]"
|
||||
"Success" = "[SUCCESS]"
|
||||
"Warning" = "[WARN]"
|
||||
"Error" = "[ERROR]"
|
||||
"Step" = "==>"
|
||||
}
|
||||
|
||||
Write-Host "$($prefixes[$Type]) $Message" -ForegroundColor $colors[$Type]
|
||||
}
|
||||
|
||||
function Show-Banner {
|
||||
Write-Host @"
|
||||
|
||||
╔═══════════════════════════════════════════════════════════════╗
|
||||
║ ║
|
||||
║ ███████╗██╗ █████╗ ██████╗ ║
|
||||
║ ██╔════╝██║ ██╔══██╗██╔════╝ ║
|
||||
║ ███████╗██║ ███████║██║ ███╗ ║
|
||||
║ ╚════██║██║ ██╔══██║██║ ██║ ║
|
||||
║ ███████║███████╗██║ ██║╚██████╔╝ ║
|
||||
║ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ║
|
||||
║ ║
|
||||
║ ███████╗██╗ ██╗███████╗███╗ ██╗ ║
|
||||
║ ██╔════╝╚██╗██╔╝██╔════╝████╗ ██║ ║
|
||||
║ █████╗ ╚███╔╝ █████╗ ██╔██╗ ██║ ║
|
||||
║ ██╔══╝ ██╔██╗ ██╔══╝ ██║╚██╗██║ ║
|
||||
║ ███████╗██║██╗██║███████╗██║ ╚████║ ║
|
||||
║ ╚══════╝╚═╝╚═╝╚═╝╚══════╝╚═╝ ╚═══╝ ║
|
||||
║ ║
|
||||
║ Windows PowerShell Installer ║
|
||||
║ ║
|
||||
╚═══════════════════════════════════════════════════════════════╝
|
||||
|
||||
"@ -ForegroundColor Cyan
|
||||
}
|
||||
|
||||
function Test-ClaudeCode {
|
||||
Write-ColorOutput "Checking for Claude Code installation..." -Type Step
|
||||
|
||||
$claudeCmd = Get-Command claude -ErrorAction SilentlyContinue
|
||||
|
||||
if (-not $claudeCmd) {
|
||||
Write-ColorOutput "Claude Code CLI not found!" -Type Warning
|
||||
Write-Host ""
|
||||
Write-Host "Claude Code is required to use these customizations." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Installation options:" -ForegroundColor White
|
||||
Write-Host " 1. Install Claude Code with npm (requires Node.js)"
|
||||
Write-Host " 2. Install manually later"
|
||||
Write-Host " 3. Exit to install first"
|
||||
Write-Host ""
|
||||
|
||||
$choice = Read-Host "Choose option [1/2/3]"
|
||||
Write-Host ""
|
||||
|
||||
switch ($choice) {
|
||||
"1" {
|
||||
Write-ColorOutput "Installing Claude Code via npm..." -Type Info
|
||||
try {
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-ColorOutput "Claude Code installed successfully!" -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Claude Code installation failed. Please install manually." -Type Error
|
||||
exit 1
|
||||
}
|
||||
} catch {
|
||||
Write-ColorOutput "npm install failed: $_" -Type Error
|
||||
Write-ColorOutput "Please install Node.js from https://nodejs.org/ and try again." -Type Info
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
"2" {
|
||||
Write-ColorOutput "Skipping Claude Code installation." -Type Warning
|
||||
Write-ColorOutput "You can install it later with: npm install -g @anthropic-ai/claude-code" -Type Info
|
||||
return $false
|
||||
}
|
||||
"3" {
|
||||
Write-ColorOutput "Please install Claude Code first:" -Type Info
|
||||
Write-Host " npm install -g @anthropic-ai/claude-code" -ForegroundColor White
|
||||
exit 1
|
||||
}
|
||||
default {
|
||||
Write-ColorOutput "Invalid choice." -Type Error
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Refresh path and check again
|
||||
$claudeCmd = Get-Command claude -ErrorAction SilentlyContinue
|
||||
if ($claudeCmd) {
|
||||
$version = & claude --version 2>$null
|
||||
Write-ColorOutput "Claude Code found: $version" -Type Success
|
||||
return $true
|
||||
}
|
||||
|
||||
return $false
|
||||
}
|
||||
|
||||
function Backup-ExistingConfig {
|
||||
Write-ColorOutput "Backing up existing configuration..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$backupDir = Join-Path $env:USERPROFILE ".claude-backup-$(Get-Date -Format 'yyyyMMdd_HHmmss')"
|
||||
|
||||
if (Test-Path $claudeDir) {
|
||||
Copy-Item -Path $claudeDir -Destination $backupDir -Recurse -Force
|
||||
Write-ColorOutput "Backup created at: $backupDir" -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "No existing configuration to backup." -Type Info
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Dependencies {
|
||||
Write-ColorOutput "Checking dependencies..." -Type Step
|
||||
|
||||
# Check Node.js
|
||||
$nodeCmd = Get-Command node -ErrorAction SilentlyContinue
|
||||
if ($nodeCmd) {
|
||||
$version = & node --version
|
||||
Write-ColorOutput "Node.js found: $version" -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Node.js not found. Some features may not work." -Type Warning
|
||||
}
|
||||
|
||||
# Check Git
|
||||
$gitCmd = Get-Command git -ErrorAction SilentlyContinue
|
||||
if (-not $gitCmd) {
|
||||
Write-ColorOutput "Git not found. Please install Git from https://git-scm.com/" -Type Error
|
||||
exit 1
|
||||
} else {
|
||||
$version = & git --version
|
||||
Write-ColorOutput "Git found: $version" -Type Success
|
||||
}
|
||||
|
||||
# Check Python (optional)
|
||||
$pythonCmd = Get-Command python -ErrorAction SilentlyContinue
|
||||
if (-not $pythonCmd) {
|
||||
$pythonCmd = Get-Command python3 -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
if ($pythonCmd) {
|
||||
$version = & $pythonCmd --version
|
||||
Write-ColorOutput "Python found: $version" -Type Success
|
||||
|
||||
# Try to install Ralph Orchestrator
|
||||
Write-ColorOutput "Installing Ralph Orchestrator..." -Type Info
|
||||
try {
|
||||
& $pythonCmd -m pip install ralph-orchestrator 2>$null
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-ColorOutput "Ralph Orchestrator installed." -Type Success
|
||||
}
|
||||
} catch {
|
||||
Write-ColorOutput "Could not install Ralph Orchestrator (optional)." -Type Warning
|
||||
}
|
||||
} else {
|
||||
Write-ColorOutput "Python not found. Some features may not work." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Download-Repository {
|
||||
Write-ColorOutput "Downloading SuperCharge Claude Code package..." -Type Step
|
||||
|
||||
$tempDir = Join-Path $env:TEMP "SuperCharged-Claude-Code-Upgrade"
|
||||
$zipFile = Join-Path $env:TEMP "supercharge.zip"
|
||||
$repoUrl = "https://github.rommark.dev/admin/SuperCharged-Claude-Code-Upgrade/archive/refs/heads/main.zip"
|
||||
|
||||
# Clean up any existing download
|
||||
if (Test-Path $tempDir) {
|
||||
Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
if (Test-Path $zipFile) {
|
||||
Remove-Item -Path $zipFile -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
# Download the repository
|
||||
try {
|
||||
Write-ColorOutput "Downloading from: $repoUrl" -Type Info
|
||||
Invoke-WebRequest -Uri $repoUrl -OutFile $zipFile -UseBasicParsing
|
||||
|
||||
# Extract the zip
|
||||
Write-ColorOutput "Extracting files..." -Type Info
|
||||
Expand-Archive -Path $zipFile -DestinationPath $env:TEMP -Force
|
||||
|
||||
# Rename the extracted folder
|
||||
$extractedDir = Join-Path $env:TEMP "SuperCharged-Claude-Code-Upgrade-main"
|
||||
if (Test-Path $extractedDir) {
|
||||
Move-Item -Path $extractedDir -Destination $tempDir -Force
|
||||
}
|
||||
|
||||
Write-ColorOutput "Repository downloaded to: $tempDir" -Type Success
|
||||
return $tempDir
|
||||
} catch {
|
||||
Write-ColorOutput "Failed to download repository: $_" -Type Error
|
||||
return $null
|
||||
}
|
||||
}
|
||||
|
||||
function Copy-DirectoryContent {
|
||||
param(
|
||||
[string]$Source,
|
||||
[string]$Destination
|
||||
)
|
||||
|
||||
if (Test-Path $Source) {
|
||||
# Create destination if it doesn't exist
|
||||
if (-not (Test-Path $Destination)) {
|
||||
New-Item -Path $Destination -ItemType Directory -Force | Out-Null
|
||||
}
|
||||
|
||||
# Copy all items
|
||||
Get-ChildItem -Path $Source -Force | ForEach-Object {
|
||||
Copy-Item -Path $_.FullName -Destination $Destination -Recurse -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
return $true
|
||||
}
|
||||
return $false
|
||||
}
|
||||
|
||||
function Install-Skills {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing custom skills..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$skillsDir = Join-Path $SourceDir "skills"
|
||||
$destDir = Join-Path $claudeDir "skills"
|
||||
|
||||
if (Copy-DirectoryContent -Source $skillsDir -Destination $destDir) {
|
||||
$count = (Get-ChildItem -Path $destDir -Filter "SKILL.md" -Recurse -ErrorAction SilentlyContinue).Count
|
||||
Write-ColorOutput "Installed $count custom skills." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Skills directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Agents {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing agent management system..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$agentsDir = Join-Path $SourceDir "agents"
|
||||
$destDir = Join-Path $claudeDir "agents"
|
||||
|
||||
if (Copy-DirectoryContent -Source $agentsDir -Destination $destDir) {
|
||||
Write-ColorOutput "Agent management system installed." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Agents directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Hooks {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing custom hooks..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$hooksDir = Join-Path $SourceDir "hooks"
|
||||
$destDir = Join-Path $claudeDir "hooks"
|
||||
|
||||
if (Copy-DirectoryContent -Source $hooksDir -Destination $destDir) {
|
||||
Write-ColorOutput "Custom hooks installed." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Hooks directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Commands {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing custom commands..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$commandsDir = Join-Path $SourceDir "commands"
|
||||
$destDir = Join-Path $claudeDir "commands"
|
||||
|
||||
if (Copy-DirectoryContent -Source $commandsDir -Destination $destDir) {
|
||||
$count = (Get-ChildItem -Path $destDir -ErrorAction SilentlyContinue).Count
|
||||
Write-ColorOutput "Installed $count custom commands." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Commands directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Plugins {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing plugin references..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$pluginsDir = Join-Path $SourceDir "plugins"
|
||||
$destDir = Join-Path $claudeDir "plugins"
|
||||
|
||||
if (Copy-DirectoryContent -Source $pluginsDir -Destination $destDir) {
|
||||
$count = (Get-ChildItem -Path $destDir -Directory -ErrorAction SilentlyContinue).Count
|
||||
Write-ColorOutput "Installed $count plugin references." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Plugins directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Scripts {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing utility scripts..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$scriptsDir = Join-Path $SourceDir "scripts"
|
||||
$destDir = Join-Path $claudeDir "scripts"
|
||||
|
||||
if (Copy-DirectoryContent -Source $scriptsDir -Destination $destDir) {
|
||||
Write-ColorOutput "Utility scripts installed." -Type Success
|
||||
} else {
|
||||
Write-ColorOutput "Scripts directory not found in source." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Templates {
|
||||
param([string]$SourceDir)
|
||||
|
||||
Write-ColorOutput "Installing configuration templates..." -Type Step
|
||||
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
$templatesDir = Join-Path $SourceDir "templates"
|
||||
|
||||
if (Test-Path $templatesDir) {
|
||||
# Install config.json if not exists
|
||||
$configJson = Join-Path $templatesDir "config.json"
|
||||
if ((Test-Path $configJson) -and -not (Test-Path (Join-Path $claudeDir "config.json"))) {
|
||||
Copy-Item -Path $configJson -Destination (Join-Path $claudeDir "config.json") -Force
|
||||
Write-ColorOutput "config.json installed." -Type Success
|
||||
}
|
||||
|
||||
# Install hooks.json if not exists
|
||||
$hooksJson = Join-Path $templatesDir "hooks.json"
|
||||
if ((Test-Path $hooksJson) -and -not (Test-Path (Join-Path $claudeDir "hooks.json"))) {
|
||||
Copy-Item -Path $hooksJson -Destination (Join-Path $claudeDir "hooks.json") -Force
|
||||
Write-ColorOutput "hooks.json installed." -Type Success
|
||||
}
|
||||
|
||||
# Install settings.local.json if not exists
|
||||
$settingsLocalJson = Join-Path $templatesDir "settings.local.json"
|
||||
if ((Test-Path $settingsLocalJson) -and -not (Test-Path (Join-Path $claudeDir "settings.local.json"))) {
|
||||
Copy-Item -Path $settingsLocalJson -Destination (Join-Path $claudeDir "settings.local.json") -Force
|
||||
Write-ColorOutput "settings.local.json installed." -Type Success
|
||||
}
|
||||
} else {
|
||||
Write-ColorOutput "Templates directory not found." -Type Warning
|
||||
}
|
||||
}
|
||||
|
||||
function Show-Summary {
|
||||
$claudeDir = Join-Path $env:USERPROFILE ".claude"
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "╔═══════════════════════════════════════════════════════════════╗" -ForegroundColor Green
|
||||
Write-Host "║ INSTALLATION COMPLETE! ║" -ForegroundColor Green
|
||||
Write-Host "╚═══════════════════════════════════════════════════════════════╝" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "Your Claude Code installation is now SUPERCHARGED!" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "Installed Features:" -ForegroundColor Cyan
|
||||
Write-Host " [OK] 30+ Custom Skills (cognitive, development, UI/UX)" -ForegroundColor Green
|
||||
Write-Host " [OK] RalphLoop Autonomous Agent Integration" -ForegroundColor Green
|
||||
Write-Host " [OK] Multi-AI Consultation (Qwen)" -ForegroundColor Green
|
||||
Write-Host " [OK] Agent Management System" -ForegroundColor Green
|
||||
Write-Host " [OK] Custom Hooks & Commands" -ForegroundColor Green
|
||||
Write-Host " [OK] Plugin Marketplace Setup" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "New Commands Available:" -ForegroundColor Cyan
|
||||
Write-Host " /ralph - Autonomous 'Tackle Until Solved' agent" -ForegroundColor Yellow
|
||||
Write-Host " /brainstorm - Multi-AI brainstorming session" -ForegroundColor Yellow
|
||||
Write-Host " /write-plan - Create implementation plans" -ForegroundColor Yellow
|
||||
Write-Host " /execute-plan - Execute written plans" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Quick Start:" -ForegroundColor Cyan
|
||||
Write-Host " 1. Close and reopen your terminal" -ForegroundColor White
|
||||
Write-Host " 2. Run Claude Code: claude" -ForegroundColor Yellow
|
||||
Write-Host " 3. Try: /ralph 'Design a microservices architecture'" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Configuration:" -ForegroundColor Cyan
|
||||
Write-Host " Config dir: $claudeDir" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "Enjoy your supercharged Claude Code experience!" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Main Installation
|
||||
################################################################################
|
||||
|
||||
function Main {
|
||||
Show-Banner
|
||||
|
||||
# Check for Claude Code
|
||||
$claudeInstalled = Test-ClaudeCode
|
||||
if (-not $claudeInstalled) {
|
||||
Write-Host ""
|
||||
Write-Host "Customizations installed. Install Claude Code to use them." -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "Install Claude Code:" -ForegroundColor Cyan
|
||||
Write-Host " npm install -g @anthropic-ai/claude-code" -ForegroundColor White
|
||||
Write-Host ""
|
||||
return
|
||||
}
|
||||
|
||||
# Run installation steps
|
||||
Backup-ExistingConfig
|
||||
Install-Dependencies
|
||||
|
||||
# Download the repository
|
||||
$repoDir = Download-Repository
|
||||
if (-not $repoDir) {
|
||||
Write-ColorOutput "Failed to download repository. Installation aborted." -Type Error
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install all components
|
||||
Install-Skills -SourceDir $repoDir
|
||||
Install-Agents -SourceDir $repoDir
|
||||
Install-Hooks -SourceDir $repoDir
|
||||
Install-Commands -SourceDir $repoDir
|
||||
Install-Plugins -SourceDir $repoDir
|
||||
Install-Scripts -SourceDir $repoDir
|
||||
Install-Templates -SourceDir $repoDir
|
||||
|
||||
# Clean up
|
||||
Write-ColorOutput "Cleaning up temporary files..." -Type Info
|
||||
$zipFile = Join-Path $env:TEMP "supercharge.zip"
|
||||
if (Test-Path $zipFile) {
|
||||
Remove-Item -Path $zipFile -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
Show-Summary
|
||||
}
|
||||
|
||||
# Run main function
|
||||
try {
|
||||
Main
|
||||
} catch {
|
||||
Write-ColorOutput "Installation failed: $_" -Type Error
|
||||
exit 1
|
||||
}
|
||||
Reference in New Issue
Block a user