Windows Platform fixes for "self-update" and "go"#54
Merged
captainsafia merged 5 commits intocaptainsafia:mainfrom Feb 21, 2026
Merged
Windows Platform fixes for "self-update" and "go"#54captainsafia merged 5 commits intocaptainsafia:mainfrom
captainsafia merged 5 commits intocaptainsafia:mainfrom
Conversation
Contributor
Author
|
Going to fix up the tests -- I had Claude do them and they came out real weak. 😅 Still experimenting with it. |
|
🌳 Grove PR Build Ready! Version: Install with: curl https://i.safia.sh/captainsafia/grove/pr/54 | shOr if you already have grove installed: grove self-update --pr 54Or download directly from Actions Artifacts Available binaries:
|
Contributor
Author
|
Alright @captainsafia I think this is ready for your pass/review at your leisure. Sorry I missed this the first go 'round! |
captainsafia
approved these changes
Feb 21, 2026
Owner
captainsafia
left a comment
There was a problem hiding this comment.
LGTM! Thanks for pruning Claude's work here. 😄
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.
Resolves #53.
Summary
Fixes Windows compatibility issues where shell commands were using Unix-specific executables (
sh) that don't exist on Windows.Problems
grove self-update- Usedsh -c "curl ... | sh"which fails on Windows with "Executable not found in $PATH: sh"grove go- Used$SHELLenvironment variable with fallback to/bin/sh, neither of which exist on WindowsChanges
utils/index.ts- Added platform detection utilities with dependency injection for testability:isWindows(platform?)- Single source of truth for Windows platform checkgetShellForPlatform(platform?, env?)- Returns appropriate shell for the platformgetSelfUpdateCommand(url, platform?)- Returns command/args for self-update installerself-update.ts- UsesgetSelfUpdateCommand()to get platform-appropriate installer (PowerShell on Windows, curl|sh on Unix)go.ts- UsesgetShellForPlatform()to spawn appropriate shell (PowerShell on Windows, $SHELL on Unix)cli.test.ts- Added 14 tests for platform detection utilities covering Windows, Linux, and macOS