A cross-platform desktop application for cleaning up system junk files and freeing up disk space.
Clean predefined system files and folders with a single click:
- Scans configured directories for common junk files
- Groups items by category (cache, logs, derived data, etc.)
- Shows total size of reclaimable space
- Displays human-readable names for system folders (e.g., Xcode simulators)
- Allows selective deletion of items or entire groups
Analyze and clean any directory on your system:
- Choose any folder to scan
- Visual pie chart showing space distribution
- Navigate through directory tree
- View detailed size information for each subdirectory
- Delete specific folders or files
Track your cleaning progress:
- Total space cleaned
- Number of items deleted
- Reset statistics
- macOS - Full support with macOS-specific optimizations
- Windows - Supported with PowerShell integration
- Linux - Supported with standard Unix tools
- Xcode simulator cleanup with device names (e.g., "iPhone 15 Pro (iOS 17.0)")
- Xcode DerivedData cleanup
- iOS device support logs
- CocoaPods cache
- Open in Finder integration
- PowerShell-based directory scanning
- Open in Explorer integration
- Fast directory scanning with
ducommand - xdg-open file manager integration
The Simple Cleaner uses a YAML configuration file (config.yaml) to define cleanable items for each platform. You can customize which directories and files to scan.
- Kotlin Multiplatform - Cross-platform application logic
- Compose Multiplatform - Modern UI framework
- Coroutines - Asynchronous operations
- Material Design 3 - Clean and modern interface
# Run the application
./gradlew run
# Generate installers for your current platform
./gradlew packageDistributionForCurrentOS
# Platform-specific installers
./gradlew packageDmg # macOS
./gradlew packageMsi # Windows
./gradlew packageDeb # LinuxThe generated installers will be available in composeApp/build/compose/binaries/main/.
For macOS distribution with code signing and notarization, you need to set the following environment variables:
SIGNING_IDENTITY- Your Apple Developer certificate identity (e.g., "Developer ID Application: Your Name (TEAM_ID)")NOTARIZATION_APPLE_ID- Your Apple ID email addressNOTARIZATION_TEAM_ID- Your Apple Developer Team IDNOTARIZATION_PASSWORD- App-specific password for notarization (generate at appleid.apple.com)
- Native Distribution: Compose Multiplatform Native Distributions Tutorial
org.jetbrains.kotlin.multiplatform: Gradle Plugin Portalorg.jetbrains.compose: Gradle Plugin Portalorg.jetbrains.kotlin.plugin.compose: Gradle Plugin Portalorg.jetbrains.compose.hot-reload: Gradle Plugin Portalorg.jetbrains.kotlin.plugin.serialization: Gradle Plugin Portal