Skip to content

feat: add PowerShell install script for flex-ax camp on Windows#35

Merged
longfin merged 2 commits intomainfrom
feat/windows-powershell-install
Apr 8, 2026
Merged

feat: add PowerShell install script for flex-ax camp on Windows#35
longfin merged 2 commits intomainfrom
feat/windows-powershell-install

Conversation

@longfin
Copy link
Copy Markdown
Member

@longfin longfin commented Apr 8, 2026

Summary

  • Add scripts/install-common.ps1 — PowerShell port of shared install functions (Install-FlexAx, Install-Gws, Install-GwsAuth, Install-CampFiles, Detect-Platform, Generate-Adapters, and all platform adapters)
  • Add camps/flex-ax/install.ps1 — PowerShell port of the flex-ax camp installer with identical workflow to install.sh
  • Uses .cmd wrappers instead of Unix symlinks, Invoke-WebRequest for downloads, and Windows-appropriate paths ($env:APPDATA, ; PATH separator)

Fixes #32

Test plan

  • Run install.ps1 on a Windows machine with Node.js/npm installed
  • Verify Install-FlexAx creates .local/bin/flex-ax.cmd wrapper
  • Verify Install-Gws creates .local/bin/gws.cmd wrapper
  • Verify Install-GwsAuth creates .local/bin/gws-auth.cmd wrapper
  • Verify Install-CampFiles extracts identity/knowledge/scripts correctly
  • Verify Generate-Adapters creates .claude/CLAUDE.md with @ references
  • Verify freshness check hook is written to .claude/settings.json

🤖 Generated with Claude Code

Port install.sh and install-common.sh to PowerShell for native Windows
support. Uses .cmd wrappers instead of symlinks, Invoke-WebRequest for
downloads, and Windows-appropriate paths.

Fixes #32

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@longfin
Copy link
Copy Markdown
Member Author

longfin commented Apr 8, 2026

Reviewed locally on Windows. I found two blocking issues in the PowerShell installer path.

  1. Install-GwsAuth is looking for the installed CLI entrypoint under @anthropic-kr/gws-auth, but the tarball actually installs under @planetarium/gws-auth. I reproduced this by running the install locally: after npm install --prefix $prefix $url, the file on disk was .local/node_modules/@planetarium/gws-auth/bin/gws-auth.js, so the current Test-Path $cliJs check fails and no gws-auth.cmd wrapper is created.

  2. The documented remote install.ps1 flow appears broken in the fallback branch. When users run irm .../install.ps1 | iex, $MyInvocation.MyCommand.Path is not a real on-disk script path, so this code falls back to downloading install-common.ps1 from the release. But the current flex-ax-v1.1.0 release only contains install-common.sh, not install-common.ps1, so the fallback cannot succeed for the primary remote-install scenario.

Because both of these affect the actual Windows install path, I don’t think this one is ready yet.

Change gws-auth CLI path from @anthropic-kr to @planetarium to match
the actual tarball install location. Fix remote install fallback to
fetch install-common.ps1 from raw.githubusercontent.com since the
GitHub release only contains install-common.sh.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@longfin
Copy link
Copy Markdown
Member Author

longfin commented Apr 8, 2026

Fixed both issues: gws-auth package scope corrected to @planetarium/gws-auth, and remote install fallback now fetches install-common.ps1 from raw.githubusercontent.com.

@longfin longfin merged commit 741190c into main Apr 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Windows (PowerShell) install script for flex-ax camp

1 participant