fix(windows): Bun runtime, PowerShell robustness, path/encoding + 3 more fixes#583
Open
palprateek wants to merge 3 commits into
Open
fix(windows): Bun runtime, PowerShell robustness, path/encoding + 3 more fixes#583palprateek wants to merge 3 commits into
palprateek wants to merge 3 commits into
Conversation
Add Bun as first-class runtime (>=1.3.14) — works standalone or alongside Node. Shell wrappers auto-detect either runtime; bin/install.js accepts both. Fixes seven Windows-specific issues: - Rename $Args->$InstallerArgs in install.ps1 to avoid PowerShell automatic-variable collision (JuliusBrussee#366, JuliusBrussee#439, JuliusBrussee#440, JuliusBrussee#518) - Guard $MyInvocation.MyCommand.Path against null in pipe mode so irm ... | iex doesn't crash (JuliusBrussee#546, JuliusBrussee#565) - Convert MSYS paths (/c/Users/...) to Windows paths (c:/Users/...) in Claude Code hook commands so Node resolves them on Git Bash (JuliusBrussee#199) - Pin all caveman-compress read_text/write_text to encoding=utf-8 to prevent charmap codec crash on Windows cp1252 (JuliusBrussee#533) - Reconfigure stdout/stderr to UTF-8 in benchmark.py for checkmark/crossmark glyphs
Runs npm test on ubuntu-latest with Node 22 on push/PR to main. Skips markdown-only changes. Uses concurrency groups to cancel redundant runs.
Fixes three more issues: - Quote process.execPath in spawnXplat on Windows so Node at C:\Program Files\nodejs\node.exe spawns correctly (JuliusBrussee#461) - Remove tools: and model: from cavecrew agent YAML frontmatter so Gemini CLI can load them; tool restrictions already expressed in prose (JuliusBrussee#473) - Loop sentinel restoration in caveman-shrink until stable so nested protected segments (enum values like (STARTER/BUSINESS)) aren't left as numeric placeholders (JuliusBrussee#444) JuliusBrussee#406 investigated: npm ETARGET yaml@^2.8.3 is an upstream skills CLI dependency issue, not a caveman bug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Bun as first-class runtime (>=1.3.14) and fixes 12 Windows-specific issues:
Shell / Installer
$Args→$InstallerArgsin install.ps1 to avoid PowerShell automatic-variable collision (PowerShell 7 installer fails:Cannot overwrite variable Args because the variable has been optimized#366, Antigravity Windows 11 install failed #439, Couldn't install on Windows 11 in PS #440, install.ps1 drops all flags on Windows PowerShell 5.1 ($Args param collides with the automatic variable; @Args splat into npx.ps1 passes nothing) #518)$MyInvocation.MyCommand.Pathagainst null in pipe mode soirm ... | iexdoesn't crash (terminal command install no work, iex >> null path error @ windows 11 #546, install.ps1 cannot be piped directly to iex #565)C:\Program Files\nodejs\node.exenot being quoted in spawn (🪲 Bug: GitHub Copilot--with-initFails When Node Installed in System Directory #461)MSYS / Git Bash
/c/Users/...) to Windows paths (c:/Users/...) in Claude Code hook commands so Node resolves them on Git Bash (Hook errors on Windows + Git Bash #199)caveman-compress
read_text/write_textcalls toencoding="utf-8"to prevent charmap codec crash on Windows cp1252 (caveman-compresscrashes on Windows withcharmapcodec error (Unicode characters) #533)Cavecrew agents
tools:andmodel:from agent YAML frontmatter so Gemini CLI can load them; tool restrictions already expressed in prose (cavecrew subagents fail to load in Gemini CLI extension (invalid tool names + Anthropic model) #473)caveman-shrink
(STARTER/BUSINESS)) aren't left as numeric placeholders (caveman-shrink: nested protected-segment sentinels not restored, enum values lost (e.g.( 0 )instead of(STARTER/BUSINESS)) #444)CI