sparewise 0.3.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/LICENSE ADDED
@@ -0,0 +1,43 @@
1
+ Sparewise — Proprietary Software License
2
+ (DRAFT — to be reviewed and finalised by the owner before release)
3
+
4
+ Copyright (c) 2026 Sparewise. All rights reserved.
5
+
6
+ This software, including its source code, object code, documentation and all
7
+ related files (the "Software"), is proprietary and confidential. It is
8
+ licensed, not sold.
9
+
10
+ 1. Permission to use. You may install and use the Software, in the form the
11
+ owner distributes it, on computers you own or control, for personal or
12
+ business purposes, subject to any further terms published with a release.
13
+
14
+ 2. Restrictions. Unless the owner gives written permission, you may not:
15
+ a. copy, publish, distribute, sublicense, rent, lend or sell the Software or
16
+ any part of it;
17
+ b. modify the Software or create works based on it;
18
+ c. reverse engineer, decompile or disassemble the Software, except to the
19
+ extent the law where you live allows it despite this restriction;
20
+ d. remove or change any copyright, trademark or other notice in it.
21
+
22
+ 3. Source code. Access to the source code does not grant any of the rights
23
+ above. The source code is confidential and may only be used by people the
24
+ owner has authorised.
25
+
26
+ 4. Third-party components. The Software includes components owned by others,
27
+ each under its own license; see THIRD-PARTY-NOTICES.md. Those licenses
28
+ apply to those components.
29
+
30
+ 5. Earlier public release. A first prototype of this project was briefly
31
+ published under the MIT License. That grant applies only to that published
32
+ version; it does not extend to this or any later version.
33
+
34
+ 6. No warranty. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY, FITNESS FOR
36
+ A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
37
+
38
+ 7. Limitation of liability. IN NO EVENT SHALL THE OWNER BE LIABLE FOR ANY CLAIM,
39
+ DAMAGES OR OTHER LIABILITY ARISING FROM THE SOFTWARE OR ITS USE, TO THE
40
+ EXTENT THE LAW ALLOWS.
41
+
42
+ 8. Termination. This license ends automatically if you break its terms; you
43
+ must then stop using the Software and delete your copies.
package/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # sparewise
2
+
3
+ See why your Windows drive is full, and free space safely. Developer and AI tool
4
+ caches, local models, Docker and WSL disks, browser and editor caches, all from
5
+ the command line, and as an MCP server for AI assistants.
6
+
7
+ ```
8
+ npx sparewise
9
+ ```
10
+
11
+ No account, no telemetry, no admin rights. Windows 10 and 11, x64 and ARM.
12
+
13
+ ```
14
+ C:\ 520 GB used of 932 GB (56% full)
15
+
16
+ Docker Desktop data 77.0 GB used 4 days ago
17
+ Ollama models 33.6 GB used 5 months ago
18
+ Hugging Face cache 30.3 GB used 6 months ago
19
+ npm cache 17.0 GB used 3 days ago
20
+ uv cache 4.9 GB used 14 days ago
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```
26
+ npx sparewise scan and print
27
+ npx sparewise overview why the drive is full, in plain parts
28
+ npx sparewise free 20GB plan the smallest safe set of caches, confirm, apply
29
+ npx sparewise plan --compress shrink folders you have not used in a month
30
+ npx sparewise undo <run-id> put back what a run moved or compressed
31
+ npx sparewise --export report.md write a shareable report
32
+ npx sparewise mcp run as an MCP server for AI assistants
33
+ ```
34
+
35
+ Add `--json` to most commands for scripts and agents.
36
+
37
+ ## Safe by design
38
+
39
+ - **Scanning changes nothing.**
40
+ - **Every change asks first** and goes to the Recycle Bin or an undo window, so it can be put back. Sparewise never empties the Recycle Bin and never deletes permanently.
41
+ - **Only caches that rebuild by themselves** are offered for removal, each with a rule-based safety verdict. Models, virtual disks, projects and your own files are reported with the right way to remove them, never removed by Sparewise.
42
+ - **Files in use stay**, and the result says so.
43
+
44
+ ## For AI assistants
45
+
46
+ `sparewise mcp` is an MCP server with tools for scanning, planning, freeing space and undo.
47
+ An assistant can read and plan freely. It can change the disk only within limits you set
48
+ (`%LocalAppData%\DevStorage\policy.json`, or Settings in the Sparewise window), and never permanently.
49
+
50
+ ```
51
+ claude mcp add sparewise -- npx -y sparewise mcp
52
+ codex mcp add sparewise -- npx -y sparewise mcp
53
+ ```
54
+
55
+ ## The window
56
+
57
+ A full Windows app with the same engine: Smart Care, a drive map, reports and one-click
58
+ connections for Claude, Cursor and VS Code. [Download it here](https://github.com/sparewise/sparewise/releases/latest).
59
+
60
+ ## Licence
61
+
62
+ Free to use; proprietary. See LICENSE.
package/bin/cli.js ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ // Runs the Windows program for this machine (x64 or ARM), both shipped in this package.
5
+
6
+ const { spawnSync } = require('child_process');
7
+ const path = require('path');
8
+
9
+ const platforms = {
10
+ 'win32-x64': 'sparewise.exe',
11
+ 'win32-arm64': 'sparewise.exe',
12
+ };
13
+
14
+ const key = `${process.platform}-${process.arch}`;
15
+ const executable = platforms[key];
16
+
17
+ if (!executable) {
18
+ console.error(`Sparewise runs on Windows for now (this is ${key}).`);
19
+ console.error(`Supported: ${Object.keys(platforms).join(', ')}.`);
20
+ process.exit(1);
21
+ }
22
+
23
+ const binary = path.join(__dirname, "..", "vendor", key, executable);
24
+ if (!require("fs").existsSync(binary)) {
25
+ console.error(`The Sparewise program for ${key} is missing from this package. Reinstall it.`);
26
+ process.exit(1);
27
+ }
28
+
29
+ const result = spawnSync(binary, process.argv.slice(2), { stdio: 'inherit' });
30
+
31
+ if (result.error) {
32
+ console.error(`Could not start ${path.basename(binary)}: ${result.error.message}`);
33
+ process.exit(1);
34
+ }
35
+
36
+ // A signal (Ctrl+C) ends the launcher the same way it ended the binary.
37
+ if (result.signal) process.kill(process.pid, result.signal);
38
+ process.exit(result.status ?? 1);
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "sparewise",
3
+ "version": "0.3.0",
4
+ "description": "See why your Windows drive is full and free space safely: developer and AI tool caches, models, Docker and WSL. Also an MCP server for AI assistants.",
5
+ "keywords": [
6
+ "mcp",
7
+ "windows",
8
+ "cache",
9
+ "cleanup",
10
+ "cli",
11
+ "disk",
12
+ "disk-space",
13
+ "docker",
14
+ "huggingface",
15
+ "node_modules",
16
+ "ollama",
17
+ "storage",
18
+ "wsl"
19
+ ],
20
+ "license": "SEE LICENSE IN LICENSE",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/sparewise/sparewise.git"
24
+ },
25
+ "bin": {
26
+ "sparewise": "bin/cli.js"
27
+ },
28
+ "files": [
29
+ "bin/",
30
+ "vendor/",
31
+ "README.md",
32
+ "LICENSE"
33
+ ],
34
+ "engines": {
35
+ "node": ">=16"
36
+ }
37
+ }
Binary file
Binary file
Binary file
Binary file