Investigate Developer Folder Disk Usage
Find the largest project, then identify whether source files, dependencies, or build products account for its usage. DiskTreeSize includes descriptions for some common developer directories.
A developer's Mac can hold many projects whose source code is small but dependencies, build products, simulator data, and archives accumulate. Start with two questions: which project is largest, and which part of that project accounts for the size?
DiskTreeSize's tree supports that comparison. It also describes some common developer directories, without deciding that an old or large project is disposable.
Compare projects before changing caches
Select the parent of your projects for analysis. Sort Size or Allocated from largest to smallest, then expand the largest project.
Separate source files, media assets, installed dependencies, and generated output. A folder called build can have different meanings across projects; its name alone does not establish that its contents are reproducible. See the folder-size guide for controls.
Identify common directories
| Directory or usual location | Typical role | What to check first |
|---|---|---|
Project node_modules |
Installed frontend or Node.js dependencies | Dependency declarations, lockfiles, package availability, and local modifications |
Project .next |
Next.js default build directory | Whether it is needed for the running or deployed app; output can be customized |
~/Library/Developer/Xcode/DerivedData |
Xcode build and indexing data | Active builds, project configuration, and regeneration cost |
~/Library/Developer/Xcode/Archives |
Version archives | Distributed versions, debug symbols, and backups |
~/Library/Developer/CoreSimulator |
Simulator-related data | Devices and test data still needed; inspect Xcode's management controls |
The ~ represents your home folder. These directories exist only when the relevant tools use them, and locations can be customized. An absent directory does not need to be created.
npm's folder documentation distinguishes installed project dependencies from npm's cache. Next.js uses .next by default but permits a different build directory; see its distDir documentation.
Include hidden directories in the investigation
Dot-prefixed directories such as .next may be hidden in Finder. DiskTreeSize includes hidden items when scanning an authorized, accessible location, so the visible Finder entries alone need not explain its size.
For Xcode data, select an existing ~/Library/Developer folder or a narrower location. Use Command-Shift-G in the selection dialog to enter the path. Permissions can still restrict access; the System Data guide explains how to choose these locations.
Read recognized folder descriptions
Right-click a directory in the tree. For recognized names or common paths, the menu can describe Node dependencies, Xcode build caches, app archives, or simulator data.
These descriptions are based on names and paths, rather than recovery tests. Distinguish potentially reproducible products from records you need to keep. A cache description does not override the project's current use.
Apple requires retaining the Xcode archive for each distributed build to preserve the corresponding debugging symbols for crash analysis. See Apple's debugging information guide. Treat Archives differently from ordinary build caches even after release.
Search known names, then inspect individual results
Enter node_modules or DerivedData in Search name…, press Return, and select a result to locate it in the tree. Search matches names, not file contents, and displays up to 200 results.
There is no dedicated total for all dependency directories or automatic detection of abandoned projects. For many results, choose a narrower work folder, compare its projects by size, and inspect their children.
Confirm recovery and keep a record
Before changing a project, establish that source files are retained, dependencies or generated output can be restored, and the project is not currently using them. Use the responsible tool's management controls where applicable. Dependencies, environments, and toolchains are not interchangeable caches.
Scanning, sorting, and folder descriptions are free. Optional Pro access adds Finder navigation, report export, and confirmed moves to Trash; a trial can be started on the first request for a Pro feature.
For a record, save reports from the same location before and after organizing it, then compare matching paths manually. The report export guide explains coverage and limits. Rescan afterward and check actual available disk space.
Frequently asked questions
Does DiskTreeSize automatically remove developer caches?
No. It compares folder sizes and describes some common developer directories. A description is not a complete inspection of the contents. Consider project status, backups, and recovery before deciding what to retain.
Can it total every node_modules folder automatically?
There is no dedicated dependency-folder total. Scan a work folder, search for node_modules, and inspect the matching items individually. Name search displays up to 200 results and should not be treated as a complete inventory.
Can I delete Xcode Archives once an app is released?
Release status alone is not enough. Apple requires retaining an Xcode archive for each distributed build because its symbols are needed for crash analysis. Review the relevant versions and backup requirements.