Skip to content

carwash os: clean the operating system's space hogs - #12

Merged
nicholasjpaterno merged 1 commit into
mainfrom
feat/os-cli
Oct 15, 2026
Merged

nicholasjpaterno merged 1 commit into
mainfrom
feat/os-cli

Conversation

@nicholasjpaterno

Copy link
Copy Markdown
Contributor

Adds carwash os, the CLI for OS mode on top of the sweep engine (#10) and the area catalog (#11).

List the areas present on this machine, numbered, with what cleaning each frees, apps that must be closed, and how to clean report-only areas by hand (--json too)
Clean the default tier with carwash os clean, or areas by id or number (2,5-7 trash)
Print commands that need root or administrator, or run them through sudo or a UAC prompt with --escalate; refuse to run as root
Reuse the existing confirmation, --yes, --dry-run and history behaviour; named areas left undone exit 1
Read user areas and overrides from ~/.config/carwash/system.toml
Document OS mode in the README and changelog

The tests define their own areas through the override file, so they don't depend on what's installed on the runner.

`carwash os` lists the areas present on this machine, numbered, with
what cleaning each would free (a dry-run sweep, so age floors and kept
names are applied), apps that must be closed, and how report-only
areas are cleaned by hand. `--json` for scripts.

`carwash os clean` cleans the default tier, or areas named by id or
number (1,3-5). Swept areas skip running apps' caches; commands run
with the terminal attached. Commands that need root or administrator
rights are printed, or run through sudo or a UAC prompt with
--escalate; carwash refuses to run as root. Same confirmation, --yes,
--dry-run and history as the other clean commands. Named areas left
undone exit 1; an open app does not fail a default-tier clean.

User areas and overrides live in ~/.config/carwash/system.toml.
@nicholasjpaterno
nicholasjpaterno merged commit 5ccb0d8 into main Oct 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant