Hidden Bastard
macOS Hides Gigabytes of Junk
Your Mac says "Storage Almost Full." You delete files. Still full.
Why: macOS creates hidden files everywhere. Cache folders. System logs. Developer cruft. Spotlight indexes. Old iOS backups. Xcode derived data from projects you deleted years ago.
Hidden files = gigabytes wasted.
Hidden Bastard finds them. Shows exactly what's consuming space. Lets you delete them.
What It Finds
.DS_Store Files (Death By A Thousand Cuts)
macOS creates .DS_Store in every folder you open. Stores icon positions, view settings, folder metadata.
The problem: Thousands of these accumulate. Each is small (few KB). Together = megabytes.
Worse: They sync to cloud storage, external drives, network shares. Pollute everything.
Hidden Bastard: Finds all .DS_Store files. Shows total count + size. Deletes them system-wide.
Cache Folders (The 20GB Surprise)
Common cache hogs:
~/Library/Caches/(browser cache, app cache)- Safari cache (multi-gigabyte easily)
- Chrome cache (even worse)
- Xcode derived data (10GB+ for developers)
- Spotify cache (downloads you forgot about)
- Slack cache (every image ever posted)
Hidden Bastard: Scans all cache locations. Shows size per app. Lets you clear selectively or nuke everything.
iOS Backups (Ancient History)
iTunes/Finder creates local iPhone backups. Old ones never get deleted automatically.
Common scenario:
- Backed up iPhone 8 in 2019 (15GB backup)
- Got new phone in 2020
- Old backup still there
- Consuming space forever
Hidden Bastard: Lists all iOS backups with dates. Shows which devices. Delete ancient ones safely.
Developer Cruft (If You Code)
Xcode DerivedData: 10-30GB for active developers. Contains build artifacts, module cache, logs.
CocoaPods cache: Old pod downloads that don't auto-delete.
npm/node_modules: Every project has full dependency tree. Gigabytes per project.
Python venv: Virtual environments that outlive their projects.
Docker images: Old containers consuming 20GB+.
Hidden Bastard: Targets developer-specific junk. Safely cleans build artifacts, cached dependencies, old environments.
System Logs (The Silent Grower)
System logs accumulate:
/var/log/(system logs)~/Library/Logs/(app logs)- Diagnostic reports
- Crash logs from 2018
Some logs hit gigabytes. macOS doesn't aggressively rotate them.
Hidden Bastard: Identifies old logs safe to delete. Preserves recent ones (debugging). Clears ancient history.
Trash That Won't Empty
Sometimes Trash gets stuck:
- Files "in use" (locked)
- Permission issues
- Corrupted items
Trash shows empty. Still consuming gigabytes.
Hidden Bastard: Force-empties Trash. Handles locked files. Actually frees the space.
How It Works
Scan phase:
# Traverses file system
- Finds all .DS_Store files
- Identifies cache directories
- Locates iOS backups
- Scans developer cruft
- Checks system logs
# Calculates sizes
- Individual file size
- Total per category
- Grand total recoverable space
Review phase:
Category Files Size
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
.DS_Store 2,847 8.2 MB
Browser Cache 1 12.3 GB
Xcode DerivedData 1 18.7 GB
iOS Backups 3 45.2 GB
System Logs 492 2.1 GB
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Total Recoverable 78.5 GB
Delete phase:
- Select categories (or select all)
- Confirm deletion
- Multi-threaded removal (fast)
- Progress bar shows completion
- Reports freed space
Installation
# Clone repository
git clone https://github.com/ghostintheprompt/hidden-bastard
cd hidden-bastard
# Install (requires admin for some directories)
sudo ./install.sh
# Run
hidden-bastard scan
Or download app: