Why
Today spm only ships for macOS and Linux. Windows developers — including the maintainer's daily machine — can't install or use it, which blocks personal use and rules out a large chunk of the Node.js ecosystem audience. Once this ships, a Windows user can install spm with a single PowerShell one-liner and run every feature without needing Go, WSL, or any extra toolchain.
Out of scope
- WSL-specific tooling (the existing Linux binary already serves WSL users informally)
- Distribution via winget or PowerShell Gallery (later iteration if adoption justifies it)
- Code signing / SmartScreen warning suppression (acceptable trade-off for v1)
Success metrics
- The maintainer can install spm on a Windows machine with one PowerShell command and use it end-to-end
- A GitHub release publishes Windows binaries alongside the macOS/Linux ones
Decisions & rejected alternatives
- Native Windows binaries, rather than WSL-only documentation, because the maintainer wants spm in his daily Windows shell and to broaden the audience.
- PowerShell install script (
iwr | iex), rather than winget / PowerShell Gallery, because it mirrors the existing curl | bash flow and ships fastest.
--vibes audio kept on Windows via a platform-specific backend, rather than disabling the feature, to preserve parity across operating systems.
Why
Today spm only ships for macOS and Linux. Windows developers — including the maintainer's daily machine — can't install or use it, which blocks personal use and rules out a large chunk of the Node.js ecosystem audience. Once this ships, a Windows user can install spm with a single PowerShell one-liner and run every feature without needing Go, WSL, or any extra toolchain.
Out of scope
Success metrics
Decisions & rejected alternatives
iwr | iex), rather than winget / PowerShell Gallery, because it mirrors the existingcurl | bashflow and ships fastest.--vibesaudio kept on Windows via a platform-specific backend, rather than disabling the feature, to preserve parity across operating systems.