Initial commit: antigravity-ipa-workflow

This commit is contained in:
nvtien
2026-02-16 13:58:02 +09:00
commit c5d9aab580
43 changed files with 4436 additions and 0 deletions

70
install.ps1 Normal file
View 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"