CleanX is a cross-platform disk space analyzer and file management tool that helps you visualize disk usage, scan directories, and efficiently clean up storage space.
- 📊 Disk Usage Analysis - Real-time system disk usage monitoring with visual gauges
- 🔍 Directory Scanning - Fast recursive and non-recursive directory scanning
- 📈 Data Visualization - Interactive charts showing:
- File size distribution
- Top file extensions
- Largest files treemap
- Disk usage graphs
- 🗂️ File Explorer - Browse and navigate scanned directories with filtering options
- 🗑️ File Management - Safe deletion of files and folders with confirmation
- 📋 Scan History - Track and manage previous scans
- ⚡ Real-time Updates - Live progress tracking and event notifications
- 🖥️ Cross-platform - Supports Windows, macOS, and Linux
Before running CleanX, ensure you have the following installed:
- Go (version 1.19 or later) - Download Go
- Node.js (version 16 or later) - Download Node.js
- Wails CLI - Install with:
go install github.com/wailsapp/wails/v2/cmd/wails@latest
-
Clone the repository:
git clone <repository-url> cd CleanX
-
Install dependencies:
# Install Go dependencies go mod download # Install frontend dependencies cd frontend npm install # or pnpm install cd ..
To run the application in development mode with hot reload:
wails devThis will:
- Start the Go backend
- Launch a Vite development server for fast frontend hot reload
- Open the application window
- Provide a web interface at
http://localhost:34115for browser development
To build a redistributable executable:
wails buildThe built application will be available in the build/bin/ directory.
CleanX/
├── app.go # Main application entry point
├── main.go # Wails application setup
├── wails.json # Wails configuration
├── backend/ # Go backend modules
│ ├── scan/ # Directory scanning functionality
│ ├── delete/ # File deletion operations
│ ├── disk/ # Disk usage monitoring
│ └── elevate/ # Privilege elevation utilities
├── frontend/ # React TypeScript frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── routes/ # Application pages
│ │ └── utils/ # Utility functions
│ └── wailsjs/ # Generated Wails bindings
└── build/ # Build output directory
- Launch CleanX - Run the built executable or use
wails dev - Select Drive - Choose a drive or directory to scan
- Start Scanning - Click "Nouveau Scan" to analyze disk usage
- Explore Results - Use the file explorer and charts to identify large files
- Manage Files - Delete unnecessary files directly from the interface
- Track History - Review previous scans and deletion activities
CleanX can be configured through wails.json. Key configuration options include:
- Window settings - Size, position, and appearance
- Build options - Target platforms and compilation flags
- Asset bundling - Frontend build configuration
Refer to the Wails documentation for detailed configuration options.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Build failures: Ensure Go and Node.js versions meet requirements
- Permission errors: Run with appropriate permissions for file operations
- Missing dependencies: Run
go mod downloadandnpm install
For detailed logging, run in development mode:
wails dev -debugThis project is licensed under the MIT License - see the LICENSE file for details.
- Built with Wails - Go + Web frontend framework
- UI components powered by React and TypeScript
- Charts and visualizations using modern web technologies