pub const RUN_LONG: &str = "\
Execute a prune pass: across every registered repository with no path, or on one \
repository with `devp run <path>`. Each repository goes through the same gauntlet, \
and a directory is deleted only when every check passes:
1. `ignore.devprune.json` in the root, or `\"ignore\": true` — skipped instantly.
2. Idle check: last commit and newest source mtime, against `idle_days` (15 by
default). `--ignore-idle` lifts this one check and nothing else.
3. Project discovery: the root and up to `scan_depth` levels below it (6 by
default), so a monorepo's every package is found.
4. The package manager's own binary must be present — a directory whose manager
is missing cannot be verified, so it is not touched.
5. Lockfile verification: the manager itself confirms the lockfile can rebuild
the directory. No flag bypasses this, and none ever will.
6. Size floor (`min_size_mb` / `--min-size`), symlink refusal, nested-repository
refusal.
Interactively, a selection TUI shows what would be deleted before anything is; `-y` \
skips the confirmation, and `--dry-run` reports what a pass would do without deleting \
anything at all. Adapter names for `--only`/`--skip` are: npm, pnpm, yarn, bun, uv, \
venv, poetry, pdm, pipenv, cargo, go, composer, bundler, cocoapods, mix, gradle, \
maven, swift — an unknown name is an error listing the valid ones, not a silently \
empty pass. cargo, gradle, maven and swift are opt-in (`devp config set \
enable_cargo true`) and idle-gated separately by `build_idle_days`, because a \
build directory takes far longer to get back than a dependency directory. \
`devp config wizard` switches them on by language, and can give any one adapter \
its own idle window.
`--except` is the safe spelling of \"clean up but keep the API project\": the named \
repositories are never verified, never deleted and never restored, which beats \
pruning them and downloading everything back. Entries match by full path or by \
directory name, case-insensitively, `~` expanded.
`--explain` answers \"why was that repository not pruned?\": every repository and \
directory is listed with its verdict, including the states a normal pass keeps quiet \
about — still active (with the actual age), opted out, under the size floor. It is \
read-only and cannot be combined with `--json`.";