From ec6c60549c93ae53059c79e0690fda4fb3ad8225 Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Tue, 27 Jan 2026 12:08:12 +1100 Subject: [PATCH 1/5] enforce minimal node and npm version check --- ui/desktop/.npmrc | 1 + ui/desktop/package-lock.json | 3 ++- ui/desktop/package.json | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ui/desktop/.npmrc b/ui/desktop/.npmrc index 214c29d13959..aa900f2e8270 100644 --- a/ui/desktop/.npmrc +++ b/ui/desktop/.npmrc @@ -1 +1,2 @@ registry=https://registry.npmjs.org/ +engine-strict=true \ No newline at end of file diff --git a/ui/desktop/package-lock.json b/ui/desktop/package-lock.json index 5090839365df..75da3262a4fe 100644 --- a/ui/desktop/package-lock.json +++ b/ui/desktop/package-lock.json @@ -115,7 +115,8 @@ "vitest": "^4.0.17" }, "engines": { - "node": "^24.0.0" + "node": "^24.0.0", + "npm": "^11.3.0" } }, "node_modules/@acemir/cssom": { diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 8bedab0657ce..724abd54c4ab 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -4,7 +4,8 @@ "version": "1.21.0", "description": "Goose App", "engines": { - "node": "^24.0.0" + "node": "^24.0.0", + "npm": "^11.3.0" }, "main": ".vite/build/main.js", "scripts": { From 3db068fa97e17adc72d951a115eb61de1dbfe79c Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Tue, 27 Jan 2026 12:47:44 +1100 Subject: [PATCH 2/5] upgrade node to v24 --- .github/workflows/bundle-desktop-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bundle-desktop-windows.yml b/.github/workflows/bundle-desktop-windows.yml index 498e47793fd6..a5eb4f71d313 100644 --- a/.github/workflows/bundle-desktop-windows.yml +++ b/.github/workflows/bundle-desktop-windows.yml @@ -57,7 +57,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # pin@v3 with: - node-version: 22 + node-version: 24 - name: Cache node_modules uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3 From 39703813b0099e48224e44ca2e3c65ed0afe0de7 Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Thu, 29 Jan 2026 15:00:41 +1100 Subject: [PATCH 3/5] updated the doc --- CONTRIBUTING.md | 16 +++++++++++----- ui/desktop/package.json | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 238698953380..d301e83874bb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,9 +41,16 @@ If you use Goose, Copilot, Claude, or other AI tools to help with your PRs: ## Prerequisites -goose includes Rust binaries alongside an electron app for the GUI. To work -on the Rust backend, you will need to [install Rust and cargo][rustup]. To work -on the App, you will also need to [install node and npm][nvm] - we recommend through nvm. +goose includes Rust binaries alongside an electron app for the GUI. + +We use [Hermit][hermit] to manage development dependencies (Rust, Node, npm, just, etc.). +Activate Hermit when entering the project: + +```bash +source bin/activate-hermit +``` + +Or add [shell hook auto-activation](https://cashapp.github.io/hermit/usage/shell/#shell-hooks) so Hermit activates automatically when you `cd` into the project (recommended). We provide a shortcut to standard commands using [just][just] in our `justfile`. @@ -285,8 +292,7 @@ Then you can view your traces at http://localhost:3000 This project follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for PR titles. Conventional Commits make it easier to understand the history of a project and facilitate automation around versioning and changelog generation. [issues]: https://github.com/block/goose/issues -[rustup]: https://doc.rust-lang.org/cargo/getting-started/installation.html -[nvm]: https://github.com/nvm-sh/nvm +[hermit]: https://cashapp.github.io/hermit/ [just]: https://github.com/casey/just?tab=readme-ov-file#installation ## Developer Certificate of Origin diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 724abd54c4ab..4c0de4542d5d 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -4,8 +4,8 @@ "version": "1.21.0", "description": "Goose App", "engines": { - "node": "^24.0.0", - "npm": "^11.3.0" + "node": ">=24.10.0", + "npm": ">=11.6.1" }, "main": ".vite/build/main.js", "scripts": { From 84425c574896f7ade48428409bf5d5e6c432b523 Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Thu, 29 Jan 2026 15:13:00 +1100 Subject: [PATCH 4/5] removed enforce engine check and enhance doc --- .github/workflows/bundle-desktop-windows.yml | 2 +- ui/desktop/.npmrc | 3 +-- ui/desktop/package.json | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/bundle-desktop-windows.yml b/.github/workflows/bundle-desktop-windows.yml index a5eb4f71d313..498e47793fd6 100644 --- a/.github/workflows/bundle-desktop-windows.yml +++ b/.github/workflows/bundle-desktop-windows.yml @@ -57,7 +57,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # pin@v3 with: - node-version: 24 + node-version: 22 - name: Cache node_modules uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3 diff --git a/ui/desktop/.npmrc b/ui/desktop/.npmrc index aa900f2e8270..5660f81af2f2 100644 --- a/ui/desktop/.npmrc +++ b/ui/desktop/.npmrc @@ -1,2 +1 @@ -registry=https://registry.npmjs.org/ -engine-strict=true \ No newline at end of file +registry=https://registry.npmjs.org/ \ No newline at end of file diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 4c0de4542d5d..95ed564dd037 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -4,8 +4,8 @@ "version": "1.21.0", "description": "Goose App", "engines": { - "node": ">=24.10.0", - "npm": ">=11.6.1" + "node": "^24.10.0", + "npm": "^11.6.1" }, "main": ".vite/build/main.js", "scripts": { From 670718bd19cd64cfe758824c6ed7b6fbf806e71a Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Thu, 29 Jan 2026 15:26:14 +1100 Subject: [PATCH 5/5] update package lock json --- ui/desktop/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/desktop/package-lock.json b/ui/desktop/package-lock.json index 75da3262a4fe..ed7c99deb84e 100644 --- a/ui/desktop/package-lock.json +++ b/ui/desktop/package-lock.json @@ -115,8 +115,8 @@ "vitest": "^4.0.17" }, "engines": { - "node": "^24.0.0", - "npm": "^11.3.0" + "node": "^24.10.0", + "npm": "^11.6.1" } }, "node_modules/@acemir/cssom": {