Agentic-dev garbage collector: reclaims RAM, VRAM, and disk left behind by parallel dev work, without killing your active editors, terminals, or AI tools.
Project description
superclean
An agentic-dev garbage collector. One command, a tiered cleanup ladder, that reclaims the RAM, VRAM, and disk left behind by heavy parallel development, and never touches the editors, terminals, or AI tools you have open.
Why this exists
If you build with Claude Code (or any agentic workflow), your machine looks like this: several IDE windows, a wall of terminals, a fleet of dev servers, repeated Playwright runs, and one or more local models pinned in VRAM. Most of that never cleans up after itself.
Dev servers get orphaned when their parent shell dies. Playwright leaves stale browser builds. pip, npm, uv, and pnpm caches balloon. Models stay loaded long after you stopped using them. After a few days the system runs at capacity on garbage.
superclean is the collector for that garbage. It tells the difference between work you are actively doing and artifacts you are done with, and only removes the second kind.
The tiered ladder
Cleanup escalates through five additive tiers. Each includes everything lighter. A tier name describes intensity and risk, not a specific action, so the ladder is identical on every OS; each tier does what is available on the current platform and reports what it skipped.
| Command | Tier | What it adds |
|---|---|---|
superclean |
(none) | Safe read-only report. Changes nothing. |
superclean dust |
1 | Lightest, always-safe: old temp scratch, trivial caches. |
superclean sweep |
2 | + reclaim live resources: orphan-process kill, RAM/VRAM relief. |
superclean scrub |
3 | + the standard deep clean: package caches, idle model unload, logs. |
superclean wipe |
4 | + heavy and deliberate: browser caches, full temp, Playwright builds. |
superclean nuke |
5 | + destructive: Docker reset, Windows.old. Requires typing NUKE. |
Risk rises with the climb: tiers 1-3 are everyday-safe, wipe confirms, nuke makes you type the word. Plus three utilities: superclean report, superclean ram (RAM/VRAM relief only, no disk), and superclean protected (show what is shielded).
The safety promise
superclean never kills your live tools. A generous baseline of editors, terminals, shells, and AI tools is protected by name, together with every one of their child processes, the entire ancestor chain of the running session, and any process whose command line shows it belongs to an AI agent. The tool also protects its own interpreter, so it can never flag itself. When it is unsure about a process, it leaves it alone. You add your own names in protect.conf.
Platform support
| RAM/VRAM relief | Orphan kill | Cache purge | Deep clean (browser/temp) | Destructive (Docker, Windows.old) | |
|---|---|---|---|---|---|
| Windows | yes | yes | yes | yes | yes |
| macOS / Linux | yes | yes | yes | report-only (v1) | report-only (v1) |
The universal tiers run everywhere. On Windows, the heavy and destructive tiers are handled by a proven PowerShell deep-clean backend that ships with the package. On macOS and Linux, native destructive deep-cleaning is report-only in v1 (see Roadmap).
Install
Zero-install with uv:
uvx superclean-cli # run the safe report
uvx superclean-cli sweep # reclaim live resources
Or install it (the command is superclean):
pipx install superclean-cli
# or
pip install superclean-cli
Requires Python 3.9 or newer. The only dependency is psutil.
The package is superclean-cli on PyPI (the name superclean was taken); the
installed command is superclean.
Recommended workflow
superclean # see what is going on, change nothing
superclean sweep --dry-run # preview the tier you intend to run
superclean sweep # do it
Start at the lightest tier that solves your problem: sweep for "too many orphan processes and VRAM is full", scrub for "disk is filling up". Reach for wipe and nuke deliberately.
Configuration
Three optional files, shared by every platform. superclean looks for them via SUPERCLEAN_CONF_DIR, then your per-user config dir, then the bundled examples. Lines starting with # are comments.
protect.conf- extra process names to never touch (one per line).targets.conf- extra folders to age out atscrub(path|days|label). This is where machine-specific cleanup lives so the core stays generic.services.conf- extra local services to health-check in the report (label|url). Ollama is always checked.
Each ships with commented examples, including the author's own "Albert mode" setup, to copy from.
Scripting
Every command accepts --json for a stable machine-readable result (and suppresses human output), so superclean drops cleanly into pre-commit hooks, CI, or a scheduled idle-clean:
superclean report --json
superclean sweep --dry-run --json
Global flags: --dry-run, --yes/-y, --i-know (only with nuke), --quiet/-q, --json, --no-color, --log <path>, --force-unlock. Exit codes: 0 ok, 1 usage/lock, 3 fatal.
Logs
Every run is logged in full under your per-user data directory:
- Windows:
%LOCALAPPDATA%\superclean\ - macOS:
~/Library/Application Support/superclean/ - Linux:
$XDG_STATE_HOME/superclean/(or~/.local/state/superclean/)
Safety notes
superclean deletes files and stops processes. It is built to be conservative, but you are responsible for what you run on your machine.
- Use the no-arg report and
--dry-runfirst. Always. wipeclears browser caches only when the browser is closed.nukeis destructive and irreversible. It requires typingNUKEby hand unless you explicitly pass--yes --i-know.- Provided as-is, no warranty. See LICENSE.
Roadmap
- Native destructive deep-clean for macOS and Linux (page cache,
~/Library/Caches, docker prune). - A scheduled "garbage-collect on idle" mode.
- Per-project orphan attribution in the report.
Development
The portable core is Python (src/superclean/); the Windows deep-clean backend is PowerShell (windows/). See CONTRIBUTING.md.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file superclean_cli-2.0.0.tar.gz.
File metadata
- Download URL: superclean_cli-2.0.0.tar.gz
- Upload date:
- Size: 45.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f9b1603c549573f5d941f7010e38b864a952518932691ac5952f7aa906d1d49
|
|
| MD5 |
68074a24cf5b1df66987fdb4affa0f10
|
|
| BLAKE2b-256 |
a99e5f19190c933580ab049b7664aad9a90e8fc29d4ba8b0a5ab7aac20ce42ad
|
Provenance
The following attestation bundles were made for superclean_cli-2.0.0.tar.gz:
Publisher:
publish.yml on albertdobmeyer/superclean
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
superclean_cli-2.0.0.tar.gz -
Subject digest:
9f9b1603c549573f5d941f7010e38b864a952518932691ac5952f7aa906d1d49 - Sigstore transparency entry: 1830981779
- Sigstore integration time:
-
Permalink:
albertdobmeyer/superclean@4a1c8b1c94a1e314e657aaf49778b5b3b97739ed -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/albertdobmeyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4a1c8b1c94a1e314e657aaf49778b5b3b97739ed -
Trigger Event:
release
-
Statement type:
File details
Details for the file superclean_cli-2.0.0-py3-none-any.whl.
File metadata
- Download URL: superclean_cli-2.0.0-py3-none-any.whl
- Upload date:
- Size: 58.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75f62be9f26142024da982d86263837e5113f14095104f159e988243e04cd4dc
|
|
| MD5 |
20e1d752748b901bfd74e2b24f041662
|
|
| BLAKE2b-256 |
671faecf519bd5b5f8407e2adbff7756c92967b8b6e2886a544f7a59454e765c
|
Provenance
The following attestation bundles were made for superclean_cli-2.0.0-py3-none-any.whl:
Publisher:
publish.yml on albertdobmeyer/superclean
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
superclean_cli-2.0.0-py3-none-any.whl -
Subject digest:
75f62be9f26142024da982d86263837e5113f14095104f159e988243e04cd4dc - Sigstore transparency entry: 1830981933
- Sigstore integration time:
-
Permalink:
albertdobmeyer/superclean@4a1c8b1c94a1e314e657aaf49778b5b3b97739ed -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/albertdobmeyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4a1c8b1c94a1e314e657aaf49778b5b3b97739ed -
Trigger Event:
release
-
Statement type: