Files
wehub-resource-sync bb5c75ce05
Component Security Validation / Security Audit (push) Has been cancelled
Deploy to Cloudflare Pages / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:38:58 +08:00

177 lines
5.0 KiB
Markdown

---
allowed-tools: Bash(df:*), Bash(du:*), Bash(npm cache clean:*), Bash(brew cleanup:*), Bash(rm:*), Bash(find:*), Bash(docker system prune:*)
argument-hint: [--aggressive] | [--maximum]
description: Clean system caches (npm, Homebrew, Yarn, browsers, Python/ML) to free disk space
---
# System Cache Cleanup
Clean temporary files and caches to free disk space: $ARGUMENTS
## Current Disk Usage
- **Disk space**: !`df -h / | tail -1`
- **npm cache**: !`du -sh ~/.npm 2>/dev/null || echo "Not found"`
- **Yarn cache**: !`du -sh ~/Library/Caches/Yarn 2>/dev/null || echo "Not found"`
- **Homebrew cache**: !`brew cleanup -n 2>/dev/null | head -5 || echo "Homebrew not installed"`
## Cleanup Options
Based on the arguments provided, execute the appropriate cleanup level:
### Option 1: Conservative Cleanup (default)
Safe cleanup of package manager caches that can be easily rebuilt:
```bash
# Record starting disk space
echo "Starting cleanup..."
df -h / | tail -1 | awk '{print "Before: " $4 " free"}'
# Clean npm cache
echo "Cleaning npm cache..."
npm cache clean --force
# Clean Homebrew
echo "Cleaning Homebrew..."
brew cleanup
# Clean Yarn cache
echo "Cleaning Yarn cache..."
rm -rf ~/Library/Caches/Yarn
# Show results
df -h / | tail -1 | awk '{print "After: " $4 " free"}'
```
### Option 2: Aggressive Cleanup (--aggressive flag)
Includes all conservative cleanup plus browser and development tool caches:
```bash
# Run conservative cleanup first (from Option 1)
npm cache clean --force
brew cleanup
rm -rf ~/Library/Caches/Yarn
# Clean browser caches
echo "Cleaning browser caches..."
rm -rf ~/Library/Caches/Google
rm -rf ~/Library/Caches/com.operasoftware.Opera
rm -rf ~/Library/Caches/Firefox
rm -rf ~/Library/Caches/Mozilla
rm -rf ~/Library/Caches/zen
rm -rf ~/Library/Caches/Arc
# Clean development tool caches
echo "Cleaning development caches..."
rm -rf ~/Library/Caches/JetBrains
rm -rf ~/Library/Caches/pnpm
rm -rf ~/.cache/puppeteer
rm -rf ~/.cache/selenium
# Clean Python/ML caches
echo "Cleaning Python/ML caches..."
rm -rf ~/.cache/uv
rm -rf ~/.cache/huggingface
rm -rf ~/.cache/torch
rm -rf ~/.cache/whisper
# Show results
df -h / | tail -1 | awk '{print "After aggressive cleanup: " $4 " free"}'
```
### Option 3: Maximum Cleanup (--maximum flag)
Includes all aggressive cleanup plus Docker and old node_modules:
```bash
# Run aggressive cleanup first (from Option 2)
npm cache clean --force
brew cleanup
rm -rf ~/Library/Caches/Yarn
rm -rf ~/Library/Caches/{Google,com.operasoftware.Opera,Firefox,Mozilla,zen,Arc,JetBrains,pnpm}
rm -rf ~/.cache/{puppeteer,selenium,uv,huggingface,torch,whisper}
# Clean Docker (if installed)
echo "Cleaning Docker..."
docker system prune -af --volumes 2>/dev/null || echo "Docker not running or not installed"
# List node_modules directories for manual review
echo "Finding node_modules directories..."
echo "Note: Not auto-deleting. Review and delete manually if needed."
find ~ -name "node_modules" -type d -prune 2>/dev/null | head -20
# Show results
df -h / | tail -1 | awk '{print "After maximum cleanup: " $4 " free"}'
```
## Execution Steps
1. **Determine Cleanup Level**
- No arguments or empty: Run Conservative Cleanup (Option 1)
- `--aggressive`: Run Aggressive Cleanup (Option 2)
- `--maximum`: Run Maximum Cleanup (Option 3)
2. **Safety Checks**
- Verify sufficient permissions
- Ensure critical applications are closed (browsers for Option 2+)
- Warn about Docker containers being removed (Option 3)
3. **Execute Cleanup**
- Run appropriate commands based on the selected option
- Show progress for each cleanup step
- Handle errors gracefully (missing directories, permissions)
4. **Report Results**
- Display disk space before and after
- Show amount of space recovered
- List what was cleaned
- Provide recommendations if more space is needed
## Important Notes
**Conservative Cleanup** (default):
- ✅ Always safe to run
- ✅ Caches rebuild automatically when needed
- ✅ No application impact
**Aggressive Cleanup** (--aggressive):
- ⚠️ Close browsers before running
- ⚠️ Browser caches will rebuild on next use
- ⚠️ ML models will re-download if needed
**Maximum Cleanup** (--maximum):
- ⚠️ Stops and removes all Docker containers/images
- ⚠️ Only deletes node_modules after manual review
- ⚠️ Most impactful but recovers the most space
## Recovery
All cleaned caches are temporary and will rebuild automatically:
- **npm/Yarn**: Rebuilds on next `npm install`
- **Homebrew**: Downloaded on next `brew install`
- **Browsers**: Rebuilds on next browsing session
- **Python/ML**: Re-downloads models on next use
- **Docker**: Pull images again with `docker pull`
## Example Usage
```bash
# Conservative cleanup (default)
/cleanup-cache
# Aggressive cleanup
/cleanup-cache --aggressive
# Maximum cleanup
/cleanup-cache --maximum
```
After cleanup, verify the results and inform the user of:
1. Space freed
2. Current free space
3. What was cleaned
4. Whether additional cleanup is recommended