Initial commit: antigravity-ipa-workflow
This commit is contained in:
70
install.ps1
Normal file
70
install.ps1
Normal file
@@ -0,0 +1,70 @@
|
||||
# Install IPA Workflow skills for Antigravity IDE (Windows)
|
||||
# Usage: .\install.ps1 [-Workspace]
|
||||
param(
|
||||
[switch]$Workspace
|
||||
)
|
||||
|
||||
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$RepoRoot = Split-Path -Parent $ScriptDir
|
||||
|
||||
if ($Workspace) {
|
||||
$Dest = Join-Path (Get-Location) ".agent\skills"
|
||||
} else {
|
||||
$Dest = Join-Path $env:USERPROFILE ".gemini\antigravity\skills"
|
||||
}
|
||||
|
||||
Write-Host "==> Installing skills to: $Dest"
|
||||
New-Item -ItemType Directory -Force -Path $Dest | Out-Null
|
||||
|
||||
# Copy local skills
|
||||
$SkillsDir = Join-Path $RepoRoot "skills"
|
||||
if (Test-Path $SkillsDir) {
|
||||
Write-Host "==> Syncing local skills..."
|
||||
Get-ChildItem -Path $SkillsDir -Directory | ForEach-Object {
|
||||
$DestSkill = Join-Path $Dest $_.Name
|
||||
Copy-Item -Path $_.FullName -Destination $DestSkill -Recurse -Force
|
||||
}
|
||||
Write-Host "==> Local skills synced."
|
||||
}
|
||||
|
||||
# Copy project templates if workspace mode
|
||||
if ($Workspace) {
|
||||
$TemplatesDir = Join-Path $RepoRoot "templates\docs"
|
||||
if (Test-Path $TemplatesDir) {
|
||||
Write-Host "==> Copying project templates..."
|
||||
$DocsDir = Join-Path (Get-Location) "docs"
|
||||
New-Item -ItemType Directory -Force -Path $DocsDir | Out-Null
|
||||
Get-ChildItem -Path $TemplatesDir -Filter "*.template" | ForEach-Object {
|
||||
$BaseName = $_.BaseName
|
||||
$DestFile = Join-Path $DocsDir $BaseName
|
||||
if (-not (Test-Path $DestFile)) {
|
||||
Copy-Item -Path $_.FullName -Destination $DestFile
|
||||
Write-Host " Created docs/$BaseName"
|
||||
} else {
|
||||
Write-Host " Skipped docs/$BaseName (already exists)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Sync external sources
|
||||
$SourcesFile = Join-Path $RepoRoot "skills_sources.json"
|
||||
if (Test-Path $SourcesFile) {
|
||||
$Sources = Get-Content $SourcesFile | ConvertFrom-Json
|
||||
foreach ($Source in $Sources) {
|
||||
Write-Host "==> Syncing external source: $($Source.name)"
|
||||
$TmpDir = Join-Path $env:TEMP "ag-sync-$($Source.name)"
|
||||
if (Test-Path $TmpDir) { Remove-Item -Recurse -Force $TmpDir }
|
||||
git clone --depth 1 $Source.url $TmpDir 2>$null
|
||||
$SrcPath = Join-Path $TmpDir ($Source.path ?? "skills")
|
||||
if (Test-Path $SrcPath) {
|
||||
Get-ChildItem -Path $SrcPath -Directory | ForEach-Object {
|
||||
Copy-Item -Path $_.FullName -Destination (Join-Path $Dest $_.Name) -Recurse -Force
|
||||
}
|
||||
}
|
||||
Remove-Item -Recurse -Force $TmpDir
|
||||
Write-Host "==> Source '$($Source.name)' synced."
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "==> Done. Skills installed to: $Dest"
|
||||
Reference in New Issue
Block a user