# 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-run` first to preview actions. ## Setup ```bash npm install ``` ## Run ```bash npm run clean:vcv -- --dry-run ``` Then run the real cleanup: ```bash 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: ```text [page 12] mode=apply candidates=5 removed=4 keptHardware=1 unchanged=no url=https://library.vcvrack.com/?page=12&... ``` - `candidates`: visible `Remove` buttons on that page - `removed`: non-hardware-clone modules removed (or would be removed in dry-run) - `keptHardware`: removable modules kept because they have `Hardware clone` - `unchanged`: `yes` when no removals happened on that page ## Options - `--dry-run` preview only, no clicks - `--headless` run without opening browser UI - `--delay-ms=1100` page query delay (minimum is 1000) - `--nav-timeout-ms=30000` timeout per page navigation - `--login-timeout-ms=300000` max wait for login detection - `--mode=all` scan all library pages (default) - `--mode=added` scan only your added modules view - `--start-page=1` start from a page index - `--max-pages=10` limit pages scanned from start page ## Examples Scan all pages with rate limit: ```bash npm run clean:vcv -- --mode=all --delay-ms=1100 ``` Scan only added modules: ```bash npm run clean:vcv -- --mode=added --delay-ms=1100 ```