Mac File Organization Patterns
Standard Mac Directory Purposes
| Directory |
Purpose |
Common clutter |
| ~/Documents |
Long-term personal & work files |
Loose files that may belong in existing project folders |
| ~/Downloads |
Temporary landing zone |
Installers, partial downloads, and copied archives |
| ~/Desktop |
Quick access, active work |
Screenshots and temporary working files |
| ~/Pictures |
Photos Library (managed by Apple) |
Rarely needs manual organization |
| ~/Movies |
iMovie projects, media |
Exports and old project media |
| ~/Music |
Music app, GarageBand |
Managed by apps |
| ~/Dropbox |
Cloud sync |
Local copies from inactive sync folders |
Recommended Personal Folder Structure
~/Documents/
Work/
[Company]/
Projects/
Admin/ (contracts, invoices, HR)
Personal/
Finance/ (budgets, tax, bank statements)
Medical/
Legal/ (IDs, visas, permits, contracts)
Travel/
Creative/
Design-Projects/ (client or personal design work)
Assets/ (fonts, templates, stock images)
3D-Printing/ (STL, GCODE organized by project)
Education/
[Course or Topic]/
Archive/ (old projects, reference material)
File Category Classification
By extension
- Documents: .docx, .doc, .pdf, .pages, .txt, .rtf, .md
- Spreadsheets: .xlsx, .xls, .numbers, .csv
- Presentations: .pptx, .ppt, .key
- Images: .png, .jpg, .jpeg, .gif, .webp, .heic, .svg
- Video: .mp4, .mov, .avi, .mkv
- Audio: .mp3, .wav, .m4a, .aac
- Design: .ai, .psd, .afdesign, .sketch, .fig, .eps
- 3D printing: .stl, .3mf, .gcode, .obj
- Fonts: .ttf, .otf, .woff, .woff2
- Archives: .zip, .rar, .7z, .tar.gz, .dmg
- Code: .html, .css, .js, .py, .swift
By purpose
Classify by searching filenames for keywords. Account for both English and Spanish terms:
- CVs/Resumes: "cv", "resume", "curriculum"
- Invoices: "invoice" / "factura", "receipt" / "recibo"
- Budgets: "budget" / "presupuesto", "financial"
- Contracts: "contract" / "contrato", "agreement"
- Recipes: "recipe" / "receta"
- Letters: "letter" / "carta"
Bilingual filename equivalents
Files may use Spanish or English naming. Common pairs:
- Documents/Documentos, Recipes/Recetas, Invoice/Factura
- Budget/Presupuesto, Contract/Contrato, Letter/Carta
Hidden Dotfiles & Developer Caches
Finder hides home-directory names that start with ., and shallow scans often omit them. Measure these directories before estimating how much space they use. Some hold caches; others hold active configuration, databases, credentials, or tool state.
Common large dotdirs
| Directory |
What it is |
Review or cleanup path |
~/.cache/huggingface |
Downloaded ML models |
Review model names and confirm they can be downloaded again |
~/.npm |
npm package cache |
Inspect with npm cache verify; use npm's cleanup command if needed |
~/.cache/uv |
Python uv cache |
uv cache clean |
~/.cache/pip |
pip download cache |
pip cache purge |
~/.bun/install/cache |
Bun package cache |
Measure this exact subdirectory; do not remove the rest of ~/.bun |
~/.gradle/caches |
Gradle caches |
Check for offline-build requirements before removal |
~/.m2/repository |
Maven dependencies |
Check for local-only artifacts and offline-build requirements |
~/.cargo/registry |
Rust crate cache |
Use cargo cache if installed, or review entries manually |
~/.colima / ~/.lima |
Container VM images and state |
colima delete removes the VM; confirm its data is disposable first |
~/.codex/worktrees |
Codex worktrees |
Confirm each worktree is stale and has no uncommitted changes |
~/.cache/puppeteer |
Downloaded Puppeteer browsers |
Confirm affected projects can download the browsers again |
~/.cache/torch |
Downloaded PyTorch assets |
Review model and checkpoint files before removal |
~/.rustup |
Rust toolchains |
List toolchains with rustup toolchain list; uninstall only unused ones |
~/.platformio |
PlatformIO packages and state |
Keep if PlatformIO projects still use it |
~/.rbenv |
Ruby versions |
List versions with rbenv versions; remove only unused versions |
~/.vscode |
VS Code extensions and data |
Manage extensions in VS Code; do not treat the whole directory as cache |
Some entries are disposable caches, while others mix cache data with active state. Prefer each tool's own cleanup command. Before suggesting manual deletion, name the exact path, measure it, and explain what will need to be downloaded or rebuilt.
~/Library hidden costs
Many scans exclude ~/Library. Measure it rather than assuming which application uses the most space:
| Subdirectory |
What it contains |
What to check |
Application Support/Google/Chrome |
Chrome profiles, databases, and extensions |
Profile ownership and sync status |
Application Support/Code |
VS Code extensions, caches, and WebStorage |
Extension and workspace state |
Caches/ |
Per-application caches |
The owning app's cleanup or reset instructions |
Containers/ |
Sandboxed application data |
Whether the app still uses the container |
Developer/Xcode/DerivedData |
Xcode build output |
Close Xcode and confirm builds can be regenerated |
Developer/CoreSimulator |
Simulator data |
Installed runtimes and devices in Xcode |
Do not delete all of ~/Library/Caches as one operation. Review the largest child directories and use application-specific cleanup where possible.
System-level space consumers
| Location |
What it is |
Review path |
/Library/Developer/CoreSimulator |
iOS Simulator runtimes and APFS volumes |
Check Xcode's installed platforms and xcrun simctl list |
/Library/Frameworks/Python.framework |
Python installations |
Confirm which interpreter each project uses |
/opt/homebrew |
Homebrew packages and support files |
Run brew cleanup --dry-run before brew cleanup |
/Applications/Xcode.app |
Xcode |
Remove only if Xcode is no longer needed |
xcrun simctl delete unavailable removes devices tied to unavailable runtimes. Review xcrun simctl list first.
Common Cleanup Targets
Review before deleting
~$*.docx / ~$*.xlsx: Office lock files; remove only after closing the document and confirming the lock is stale
.DS_Store: Finder metadata that macOS can recreate
$RECYCLE.BIN/: recoverable files from a Windows recycle bin; inspect before emptying
Thumbs.db: Windows thumbnail cache
.Spotlight-V100/: Spotlight index data that macOS may rebuild
.Trashes/: recoverable files from macOS Trash on external drives; inspect before emptying
Other cleanup candidates
.dmg files in Downloads, after confirming the installer is no longer needed
*.partial / *.crdownload files, after confirming no download is active
- Duplicate downloads:
file (1).pdf, file (2).pdf
- wetransfer folders with hash names (after extracting content)
- Empty directories
Build artifacts in code projects
These are often reproducible, but removal can break offline work or discard local-only output. Check the project and its lock files first:
node_modules/ (restore with the project's package manager)
build/, dist/, .next/, .expo/ (build output)
DerivedData/, .build/ (Xcode and Swift build output)
Pods/ (CocoaPods dependencies)
.gradle/ (project-level Gradle cache)
Additional Resources
Reference Files
references/cleanup-checklist.md: read-only inventory commands grouped by review effort
1---2name: mac-file-patterns3description: Analyze macOS file structures, classify files, review cleanup candidates, or plan a folder reorganization. Covers standard Mac directories, file extensions, and English or Spanish filename patterns. Treat every deletion as a review step.4---56# Mac File Organization Patterns78## Standard Mac Directory Purposes910| Directory | Purpose | Common clutter |11|-----------|---------|----------------|12| ~/Documents | Long-term personal & work files | Loose files that may belong in existing project folders |13| ~/Downloads | Temporary landing zone | Installers, partial downloads, and copied archives |14| ~/Desktop | Quick access, active work | Screenshots and temporary working files |15| ~/Pictures | Photos Library (managed by Apple) | Rarely needs manual organization |16| ~/Movies | iMovie projects, media | Exports and old project media |17| ~/Music | Music app, GarageBand | Managed by apps |18| ~/Dropbox | Cloud sync | Local copies from inactive sync folders |1920## Recommended Personal Folder Structure2122```23~/Documents/24 Work/25 [Company]/26 Projects/27 Admin/ (contracts, invoices, HR)28 Personal/29 Finance/ (budgets, tax, bank statements)30 Medical/31 Legal/ (IDs, visas, permits, contracts)32 Travel/33 Creative/34 Design-Projects/ (client or personal design work)35 Assets/ (fonts, templates, stock images)36 3D-Printing/ (STL, GCODE organized by project)37 Education/38 [Course or Topic]/39 Archive/ (old projects, reference material)40```4142## File Category Classification4344### By extension45- **Documents**: .docx, .doc, .pdf, .pages, .txt, .rtf, .md46- **Spreadsheets**: .xlsx, .xls, .numbers, .csv47- **Presentations**: .pptx, .ppt, .key48- **Images**: .png, .jpg, .jpeg, .gif, .webp, .heic, .svg49- **Video**: .mp4, .mov, .avi, .mkv50- **Audio**: .mp3, .wav, .m4a, .aac51- **Design**: .ai, .psd, .afdesign, .sketch, .fig, .eps52- **3D printing**: .stl, .3mf, .gcode, .obj53- **Fonts**: .ttf, .otf, .woff, .woff254- **Archives**: .zip, .rar, .7z, .tar.gz, .dmg55- **Code**: .html, .css, .js, .py, .swift5657### By purpose58Classify by searching filenames for keywords. Account for both English and Spanish terms:59- **CVs/Resumes**: "cv", "resume", "curriculum"60- **Invoices**: "invoice" / "factura", "receipt" / "recibo"61- **Budgets**: "budget" / "presupuesto", "financial"62- **Contracts**: "contract" / "contrato", "agreement"63- **Recipes**: "recipe" / "receta"64- **Letters**: "letter" / "carta"6566### Bilingual filename equivalents67Files may use Spanish or English naming. Common pairs:68- Documents/Documentos, Recipes/Recetas, Invoice/Factura69- Budget/Presupuesto, Contract/Contrato, Letter/Carta7071## Hidden Dotfiles & Developer Caches7273Finder hides home-directory names that start with `.`, and shallow scans often omit them. Measure these directories before estimating how much space they use. Some hold caches; others hold active configuration, databases, credentials, or tool state.7475### Common large dotdirs7677| Directory | What it is | Review or cleanup path |78|-----------|------------|------------------------|79| `~/.cache/huggingface` | Downloaded ML models | Review model names and confirm they can be downloaded again |80| `~/.npm` | npm package cache | Inspect with `npm cache verify`; use npm's cleanup command if needed |81| `~/.cache/uv` | Python uv cache | `uv cache clean` |82| `~/.cache/pip` | pip download cache | `pip cache purge` |83| `~/.bun/install/cache` | Bun package cache | Measure this exact subdirectory; do not remove the rest of `~/.bun` |84| `~/.gradle/caches` | Gradle caches | Check for offline-build requirements before removal |85| `~/.m2/repository` | Maven dependencies | Check for local-only artifacts and offline-build requirements |86| `~/.cargo/registry` | Rust crate cache | Use `cargo cache` if installed, or review entries manually |87| `~/.colima` / `~/.lima` | Container VM images and state | `colima delete` removes the VM; confirm its data is disposable first |88| `~/.codex/worktrees` | Codex worktrees | Confirm each worktree is stale and has no uncommitted changes |89| `~/.cache/puppeteer` | Downloaded Puppeteer browsers | Confirm affected projects can download the browsers again |90| `~/.cache/torch` | Downloaded PyTorch assets | Review model and checkpoint files before removal |91| `~/.rustup` | Rust toolchains | List toolchains with `rustup toolchain list`; uninstall only unused ones |92| `~/.platformio` | PlatformIO packages and state | Keep if PlatformIO projects still use it |93| `~/.rbenv` | Ruby versions | List versions with `rbenv versions`; remove only unused versions |94| `~/.vscode` | VS Code extensions and data | Manage extensions in VS Code; do not treat the whole directory as cache |9596Some entries are disposable caches, while others mix cache data with active state. Prefer each tool's own cleanup command. Before suggesting manual deletion, name the exact path, measure it, and explain what will need to be downloaded or rebuilt.9798### ~/Library hidden costs99100Many scans exclude `~/Library`. Measure it rather than assuming which application uses the most space:101102| Subdirectory | What it contains | What to check |103|-------------|------------------|---------------|104| `Application Support/Google/Chrome` | Chrome profiles, databases, and extensions | Profile ownership and sync status |105| `Application Support/Code` | VS Code extensions, caches, and WebStorage | Extension and workspace state |106| `Caches/` | Per-application caches | The owning app's cleanup or reset instructions |107| `Containers/` | Sandboxed application data | Whether the app still uses the container |108| `Developer/Xcode/DerivedData` | Xcode build output | Close Xcode and confirm builds can be regenerated |109| `Developer/CoreSimulator` | Simulator data | Installed runtimes and devices in Xcode |110111Do not delete all of `~/Library/Caches` as one operation. Review the largest child directories and use application-specific cleanup where possible.112113### System-level space consumers114115| Location | What it is | Review path |116|----------|------------|-------------|117| `/Library/Developer/CoreSimulator` | iOS Simulator runtimes and APFS volumes | Check Xcode's installed platforms and `xcrun simctl list` |118| `/Library/Frameworks/Python.framework` | Python installations | Confirm which interpreter each project uses |119| `/opt/homebrew` | Homebrew packages and support files | Run `brew cleanup --dry-run` before `brew cleanup` |120| `/Applications/Xcode.app` | Xcode | Remove only if Xcode is no longer needed |121122`xcrun simctl delete unavailable` removes devices tied to unavailable runtimes. Review `xcrun simctl list` first.123124## Common Cleanup Targets125126### Review before deleting127- `~$*.docx` / `~$*.xlsx`: Office lock files; remove only after closing the document and confirming the lock is stale128- `.DS_Store`: Finder metadata that macOS can recreate129- `$RECYCLE.BIN/`: recoverable files from a Windows recycle bin; inspect before emptying130- `Thumbs.db`: Windows thumbnail cache131- `.Spotlight-V100/`: Spotlight index data that macOS may rebuild132- `.Trashes/`: recoverable files from macOS Trash on external drives; inspect before emptying133134### Other cleanup candidates135- `.dmg` files in Downloads, after confirming the installer is no longer needed136- `*.partial` / `*.crdownload` files, after confirming no download is active137- Duplicate downloads: `file (1).pdf`, `file (2).pdf`138- wetransfer folders with hash names (after extracting content)139- Empty directories140141### Build artifacts in code projects142These are often reproducible, but removal can break offline work or discard local-only output. Check the project and its lock files first:143- `node_modules/` (restore with the project's package manager)144- `build/`, `dist/`, `.next/`, `.expo/` (build output)145- `DerivedData/`, `.build/` (Xcode and Swift build output)146- `Pods/` (CocoaPods dependencies)147- `.gradle/` (project-level Gradle cache)148149## Additional Resources150151### Reference Files152- **`references/cleanup-checklist.md`**: read-only inventory commands grouped by review effort