system-prompts-and-models-o.../PowerShell_AI_Agent/install.ps1
dopeuni444 d43632a49a Removes outdated prompt files
Removes the `Chat Prompt.txt`, `VSCode Agent/Prompt.txt`, `Warp.dev/Prompt.txt`, and `v0 Prompts and Tools/Prompt.txt` files.

These files likely contain outdated prompts or configurations that are no longer needed in the current project. Removing them helps to clean up the codebase and prevent potential confusion or conflicts.
2025-07-31 01:45:01 +04:00

198 lines
6.6 KiB
PowerShell

# PowerShell AI Agent - Installation Script
# This script installs and configures the PowerShell AI Agent
param(
[switch]$Force,
[switch]$SkipDependencies,
[switch]$Verbose,
[string]$InstallPath = ".\PowerShell_AI_Agent"
)
# Set error action preference
$ErrorActionPreference = "Stop"
# Function to check PowerShell version
function Test-PowerShellVersion {
Write-Host "Checking PowerShell version..." -ForegroundColor Yellow
Write-Host "Current version: $($PSVersionTable.PSVersion)" -ForegroundColor Cyan
if ($PSVersionTable.PSVersion.Major -lt 7) {
Write-Host "Warning: PowerShell AI Agent works best with PowerShell 7.0+" -ForegroundColor Yellow
Write-Host "Download PowerShell 7 from: https://aka.ms/PSWindows" -ForegroundColor Cyan
if (-not $Force) {
Write-Host "Continuing with current PowerShell version..." -ForegroundColor Yellow
}
} else {
Write-Host "PowerShell version is compatible" -ForegroundColor Green
}
}
# Function to create directory structure
function New-DirectoryStructure {
param([string]$BasePath)
Write-Host "Creating directory structure..." -ForegroundColor Yellow
$directories = @(
"scripts",
"modules",
"config",
"data",
"logs",
"examples",
"tests",
"plugins"
)
foreach ($dir in $directories) {
$path = Join-Path $BasePath $dir
if (!(Test-Path $path)) {
New-Item -ItemType Directory -Path $path -Force | Out-Null
Write-Host " Created: $path" -ForegroundColor Green
} else {
Write-Host " Exists: $path" -ForegroundColor Cyan
}
}
}
# Function to configure execution policy
function Set-ExecutionPolicy {
Write-Host "Configuring execution policy..." -ForegroundColor Yellow
$currentPolicy = Get-ExecutionPolicy
Write-Host "Current execution policy: $currentPolicy" -ForegroundColor Cyan
if ($currentPolicy -eq "Restricted") {
Write-Host "Execution policy is restricted. Setting to RemoteSigned..." -ForegroundColor Yellow
try {
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Write-Host "Execution policy updated to RemoteSigned" -ForegroundColor Green
}
catch {
Write-Host "Failed to update execution policy. You may need to run as administrator." -ForegroundColor Yellow
}
} else {
Write-Host "Execution policy is already permissive" -ForegroundColor Green
}
}
# Function to create configuration files
function New-ConfigurationFiles {
param([string]$BasePath)
Write-Host "Creating configuration files..." -ForegroundColor Yellow
# Create default configuration if it doesn't exist
$configPath = Join-Path $BasePath "config\agent-config.json"
if (!(Test-Path $configPath)) {
$defaultConfig = @{
Voice = @{
Enabled = $true
RecognitionSensitivity = 0.8
ResponseSpeed = "normal"
Language = "en-US"
}
Autopilot = @{
Enabled = $false
AutonomyLevel = "medium"
ConfirmationThreshold = "high"
RiskTolerance = "low"
}
Memory = @{
Enabled = $true
MaxEntries = 1000
PersistencePath = ".\data\memory.json"
}
AI = @{
Model = "gpt-4"
Temperature = 0.7
MaxTokens = 4000
}
}
$defaultConfig | ConvertTo-Json -Depth 10 | Set-Content $configPath
Write-Host "Created default configuration" -ForegroundColor Green
}
# Create memory file
$memoryPath = Join-Path $BasePath "data\memory.json"
if (!(Test-Path $memoryPath)) {
@{
entries = @()
lastUpdated = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss")
version = "1.0"
} | ConvertTo-Json -Depth 10 | Set-Content $memoryPath
Write-Host "Created memory file" -ForegroundColor Green
}
}
# Function to display usage instructions
function Show-UsageInstructions {
param([string]$BasePath)
Write-Host "`nUsage Instructions:" -ForegroundColor Cyan
Write-Host "==================" -ForegroundColor Cyan
Write-Host "`nQuick Start:" -ForegroundColor Green
Write-Host "1. Start the agent: .\scripts\main.ps1" -ForegroundColor White
Write-Host "2. With voice: .\scripts\main.ps1 -Voice" -ForegroundColor White
Write-Host "3. With autopilot: .\scripts\main.ps1 -Autopilot" -ForegroundColor White
Write-Host "4. Get help: .\scripts\main.ps1 -Help" -ForegroundColor White
Write-Host "`nConfiguration:" -ForegroundColor Green
Write-Host "Edit: $BasePath\config\agent-config.json" -ForegroundColor White
Write-Host "Memory: $BasePath\data\memory.json" -ForegroundColor White
Write-Host "Logs: $BasePath\logs\" -ForegroundColor White
Write-Host "`nDocumentation:" -ForegroundColor Green
Write-Host "README: $BasePath\README.md" -ForegroundColor White
Write-Host "PowerShell 7: https://aka.ms/PSWindows" -ForegroundColor White
}
# Main installation function
function Install-PowerShellAI {
param(
[switch]$Force,
[switch]$SkipDependencies,
[switch]$Verbose,
[string]$InstallPath
)
Write-Host "PowerShell AI Agent Installation" -ForegroundColor Cyan
Write-Host "================================" -ForegroundColor Cyan
# Check PowerShell version
Test-PowerShellVersion
# Create installation directory
if (!(Test-Path $InstallPath)) {
New-Item -ItemType Directory -Path $InstallPath -Force | Out-Null
Write-Host "Created installation directory: $InstallPath" -ForegroundColor Green
}
# Create directory structure
New-DirectoryStructure -BasePath $InstallPath
# Configure execution policy
Set-ExecutionPolicy
# Create configuration files
New-ConfigurationFiles -BasePath $InstallPath
# Show usage instructions
Show-UsageInstructions -BasePath $InstallPath
Write-Host "`nInstallation completed successfully!" -ForegroundColor Green
Write-Host "You can now use the PowerShell AI Agent." -ForegroundColor Cyan
}
# Execute installation
try {
Install-PowerShellAI -Force:$Force -SkipDependencies:$SkipDependencies -Verbose:$Verbose -InstallPath $InstallPath
}
catch {
Write-Host "Installation failed: $_" -ForegroundColor Red
exit 1
}