Skip to content

Conversation

o-l-a-v
Copy link
Contributor

@o-l-a-v o-l-a-v commented Sep 5, 2025

Closes #7118

Thanks to following Scoop bucket for a lot of it: https://github.com/wilt00/scoop-bucket/blob/main/bucket/claude-code.json.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

Summary by CodeRabbit

  • New Features
    • Adds Windows package manager support to install Claude Code CLI (v1.0.108).
    • Creates desktop/start-menu shortcut for quick launch.
    • Sets a Git Bash path environment variable during install if missing and notifies the user if still unset.
    • Clears that env var and can purge local app data on full uninstall.
    • Enables automated update checks and verifies downloads with checksums.

Copy link

coderabbitai bot commented Sep 5, 2025

Caution

Review failed

An error occurred during the review process. Please try again later.

Walkthrough

Adds a new Scoop manifest bucket/claude-code.json for Claude Code CLI v1.0.107 with metadata, 64-bit download and checksum, environment variable, binary/shortcut exports, uninstall purge paths, checkver pointing at a stable release URL, and autoupdate using remote manifest checksum.

Changes

Cohort / File(s) Summary
Scoop manifest addition
bucket/claude-code.json
New Windows package manifest for Claude Code CLI v1.0.107: metadata (description, homepage, proprietary license URL), architecture 64bit download URL and sha256, env_set CLAUDE_CODE_GIT_BASH_PATH, bin and shortcuts exports (claude.exe), post_uninstall purge of %LOCALAPPDATA%\claude-cli-nodejs and %USERPROFILE%\.claude, checkver using stable release URL with regex, and autoupdate using remote manifest.json jsonpath for checksum.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Scoop
  participant GCS as "GCS Releases"
  participant Manifest as "release manifest.json"

  Note over User,Scoop: Install flow
  User->>Scoop: scoop install claude-code
  Scoop->>GCS: GET /.../win32-x64/claude.exe (v1.0.107)
  GCS-->>Scoop: claude.exe (binary)
  Scoop->>Scoop: verify sha256, install binary, set CLAUDE_CODE_GIT_BASH_PATH, create shortcut

  Note over Scoop,Manifest: Autoupdate checksum retrieval
  Scoop->>Manifest: GET /.../manifest.json
  Manifest-->>Scoop: { platforms: { "win32-x64": { checksum: "sha256" } } }
  Scoop->>Scoop: use checksum to validate autoupdate download

  Note over User,Scoop: Uninstall purge
  User->>Scoop: scoop uninstall claude-code --purge
  Scoop->>Scoop: remove %LOCALAPPDATA%\claude-cli-nodejs and %USERPROFILE%\.claude
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Assessment against linked issues

Objective Addressed Explanation
Add Scoop manifest for claude-code (#7118)
Use latest stable version (#7118) Version is pinned to 1.0.107; PR does not provide evidence that 1.0.107 is upstream latest stable.
Non-GUI CLI tool / English interface and standard install (#7118)

Poem

I nibble bytes and gather keys,
A tiny manifest beneath the trees.
Claudes and hashes snug in line,
I purge the crumbs and mark the sign.
Hop — install, update, and code; this rabbit's fine 🐇✨

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

github-actions bot commented Sep 5, 2025

All changes look good.

Wait for review from human collaborators.

claude-code

  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
bucket/claude-code.json (3)

15-20: Avoid creating a shortcut for a CLI tool

Scoop generally doesn’t add Start Menu shortcuts for console apps. Launching a console exe from a shortcut is noisy and not useful.

-  "shortcuts": [
-      [
-          "claude.exe",
-          "Claude Code"
-      ]
-  ],

4-4: Homepage mismatch with linked issue

The linked issue cites the GitHub repo as homepage. Please confirm whether to use the product page or the repository URL for consistency with bucket conventions.


34-40: Ensure checkver matches binary releases: Verify that NPM’s “latest” version always corresponds to the Windows EXE in your GCS bucket (e.g. 1.0.107 → …/1.0.107/win32-x64/claude.exe) and that the bucket prefix (86c565f3-…) remains stable; if not, switch to a vendor-provided manifest endpoint (GitHub or JSON).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cb1ac21 and e3b9ede.

📒 Files selected for processing (1)
  • bucket/claude-code.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (1)
bucket/claude-code.json (1)

11-13: Use $env:SCOOP and declare Git as a dependency
Verify in PowerShell that the shim exists:

Test-Path "$env:SCOOP\shims\bash.exe"

Then update bucket/claude-code.json accordingly:

 "env_set": {
-    "CLAUDE_CODE_GIT_BASH_PATH": "$scoopdir\\shims\\bash.exe"
+    "CLAUDE_CODE_GIT_BASH_PATH": "$env:SCOOP\\shims\\bash.exe"
 },
+ "depends": ["git"],

This ensures Git is installed before referencing its bash.exe. (gist.github.com, github.com)

@o-l-a-v
Copy link
Contributor Author

o-l-a-v commented Sep 5, 2025

/verify

Copy link
Contributor

github-actions bot commented Sep 5, 2025

All changes look good.

Wait for review from human collaborators.

claude-code

  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

@o-l-a-v
Copy link
Contributor Author

o-l-a-v commented Sep 8, 2025

@HUMORCE: I've suggested a way to set CLAUDE_CODE_GIT_BASH_PATH if git has been installed by Scoop.

@o-l-a-v o-l-a-v changed the title claude-code: Add v1.0.107 claude-code: Add v1.0.108 Sep 8, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
bucket/claude-code.json (1)

58-62: .ForEach() is fine in Windows PowerShell 5.1

The use here is compatible with Windows PowerShell 5.1+. No change needed.

🧹 Nitpick comments (3)
bucket/claude-code.json (3)

53-63: Purge: swallow IO exceptions to avoid uninstall failures

Locked files or permissions can break uninstall; ignore failures.

Apply:

-        "    $Directories.ForEach{",
-        "        if ([System.IO.Directory]::Exists($_)) {",
-        "            $null = [System.IO.Directory]::Delete($_,$true)",
-        "        }",
-        "    }",
+        "    $Directories.ForEach{",
+        "        if ([System.IO.Directory]::Exists($_)) {",
+        "            try { [System.IO.Directory]::Delete($_, $true) } catch {}",
+        "        }",
+        "    }",

35-41: CLI apps generally shouldn’t add Start Menu shortcuts

Scoop convention: omit shortcuts for non-GUI tools.

Apply:

-    "shortcuts": [
-        [
-            "claude.exe",
-            "Claude Code"
-        ]
-    ],
+

65-68: Tighten checkver regex

Anchor to a semver to avoid accidental matches.

Apply:

-        "regex": "(.*)"
+        "regex": "^\\d+\\.\\d+\\.\\d+$"
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8ad4b4e and 7bdbdda.

📒 Files selected for processing (1)
  • bucket/claude-code.json (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-05T07:52:26.393Z
Learnt from: o-l-a-v
PR: ScoopInstaller/Main#7124
File: bucket/claude-code.json:21-33
Timestamp: 2025-09-05T07:52:26.393Z
Learning: The .ForEach() method is available on arrays and collections in Windows PowerShell 5.1 (and since PowerShell 4.0). These are PowerShell-specific extension methods in System.Management.Automation, not .NET instance methods. Syntax like $array.ForEach{} is valid in Windows PowerShell 5.1.

Applied to files:

  • bucket/claude-code.json
🔇 Additional comments (1)
bucket/claude-code.json (1)

2-3: Align PR metadata with manifest version and verify checksum

  • PR title/description still reference 1.0.107, but bucket/claude-code.json and upstream stable release are at 1.0.108. Update the PR metadata to 1.0.108 (or pin the manifest back to 1.0.107 with matching URL/hash).
  • Automated script couldn’t compute the SHA256 (no available utility); please manually confirm that the hash field (94345a76…731b779) matches the downloaded 1.0.108 binary.

@o-l-a-v
Copy link
Contributor Author

o-l-a-v commented Sep 8, 2025

/verify

Copy link
Contributor

github-actions bot commented Sep 8, 2025

All changes look good.

Wait for review from human collaborators.

claude-code

  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Request]: claude-code
2 participants