Skip to content

DeepDriveCleaner 0.3.0

Choose a tag to compare

@Evgenii-Konev Evgenii-Konev released this 28 Oct 04:48

Settings, and scheduled scans that notify from the app.

DeepDriveCleaner deletes files. It can remove almost anything it is told to, by you or by an agent acting for you. Use it at your own risk: nobody who made it is responsible for what it removes. Read DISCLAIMER.md.

  • Settings. The Settings window has six tabs:

    • General: Open at login, the icon, and where the command-line tool is.
    • Folders: what to scan and what to exclude. External disks can be added too.
    • Schedule: daily or weekly, at a whole hour, with Pause.
    • Automation: when to notify, and what happens after a scheduled scan.
    • Types: what a scan offers to clean.
    • Permissions: Full Disk Access, notifications, and the scheduled scan.

    A scan from Terminal uses the same folders, types and sizes.

  • Two ways to exclude a folder.

    • Count, never clean: the folder is still read and sized, and it is shown as yours.
    • Skip entirely: the folder is never read. Scans get faster, and Review says the folder was not scanned. No clean touches anything inside it.
  • Types follow what you clean. Package downloads (npm, pnpm, yarn, bun, pip, Poetry, Homebrew, CocoaPods) are now separate from toolchain caches (Cargo, uv, Go, Gradle), which an offline build needs. The Maven repository and test browsers also have their own row. Each row shows the classes of what it holds.

  • Scheduled scans from the app.

    • Default schedule. The app scans daily at 10:00 by default, and you can change that in Settings → Schedule. The scan only reads; nothing is removed.
    • Notifications. When there is enough to free, or a disk is almost full, the notification carries the app's name and icon and offers two actions, Review and Remind Me Tomorrow.
    • Optional limits. Notifications can be kept to working hours, or you can turn them off and keep only the badge on the menu bar icon.
  • Replacing the old background scan. If ddc schedule install set up a background scan, the app offers to replace it and keeps your interval and threshold. Until you replace it, the old scan keeps running and the app does not schedule a second one.

  • For scripts.

    • ddc scan and ddc clean take --skip PATH, which adds to settings.json's new skips.
    • The scan report lists skipped folders in not_scanned.
    • ddc rules --json has the new groups.
    • Both schemas keep version 1.

Upgrading. Run brew upgrade --cask deepdrivecleaner.

  • The upgrade quits the app. It opens again at your next login if Open at login is on, or when you open it. Do not upgrade while the app is cleaning.
  • After the upgrade the app schedules a daily scan, even if you had removed the command-line one. Settings → Schedule turns it off.
  • macOS shows that DeepDriveCleaner added a background item.

How it was built, decision by decision, is public too: DeepDriveCleaner-projectstore.

Install (Apple Silicon, macOS 26)

brew install --cask smartandpoint/tap/deepdrivecleaner

DeepDriveCleaner-0.3.0.zip is the app the cask installs. deepdrivecleaner-0.3.0-aarch64-apple-darwin.tar.gz is the command-line tool alone, for a manual install.

Build

  • Commit: 9d0418c270d68c59321a1b787d6d2b04759c65f2
  • Toolchain: rustc 1.99.1 (58cf8f9c3 2026-10-13)
  • Command-line tool: RUSTFLAGS="--remap-path-prefix=$HOME=~" cargo build --release --locked --target aarch64-apple-darwin -p ddc-cli
  • App: scripts/build-app.sh --dist (Release, the command-line tool in Contents/Helpers)
  • Signed with the SmartAndPoint Developer ID (team 8MSDJTBW2D): the app as com.smartandpoint.deepdrivecleaner, the command-line tool as com.smartandpoint.deepdrivecleaner.cli. Notarized by Apple; the app's ticket is stapled
  • SHA-256 of DeepDriveCleaner-0.3.0.zip: aecc16ca308116ffc28d6ed3e7d69170d07ac934a01c9ee16395c5e042cb8823
  • SHA-256 of deepdrivecleaner-0.3.0-aarch64-apple-darwin.tar.gz: 876e2b16b554b1654a2badd4ac6b00f75864c7fb5b1c4c039c37ada79f58b820