Back to Portfolio

[Update]CleanMyLogs

<Cleanthetahoe/>

Source
[Update] CleanMyLogs

Overview

A lightweight, native macOS menu bar utility designed to monitor and clean up system junk, specifically targeting logs, caches, and developer artifacts. Built with SwiftUI and Swift Package Manager.

Development Process

Features

  • Menu Bar Access: Unobtrusive utility that lives in your menu bar.
  • Monitoring: Real-time calculation of directory sizes for Logs, Caches, Xcode, and more.
  • Visual Feedback:
    • Progress bar showing usage relative to your set limit.
    • Blinking Icon: The menu bar icon blinks when your junk size exceeds the limit.
    • Interactive Labels: Click on any category name to instantly open that folder in Finder.
  • Safe Cleaning: Selective cleaning of specific categories.
  • Automation:
    • Auto-Scan: Efficiently checks sizes every 60 seconds (background priority, zero SSD impact).
    • Global Hotkey: Trigger cleaning instantly with Cmd + Ctrl + Shift + C.
    • Launch at Login: Automatically starts with your system.

Privacy & Permissions

Transparency is key. This application accesses specific directories on your Mac to calculate sizes and perform cleaning operations. It does not collect, transmit, or share any personal data.

Accessed Directories

CleanMyLogs requires Full Disk Access to function correctly (specifically for the Trash and Caches). It operates only on the following user directories:

CategoryPathAction
System Logs~/Library/LogsDeletes all log files.
App Caches~/Library/CachesDeletes application cache files.
Installers~/DownloadsScans for & deletes .dmg and .pkg files only.
Xcode Data~/Library/Developer/Xcode/DerivedDataDeletes Xcode build artifacts.
Xcode Archives~/Library/Developer/Xcode/ArchivesDeletes old app archives.
Homebrew~/Library/Caches/HomebrewDeletes cached Homebrew packages.
Trash~/.TrashPermanently deletes all items in the Trash.

Note: For "Time Machine Snapshots", the app uses the tmutil command which requires Administrator privileges (you will be prompted for your password).

How to Use

Settings & Configuration

  • Notification Limit: Set your preferred threshold (1GB, 2GB, 5GB, 10GB). You'll get a notification if junk exceeds this size.
  • Global Hotkey: hardcoded to Cmd + Ctrl + Shift + C for safety and prevention of conflicts.
  • Persistence: Settings are saved locally in ~/.config/CleanMyLogs/settings.json.

Recent Activity

[update] change notification policy and add script to build to DMG file

1/30/2026

by Đinh Trung Kiên

84c1f8c

[finish] done this project

1/29/2026

by Đinh Trung Kiên

7fb6388

Project Details

Categories
MacOS
When this categories appear, that's mean this project made for MacOS.
Tool & Extension
That's mean this project is tool for another platform or OS
Project Type
Individual
Status
Updated
Tech Stack
MakefileSwiftShell
Links
GitHub Repository

Releases

Latest Versionv1.1

CleanMyLogs_Installer.dmg

MacOS•4.01 MBWeb Upload
Older releases on GitHub