69 lines
1.7 KiB
Markdown
69 lines
1.7 KiB
Markdown
# 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
|
|
```
|