cdm is an open-source macOS CLI that finds developer caches, build artifacts, Electron junk and orphaned app data β and never deletes anything without showing you the itemized list first. Pure bash. Zero telemetry. MIT.
CleanDevMac (cdm) is a terminal cleaner for macOS developers. It finds the caches and build artifacts that quietly eat your disk β Xcode DerivedData and DeviceSupport, Go/npm/pnpm/yarn/Cargo/Gradle/Maven caches, Electron and browser caches, Docker layers, orphaned app data β shows you what they are and how big, and deletes only what you tick.
There's no install step. It runs straight from a one-liner, scans, and hands you the TUI. When it exits, nothing of it is left on your Mac. There's a dry-run flag too, if you'd rather look before anything is touched.
The things I cared most about:
β’ Nothing is deleted without an itemized confirmation. You see the plan and the sizes, then type y.
β’ ~/Documents, ~/Desktop, ~/Downloads, ~/Pictures, ~/.ssh and iCloud Drive are never touched. That guard sits below the rule engine, so a rule can't opt out of it.
β’ Orphaned app data and git-ignored files go to the Trash, so they're recoverable. Caches are deleted outright β they regenerate on the next build.
β’ Zero telemetry. The only network call cdm ever makes is fetching its own rule JSON.
β’ Rules live in JSON, not code. Edit them, or point --patterns at your own set.
Pure bash, no dependencies, MIT, free β no paid tier, nothing held back.
Curious what it finds on your machine, and what it misses. Happy to answer anything.
Report
The dry-run by default approach is genuinely thoughtful - it treats trust as something you earn instead of assume, which is exactly the right call for a tool that could nuke a dev's machine.
Report
honestly this looks solid, the dry-run preview before deleting anything is exactly the right call. one thing that would make it even better is adding a flag to export the itemized list as json or csv so you can pipe it into other tools or keep a record before nukeing stuff
Report
love the no-surprises preview before deleting anything, that builds real trust. one thing i'd find super useful is a `--dry-run` flag that just estimates the total size reclaimable across all categories without listing every single file, makes it way quicker to decide if it's worth a full scan.
Report
finally something that actually shows me what it wants to nuke before touching anything, the dry-run by default is a really nice touch. ran it on my mac and found a shocking amount of junk from apps i forgot i even had.
Report
finally something that doesn't nuke my homebrew cache without asking. the dry-run list is honestly the feature, caught a few gigabytes of old xcode derived data i didn't even know was there. solid work
Replies
SpeedMaster for Youtube
Hey Product Hunt π
CleanDevMac (cdm) is a terminal cleaner for macOS developers. It finds the caches and build artifacts that quietly eat your disk β Xcode DerivedData and DeviceSupport, Go/npm/pnpm/yarn/Cargo/Gradle/Maven caches, Electron and browser caches, Docker layers, orphaned app data β shows you what they are and how big, and deletes only what you tick.
There's no install step. It runs straight from a one-liner, scans, and hands you the TUI. When it exits, nothing of it is left on your Mac. There's a dry-run flag too, if you'd rather look before anything is touched.
The things I cared most about:
β’ Nothing is deleted without an itemized confirmation. You see the plan and the sizes, then type y.
β’ ~/Documents, ~/Desktop, ~/Downloads, ~/Pictures, ~/.ssh and iCloud Drive are never touched. That guard sits below the rule engine, so a rule can't opt out of it.
β’ Orphaned app data and git-ignored files go to the Trash, so they're recoverable. Caches are deleted outright β they regenerate on the next build.
β’ Zero telemetry. The only network call cdm ever makes is fetching its own rule JSON.
β’ Rules live in JSON, not code. Edit them, or point --patterns at your own set.
Pure bash, no dependencies, MIT, free β no paid tier, nothing held back.
Curious what it finds on your machine, and what it misses. Happy to answer anything.
The dry-run by default approach is genuinely thoughtful - it treats trust as something you earn instead of assume, which is exactly the right call for a tool that could nuke a dev's machine.
honestly this looks solid, the dry-run preview before deleting anything is exactly the right call. one thing that would make it even better is adding a flag to export the itemized list as json or csv so you can pipe it into other tools or keep a record before nukeing stuff
love the no-surprises preview before deleting anything, that builds real trust. one thing i'd find super useful is a `--dry-run` flag that just estimates the total size reclaimable across all categories without listing every single file, makes it way quicker to decide if it's worth a full scan.
finally something that actually shows me what it wants to nuke before touching anything, the dry-run by default is a really nice touch. ran it on my mac and found a shocking amount of junk from apps i forgot i even had.
finally something that doesn't nuke my homebrew cache without asking. the dry-run list is honestly the feature, caught a few gigabytes of old xcode derived data i didn't even know was there. solid work