-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.ps1
More file actions
executable file
·80 lines (67 loc) · 2.87 KB
/
Copy pathinstall.ps1
File metadata and controls
executable file
·80 lines (67 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Synapsis Installer - Windows (PowerShell)
# Pure Rust - No Python dependencies
param(
[string]$Version = "0.3.0"
)
$Repo = "methodwhite/synapsis"
$InstallDir = "$env:USERPROFILE\.local\bin"
$DataDir = "$env:USERPROFILE\.local\share\synapsis"
Write-Host "Synapsis v$Version Installer (Windows)" -ForegroundColor Cyan
Write-Host "========================================"
Write-Host ""
# Detect architecture
$Arch = (Get-WmiObject Win32_Processor).Architecture
switch ($Arch) {
9 { $Target = "x86_64-pc-windows-msvc" }
5 { $Target = "aarch64-pc-windows-msvc" }
default {
Write-Host "Unsupported CPU architecture: $Arch" -ForegroundColor Red
Write-Host "Install Rust from https://rustup.rs and build from source."
exit 1
}
}
Write-Host "Platform: Windows ($Target)"
Write-Host "Install dir: $InstallDir"
Write-Host "Data dir: $DataDir"
Write-Host ""
# Create directories
New-Item -ItemType Directory -Force -Path $InstallDir | Out-Null
New-Item -ItemType Directory -Force -Path $DataDir | Out-Null
# Download URL
$DownloadUrl = "https://github.com/$Repo/releases/download/v$Version/synapsis-$Target.zip"
$TempFile = "$env:TEMP\synapsis-$Version.zip"
try {
Write-Host "Downloading synapsis v$Version for $Target..."
Invoke-WebRequest -Uri $DownloadUrl -OutFile $TempFile -ErrorAction Stop
Write-Host "Extracting..."
Expand-Archive -Path $TempFile -DestinationPath "$env:TEMP\synapsis-extract" -Force
Copy-Item "$env:TEMP\synapsis-extract\synapsis\synapsis.exe" "$InstallDir\synapsis.exe" -Force -ErrorAction SilentlyContinue
Copy-Item "$env:TEMP\synapsis-extract\synapsis\synapsis-mcp.exe" "$InstallDir\synapsis-mcp.exe" -Force -ErrorAction SilentlyContinue
Remove-Item $TempFile -Force -ErrorAction SilentlyContinue
Remove-Item "$env:TEMP\synapsis-extract" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host ""
Write-Host "Synapsis v$Version installed successfully!" -ForegroundColor Green
}
catch {
Write-Host "Download failed. Build from source:" -ForegroundColor Yellow
Write-Host " 1. Install Rust: https://rustup.rs"
Write-Host " 2. git clone https://github.com/$Repo.git"
Write-Host " 3. cd synapsis && cargo build --release"
Write-Host " 4. Copy target/release/synapsis.exe to $InstallDir"
exit 1
}
# Add to PATH
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
if ($userPath -notlike "*$InstallDir*") {
Write-Host ""
Write-Host "Adding $InstallDir to PATH..."
[Environment]::SetEnvironmentVariable("Path", "$userPath;$InstallDir", "User")
$env:Path = "$env:Path;$InstallDir"
}
Write-Host ""
Write-Host "Done! Run 'synapsis mcp' to start the MCP server."
Write-Host "Run 'synapsis update' to check for updates."
Write-Host ""
Write-Host "Configure your IDE MCP client:"
Write-Host " command: $InstallDir\synapsis.exe"
Write-Host ' args: ["mcp"]'