From 17f37dc8adbf61486f66c59ebf91f966fe24335a Mon Sep 17 00:00:00 2001 From: lanshi Date: Sun, 14 Jun 2026 13:05:06 +0800 Subject: [PATCH] feat(packaging): add Scoop installation support for Windows Add GoReleaser Scoop manifest configuration to auto-publish to esengine/scoop-bucket on stable releases. Users install via: scoop bucket add reasonix https://github.com/esengine/scoop-bucket scoop install reasonix The manifest is automatically updated by GoReleaser on each stable v* tag (same as Homebrew). Prereleases are skipped (skip_upload: auto). Closes #4326 --- .github/workflows/release.yml | 1 + .goreleaser.yaml | 16 ++++++++++++++++ README.md | 5 +++-- README.zh-CN.md | 5 +++-- docs/RELEASING.md | 1 + 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0d47986c5..6392bbd09 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,6 +48,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} + SCOOP_BUCKET_TOKEN: ${{ secrets.SCOOP_BUCKET_TOKEN }} mirror-codegraph: name: mirror CodeGraph runtime to R2 diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 5d24c8869..0d592cccb 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -56,6 +56,22 @@ homebrew_casks: system_command "/usr/bin/xattr", args: ["-dr", "com.apple.quarantine", "#{staged_path}/reasonix"] end +scoops: + - name: reasonix + ids: [reasonix] + skip_upload: "auto" + repository: + owner: esengine + name: scoop-bucket + branch: main + token: "{{ .Env.SCOOP_BUCKET_TOKEN }}" + homepage: "https://github.com/esengine/DeepSeek-Reasonix" + description: "Cache-first DeepSeek coding agent for the terminal." + license: MIT + commit_author: + name: reasonix + email: reasonix@deepseek.com + release: prerelease: auto name_template: "Reasonix CLI {{ .Tag }}" diff --git a/README.md b/README.md index 9da25abc1..cee3ac095 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,9 @@ ## Install ```sh -npm i -g reasonix # any OS; pulls the prebuilt native binary -brew install esengine/reasonix/reasonix # macOS +npm i -g reasonix # any OS; pulls the prebuilt native binary +brew install esengine/reasonix/reasonix # macOS +scoop bucket add reasonix https://github.com/esengine/scoop-bucket && scoop install reasonix # Windows ``` Prebuilt archives (`darwin|linux|windows × amd64|arm64`) and `SHA256SUMS` are on diff --git a/README.zh-CN.md b/README.zh-CN.md index 90cd343f4..f0cf49ed3 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -63,8 +63,9 @@ ## 安装 ```sh -npm i -g reasonix # 任意系统;自动拉取对应平台的原生二进制 -brew install esengine/reasonix/reasonix # macOS +npm i -g reasonix # 任意系统;自动拉取对应平台的原生二进制 +brew install esengine/reasonix/reasonix # macOS +scoop bucket add reasonix https://github.com/esengine/scoop-bucket && scoop install reasonix # Windows ``` 预编译归档(`darwin|linux|windows × amd64|arm64`)和 `SHA256SUMS` 见每个 diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 8529273ba..19f7b2b19 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -18,6 +18,7 @@ provides the pre-release buffer instead of a long-lived branch. | Surface | Stable | Pre-release buffer | |---|---|---| | npm | `latest` (0.x), `next` (1.x) | `canary` (`npm i reasonix@canary`) | +| Scoop | `esengine/scoop-bucket` (auto-updated by GoReleaser) | skipped for prereleases (`skip_upload: "auto"`) | | Desktop | R2 `latest/` pointer | R2 `canary/` pointer (R2-only — never on the GitHub releases page) | A canary build is isolated: it **never** moves `latest` / `next` / desktop `latest/`.