a006b9ca132891f6f3c897cb2c89a03c780ed57d
Add/Remove button state loads asynchronously after page render, so a fixed delay could scan before all buttons updated and skip real candidates (confirmed via Strum's VCV Modules brand page). Add a button-state stabilization wait and multi-pass per-page scanning to catch late-rendering items.
VCV Library Non-Hardware-Clone Cleanup
This vibe-coded script scans VCV Library pages and removes modules that are currently removable and not tagged Hardware clone.
Safety and rate limit
- Default rate limit is one page request every 1100 ms.
- Use
--dry-runfirst to preview actions.
Setup
npm install
Run
npm run clean:vcv -- --dry-run
Then run the real cleanup:
npm run clean:vcv
The browser opens to the login page. Log in manually and the script auto-continues when login is detected.
Per-page reporting
The script prints one report line per page, for example:
[page 12] mode=apply candidates=5 removed=4 keptHardware=1 unchanged=no url=https://library.vcvrack.com/?page=12&...
candidates: visibleRemovebuttons on that pageremoved: non-hardware-clone modules removed (or would be removed in dry-run)keptHardware: removable modules kept because they haveHardware cloneunchanged:yeswhen no removals happened on that page
Options
--dry-runpreview only, no clicks--headlessrun without opening browser UI--delay-ms=1100page query delay (minimum is 1000)--nav-timeout-ms=30000timeout per page navigation--login-timeout-ms=300000max wait for login detection--mode=allscan all library pages (default)--mode=addedscan only your added modules view--start-page=1start from a page index--max-pages=10limit pages scanned from start page
Examples
Scan all pages with rate limit:
npm run clean:vcv -- --mode=all --delay-ms=1100
Scan only added modules:
npm run clean:vcv -- --mode=added --delay-ms=1100
Languages
JavaScript
100%