From 7b74ef73095c76e798ea34e0872959123fe52bb5 Mon Sep 17 00:00:00 2001 From: Scott Lovegrove Date: Fri, 3 Apr 2026 13:12:44 +0100 Subject: [PATCH 1/2] feat: Run doist-os setup script from Windows bootstrap The Windows bootstrap now calls scripts/setup.ps1 from the cloned doist-os repo after cloning, matching the macOS bootstrap behavior. Previously it just printed a message saying Windows setup was not implemented. Co-Authored-By: Claude Opus 4.6 (1M context) --- install/bootstrap-windows.ps1 | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/install/bootstrap-windows.ps1 b/install/bootstrap-windows.ps1 index 7bcee7b..40f77f9 100644 --- a/install/bootstrap-windows.ps1 +++ b/install/bootstrap-windows.ps1 @@ -160,8 +160,18 @@ Write-Stage "Accessing private repository" Ensure-GhAuth Clone-Repo +Write-Stage "Running repository setup" +$SetupScript = Join-Path $TargetDir "scripts\setup.ps1" +if (-not (Test-Path $SetupScript)) { + Fail "Missing setup script at $SetupScript" +} + +Write-Host " - Running Doist OS setup script" +& $SetupScript +if ($LASTEXITCODE -ne 0) { + Fail "Repository setup script failed" +} + Write-Host "" -Write-Host "Repository cloned: $TargetDir" -Write-Host "Windows Doist OS setup is not implemented yet." -Write-Host "Next step: open the repo and follow the current manual onboarding path." -Print-AgentAppGuidance \ No newline at end of file +Write-Host "Bootstrap complete." +Write-Host "Repository: $TargetDir" \ No newline at end of file From 77cd57e870e5b974176c461b1b9c78a826e3c9bb Mon Sep 17 00:00:00 2001 From: Scott Lovegrove Date: Fri, 3 Apr 2026 13:18:37 +0100 Subject: [PATCH 2/2] fix: Set working directory for setup script and remove dead code Address review feedback: - Push-Location into the repo root before running the setup script, matching the macOS bootstrap behavior (cd into $TARGET_DIR) - Remove orphaned Print-AgentAppGuidance function (now handled by the doist-os setup script) Co-Authored-By: Claude Opus 4.6 (1M context) --- install/bootstrap-windows.ps1 | 49 ++++++----------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) diff --git a/install/bootstrap-windows.ps1 b/install/bootstrap-windows.ps1 index 40f77f9..38f8024 100644 --- a/install/bootstrap-windows.ps1 +++ b/install/bootstrap-windows.ps1 @@ -105,44 +105,6 @@ function Clone-Repo { Run-Quiet -Step "Cloning $Repo into $TargetDir" -Command "gh" -Args @("repo", "clone", $Repo, $TargetDir) } -function Print-AgentAppGuidance { - Write-Stage "AI Agent Apps" - - $foundAny = $false - if (Get-Command claude -ErrorAction SilentlyContinue) { - Write-Host " - Found Claude Code CLI (`claude`)" - $foundAny = $true - } - - if (Get-Command codex -ErrorAction SilentlyContinue) { - Write-Host " - Found Codex CLI (`codex`)" - $foundAny = $true - } - - if (Get-Command cursor -ErrorAction SilentlyContinue) { - Write-Host " - Found Cursor CLI (`cursor`)" - $foundAny = $true - } - - if (Get-Command gemini -ErrorAction SilentlyContinue) { - Write-Host " - Found Gemini CLI (`gemini`)" - $foundAny = $true - } - - if (-not $foundAny) { - Write-Host " - No common agent CLI detected (`claude`, `codex`, `cursor`, or `gemini`)." - } - - Write-Host "" - Write-Host "Agent app options:" - Write-Host " - Cursor (GUI): https://cursor.com/downloads" - Write-Host " - Claude Desktop (GUI): https://claude.ai/download" - Write-Host " - OpenAI Codex: https://openai.com/index/introducing-codex/" - Write-Host " - ChatGPT Desktop (GUI): https://openai.com/chatgpt/desktop/" - Write-Host " - Claude Code (CLI): https://docs.anthropic.com/en/docs/claude-code" - Write-Host " - Codex CLI: https://github.com/openai/codex" -} - New-Item -ItemType File -Path $LogFile -Force | Out-Null Write-Host "Doist OS bootstrap" @@ -167,9 +129,14 @@ if (-not (Test-Path $SetupScript)) { } Write-Host " - Running Doist OS setup script" -& $SetupScript -if ($LASTEXITCODE -ne 0) { - Fail "Repository setup script failed" +try { + Push-Location -Path $TargetDir + & $SetupScript + if ($LASTEXITCODE -ne 0) { + Fail "Repository setup script failed" + } +} finally { + Pop-Location } Write-Host ""