45 lines
2.3 KiB
PowerShell
45 lines
2.3 KiB
PowerShell
#requires -version 5.1
|
|
<#
|
|
run-goals.ps1 - launch the SEO fix workstreams as /goal-driven Sonnet agents.
|
|
RUN THIS FROM THE REPO ROOT: C:\Users\eugen\.cursor\projects\Odoo Expertos\odoo-expertos
|
|
Requires: Claude Code CLI v2.1.139+ on PATH (check: claude --version).
|
|
|
|
Modes:
|
|
.\seo-audit-2026-05-27\run-goals.ps1 -W W2 # run ONE workstream (serial, current dir)
|
|
.\seo-audit-2026-05-27\run-goals.ps1 -W W2,W11,W1 # run several, one after another
|
|
.\seo-audit-2026-05-27\run-goals.ps1 -W W3 -Parallel # run in an isolated git worktree (for parallel batches)
|
|
#>
|
|
param(
|
|
[string[]]$W = @(),
|
|
[switch]$Parallel,
|
|
[string]$Model = "sonnet"
|
|
)
|
|
$ErrorActionPreference = "Stop"
|
|
$Repo = (Resolve-Path ".").Path
|
|
$Goals = Join-Path $Repo "seo-audit-2026-05-27\goals"
|
|
if(-not (Test-Path (Join-Path $Repo ".git"))){ throw "Run this from the odoo-expertos repo root (no .git here: $Repo)." }
|
|
if($W.Count -eq 0){ Write-Host "Specify -W, e.g. -W W2 or -W W2,W11,W1"; exit 1 }
|
|
|
|
$branchOf = @{ W1='fix/w1-sitemaps';W2='fix/w2-robots';W3='fix/w3-schema';W4='fix/w4-hreflang';W5='fix/w5-titles-meta';W6='fix/w6-internal-links';W7='fix/w7-deindex';W8='fix/w8-homepage';W9='fix/w9-404s';W10='fix/w10-perf';W11='fix/w11-headers';W5b='fix/w5b-unique-meta';W12='fix/w12-rewrite-thin';W13='fix/w13-ai-search' }
|
|
|
|
foreach($id in $W){
|
|
$gf = Join-Path $Goals "$id.txt"
|
|
if(-not (Test-Path $gf)){ Write-Host "skip $id (no goal file)"; continue }
|
|
$goal = Get-Content -Raw $gf
|
|
$branch = $branchOf[$id]
|
|
if($Parallel){
|
|
$wt = Join-Path (Split-Path $Repo -Parent) "odoo-wt-$($id.ToLower())"
|
|
Write-Host "=== $id : worktree $wt (branch $branch) ==="
|
|
if(-not (Test-Path $wt)){ git worktree add -b $branch $wt HEAD | Out-Host }
|
|
Push-Location $wt
|
|
try { claude --model $Model -p "/goal $goal" } finally { Pop-Location }
|
|
Write-Host "--- $id done. Review: cd `"$wt`"; powershell -File seo-audit-2026-05-27\REVIEW.ps1 -Only $id ---"
|
|
} else {
|
|
Write-Host "=== $id : branch $branch (in-place) ==="
|
|
git checkout -B $branch | Out-Host
|
|
claude --model $Model -p "/goal $goal"
|
|
Write-Host "--- $id done. Verify: powershell -File seo-audit-2026-05-27\REVIEW.ps1 -Only $id ---"
|
|
}
|
|
}
|
|
Write-Host "ALL REQUESTED WORKSTREAMS LAUNCHED. Merge each green branch into master when REVIEW shows PASS."
|