fix(install): add missing vibe platform to install.ps1 + cross-script parity test - #548
Closed
KumamuKuma wants to merge 1 commit into
Closed
fix(install): add missing vibe platform to install.ps1 + cross-script parity test#548KumamuKuma wants to merge 1 commit into
KumamuKuma wants to merge 1 commit into
Conversation
… parity test install.sh supports `vibe` (line 37: `vibe|$HOME/.vibe/skills|per-skill`), README documents it as a supported <platform> value and lists Vibe CLI as "Supported" in the compatibility table — but install.ps1's $Platforms table skips straight from `antigravity` to `vscode`. On Windows, `install.ps1 vibe` dies in Resolve-Platform with "Unknown platform: vibe" and the interactive menu never offers it, so the documented Vibe CLI support is entirely unavailable on Windows. Fix: insert the `vibe` entry between antigravity and vscode, mirroring install.sh's row order so the interactive menu numbering stays identical across both installers. Regression guard: tests/install/platform-table-consistency.test.mjs parses the platforms_table() heredoc in install.sh and the $Platforms hashtable in install.ps1 and asserts identical platform ids (same order — menu numbering), identical link styles, and identical normalized target dirs, plus that README's supported-values line matches the installer table and the compatibility table only references real platform ids. Parsers are guarded against silent regex mismatch (>= 10 entries required on each side). On main before this fix, the id and style assertions fail with exactly the missing `vibe` entry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
install.shsupports thevibeplatform (vibe|$HOME/.vibe/skills|per-skill, line 37), README documentsvibeas a supported<platform>value (line 218) and lists Vibe CLI as ✅ Supported in the Platform Compatibility table (line 266) — butinstall.ps1's$Platformstable skips straight fromantigravitytovscode. On Windows,install.ps1 vibedies inResolve-PlatformwithUnknown platform: vibe($ErrorActionPreference = 'Stop'), and the interactivePrompt-Platformmenu never offers it either — so the documented Vibe CLI support is 100% unavailable on Windows, including via the README's one-lineiwr -useb … | iexinstall.This PR (1) adds the missing
vibeentry toinstall.ps1, inserted betweenantigravityandvscodeto mirrorinstall.sh's row order so the interactive menu numbering stays identical across both installers, and (2) adds a regression test that keeps the two platform tables — and the README — from drifting apart again.Why the test is the interesting part
This repo adds new install platforms at a steady clip, and there are several platform-addition PRs open right now — #425 (oh-my-pi), #420 (codeflicker), #470 (Qoder), #478/#404/#386/#281 (CodeBuddy) — each of which has to remember to update
install.sh,install.ps1, and two places in README.md by hand. Thevibegap this PR fixes is exactly what happens when one of the four spots gets missed.tests/install/platform-table-consistency.test.mjs(picked up by the rootvitest.config.tstests/**include, so it runs in plainpnpm test/CI) parses theplatforms_table()heredoc ininstall.shand the$Platformsordered hashtable ininstall.ps1and asserts:per-skillvsfolder) per platform.$HOME/prefix, unifies\vs/).<platform>values" line matches the installer table exactly, and everyinstall.sh <id>referenced in the Platform Compatibility table is a real platform id (subset check, since some table rows legitimately use other install methods, e.g. vscode → auto-discovery).So if any of the queued platform PRs updates only one script (or forgets the README line),
pnpm testfails with a diff naming the exact platform id — that's the intended behavior, and rebasing those PRs on this one gives them a free four-way consistency check.Linked issue(s)
None — found while auditing installer/README consistency. (Related context: #417 touches
install.ps1error handling but not the platform table; no open PR addresses the missingvibeentry.)How I tested this
pnpm lint— cleanpnpm --filter @understand-anything/core test— 809 passedpnpm test— 216 passed, 1 skipped (17 files, includes the new test)Red/green check: on
main(before theinstall.ps1fix), the new test fails on exactly the two assertions the bug violates:After the one-line
install.ps1fix, all 6 pass.Manual check: the inserted line mirrors
install.sh'svibe|$HOME/.vibe/skills|per-skill—per-skillstyle,~\.vibe\skillstarget — and preserves the table's column alignment. (No Windows/pwsh available in my environment for a liveinstall.ps1 viberun; the entry is structurally identical to the thirteen existing ones, and the parity test now pins it against install.sh.)Versioning
install.sh/install.ps1are fetched raw frommainby the one-line installers and are not part of the versioned plugin payload shipped through the five manifests.🤖 Generated with Claude Code