windowsweep 1.0.1 → 1.2.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.
Files changed (41) hide show
  1. package/AI-INTEGRATION-GUIDE.md +203 -0
  2. package/CHANGELOG.md +124 -0
  3. package/LICENSE +21 -21
  4. package/README.md +88 -49
  5. package/VERSION +1 -1
  6. package/lib/actions.ps1 +212 -209
  7. package/lib/config.ps1 +108 -99
  8. package/lib/constants.ps1 +103 -89
  9. package/lib/fs.ps1 +189 -180
  10. package/lib/log.ps1 +140 -140
  11. package/lib/safety.ps1 +541 -493
  12. package/lib/scan.ps1 +109 -94
  13. package/lib/ui.ps1 +275 -235
  14. package/modules/android_avd.ps1 +36 -36
  15. package/modules/app_caches.ps1 +58 -58
  16. package/modules/browsers.ps1 +33 -33
  17. package/modules/build_tools.ps1 +35 -35
  18. package/modules/crash_trap.ps1 +89 -89
  19. package/modules/disk_usage.ps1 +49 -49
  20. package/modules/docker.ps1 +93 -93
  21. package/modules/editors.ps1 +150 -150
  22. package/modules/globals_audit.ps1 +236 -0
  23. package/modules/health.ps1 +101 -101
  24. package/modules/installed_programs.ps1 +118 -0
  25. package/modules/menu.ps1 +63 -61
  26. package/modules/notify.ps1 +60 -0
  27. package/modules/orphaned_appdata.ps1 +189 -0
  28. package/modules/personal.ps1 +126 -124
  29. package/modules/pkg_managers.ps1 +73 -69
  30. package/modules/projects.ps1 +160 -143
  31. package/modules/release_helpers.ps1 +438 -434
  32. package/modules/reports.ps1 +212 -212
  33. package/modules/runner.ps1 +242 -190
  34. package/modules/self_test_extra.ps1 +537 -86
  35. package/modules/startup_audit.ps1 +126 -0
  36. package/modules/system_admin.ps1 +220 -220
  37. package/modules/test_runners.ps1 +24 -24
  38. package/modules/walkthrough.ps1 +80 -79
  39. package/modules/windows_user.ps1 +118 -112
  40. package/package.json +4 -3
  41. package/windowsweep.ps1 +322 -296
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  <h1>windowsweep</h1>
6
6
 
7
- <p><strong>Safe-by-default Windows cleanup CLI - developer-aware, dry-run first, zero install via npx.</strong></p>
7
+ <p><strong>Developer-aware Windows cleanup CLI: dry-run first, personal folders refused, zero install via npx.</strong></p>
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/windowsweep.svg)](https://www.npmjs.com/package/windowsweep)
10
10
  [![downloads](https://img.shields.io/npm/dm/windowsweep.svg)](https://www.npmjs.com/package/windowsweep)
@@ -13,35 +13,37 @@
13
13
  [![node](https://img.shields.io/node/v/windowsweep.svg)](https://nodejs.org)
14
14
  [![platform](https://img.shields.io/badge/platform-Windows%2010%20%7C%2011-0078d4?logo=windows&logoColor=white)](https://github.com/aoneahsan/windowsweep#platform-support)
15
15
 
16
- [Docs](https://github.com/aoneahsan/windowsweep/blob/main/docs/README.md) · [npm](https://www.npmjs.com/package/windowsweep) · [GitHub](https://github.com/aoneahsan/windowsweep) · [Changelog](https://github.com/aoneahsan/windowsweep/blob/main/CHANGELOG.md) · [Contributing](https://github.com/aoneahsan/windowsweep/blob/main/CONTRIBUTING.md) · [Support](https://github.com/aoneahsan/windowsweep/issues)
16
+ [Docs](https://github.com/aoneahsan/windowsweep/blob/main/docs/README.md) · [AI Guide](https://github.com/aoneahsan/windowsweep/blob/main/AI-INTEGRATION-GUIDE.md) · [npm](https://www.npmjs.com/package/windowsweep) · [GitHub](https://github.com/aoneahsan/windowsweep) · [Changelog](https://github.com/aoneahsan/windowsweep/blob/main/CHANGELOG.md) · [Contributing](https://github.com/aoneahsan/windowsweep/blob/main/CONTRIBUTING.md) · [Support](https://github.com/aoneahsan/windowsweep/issues)
17
17
 
18
18
  </div>
19
19
 
20
20
  > [!IMPORTANT]
21
21
  > **This tool deletes files.** Most of what it removes are caches that rebuild themselves; personal files it
22
- > lists go to the Recycle Bin; two sections (emptying the Recycle Bin, clearing event logs) are permanent and
23
- > gated behind a separate flag. Start with `npx windowsweep --scan`, which deletes nothing, then
22
+ > lists go to the Recycle Bin; and two sections - emptying the Recycle Bin, clearing event logs - are
23
+ > permanent, with no undo of any kind. Those two sit behind `--i-understand-deep`, along with the hibernation
24
+ > file and disk-image compaction. Start with `npx windowsweep --scan`, which deletes nothing, then
24
25
  > `npx windowsweep --dry-run --all --yes`, which shows exactly what a real run would remove.
25
26
  > **Windows only** - npm refuses to install it elsewhere.
26
27
 
27
- `windowsweep` reclaims the disk space that quietly disappears on a Windows machine: package-manager and build
28
- caches, browser and app caches, Windows temp and update leftovers, stale `node_modules`, half-finished downloads.
29
- It is a PowerShell tool with a thin Node launcher, so `npx windowsweep` runs it with nothing to install. What
30
- sets it apart is restraint: it asks whether you are a developer and keeps the caches you used in the last
31
- 100 days, it names every path before touching it, it never follows a junction, and it makes no network calls.
28
+ What it reclaims is the disk space that quietly disappears on a Windows machine: package-manager and build caches,
29
+ browser and app caches, Windows temp and update leftovers, stale `node_modules`, half-finished downloads.
30
+ It names every path before it touches one, keeps the caches you used in the last 100 days, never follows a
31
+ junction and makes no network calls at all. One question on the first run decides whether your developer caches
32
+ are pruned on the idle gate or cleared completely. A PowerShell engine sits behind a thin Node launcher, so `npx
33
+ windowsweep` runs it with nothing to install.
32
34
  It is the Windows member of a family with [linux-cleanup](https://github.com/aoneahsan/linux-cleanup) and
33
35
  [macleanup](https://github.com/aoneahsan/macleanup).
34
36
 
35
37
  | | |
36
38
  |---|---|
37
- | **Version** | `1.0.1` |
39
+ | **Version** | `1.1.0` |
38
40
  | **License** | MIT |
39
41
  | **Node** | `>=14` (launcher only) |
40
42
  | **Runtime** | Windows PowerShell 5.1 (built in) or PowerShell 7 |
41
43
  | **Platforms** | Windows 10 (1809+) and Windows 11 |
42
- | **Install size** | ~81 kB packed · ~273 kB unpacked · 38 files · no dependencies |
44
+ | **Install size** | ~109 kB packed · ~366 kB unpacked · 44 files · no dependencies |
43
45
  | **Undo** | Recycle Bin for personal files; none for caches (they regenerate) |
44
- | **Status** | Stable · actively maintained |
46
+ | **Status** | Stable · 1.1.0, released 2026-09-04 |
45
47
 
46
48
  <a id="table-of-contents"></a>
47
49
  ## 🧭 Table of Contents&nbsp;[#](#table-of-contents)
@@ -57,6 +59,7 @@ It is the Windows member of a family with [linux-cleanup](https://github.com/aon
57
59
  - [💻 Command Line](#command-line)
58
60
  - [🧪 Examples](#examples)
59
61
  - [🎛️ Advanced Features](#advanced-features)
62
+ - [🖥️ Desktop app](#desktop-app)
60
63
  - [🚑 Recovery & Troubleshooting](#recovery-troubleshooting)
61
64
  - [🚧 Limitations](#limitations)
62
65
  - [❓ FAQ](#faq)
@@ -78,8 +81,8 @@ Yarn and npm caches, Gradle, Cypress and Playwright browsers, Android emulator i
78
81
  `node_modules` for a project you finished in spring, editor caches, two hundred profiles' worth of Chrome cache.
79
82
  Clearing them by hand means keeping a private list of paths and remembering which ones bite back.
80
83
 
81
- A cleaner that wipes every cache it finds trades one problem for another: the next `yarn install` re-downloads
82
- twelve gigabytes and your afternoon is gone. `windowsweep` takes the narrower path.
84
+ A cleaner that clears every cache it finds trades one problem for another: the next `yarn install` downloads
85
+ the lot again, and your afternoon is gone. `windowsweep` takes the narrower path.
83
86
 
84
87
  | | `windowsweep` | Windows Disk Cleanup / Storage Sense | A wipe-everything cleaner |
85
88
  |---|---|---|---|
@@ -93,21 +96,25 @@ twelve gigabytes and your afternoon is gone. `windowsweep` takes the narrower pa
93
96
 
94
97
  Nothing here can promise a number. How much comes back depends on your disk; `--scan` measures it.
95
98
 
96
- **Not the right tool when** you want a graphical, set-and-forget cleaner; when you are on Linux or macOS (use the
97
- siblings); when you want an undo for caches (there is none - they regenerate); or when you are looking for a
98
- security scanner or a registry cleaner. It reclaims disk space, nothing else.
99
+ **Not the right tool when** you want a set-and-forget cleaner that runs itself; when you are on Linux or macOS (use
100
+ the siblings); when you want an undo for caches (there is none - they regenerate); or when you are looking for a
101
+ security scanner or a registry cleaner. The rest of what it cannot do is under [Limitations](#limitations). It
102
+ reclaims disk space, nothing else.
99
103
 
100
104
  <a id="features"></a>
101
105
  ## ✨ Features&nbsp;[#](#features)
102
106
 
103
107
  - **Developer mode** - one question on the first run. Yes keeps package, build and test-runner caches used in
104
108
  the last 100 days and the newest version of every versioned tool; no clears them completely.
105
- - **22 numbered sections** - from package-manager caches to Windows Update leftovers, each naming its paths
106
- before it acts. Numbers are a public contract.
107
- - **One deletion chokepoint** - refuses drive roots, Windows, Program Files, your profile root, personal
108
- folders, credentials, toolchains and browser or editor state; asserts every deletion sits inside its declared
109
- target; never follows a junction or symlink; handles paths beyond 260 characters; skips files another program
110
- has open.
109
+ - **26 numbered sections** - from package-manager caches to Windows Update leftovers, plus three read-only
110
+ audits (global packages, idle programs, startup items) that report and delete nothing. Orphaned application
111
+ data is a fourth 1.1.0 section and is **not** an audit: it asks you to pick, row by row, and what you pick
112
+ goes to the Recycle Bin. Every section names its paths before it acts, and the numbers are a public
113
+ contract.
114
+ - **One deletion chokepoint** - refuses drive roots, Windows, Program Files, your profile root, personal folders,
115
+ - credentials, toolchains and browser or editor state; asserts every deletion sits inside its declared target; never
116
+ - follows a junction or symlink; handles paths beyond 260 characters; skips files another program has open. Self-test
117
+ - check [6] walks every directory and file target and fails if one resolves inside a protected path.
111
118
  - **A dry-run that writes nothing** - `--dry-run` short-circuits every deletion and every destructive command
112
119
  and reports an exact estimate. `--scan` and `--list-targets` are read-only.
113
120
  - **Personal files go to the Recycle Bin** - partial downloads and large stale files are listed, you pick, and
@@ -119,18 +126,19 @@ security scanner or a registry cleaner. It reclaims disk space, nothing else.
119
126
  - **Running-app guard** - an open browser, editor or app keeps its caches; the tool tells you which to close.
120
127
  - **Session reports** - schema-versioned JSON, exportable to Markdown or a self-contained HTML page, plus
121
128
  `--json` for scripts.
122
- - **Self-test** - 114 checks prove the guards on your machine with a real junction, a 400-character path and
129
+ - **Self-test** - 151 checks prove the guards on your machine with a real junction, a 445-character path and
123
130
  a dry-run fixture before you trust it.
124
- - **Offline by design** - zero network calls, no telemetry, no update check. Crash bundles stay on disk.
131
+ - **Offline by design** - the command-line tool makes zero network calls: no telemetry, no update check.
132
+ Self-test check [9] fails the build on an HTTP or socket call in the source. Crash bundles stay on disk.
125
133
 
126
134
  <a id="platform-support"></a>
127
135
  ## 📱 Platform Support&nbsp;[#](#platform-support)
128
136
 
129
137
  | Platform | Supported | Notes |
130
138
  |---|---|---|
131
- | Windows 11 | ✅ | Same engine and PowerShell hosts; a real run on Windows 11 is on the verification list ([roadmap](https://github.com/aoneahsan/windowsweep/blob/main/remaining-work-summary.md)) |
139
+ | Windows 11 | ✅ | Same engine and PowerShell hosts; a real run on Windows 11 is on the verification list ([project status](https://github.com/aoneahsan/windowsweep/blob/main/docs/features/windowsweep-completion/00-tracker.json)) |
132
140
  | Windows 10 (1809 and later) | ✅ | The primary development target; every real run so far |
133
- | Windows Server 2019+ | ⚠️ | Uses nothing newer than 1809; CI runs the self-test and a dry-run on Windows Server (`windows-latest`) on every push, but no real cleanup has been run on Server |
141
+ | Windows Server 2019+ | ⚠️ | Uses nothing newer than 1809; CI runs the self-test and a dry-run on Windows Server (`windows-latest`) on every push to `main` and every pull request, but no real cleanup has been run on Server |
134
142
  | Linux | ❌ | `os: ["win32"]` makes npm refuse to install; use [linux-cleanup](https://github.com/aoneahsan/linux-cleanup) |
135
143
  | macOS | ❌ | Use [macleanup](https://github.com/aoneahsan/macleanup) |
136
144
 
@@ -177,7 +185,7 @@ survives `npx` evictions. Full detail:
177
185
  <a id="quick-start"></a>
178
186
  ## 🚀 Quick Start&nbsp;[#](#quick-start)
179
187
 
180
- Prove the guards, look, rehearse, then clean:
188
+ Prove the guards, look, rehearse, then reclaim:
181
189
 
182
190
  ```powershell
183
191
  npx windowsweep --self-test
@@ -204,7 +212,7 @@ comes back but costs minutes, *Recycle Bin* is recoverable until you empty it (`
204
212
  | 1 | Package-manager caches (npm, yarn, pnpm, bun, deno, pip, uv, Composer, NuGet, Cargo, Go, pub) | rebuilds | - | safe · developer-gated |
205
213
  | 2 | Build-tool caches (Gradle, Maven, Android, Unity, JetBrains) | rebuilds | - | safe · developer-gated |
206
214
  | 3 | Test-runner browsers (Cypress, Playwright, Puppeteer) - newest kept | rebuilds | - | safe · developer-gated |
207
- | 4 | Android emulators idle N+ days | slow | - | opt-in |
215
+ | 4 | Android emulators idle N+ days | slow | - | opt-in, developer-gated |
208
216
  | 5 | Docker: dangling layers, build cache, unused images older than N days | rebuilds | - | safe · developer-gated |
209
217
  | 6 | Editor caches, dead workspace storage, uninstalled extension folders | rebuilds | - | safe |
210
218
  | 7 | Browser caches, every profile (Chrome, Edge, Brave, Vivaldi, Opera, Firefox, ...) | rebuilds | - | safe |
@@ -217,24 +225,30 @@ comes back but costs minutes, *Recycle Bin* is recoverable until you empty it (`
217
225
  | 14 | Component store cleanup (DISM) | rebuilds | yes | opt-in |
218
226
  | 15 | Hibernation file off or reduced | config | yes | deep |
219
227
  | 16 | Clear Windows Event Logs | **permanent** | yes | deep |
220
- | 17 | Stale project build artefacts (`node_modules`, `dist`, `.next`, `target`, ...) | rebuilds | - | interactive |
228
+ | 17 | Stale project build artefacts (`node_modules`, `dist`, `.next`, `target`, ...) | rebuilds | - | interactive, developer-gated |
221
229
  | 18 | Partial / orphan downloads | Recycle Bin | - | interactive |
222
230
  | 19 | Large stale personal files in Downloads | Recycle Bin | - | interactive |
223
- | 20 | Docker Desktop / WSL disk-image compaction | config | yes | deep |
231
+ | 20 | Docker Desktop / WSL disk-image compaction | config | yes | deep, developer-gated |
224
232
  | 21 | Disk usage report | report | - | safe |
233
+ | 22 | Global packages audit (npm, pnpm, yarn, bun, deno) - never uninstalls | report | - | safe · audit only |
234
+ | 23 | Orphaned application data under AppData | Recycle Bin | - | interactive |
235
+ | 24 | Installed programs not modified for N+ days - never uninstalls | report | - | safe · audit only |
236
+ | 25 | Startup items audit - never changes them | report | - | safe · audit only |
225
237
 
226
238
  *Safe* sections run in `--all`; *opt-in* ones run when named in `--only` or a profile; *deep* ones also need
227
- `--i-understand-deep`; *interactive* ones never run unattended. Every section is documented in
228
- [Sections 0-21](https://github.com/aoneahsan/windowsweep/blob/main/docs/sections.md).
239
+ `--i-understand-deep`; *interactive* ones never run unattended unless you pass a selection. The three
240
+ *audit only* sections are read-only and safe, but stay out of `--all` so a cleanup run is a cleanup run -
241
+ `--profile audit` is where they live. Every section is documented in
242
+ [Sections 0-25](https://github.com/aoneahsan/windowsweep/blob/main/docs/sections.md).
229
243
 
230
- ### Clean interactively
244
+ ### Reclaim interactively
231
245
 
232
246
  ```powershell
233
247
  windowsweep # guided walkthrough, one confirmation per step
234
248
  windowsweep --menu # jump to one section; toggle dry-run and auto-yes
235
249
  ```
236
250
 
237
- ### Clean unattended
251
+ ### Reclaim unattended
238
252
 
239
253
  ```powershell
240
254
  windowsweep --all --yes
@@ -300,9 +314,12 @@ windowsweep [mode] [options]
300
314
  | `--temp-days N` | `3` | Idle window for temp folders |
301
315
  | `--purge-all` | off | 🔥 Clear cache targets completely instead of pruning idle files |
302
316
  | `--developer`, `--not-developer`, `--forget-developer` | saved answer | Override or re-ask the developer question |
303
- | `--scan-roots "P1;P2"`, `--exclude-path P` | auto | Section 17 roots and exclusions |
317
+ | `--scan-roots "P1;P2"` | auto | Section 17 project roots |
318
+ | `--exclude-path P` | - | A tree to leave alone, in **every** section (repeatable) |
304
319
  | `--hiberfil off\|reduced\|keep` | ask | What section 15 does |
305
- | `--permanent` | off | Sections 18/19 delete instead of using the Recycle Bin |
320
+ | `--permanent` | off | Sections 18, 19 and 23 delete instead of using the Recycle Bin |
321
+ | `--select L`, `--select-file P` | off | Answer an interactive section's selection in advance, by index or by path - the one way sections 17/18/19/23 run unattended |
322
+ | `--notify` | off | A Windows notification when the run ends |
306
323
  | `--json`, `--quiet`, `--no-color`, `--ascii`, `--no-report`, `--cleanup-logs` | off | Output and record controls |
307
324
 
308
325
  Every flag, exit code and environment variable:
@@ -313,12 +330,12 @@ Every flag, exit code and environment variable:
313
330
 
314
331
  | Goal | Command |
315
332
  |---|---|
316
- | See what is reclaimable, risk-free | `windowsweep --scan` |
333
+ | See what is reclaimable, without deleting anything | `windowsweep --scan` |
317
334
  | Rehearse tonight's cleanup | `windowsweep --dry-run --all --yes` |
318
- | Reclaim the most space as a developer | `windowsweep --profile dev --yes` |
335
+ | Reclaim the most space as a developer | `windowsweep --profile dev --yes --dry-run` first; the `dev` profile includes interactive section 17, so a real `--yes` run exits 3 unless you add `--select-file` |
319
336
  | Reclaim everything a non-developer can | `windowsweep --all --yes --not-developer` |
320
- | Find `node_modules` in projects idle 6 months | `windowsweep --only 17 --days 180 --scan-roots "D:\work"` |
321
- | Free the browser caches after closing the browsers | `windowsweep --only 7 --yes` |
337
+ | Find `node_modules` in projects idle 6 months | `windowsweep --only 17 --days 180 --scan-roots "D:\work" --dry-run` |
338
+ | Reclaim the browser caches after closing the browsers | `windowsweep --only 7 --yes` |
322
339
  | Run the admin sections | `windowsweep --profile system --yes --elevate` |
323
340
  | Weekly unattended run | `windowsweep --install-task` |
324
341
  | Machine-readable output for a script | `windowsweep --all --yes --json` |
@@ -338,7 +355,24 @@ Every flag, exit code and environment variable:
338
355
  [Docs](https://github.com/aoneahsan/windowsweep/blob/main/docs/admin-and-elevation.md)
339
356
  - **Report export** - schema-versioned JSON to Markdown or a self-contained HTML page, no extra tools.
340
357
  [Docs](https://github.com/aoneahsan/windowsweep/blob/main/docs/reports-and-logs.md)
341
- - **Crash bundles** - captured locally on an unexpected exit, never transmitted.
358
+ - **Crash bundles** - the command line writes one locally on an unexpected exit, never transmitted.
359
+
360
+ <a id="desktop-app"></a>
361
+ ## 🖥️ Desktop app&nbsp;[#](#desktop-app)
362
+
363
+ A Tauri window that drives this engine rather than reimplementing it: it runs the bundled `windowsweep.ps1` with `--json --no-color` and carries no cleanup logic of its own. The chokepoint, the protected lists and every refusal are the command line's.
364
+
365
+ - **A run you can watch.**
366
+ - **A picker** for the four sections that ask a person to choose.
367
+ - **Settings, most of them flags.**
368
+
369
+ Screen by screen: [Desktop app](https://github.com/aoneahsan/windowsweep/blob/main/docs/desktop.md).
370
+
371
+ The engine still makes no network calls at all. The window sends usage and crash reports to improve the product for everyone, and there is no switch. Never sent: a file path, a folder name, a drive label, your user name, your machine name, or the contents of anything. Sign-in is separate and optional.
372
+
373
+ The installer is not signed with a paid code-signing certificate, so SmartScreen warns on first run. Every release publishes a SHA-256 checksum and a minisign signature the app's own updater checks; neither is a code-signing certificate. What to do about the dialog: [Desktop app](https://github.com/aoneahsan/windowsweep/blob/main/docs/desktop.md).
374
+
375
+ Download the `.msi` or the `.exe` installer from [Releases](https://github.com/aoneahsan/windowsweep/releases). What each one installs, and what Windows says the first time: [Desktop app](https://github.com/aoneahsan/windowsweep/blob/main/docs/desktop.md).
342
376
 
343
377
  <a id="recovery-troubleshooting"></a>
344
378
  ## 🚑 Recovery & Troubleshooting&nbsp;[#](#recovery-troubleshooting)
@@ -366,7 +400,7 @@ More: [Troubleshooting](https://github.com/aoneahsan/windowsweep/blob/main/docs/
366
400
  newest of write, access and creation time - a file can only look fresher than it is, never older. Some old
367
401
  caches survive the default window; `--days` and `--purge-all` exist for that.
368
402
  - **Admin sections need an elevated console** and a UAC click; a Scheduled Task runs the safe batch only.
369
- - **Disk Cleanup (section 13) cannot preview** how much it will free; its dry-run lists the handlers only.
403
+ - **Disk Cleanup (section 13) cannot preview sizes.** Its dry-run names the handlers it would run and nothing more.
370
404
  - **No automated test suite beyond `--self-test`.** Correctness rests on the self-test's fixtures, dry-runs and
371
405
  real runs on Windows 10 and 11.
372
406
 
@@ -378,8 +412,10 @@ Not from a protected folder, and not without asking. Documents, Desktop, Picture
378
412
  hard refusals. Section 17 lists build artefacts in idle projects and removes only what you select.
379
413
 
380
414
  **Does it phone home?**
381
- No. Zero network calls, no telemetry, no update check. The self-test greps the source for HTTP and socket
382
- calls; `--report-issue` opens your browser at a pre-filled page you submit yourself.
415
+ Not the command-line tool. Zero network calls, no telemetry, no update check. The self-test greps the source for
416
+ HTTP and socket calls; `--report-issue` opens your browser at a pre-filled page you submit yourself. The desktop
417
+ window is a separate program and does send usage and crash reports. What it never sends is listed under [Desktop
418
+ app](#desktop-app).
383
419
 
384
420
  **Why keep files used in the last 100 days?**
385
421
  Because a developer's caches are what make the next install fast. `--days 30` or `--purge-all` when you want
@@ -403,18 +439,21 @@ More: [FAQ](https://github.com/aoneahsan/windowsweep/blob/main/docs/faq.md).
403
439
  | [Quick start](https://github.com/aoneahsan/windowsweep/blob/main/docs/quick-start.md) | running your first cleanup |
404
440
  | [Safety model](https://github.com/aoneahsan/windowsweep/blob/main/docs/safety-model.md) | you want every guarantee spelled out before deleting anything |
405
441
  | [Developer mode](https://github.com/aoneahsan/windowsweep/blob/main/docs/developer-mode.md) | you want to know what the first question changes |
406
- | [Sections 0-21](https://github.com/aoneahsan/windowsweep/blob/main/docs/sections.md) | you want to know precisely what one section touches |
442
+ | [Sections 0-25](https://github.com/aoneahsan/windowsweep/blob/main/docs/sections.md) | you want to know precisely what one section touches |
407
443
  | [CLI reference](https://github.com/aoneahsan/windowsweep/blob/main/docs/cli-reference.md) | you need an exact flag, exit code or variable |
408
444
  | [Admin sections and elevation](https://github.com/aoneahsan/windowsweep/blob/main/docs/admin-and-elevation.md) | before running the system profile or touching the hibernation file |
409
445
  | [Reports and logs](https://github.com/aoneahsan/windowsweep/blob/main/docs/reports-and-logs.md) | parsing the JSON or finding a log |
446
+ | [AI integration guide](https://github.com/aoneahsan/windowsweep/blob/main/AI-INTEGRATION-GUIDE.md) | an agent or a script runs it for you |
447
+ | [Desktop app](https://github.com/aoneahsan/windowsweep/blob/main/docs/desktop.md) | you want the window rather than the command line |
410
448
  | [Troubleshooting](https://github.com/aoneahsan/windowsweep/blob/main/docs/troubleshooting.md) | something failed |
411
- | [Roadmap and remaining work](https://github.com/aoneahsan/windowsweep/blob/main/remaining-work-summary.md) | you want to know what is verified, what is planned (1.1, the docs site) and what is still open |
449
+ | [Project status](https://github.com/aoneahsan/windowsweep/blob/main/docs/features/windowsweep-completion/00-tracker.json) | you want to know what is verified and what is still open: every phase and sub-task with its state and evidence |
412
450
 
413
451
  <a id="changelog"></a>
414
452
  ## 🔄 Changelog&nbsp;[#](#changelog)
415
453
 
416
- Latest release: **`1.0.1`** - `--yes` never selects personal or project items; installers refuse under npx;
417
- exit 130 from the engine; documentation fixes.
454
+ Latest release: **`1.1.0`** - four new sections (global packages, orphaned app data, idle programs, startup
455
+ items), `--select` / `--select-file` so a script or a GUI can drive the interactive sections, `--notify`, and
456
+ `candidates[]`, `targets[]`, progress lines and `--list --json` for machine callers.
418
457
  Full history: [CHANGELOG.md](https://github.com/aoneahsan/windowsweep/blob/main/CHANGELOG.md).
419
458
 
420
459
  <a id="contributing"></a>
package/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.2.0