Skip to content

v0.2.1: Windows binaries, install.ps1, INSTALL.md#78

Merged
devrimcavusoglu merged 1 commit into
mainfrom
feature/v0.2.1-windows-install
May 3, 2026
Merged

v0.2.1: Windows binaries, install.ps1, INSTALL.md#78
devrimcavusoglu merged 1 commit into
mainfrom
feature/v0.2.1-windows-install

Conversation

@devrimcavusoglu

Copy link
Copy Markdown
Owner

Summary

Cross-platform install on a single canonical entry point. No code changes; release pipeline + install UX only.

  • .goreleaser.yaml: add windows to goos, format_overrides for zip on Windows. Releases will publish skern_<version>_windows_{amd64,arm64}.zip alongside the existing macOS/Linux tarballs.
  • scripts/install.ps1 (new): PowerShell installer mirroring scripts/install.sh. Detects amd64/arm64, downloads the matching zip, verifies SHA-256 against checksums.txt, extracts to %LOCALAPPDATA%\skern\bin, warns if the dir is not on PATH. Honors SKERN_INSTALL_DIR and SKERN_VERSION env vars (parity with the bash script).
  • INSTALL.md (new): top-level install guide structured for both humans and LLM agents — three OS sections (macOS / Linux / Windows), each with one canonical command, plus verify / version pinning / manual install / build from source (developer fallback) / uninstall.
  • README.md: install section now shows the three OS one-liners side-by-side and links to INSTALL.md.
  • CHANGELOG.md: v0.2.1 entry.

Why

Per a survey of modern agentic + Go/Rust CLIs (Claude Code, uv, bun, deno, ollama, fly), the dominant cross-platform install pattern is twin scripts: curl | bash for Unix + irm | iex for Windows, both linked from the README. Skern shipped only the Unix half through v0.2.0; this PR ships the Windows half. INSTALL.md is the canonical single URL that an agent can be told to read and execute on any OS.

go install is preserved as the developer-audience fallback (no Go-toolchain prereq for users who just want the binary).

Test plan

  • CI green on ubuntu-latest, macos-latest (existing matrix; no Windows runner yet — see follow-up)
  • Visual review of INSTALL.md formatting on GitHub
  • After merge: tag v0.2.1, watch GoReleaser publish the 6-binary matrix (was 4)
  • Post-release manual smoke: run irm https://raw.githubusercontent.com/devrimcavusoglu/skern/main/scripts/install.ps1 | iex on a Windows host, then skern --version

Follow-up (not in this PR)

  • Add windows-latest to CI matrix to validate Go build + install.ps1 on every push (ci.yml currently runs only Linux + macOS).
  • Consider Scoop / Chocolatey manifests for users who prefer package managers over a curl-pipe-script.

🤖 Generated with Claude Code

Cross-platform install on a single canonical entry point. No code
changes; release pipeline + install UX only.

- .goreleaser.yaml: add windows to goos, format_overrides for zip on
  Windows. v0.2.1 will publish skern_<version>_windows_amd64.zip and
  skern_<version>_windows_arm64.zip alongside the existing macOS and
  Linux tarballs.
- scripts/install.ps1: PowerShell installer mirroring scripts/install.sh.
  Detects amd64/arm64, downloads the matching zip, verifies SHA-256
  against checksums.txt, extracts to %LOCALAPPDATA%\skern\bin, and
  warns if the dir is not on PATH. Honors SKERN_INSTALL_DIR and
  SKERN_VERSION env vars (parity with the bash script).
- INSTALL.md: new top-level install guide. Three OS sections
  (macOS / Linux / Windows), each with one canonical command. Plus
  verify, version pinning, manual install (releases page + checksum
  pattern), build-from-source (go install) as a developer fallback,
  and uninstall.
- README: install section now shows the three OS one-liners
  side-by-side, with go install marked "from source" and a link to
  INSTALL.md for full coverage.
- CHANGELOG: v0.2.1 entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@devrimcavusoglu devrimcavusoglu merged commit c2d3820 into main May 3, 2026
4 checks passed
@devrimcavusoglu devrimcavusoglu deleted the feature/v0.2.1-windows-install branch May 3, 2026 01:14
@devrimcavusoglu devrimcavusoglu mentioned this pull request May 7, 2026
3 tasks
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.

1 participant