Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View File

@@ -0,0 +1,167 @@
#!/bin/bash
# Безопасная очистка диска — по списку из docs/disk_cleanup/DISK_CLEANUP.md.
# НЕ трогает: Brave, Cursor History/workspaceStorage/extensions, Telegram, pnpm, anytype.
set -e
echo "🧹 Безопасная очистка диска (согласовано с DO_NOT_DELETE)"
echo "=========================================================="
echo ""
cleanup_dir() {
local dir="$1"
local name="$2"
if [ -d "$dir" ] || [ -f "$dir" ]; then
size=$(du -sh "$dir" 2>/dev/null | cut -f1)
echo "🗑️ Удаление $name ($size)..."
rm -rf "$dir" 2>/dev/null && echo "$name очищен" || echo " ⚠️ Не удалось удалить $name"
else
echo " $name не найден, пропускаем"
fi
}
echo "📊 Текущее состояние диска:"
df -h / | tail -1
echo ""
# 1. Кэши разработки: Colima, npm, node-gyp, TypeScript, pip, .yarn
echo "=== 1. Кэши разработки ==="
cleanup_dir "$HOME/.colima" "Colima кэш"
cleanup_dir "$HOME/Library/Caches/colima" "Colima кэш (Library)"
cleanup_dir "$HOME/.npm" "npm кэш"
cleanup_dir "$HOME/Library/Caches/node-gyp" "node-gyp кэш"
cleanup_dir "$HOME/Library/Caches/typescript" "TypeScript кэш"
cleanup_dir "$HOME/Library/Caches/pip" "pip кэш"
cleanup_dir "$HOME/.yarn" ".yarn кэш"
echo ""
# 2. Windsurf полностью (кэш + данные; приложение — удалить вручную из Программы)
echo "=== 2. Windsurf полностью ==="
cleanup_dir "$HOME/.codeium/windsurf" "Codeium/Windsurf кэш"
cleanup_dir "$HOME/.windsurf" "Windsurf данные"
cleanup_dir "$HOME/Library/Application Support/Windsurf" "Windsurf Application Support"
# Если .codeium пуст — можно удалить целиком
[ -d "$HOME/.codeium" ] && [ -z "$(ls -A "$HOME/.codeium" 2>/dev/null)" ] && rm -rf "$HOME/.codeium" && echo " ✅ .codeium (пустая) удалена"
echo ""
# 3. Кэши браузеров — только Google/Firefox (Brave в DO_NOT_DELETE)
echo "=== 3. Кэши браузеров (не Brave) ==="
cleanup_dir "$HOME/Library/Caches/Google" "Google кэш"
cleanup_dir "$HOME/Library/Caches/Firefox" "Firefox кэш"
cleanup_dir "$HOME/Library/Caches/com.brave.Browser" "com.brave.Browser кэш"
echo ""
# 4. Приложения — Notion, zoom, LibreOffice, Movavi, Ledger (Telegram в DO_NOT_DELETE)
echo "=== 4. Кэши приложений ==="
cleanup_dir "$HOME/Library/Application Support/Notion" "Notion"
cleanup_dir "$HOME/Library/Application Support/zoom.us" "zoom.us"
cleanup_dir "$HOME/Library/Application Support/LibreOffice" "LibreOffice"
cleanup_dir "$HOME/Library/Application Support/Movavi" "Movavi"
cleanup_dir "$HOME/Library/Application Support/Ledger Live" "Ledger Live"
echo ""
# 5. Cursor — только разрешённые кэши и state backup (~10 GB)
echo "=== 5. Cursor кэши (только разрешённые) ==="
STATE_BACKUP="$HOME/Library/Application Support/Cursor/User/globalStorage/state.vscdb.backup"
if [ -f "$STATE_BACKUP" ]; then
size=$(du -sh "$STATE_BACKUP" 2>/dev/null | cut -f1)
echo " state.vscdb.backup ($size) — закрыть Cursor перед удалением!"
read -p " Удалить state.vscdb.backup? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
rm -f "$STATE_BACKUP" && echo " ✅ state.vscdb.backup удалён" || echo " ⚠️ Закрой Cursor и повтори"
else
echo " ⏭️ Пропущено"
fi
fi
cleanup_dir "$HOME/Library/Caches/com.todesktop.230313mzl4w4u92.ShipIt" "Cursor ShipIt"
cleanup_dir "$HOME/Library/Application Support/Cursor/WebStorage" "Cursor WebStorage"
cleanup_dir "$HOME/Library/Application Support/Cursor/Partitions" "Cursor Partitions"
cleanup_dir "$HOME/.cursor/projects" "Cursor projects"
echo ""
# 6. Homebrew, .cache, пустые логи
echo "=== 6. Homebrew, .cache, пустые логи ==="
cleanup_dir "$HOME/Library/Caches/Homebrew" "Homebrew кэш"
cleanup_dir "$HOME/.cache" ".cache"
find "$HOME/Library/Logs" -type f -size 0 -delete 2>/dev/null && echo " ✅ Пустые логи удалены" || true
echo ""
# 7. ScreenRecordings (по желанию)
echo "=== 7. Записи экрана ==="
if [ -d "$HOME/Library/ScreenRecordings" ]; then
count=$(find "$HOME/Library/ScreenRecordings" -type f 2>/dev/null | wc -l | tr -d ' ')
if [ "$count" -gt 0 ]; then
echo " Найдено файлов: $count"
read -p " Удалить все записи экрана? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
cleanup_dir "$HOME/Library/ScreenRecordings" "Записи экрана"
else
echo " ⏭️ Пропущено"
fi
else
echo " Папка пуста"
fi
fi
echo ""
# 8. Build артефакты (исключая hunabapp-dev/frontend/android — в DO_NOT_DELETE)
echo "=== 8. Build артефакты в ~/code (кроме android) ==="
read -p " Удалить build/dist/.next/out? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
find "$HOME/code" -type d \( -name "build" -o -name "dist" -o -name ".next" -o -name "out" \) \
-not -path "*/node_modules/*" \
-not -path "*/venv/*" \
-not -path "*/.venv/*" \
-not -path "*/site-packages/*" \
-not -path "*/env/*" \
-not -path "*/hunabapp-dev/frontend/android/*" \
-exec rm -rf {} + 2>/dev/null || true
echo " ✅ Готово"
else
echo " ⏭️ Пропущено"
fi
echo ""
# 9. node_modules (опционально; НЕ frontend — в DO_NOT_DELETE)
echo "=== 9. node_modules (кроме hunabapp-dev/frontend) ==="
read -p " Удалить node_modules в проектах? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
find "$HOME/code" -type d -name "node_modules" \
-not -path "*/venv/*" \
-not -path "*/.venv/*" \
-not -path "*/hunabapp-dev/frontend/node_modules" \
-exec rm -rf {} + 2>/dev/null || true
echo " ✅ Готово. В нужных проектах: pnpm install"
else
echo " ⏭️ Пропущено"
fi
echo ""
# 10. UTM виртуальная машина — опционально
echo "=== 10. UTM виртуальная машина ==="
if [ -d "$HOME/code/Parrot-home-mate-6.4_arm64.utm" ]; then
read -p " Удалить UTM виртуальную машину? (y/n): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
cleanup_dir "$HOME/code/Parrot-home-mate-6.4_arm64.utm" "UTM виртуальная машина"
else
echo " ⏭️ Пропущено"
fi
else
echo " Не найдена"
fi
echo ""
echo "=========================================================="
echo "📊 Состояние диска после очистки:"
df -h / | tail -1
echo ""
echo "✅ Очистка завершена. Перезапустите приложения при необходимости."
echo " Список: docs/disk_cleanup/DISK_CLEANUP.md"
echo ""