Skip to content

winuxcmd: Add version 0.12.0#17968

Open
Uarz wants to merge 1 commit into
ScoopInstaller:masterfrom
Uarz:add-winuxcmd
Open

winuxcmd: Add version 0.12.0#17968
Uarz wants to merge 1 commit into
ScoopInstaller:masterfrom
Uarz:add-winuxcmd

Conversation

@Uarz

@Uarz Uarz commented Jun 3, 2026

Copy link
Copy Markdown

winuxcmd: Add version 0.12.0

Adds WinuxCmd, a Linux-style command set for Windows terminals.

Relates to #17969

The previous submission to the Main bucket was closed as not meeting Main criteria, so this PR targets Extras.

Implementation notes:

  • Uses architecture-specific x64 and ARM64 release zips.
  • Runs create_links.ps1 -Force after install so command links such as ls.exe, cat.exe, and rm.exe are generated.
  • Adds the install directory to PATH so the generated command links are available.
  • Includes checkver and autoupdate using GitHub releases.

Validation performed locally:

  • JSON parsed successfully with ConvertFrom-Json.

  • x64 and ARM64 SHA256 hashes match the downloaded v0.12.0 release zips.

  • Verified archive roots:

    • WinuxCmd-0.12.0-win-x64
    • WinuxCmd-0.12.0-win-arm64
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>

  • I have read the Contributing Guide.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request introduces a new package manifest for WinuxCmd version 0.12.0 into the Scoop Extras bucket. The manifest specifies download URLs and SHA256 hashes for both 64-bit and arm64 architectures, defines the extraction directory structure, includes a PowerShell post_install hook to create symbolic links, configures PATH environment variables with the binary location, and establishes GitHub-based version checking with templated autoupdate URLs to streamline future releases.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

package-request-needed

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: adding WinuxCmd version 0.12.0 to the repository.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description comprehensively covers all key aspects: it provides a clear summary of changes, explains the purpose and implementation details, references the related issue, addresses bucket selection rationale, includes validation performed locally, and confirms compliance with the PR title and contributing guide requirements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot added the package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. label Jun 3, 2026
@Uarz Uarz mentioned this pull request Jun 3, 2026
6 tasks

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
bucket/winuxcmd.json (1)

1-40: Testing guidance for WinuxCmd manifest.

Before merging, please test the manifest locally using the following commands:

1. Optional: Enable debug mode and set GitHub token (for API access):

scoop config debug true
scoop config gh_token <your-github-token>  # Read access only

2. Force version detection and autoupdate:

.\bin\checkver.ps1 -App winuxcmd -f

3. Auto-format (Lint) the JSON manifest:

.\bin\formatjson.ps1 -App winuxcmd

4. Test installation for each architecture:

# For 64-bit
scoop install .\bucket\winuxcmd.json -a 64bit

# Verify generated links work
ls
cat --help
rm --help

# Uninstall before testing arm64 (if needed)
scoop uninstall winuxcmd

# For ARM64 (if on ARM64 hardware)
scoop install .\bucket\winuxcmd.json -a arm64

5. Verify post_install script execution:

  • Ensure create_links.ps1 runs without errors
  • Check that Linux-style command links (ls.exe, cat.exe, rm.exe, etc.) are created in the install directory
  • Confirm commands are accessible from any terminal session

Related: App Manifests Wiki

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/winuxcmd.json` around lines 1 - 40, Run the suggested local tests for
the winuxcmd.json manifest: enable debug and set gh_token, run
.\bin\checkver.ps1 -App winuxcmd -f to force version detection and autoupdate,
run .\bin\formatjson.ps1 -App winuxcmd to lint the JSON, then install the
manifest for each architecture (scoop install .\bucket\winuxcmd.json -a 64bit
and -a arm64 where applicable), verify post_install's create_links.ps1 executes
(no errors), confirm the created links (ls.exe, cat.exe, rm.exe, etc.) exist in
the extracted extract_dir and that the declared bin (winuxcmd.exe) and link
commands are accessible from a terminal, and uninstall between tests as needed;
fix any failures in the post_install or autoupdate URL/template sections (check
the "post_install" block, "bin" value, "checkver" and "autoupdate" architecture
entries) so links are generated and installs succeed.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@bucket/winuxcmd.json`:
- Around line 1-5: The new manifest winuxcmd.json needs a linked package-request
issue referenced; update the PR description to include a package-request issue
created via the provided URL
(https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+)
and add a link to that issue in the manifest (e.g., add an "issue" or
"package_request" field in winuxcmd.json with the issue number or full issue URL
such as "`#123`" or "https://github.com/.../issues/123") so reviewers can trace
this package-request.

---

Nitpick comments:
In `@bucket/winuxcmd.json`:
- Around line 1-40: Run the suggested local tests for the winuxcmd.json
manifest: enable debug and set gh_token, run .\bin\checkver.ps1 -App winuxcmd -f
to force version detection and autoupdate, run .\bin\formatjson.ps1 -App
winuxcmd to lint the JSON, then install the manifest for each architecture
(scoop install .\bucket\winuxcmd.json -a 64bit and -a arm64 where applicable),
verify post_install's create_links.ps1 executes (no errors), confirm the created
links (ls.exe, cat.exe, rm.exe, etc.) exist in the extracted extract_dir and
that the declared bin (winuxcmd.exe) and link commands are accessible from a
terminal, and uninstall between tests as needed; fix any failures in the
post_install or autoupdate URL/template sections (check the "post_install"
block, "bin" value, "checkver" and "autoupdate" architecture entries) so links
are generated and installs succeed.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5b0d9428-2003-4452-aa52-ac565473316d

📥 Commits

Reviewing files that changed from the base of the PR and between 0330792 and 85a0060.

📒 Files selected for processing (1)
  • bucket/winuxcmd.json

Comment thread bucket/winuxcmd.json
Comment on lines +1 to +5
{
"version": "0.12.0",
"description": "Linux-style command set for Windows terminals.",
"homepage": "https://github.com/caomengxuan666/WinuxCmd",
"license": "MIT",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check GitHub repository stars count to verify acceptance criteria.

# Fetch repository information including stars count
gh api repos/caomengxuan666/WinuxCmd --jq '{stars: .stargazers_count, is_archived: .archived, default_branch: .default_branch, description: .description}'

Repository: ScoopInstaller/Extras

Length of output: 225


🏁 Script executed:

#!/bin/bash
# Check latest GitHub release (stable vs pre-release/alpha)
gh api repos/caomengxuan666/WinuxCmd/releases --paginate=false --jq \
'([.[] | {tag:.tag_name, prerelease:.prerelease, published_at:.published_at, name:.name}]) | .[0:5]'

Repository: ScoopInstaller/Extras

Length of output: 567


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="bucket/winuxcmd.json"

echo "== File info =="
stat "$FILE" || true
file "$FILE" || true

echo
echo "== CRLF check =="
python3 - <<'PY'
p="bucket/winuxcmd.json"
data=open(p,'rb').read()
crlf=data.count(b"\r\n")
lf=data.count(b"\n")
print("bytes",len(data))
print("CRLF_count",crlf)
print("LF_count",lf)
print("has_CR", b"\r" in data)
PY

echo
echo "== Header (lines 1-60) =="
nl -ba "$FILE" | sed -n '1,60p'

echo
echo "== checkver/autoupdate block (search) =="
rg -n '"checkver"|"autoupdate"|"github"|"url"' "$FILE" || true

echo
echo "== Snippet around checkver/autoupdate (lines 20-120) =="
nl -ba "$FILE" | sed -n '20,120p'

Repository: ScoopInstaller/Extras

Length of output: 323


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="bucket/winuxcmd.json"

echo "== Tools sanity =="
command -v rg >/dev/null && echo "rg: yes" || echo "rg: no"
command -v cat >/dev/null && echo "cat: yes" || echo "cat: no"

echo
echo "== Header (first ~80 lines, with cat) =="
sed -n '1,120p' "$FILE" || true

echo
echo "== Manifest metadata / issue link search =="
rg -n 'package-request|Extras/issues/new|github\.com/.+?/issues/|#\d+' "$FILE" || true

echo
echo "== checkver/autoupdate field search =="
rg -n '"checkver"|"autoupdate"|"github"|"url"|"extract_dir"' "$FILE" || true

echo
echo "== checkver/autoupdate snippet (lines 1-200) =="
sed -n '1,200p' "$FILE" || true

echo
echo "== checkver.github vs url (python parse quick scan) =="
python3 - <<'PY'
import json
p="bucket/winuxcmd.json"
with open(p,'r',encoding='utf-8') as f:
    data=json.load(f)

# dump keys relevant
def dump_block(name):
    b=data.get(name)
    print(name, "type:", type(b).__name__)
    if isinstance(b, dict):
        print("keys:", sorted(b.keys()))
        if "github" in b: print("github:", b["github"])
        if "url" in b: print("url:", b["url"])
        if "version" in b: print("version:", b["version"])
        if "extract_dir" in b: print("extract_dir:", b["extract_dir"])

dump_block("checkver")
dump_block("autoupdate")
PY

Repository: ScoopInstaller/Extras

Length of output: 4548


Link a package-request issue for the new manifest

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/winuxcmd.json` around lines 1 - 5, The new manifest winuxcmd.json
needs a linked package-request issue referenced; update the PR description to
include a package-request issue created via the provided URL
(https://github.com/ScoopInstaller/Extras/issues/new?labels=package-request&template=package-request.yml&title=%5BRequest%5D%3A+)
and add a link to that issue in the manifest (e.g., add an "issue" or
"package_request" field in winuxcmd.json with the issue number or full issue URL
such as "`#123`" or "https://github.com/.../issues/123") so reviewers can trace
this package-request.

@Uarz

Uarz commented Jun 3, 2026

Copy link
Copy Markdown
Author

/verify

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

winuxcmd

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@aliesbelik aliesbelik linked an issue Jun 3, 2026 that may be closed by this pull request
6 tasks
@aliesbelik aliesbelik removed the package-request-needed Create a package request issue before raising PR. Check the criteria for a package to be accepted. label Jun 3, 2026
arvdk added a commit to arvdk/Extras that referenced this pull request Jun 9, 2026
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]: winuxcmd

2 participants