Skip to content

docs: drop Chocolatey path, switch to Scoop; banner v2/v3 as historical#2559

Merged
bpamiri merged 2 commits intodevelopfrom
peter/docs-drop-chocolatey-add-scoop
May 11, 2026
Merged

docs: drop Chocolatey path, switch to Scoop; banner v2/v3 as historical#2559
bpamiri merged 2 commits intodevelopfrom
peter/docs-drop-chocolatey-add-scoop

Conversation

@bpamiri
Copy link
Copy Markdown
Collaborator

@bpamiri bpamiri commented May 11, 2026

Summary

Two parallel cleanups from the master plan:

v4 docs: the Windows install section in installing.mdx and installation.mdx had been pointing at a non-existent v2.x LuCLI Chocolatey package that was never going to ship. Replace with the real path now that the Scoop bucket is live at wheels-dev/scoop-wheels. Includes the channel-switch flow and a forward-pointer to the Release Channels page.

v2-5-0 + v3-0-0 index pages: add a Starlight :::caution::: banner clarifying these docs are historical and that CommandBox-based references are accurate for those versions but no longer reflect current install paths. Banner only — does NOT touch the body content. Those refs are correct in context (v2/v3 used CommandBox); the banner just steers new users toward v4.

Files changed

File Change
web/sites/guides/src/content/docs/v4-0-0-snapshot/command-line-tools/installation.mdx Replace Chocolatey section with Scoop bucket instructions + WinGet "planned post-GA" mention
web/sites/guides/src/content/docs/v4-0-0-snapshot/start-here/installing.mdx Windows tab: 3 steps (install Scoop, add bucket, install + verify) instead of 4 manual-JAR steps
web/sites/guides/src/content/docs/v2-5-0/index.md One-paragraph historical banner
web/sites/guides/src/content/docs/v3-0-0/index.md One-paragraph historical banner

What I deliberately did NOT change

  • Body content of v2/v3 pages — those CommandBox references are correct for those versions and rewriting them would be revisionist
  • Cross-references in v4 like "if your team already uses CommandBox for non-Wheels things" — those are legitimate ecosystem mentions
  • wheels modules / wheels deps ForgeBox mentions — ForgeBox is still a supported dep source

Test plan

  • Local diff review
  • Astro/Starlight build on this PR (web-build CI step)
  • After merge: confirm guides.wheels.dev renders the Scoop section correctly on the v4 install page

v4 docs: the Windows install section in installing.mdx and
installation.mdx had been pointing at a non-existent v2.x LuCLI
Chocolatey package that was never going to ship. Replace with the
real path now that the Scoop bucket is live at
wheels-dev/scoop-wheels (PR #2552 + the live bucket repo). Includes
the channel-switch flow and a forward-pointer to release-channels.

v2-5-0 and v3-0-0 index pages: add a Starlight :::caution::: banner
clarifying these docs are historical and that CommandBox-based
references are accurate for those versions but no longer reflect
current install paths. Doesn't touch the body content — those refs
are correct in context, just outdated for new projects.

Closes the "older version pages still mention CommandBox" cleanup
from the master plan.
@github-actions github-actions Bot added the docs label May 11, 2026
Copy link
Copy Markdown
Contributor

@wheels-bot wheels-bot Bot left a comment

Choose a reason for hiding this comment

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

Wheels Bot — Reviewer A

TL;DR: The PR's core intent is solid — the main Windows install section in both installation.mdx and installing.mdx is correctly rewritten for Scoop, and the v2/v3 historical banners are accurate and well-worded. However, the edit is incomplete: four Chocolatey references remain in the two edited files, one of which actively misdirects Windows users to a manual download path instead of scoop update wheels. Requesting changes on that correctness issue; the rest are docs consistency nits that should be fixed in the same pass.


Correctness

installing.mdx line 209 — Windows upgrade tab still references the removed Chocolatey path

After this PR, Windows users install via Scoop. But the Upgrading section's Windows tab was not updated:

Until the v2 Chocolatey package ships, upgrade by re-downloading the
launcher and module from GitHub Releases:

This is the wrong upgrade path. Scoop users should run scoop update wheels (or scoop update wheels-be). The current text sends Windows users down the old manual-download path and references a Chocolatey package that is no longer the intended distribution channel. Suggested replacement for the Windows upgrade tab:

scoop update wheels
# or, for the bleeding-edge channel:
scoop update wheels-be

The two manual-download steps below that line (re-extract zip, etc.) should be removed or moved under the Manual JAR install section if they still apply.


Docs

installation.mdx line 3 — frontmatter description still says Chocolatey

description: Install the wheels binary via Homebrew, Chocolatey, or a manual JAR download, and verify your setup.

The section heading changed to ## Windows (Scoop); the description should follow:

description: Install the wheels binary via Homebrew, Scoop (Windows), or a manual JAR download, and verify your setup.

installation.mdx line 11 — intro paragraph lists Chocolatey as the Windows channel

The `wheels` binary is distributed through three channels: Homebrew for macOS
and Linux, Chocolatey for Windows, and a direct JAR download...

Should read "Scoop for Windows".

installation.mdx line 22 — Requirements section still names Chocolatey

If you're installing manually — or on Windows outside the Chocolatey package —
grab a JDK 21 build from Adoptium

Scoop handles java/openjdk21 as an automatic dependency; the parenthetical can now read "or on Windows without Scoop".


Out-of-scope (not blocking, follow-up welcome)

Several other v4 docs files have stale LinkCard description fields still reading "Homebrew, Chocolatey, manual" — they point at the Installation page but are not in scope for this PR. A follow-up pass would clean up:

  • command-line-tools/configuration.mdx:251
  • command-line-tools/mcp-integration.mdx:114
  • command-line-tools/index.mdx:34
  • command-line-tools/core-commands/modules-and-deps.mdx:318

Commits

docs: drop Chocolatey path, switch to Scoop; banner v2/v3 as historical — valid type (docs), no scope (acceptable), subject within 100 chars, not ALL-CAPS. Passes commitlint.

@wheels-bot
Copy link
Copy Markdown
Contributor

wheels-bot Bot commented May 11, 2026

Wheels Bot — Reviewer B (round 1)

A's review is accurate and well-targeted. The four remaining Chocolatey references are all real (verified against current HEAD), the upgrade tab misdirection is the most consequential of them, and the verdict (request-changes) is proportionate. No sycophancy, no false positives. One minor observation below that does not change the alignment.

Sycophancy

None detected. A's "core intent is solid" framing correctly precedes a request-changes verdict — it is accurate context-setting, not rubber-stamping.

False positives

None detected. I checked each of A's four cited locations against the current file state:

  • installation.mdx line 3 frontmatter: description: Install the wheels binary via Homebrew, Chocolatey, or a manual JAR download… — confirmed present.
  • installation.mdx line 11 intro paragraph: Chocolatey for Windows — confirmed present.
  • installation.mdx line 22 requirements: on Windows outside the Chocolatey package — confirmed present.
  • installing.mdx line 209 upgrade tab: Until the v2 Chocolatey package ships, upgrade by re-downloading the launcher and module from GitHub Releases: (followed by steps referencing wheels.bat and manual .zip extraction) — confirmed present. This is the correctness-critical item: after this PR, Windows users install via Scoop, so their upgrade path is scoop update wheels, not manual re-extraction.

Missed issues

One minor item A did not flag: the PR's own test plan has the Astro/Starlight build unchecked (- [ ] Astro/Starlight build on this PR (web-build CI step)). The new content in both files uses MDX JSX components (<Aside>, <Steps>, <TabItem>) — a malformed attribute or mismatched tag would fail the build silently on review. A could have noted the pending build as a prerequisite for merge, though this is low-risk for a straightforward content substitution.

Not a blocking concern; CI is the gatekeeper. It does not change the request-changes recommendation.

Verdict alignment

A's CHANGES_REQUESTED verdict is consistent with the findings. The upgrade tab actively misdirects Scoop users toward a manual download flow that no longer applies — a correctness defect, not a nit.

Convergence

Aligned. A correctly identified all the incomplete edits, all findings are verified against current HEAD, and the request-changes verdict is appropriate. Emitting converged-changes so bot-address-review can apply the consensus.

The four changes to apply:

  1. installing.mdx Windows upgrade tab (lines 209-216): replace manual re-download steps with scoop update wheels / scoop update wheels-be.
  2. installation.mdx line 3 frontmatter: update description to use "Scoop (Windows)" instead of "Chocolatey".
  3. installation.mdx line 11: update intro paragraph to say "Scoop for Windows" instead of "Chocolatey for Windows".
  4. installation.mdx line 22: update requirements parenthetical to say "on Windows without Scoop" instead of "on Windows outside the Chocolatey package".

- installation.mdx frontmatter description: Chocolatey → Scoop (Windows)
- installation.mdx intro paragraph: Chocolatey for Windows → Scoop for Windows
- installation.mdx Requirements parenthetical: outside the Chocolatey
  package → without Scoop
- installing.mdx Windows upgrade tab: replace manual re-download steps
  with `scoop update wheels` / `scoop update wheels-be`
@wheels-bot
Copy link
Copy Markdown
Contributor

wheels-bot Bot commented May 11, 2026

Wheels Bot — Address Review (round 1)

Applied consensus findings from Reviewer A and Reviewer B's convergence (round 1):

  • web/sites/guides/src/content/docs/v4-0-0-snapshot/command-line-tools/installation.mdx:3 — frontmatter description now reads "Homebrew, Scoop (Windows), or a manual JAR download".
  • web/sites/guides/src/content/docs/v4-0-0-snapshot/command-line-tools/installation.mdx:11 — intro paragraph now says "Scoop for Windows" instead of "Chocolatey for Windows".
  • web/sites/guides/src/content/docs/v4-0-0-snapshot/command-line-tools/installation.mdx:22 — Requirements parenthetical now says "on Windows without Scoop" instead of "on Windows outside the Chocolatey package".
  • web/sites/guides/src/content/docs/v4-0-0-snapshot/start-here/installing.mdx:209 — Windows upgrade tab replaced. Manual re-download steps (replace wheels.bat, re-extract wheels-module-<version>.zip) removed; the tab now points at scoop update wheels and scoop update wheels-be and references the wheels-dev/scoop-wheels bucket.

The two remaining "Chocolatey" mentions in the edited files (installation.mdx:54 and installing.mdx:117) are intentional historical references — both explicitly note the legacy path is no longer supported — and are listed in the PR description's "What I deliberately did NOT change" section. Out-of-scope LinkCard descriptions in other v4 files that A flagged as a follow-up are also not addressed here, per A's own scoping.

Reviewer B's minor observation about the Astro/Starlight build was not actionable here (it's a CI gate, not a content change).

This is a docs-only PR, so no test runner was invoked.

The new commit will trigger a fresh Reviewer A run on the updated SHA. Convergence loop continues until reviewers align on `approve` or the outer-loop cap (5 rounds) is reached.

Copy link
Copy Markdown
Contributor

@wheels-bot wheels-bot Bot left a comment

Choose a reason for hiding this comment

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

Wheels Bot — Reviewer A

TL;DR: Round 1 re-review. All four issues raised in the previous review have been correctly addressed in commit 983db490d. The docs-only change is now accurate and internally consistent across all four files. No correctness, cross-engine, or security concerns remain. Approving.


Round-1 findings — resolved

Finding Status
installation.mdx frontmatter description still named Chocolatey Fixed: Scoop (Windows)
installation.mdx intro paragraph listed Chocolatey as the Windows channel Fixed: Scoop for Windows
installation.mdx Requirements parenthetical named Chocolatey Fixed: without Scoop
installing.mdx Windows upgrade tab still sent users down the manual re-download path Fixed: scoop update wheels / scoop update wheels-be

Docs

One optional nit, not blocking:

installation.mdx lines 56–64 — Scoop install block has no title attribute

Every other code block in the file carries a title= (e.g. title="illustrative — Homebrew install", title="PowerShell"). The new Scoop block is missing one:

scoop bucket add wheels https://github.com/wheels-dev/scoop-wheels
...

Consider adding title="PowerShell" for consistency with the rest of the file. Non-blocking.


Commits

  • docs: drop Chocolatey path, switch to Scoop; banner v2/v3 as historical — valid type, no scope, subject within 100 chars. Passes commitlint.
  • docs: address Reviewer A/B consensus findings (round 1) — valid type, no scope, subject within 100 chars. Passes commitlint.

@wheels-bot
Copy link
Copy Markdown
Contributor

wheels-bot Bot commented May 11, 2026

Wheels Bot — Reviewer B (round 1)

A's review is accurate and the approve verdict is well-founded. All four prior findings are verified against the current diff. One minor extension to A's own nit below, which does not change the alignment.

Sycophancy

None detected. A's approval is backed by a findings-resolution table with specific line-level verification.

False positives

None detected. I re-read the cited diff sections for all four resolved findings:

  • installation.mdx frontmatter: fixed to Scoop (Windows) — confirmed.
  • installation.mdx intro paragraph: fixed to Scoop for Windows — confirmed.
  • installation.mdx requirements parenthetical: fixed to without Scoop — confirmed.
  • installing.mdx Windows upgrade tab: old manual re-download steps removed, replaced with scoop update wheels / scoop update wheels-be — confirmed.

A's nit (missing title= on the first Scoop code block in installation.mdx) is also valid.

Missed issues

One minor item, same category as A's own nit:

installation.mdx — second new code block also missing title=

A flagged the first code block in the new Windows (Scoop) section (the install block) as missing a title="PowerShell" attribute. The immediately following channel-switching block is also missing one:

scoop uninstall wheels && scoop install wheels-be
scoop uninstall wheels-be && scoop install wheels

Other code blocks in the same file consistently carry title="..." (e.g. title="illustrative — system JDK setup", title="PowerShell"). A's nit applies equally to this second block. Non-blocking — same severity as A's finding.

Verdict alignment

A's APPROVED verdict is consistent with the findings. The original correctness defects are all resolved, and the only outstanding item is a style nit the author can address as a follow-up.

Convergence

Aligned on approve. A correctly identified all four fixed issues, verified them against the current file state, and the approval is appropriate for a docs-only cleanup with no correctness, security, or cross-engine concerns. The two untitled code blocks in installation.mdx are a style consistency issue; neither blocks merge. Emitting converged-approve.

@bpamiri bpamiri merged commit 61a1623 into develop May 11, 2026
12 of 13 checks passed
@bpamiri bpamiri deleted the peter/docs-drop-chocolatey-add-scoop branch May 11, 2026 04:59
bpamiri added a commit that referenced this pull request May 11, 2026
* ci: retry blog visual baseline auto-push with fetch+rebase loop

The "Commit pre-refreshed blog baseline" step in web-deploy.yml's visual-regression job
pushed to develop with a single `git push origin HEAD:develop` — no retry. When develop
moved during the ~3 min job runtime (e.g., another PR merging right behind a blog content
push), the push was rejected with `! [rejected] HEAD -> develop (fetch first)` and the
auto-refreshed baseline was silently dropped.

Effect: every subsequent non-blog PR tripped visual-regression on a stale baseline until
someone manually refreshed. Concrete trigger this week: PRs #2549 + #2551 merging
back-to-back left blog.png predating both "Background Jobs Without Redis" and
"Multi-Tenancy Built In" posts, blocking PR #2559 with 38,581-pixel diff.

Fix: wrap the push in a 5-attempt fetch+rebase+push loop. Rebase conflict path exits
clean (would only happen if a parallel run already refreshed the baseline, making ours
redundant). Push-rejected path retries with a short randomized backoff.

See run 25647803649 for the failure mode.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: refresh stale blog baseline and address review nits

Two pieces, both fallout from the race-condition bug this PR fixes:

1. Refresh `web/tests/visual-baselines/blog.png`. The May 9 → present
   auto-refresh pushes were dropped by the bug, so develop's baseline
   predates `Background Jobs Without Redis` and `Multi-Tenancy Built In`
   posts. Without this commit, PR #2560's own visual-regression check
   stays red and every non-blog PR keeps tripping. Regenerated locally
   via `pnpm --filter @wheels-dev/site-blog build` + `node
   scripts/visual-regression.mjs --update --site blog`; verified the
   freshly-written baseline passes a subsequent check run with 0-pixel
   diff.

2. Two minor nits from Reviewer A on the retry loop:
   - Guard the final-iteration `sleep` behind `[ "$attempt" -lt 5 ]` so
     the 5th rejected push doesn't sleep 2-6s before exiting.
   - Add `|| true` to `git rebase --abort` so a failed abort (e.g.,
     already-clean rebase state) doesn't flip the intended exit-0
     conflict path to exit-1 under `set -euo pipefail`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci: don't print misleading "will retry" message on final attempt

Reviewer B noted that the "Push rejected on attempt $attempt; will fetch + rebase + retry."
echo runs unconditionally inside the for-loop body, so on attempt 5 it lies — there's no
retry coming, the loop falls through to exit 1. Move the echo inside the same
`[ "$attempt" -lt 5 ]` guard that already skips the backoff sleep, and emit a distinct
"final attempt, no retry" message in the else branch.

Pure cosmetic; no control-flow change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant