Merged
Conversation
Design for migrating CLI toolchain from tsc+xo to vite-plus, aligning with SDK. Covers build, lint, format, test, and deps. Part of marswaveai/listenhub-ralph#60
1. Keep typescript dep, downgrade to ^5.9.3 to match SDK and vite-plus-core peer range (^5.0.0). Remove pnpm override. 2. Correct vp check definition: aggregates fmt+lint+typecheck, not a standalone type checker. 3. Add vite.config.ts spec with pack entry, lint typeAware/typeCheck. 4. Acknowledge test semantics change, add `ready` script as quality gate. Part of marswaveai/listenhub-ralph#60
11-task plan covering: vite.config.ts, dep migration, scripts, tsconfig, xo removal, vitest skeleton, build verification, format/lint pass, static checks, SDK upgrade, and PR creation. Part of marswaveai/listenhub-ralph#60
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5e7b1a4. Configure here.
vitest 2.x only supports vite 5.x. vitest 4.x declares peerDependencies vite: ^6.0.0 || ^7.0.0 || ^8.0.0.
Run vp check, test, pack, and smoke-test the built CLI on push to main and on pull requests. Mirrors SDK CI pattern.
Add fmt block to vite.config.ts with singleQuote, useTabs, bracketSpacing to match existing code style. vp fmt only reads vite.config.ts, not .oxfmtrc.json.
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
vp pack(tsdown), outputting single-file bundledist/cli.mjsvp lint(oxlint) +vp fmt(oxfmt)vp testvp check(fmt + lint + type checks)readyscript as quality gate (vp check && vp test run)vite.config.tscentralizing pack/lint configPart of marswaveai/listenhub-ralph#60
Test plan
pnpm buildproducesdist/cli.mjs(46 KB)node dist/cli.mjs --helpprints all 10 commandspnpm checkpasses (fmt + lint + type checks)pnpm readypasses (check + test)listenhub auth login+listenhub podcast listworks end-to-endNote
Medium Risk
Moderate risk because it replaces the build/lint/test toolchain and changes the published
binoutput path to a bundleddist/cli.mjs, which could affect packaging and runtime behavior if bundling/externalization differs fromtscoutput.Overview
Migrates the CLI toolchain from
tsc/xotovite-plus: builds now usevp packto produce a single bundled ESM artifact atdist/cli.mjs, withpackage.jsonbin/filesupdated accordingly and.gitignoreswitched fromdistribution/todist/.Replaces lint/format/test workflows with
vp lint(oxlint),vp fmt(oxfmt), andvp test(vitest), adds areadyquality-gate script (vp check && vp test run), downgrades TypeScript to^5.9.3for peer compatibility, and adds centralized config viavite.config.ts(plus a minimalvitest.config.ts). Documentation tables were reflowed and internal design/plan docs were added for the migration.Reviewed by Cursor Bugbot for commit 5e7b1a4. Configure here.