clean-mymac Svelte Themes

Clean Mymac

MacLens — A macOS system monitor & disk cleaner built with Tauri 2, Rust, and Svelte. Real-time CPU/memory/network dashboard, process manager with kill support, folder disk analyzer with treemap visualization, and a safe cleaner that moves junk files to Trash — never permanent delete.

MacLens

Mac system monitor, disk analyzer, and cleaner — built with Tauri 2 + Rust + Svelte.

Features

  • Dashboard — realtime CPU, memory, disk, network charts (updates every 1s)
  • Processes — searchable/sortable process list, quit or force-kill with confirmation
  • Disk Analyzer — folder picker, treemap + tree view, top folders & files by size
  • Cleaner — suggests junk files (caches, logs, Xcode artifacts, old installers), moves to Trash only — never permanent delete

Requirements

Tool Minimum version Notes
Node.js 18.x (recommend 20.x) Use nvm to manage versions
Rust 1.77+ Install via rustup
Xcode Command Line Tools latest Required for macOS native compilation

Check your versions

node --version    # need >= 18
rustc --version   # need >= 1.77
xcode-select -p   # should return a path

Setup

# 1. Install Rust (if not already)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 2. Use correct Node version
nvm install 20
nvm use 20

# 3. Install npm dependencies
npm install

# 4. Start dev mode
npm run tauri dev

Build for production

npm run tauri build

Output app is in src-tauri/target/release/bundle/.

Project structure

.
├── src/                        # Svelte frontend
│   ├── pages/                  # Dashboard, Processes, DiskAnalyzer, Cleaner, Settings
│   ├── lib/
│   │   ├── api/                # Tauri command wrappers (TypeScript)
│   │   ├── stores/             # Svelte stores (metrics, processes, scanner)
│   │   ├── components/         # UI components
│   │   └── utils/              # formatBytes, formatDuration, formatPercent
│   └── App.svelte
├── src-tauri/                  # Rust backend
│   └── src/
│       ├── commands/           # Tauri command handlers
│       ├── services/           # Business logic (monitor, scanner, cleaner)
│       ├── models/             # Rust data models
│       └── utils/              # format, safe_paths
├── package.json
└── src-tauri/tauri.conf.json

Safety principles

  • Files are always moved to Trash, never permanently deleted
  • Every destructive action requires confirmation
  • System paths (/System, /Library, ~/.ssh, etc.) are protected by default
  • Process kill requires explicit confirmation modal

Top categories

Loading Svelte Themes