dev-prune-darwin-arm64 1.17.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -20
- package/bin/dev-prune +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ gigabytes hostage for a build you are not running.
|
|
|
52
52
|
|
|
53
53
|
`dev-prune` finds those directories across every Git repository you register, and deletes
|
|
54
54
|
them — but only after proving the exact command that puts them back would succeed. It
|
|
55
|
-
knows twenty-
|
|
55
|
+
knows twenty-five package managers, not just the obvious four: Composer, Bundler, Mix,
|
|
56
56
|
CocoaPods and Terraform are as first-class as npm and pip. It is a single Rust binary,
|
|
57
57
|
installs its own background schedule, and answers to two names: `dev-prune` and `devp`.
|
|
58
58
|
|
|
@@ -115,6 +115,11 @@ All three download the prebuilt binary for your platform, verify its published S
|
|
|
115
115
|
put it on `PATH`, and run `dev-prune setup`. Pass `--no-auto-setup` / `-NoAutoSetup` to
|
|
116
116
|
skip that last step.
|
|
117
117
|
|
|
118
|
+
A binary you download and run by hand asks first instead: the first attended run opens
|
|
119
|
+
the settings walkthrough before anything is installed, finishing it is the yes, and
|
|
120
|
+
quitting it means nothing is installed — durably, until you say otherwise with
|
|
121
|
+
`devp setup`.
|
|
122
|
+
|
|
118
123
|
Re-run any of them whenever you like. An install that is already current, complete and on
|
|
119
124
|
`PATH` is left exactly as it is and exits `0` without downloading; an older one is updated
|
|
120
125
|
in place; a newer one is not downgraded. `--force` / `-Force` writes it again regardless.
|
|
@@ -127,17 +132,23 @@ problem.
|
|
|
127
132
|
### From a package manager
|
|
128
133
|
|
|
129
134
|
```bash
|
|
130
|
-
npm install -g dev-prune
|
|
131
|
-
bun add -g dev-prune
|
|
132
|
-
pnpm add -g dev-prune
|
|
133
|
-
yarn global add dev-prune
|
|
134
|
-
uv tool install dev-prune
|
|
135
|
-
pipx install dev-prune
|
|
136
|
-
pip install dev-prune
|
|
137
|
-
cargo binstall dev-prune
|
|
138
|
-
cargo install dev-prune
|
|
135
|
+
npm install -g dev-prune@latest # or: npx dev-prune status
|
|
136
|
+
bun add -g dev-prune@latest # same package, through bun
|
|
137
|
+
pnpm add -g dev-prune@latest
|
|
138
|
+
yarn global add dev-prune@latest # Yarn 1.x
|
|
139
|
+
uv tool install dev-prune@latest # or: uvx dev-prune status
|
|
140
|
+
pipx install --force dev-prune
|
|
141
|
+
pip install --upgrade dev-prune
|
|
142
|
+
cargo binstall dev-prune # fetches the prebuilt release archive
|
|
143
|
+
cargo install dev-prune # builds from source, needs Rust 1.88+
|
|
139
144
|
```
|
|
140
145
|
|
|
146
|
+
Each command installs the latest version *and* updates an existing copy — the same
|
|
147
|
+
line works for both. That is what the `@latest`, `--force` and `--upgrade` spellings
|
|
148
|
+
are for: the bare forms report "already installed" and change nothing, which looks
|
|
149
|
+
like an update and isn't. (`cargo install` rebuilds on its own whenever a newer
|
|
150
|
+
version exists.)
|
|
151
|
+
|
|
141
152
|
The [npm](https://www.npmjs.com/package/dev-prune) and
|
|
142
153
|
[PyPI](https://pypi.org/project/dev-prune/) packages **contain the binary** — there is no
|
|
143
154
|
download step at install time, so they work under `npm ci --ignore-scripts`, behind a
|
|
@@ -185,8 +196,8 @@ brew install https://raw.githubusercontent.com/Life-Experimentalist/dev-prune/ma
|
|
|
185
196
|
scoop install https://raw.githubusercontent.com/Life-Experimentalist/dev-prune/main/packaging/scoop/dev-prune.json
|
|
186
197
|
```
|
|
187
198
|
|
|
188
|
-
|
|
189
|
-
|
|
199
|
+
dev-prune is not in WinGet yet — `winget install VKrishna04.dev-prune` does not
|
|
200
|
+
resolve. On Windows, use Scoop or the install script instead.
|
|
190
201
|
|
|
191
202
|
The two Python entry points differ in where they land. `pip install` follows whichever
|
|
192
203
|
environment is active, so inside a virtualenv `devp` lives in that venv's `Scripts`/`bin`
|
|
@@ -320,8 +331,8 @@ so they are worth copying rather than typing.
|
|
|
320
331
|
| [Open VSX](https://open-vsx.org/extension/VKrishna04/dev-prune) | **`VKrishna04.dev-prune`** | The same extension, for VSCodium, Cursor, Windsurf, Positron and Kiro. |
|
|
321
332
|
| [SchemaStore](https://www.schemastore.org/) | **`.devprune.json`** | The config schema, by filename. No extension and no `$schema` key needed. |
|
|
322
333
|
|
|
323
|
-
|
|
324
|
-
|
|
334
|
+
WinGet is not in the table because dev-prune is not in `winget-pkgs` yet, so
|
|
335
|
+
`winget install VKrishna04.dev-prune` does not resolve.
|
|
325
336
|
|
|
326
337
|
Two of those rows are not installs of dev-prune at all. SchemaStore is why JetBrains
|
|
327
338
|
IDEs, Visual Studio, Neovim and Zed validate `.devprune.json` with nothing installed —
|
|
@@ -617,7 +628,7 @@ process that leaves a dirty working tree is a surprise.
|
|
|
617
628
|
| 🐳 **Container report** | `devp caches docker` (also `podman`, `nerdctl`, `finch`, Apple's `container`, or `containers` for all of them plus local Kubernetes clusters) breaks a container engine's disk into images, containers, local volumes and build cache, each with what the engine itself calls reclaimable, and prints the prune commands narrowest first with what each takes with it. `devp caches clear docker` then runs the narrow ones for you, after asking, and counts them in `devp stats` — **never a volume**, and never from a scheduler or a hook. `devp caches` carries a one-line summary per engine, outside its own total |
|
|
618
629
|
| 📊 **Cache report** | `devp caches` sizes every package manager cache and store on the machine — npm to cargo to conda, Maven, Gradle, NuGet, vcpkg, Conan, Composer, CocoaPods, Hex, Bundler, pub, SwiftPM, Terraform, Poetry, PDM and Deno — and prints the command that clears each. It also finds the stores that belong to no package manager at all and are routinely the largest things in the list: the Playwright and Puppeteer browser bundles, the Cypress binary cache, the Electron and electron-builder download caches, and the HuggingFace hub — a whole browser or model per version, and nothing ever removes the old one. The report is read-only; `devp caches clear <manager>` runs that command for you, after asking. `devp config set cache_max_gb default=10` says how big is too big — for every manager at once, or per manager with `default=10,npm=4` — and marks the ones past it — `devp caches clear --over-cap all` then empties exactly those, still only when you type it. Each manager also says how many of your registered repositories use it and what that works out to per repository, and `devp caches clear --unused all` empties the ones nothing uses at all. pnpm is reported once per filesystem, because a store it hardlinks into `node_modules` cannot cross one and projects kept off the system disk get a store of their own. Nothing on a schedule ever touches a cache, and Maven's `~/.m2/repository` is never cleared at all — it holds artifacts `mvn install:install-file` put there that no remote can hand back |
|
|
619
630
|
| 🩺 **`devp doctor`** | One read-only pass that ends by naming the *single* reason a repository would or would not be pruned. Runs no package manager, repairs nothing, safe to run twice. `devp doctor --fix` then mends what it found — installed-but-broken only |
|
|
620
|
-
| 🤖 **Self-installing automation** | OS-native scheduler (Task Scheduler, LaunchAgent, systemd user timer) and non-blocking Git hooks, installed
|
|
631
|
+
| 🤖 **Self-installing automation** | OS-native scheduler (Task Scheduler, LaunchAgent, systemd user timer) and non-blocking Git hooks, installed once the first run’s walkthrough is accepted (quitting it installs nothing) and restored after an upgrade. `auto_setup`, `auto_hooks`, `auto_daemon` or `DEV_PRUNE_NO_AUTO_SETUP=1` turn it off |
|
|
621
632
|
| ⚡ **0ms opt-out** | An `ignore.devprune.json` in a repository root is honoured by file presence alone — no read, no parse. It applies at registration as well: a bulk scan (`devp init`, and the scheduled pass's own discovery) will not register a repository that holds it, so a repository can decline before it ever reaches `devp status`. `devp link <path>` still registers one, because naming a single repository is not a bulk scan |
|
|
622
633
|
| 🔌 **`--json` on every reporting command** | `run`, `status`, `stats`, `trust` and `caches` each emit one versioned document on stdout, diagnostics on stderr. Built for scripts and agents |
|
|
623
634
|
| 🧠 **AI agent skill** | A token-lean `SKILL.md` embedded in the binary; `devp skill` exports it and prints onboarding prompts for Claude Code, Gemini Antigravity, Cursor, Windsurf, Copilot and OpenClaw, and the repository doubles as a Claude Code plugin marketplace |
|
|
@@ -648,7 +659,7 @@ process that leaves a dirty working tree is a surprise.
|
|
|
648
659
|
| `devp doctor [PATH]` | `--fix` | Diagnoses the installation, or one repository — ending with the single reason a pass would or would not touch it. `--fix` repairs what the checks found; it never performs a first-time install |
|
|
649
660
|
| `devp config [ACTION]` | `get`, `set`, `show`, `wizard`, `project`, `daemon`, `hook`, `icon` | Global settings, per-repository `.devprune.json`, scheduler, Git hooks, file manager icons |
|
|
650
661
|
| `devp setup` | `--status` | Installs any missing integration; `--status` only reports |
|
|
651
|
-
| `devp update` | `--offline`, `--install`
|
|
662
|
+
| `devp update` | `--offline`, `-y`, `--install` | Prints the installed version, checks GitHub for a newer release, shows the upgrade command for your install channel, then asks `[y/N]` before installing when there is one; `-y` answers yes, `--install` skips the report and installs straight away |
|
|
652
663
|
| `devp skill` | `--agent <editor>` | Exports `SKILL.md` and prints AI agent onboarding prompts; `--agent` writes per-repository rules for 16 editors — Cursor, Windsurf, Antigravity, Cline, Roo, Kilo Code, Continue, Amazon Q, Kiro, Trae, Junie, Gemini CLI, Zed, Copilot, Aider or `AGENTS.md` |
|
|
653
664
|
| `devp man` | `--dir <dir>` | The manual as man pages, generated from the same argument definitions `--help` prints; alone it emits `devp(1)` to stdout, `--dir` writes the full set |
|
|
654
665
|
| `devp uninstall` | `--deep` | Removes the scheduler, hooks, both binaries and every other installed copy it can find on the machine; `--deep` also clears configuration |
|
|
@@ -702,11 +713,11 @@ Adapters detect the project, verify the lockfile, and own the bloat directories:
|
|
|
702
713
|
A required binary that is missing is a reason to skip, never a reason to delete: if `npm`
|
|
703
714
|
is not on `PATH`, the `node_modules` it owns is left exactly where it is.
|
|
704
715
|
|
|
705
|
-
The
|
|
716
|
+
The nine build-tool adapters ship **disabled**, because a build tree is regenerated
|
|
706
717
|
by recompiling, not downloading — it costs more to get back. `devp config set
|
|
707
718
|
enable_cargo true` / `enable_gradle true` / `enable_maven true` / `enable_swift true` /
|
|
708
719
|
`enable_dart true` / `enable_mix_build true` / `enable_vcpkg true` /
|
|
709
|
-
`enable_cmake_build true` switches them on, and their candidates wait for
|
|
720
|
+
`enable_cmake_build true` / `enable_dotnet_build true` switches them on, and their candidates wait for
|
|
710
721
|
`build_idle_days` (45 by default), applied as the *maximum* of it and `idle_days` — the
|
|
711
722
|
build-tool gate only ever makes pruning later, never earlier.
|
|
712
723
|
|
|
@@ -816,7 +827,7 @@ once on a first install — so the defaults are something you agreed to rather t
|
|
|
816
827
|
inherited — and again after an upgrade adds a setting you have never been shown.
|
|
817
828
|
|
|
818
829
|
If you already know what you want, `devp config recommended` is the one-command version:
|
|
819
|
-
it turns on the
|
|
830
|
+
it turns on the nine adapters and build trees that are off by default because they are
|
|
820
831
|
not universally wanted, and leaves `allow_manifest_rewrite` — the one recommendation
|
|
821
832
|
that edits files Git tracks — named, explained and off unless you add
|
|
822
833
|
`--with-cautious`. `devp config show` lists whatever you have not taken yet.
|
|
@@ -854,7 +865,7 @@ rather than downloading. That is the whole reason each one is a switch.
|
|
|
854
865
|
|
|
855
866
|
| Key | Default | Meaning |
|
|
856
867
|
| :--- | :---: | :--- |
|
|
857
|
-
| `enable_cargo` … `
|
|
868
|
+
| `enable_cargo` … `enable_dotnet_build` | `false` | Turn on an opt-in build-tool adapter; `build_idle_days` (`45`) gates all nine |
|
|
858
869
|
|
|
859
870
|
**Shared download caches** — one key, because the cap only ever marks.
|
|
860
871
|
|
|
@@ -1002,6 +1013,11 @@ non-blocking `post-commit`, `post-checkout` and `post-merge` Git hooks that regi
|
|
|
1002
1013
|
repositories as you visit them. Both are reinstated after an upgrade if anything went
|
|
1003
1014
|
missing.
|
|
1004
1015
|
|
|
1016
|
+
None of it arrives unasked. A machine that has never agreed opens the settings
|
|
1017
|
+
walkthrough on its first attended run, before anything is installed: finishing the
|
|
1018
|
+
walkthrough is the yes, quitting it is a durable no, and `devp setup` changes the
|
|
1019
|
+
answer whenever you like.
|
|
1020
|
+
|
|
1005
1021
|
```bash
|
|
1006
1022
|
devp setup --status # what is installed, what is not, and why
|
|
1007
1023
|
devp config set auto_setup false # stop the unattended pass entirely
|
package/bin/dev-prune
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dev-prune-darwin-arm64",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "Prebuilt dev-prune binary for darwin arm64. Installed automatically by the 'dev-prune' package; not meant to be depended on directly.",
|
|
5
5
|
"os": ["darwin"],
|
|
6
6
|
"cpu": ["arm64"],
|