Skip to content

Smart Cleanup

AlexTkDev edited this page Oct 1, 2026 · 4 revisions

Smart Cleanup scans the system for cache files, temporary data, logs, and other removable content. Categories execute in parallel across all available cores.

Scan Database

Cleanup paths come from a two-level database (engine_paths.json + ui_metadata.json, validated against catalog_policy.json) compiled into the app at build time:

  • 2,343 path definitions
  • 304 applications
  • 92 CLI toolchains

Paths use tokenized templates (<CACHES>, <APP_SUPPORT>, <CONTAINERS>, etc.) resolved at runtime.

Scan Modes

The Cleanup page has two sections:

  • Base cleanup (default) — System Cache, App Logs, Browser Cache, and Trash (if enabled in settings). Ready to run without configuration
  • Extended cleanup — full scan of all 55+ categories

Scan Process

  1. Idle — choose additional options and optional categories to include
  2. Scanning — categories are scanned simultaneously. Progress shows step count and current task
  3. Preview — results grouped by category. Each item shows size, risk level, and modification date
  4. Execute — selected items are moved to Trash (recoverable); Trash is emptied at the end of the operation when enabled
  5. Complete — summary of freed space, cleaned items, skipped paths, and a partial-cleanup reason when some items could not be removed

Risk Levels

Badge Meaning
Safe Temporary data, safe to remove
Moderate May affect app startup speed
Dangerous May reset app preferences or require re-login
Protected System-protected path, cannot be deleted

Selection

Nothing is deleted automatically. Risky and personal-content categories (orphaned remnants, old backups, AI/LLM model stores, installer packages) start unselected and require explicit confirmation. Categories with a purple "DEV" badge are developer-related caches.

Additional Options

Toggle these before scanning:

  • .DS_Store files
  • Maven repository (~/.m2/repository)
  • Go module cache (GOMODCACHE)
  • Flutter/Dart .dart_tool in projects
  • iCloud Documents
  • Voice Memos
  • GarageBand / Logic Pro
  • iMovie / Final Cut Pro
  • Sleep Image (hibernation file)
  • Font Cache (guarded: requires confirmation, system restart to take effect)

Review-Only Categories

These are deselected by default and need explicit opt-in: iOS backups, Docker data, iOS Simulators, orphaned remnants, old backups, AI/LLM model stores, installer packages.

Cleanup History

Every cleanup is recorded (date, freed bytes, trigger, category). Recent operations appear on the Dashboard; the full History window opens with ⌘Y and supports search and sorting.

Path Purposes

Every path in the database is classified:

Purpose Meaning
cache Regenerable, cleaned by default
app_data Uninstall-only, never touched by cleanup
shared Shared with other apps, not automatic
user_content Personal content, opt-in only

Safety

All cleanup operations go through SafetyManager, which enforces strict allowed roots and blocks /System, /usr, /bin, ~/.ssh, IDE settings, and other critical paths. Symlinks are validated immediately before deletion. Files are trashed, not permanently deleted; ~/.Trash itself is never deleted.

Debug Mode

When enabled in Settings, a log panel is available during and after cleanup, with script output, error details, and a copy-to-clipboard action.

Clone this wiki locally