Skip to content

The storage tools worth having on a developer Mac

Which tools actually help with the folders a developer machine accumulates, and the commands that replace most of them.

6 min read

A developer Mac fills differently from any other kind, and most storage tools are built for the other kind. The folders that matter are hidden, scattered across projects, and named after tools rather than after anything a general cleaner recognises.

What a developer machine actually accumulates

CategoryTypical sizeGuide
Dependency folders per project1 to 50 GB totalnode_modules
Build output per project5 to 50 GBRust target folders
Package manager caches5 to 20 GBnpm cache
Container storage10 to 100 GBDocker
Simulator runtimes and IDE caches10 to 40 GBXcode assets
Language runtimes per version5 to 20 GBversion managers

The commands that replace most tools

du -sh ~/.[a-z]* 2>/dev/null | sort -h | tail -15
find ~ -maxdepth 6 -type d \( -name node_modules -o -name target -o -name .next \) \
  -mtime +90 2>/dev/null -exec du -sh {} + | sort -h | tail -20
docker system df

Those three answer most of it: hidden caches, stale build output, and container storage. Anything a paid tool adds beyond this is convenience rather than capability, which is worth knowing before buying one.

Where a tool earns its place

  • Grouping by project. Seeing that one repository accounts for 12 GB across four folders is more useful than four separate numbers.
  • Knowing what rebuilds. The difference between a cache and an archive is not visible in a size listing.
  • Safe removal. Terminal deletions have no Trash, and a mistyped path in a find -exec rm is a bad afternoon.
  • Recurring visibility. Comparing scans over time shows which tool is growing.

What to avoid

General purpose cleaners are risky on a developer machine specifically, because their rules are written for ordinary applications. A folder called cache inside a project may be build output, or it may be the state a local database needs, and a generic rule cannot tell.

The setup that keeps it manageable

  1. A shared cache for anything that supports one, such as Terraform's plugin cache.
  2. A prune step in CI rather than by hand, per CI runner caches.
  3. Quarterly bulk removal of build output older than 90 days.
  4. An external SSD for archives and images, per what belongs on one.

Common questions

What fills up a developer's Mac?

Dependency folders and build output per project, package manager caches, container storage, simulator runtimes and one language runtime per installed version. Almost all of it is regenerated by a build.

Do I need a paid tool to clean a developer Mac?

No. Three commands cover hidden caches, stale build output and container storage. A tool adds grouping by project, knowledge of what rebuilds, and safer removal than a Terminal delete.

Are general cleaner apps safe on a developer machine?

Less so than on an ordinary Mac. Their rules are written for normal applications, and a folder called cache inside a project may be build output or the state a local database needs.

How often should a developer Mac be cleaned?

A quarterly pass removing build output older than 90 days handles most of it, alongside shared caches and a prune step in CI so the recurring growth is automated.

Read next