Developer Disk Cleaner is a lightning-fast, production-ready Windows desktop utility designed specifically for developers to safely manage, scan, and clean up massive node_modules folders scattered across their hard drives.
If you're tired of running out of disk space because of forgotten JavaScript projects, this tool is for you!
β If you find this project useful, please consider giving it a star on GitHub and following me for more awesome tools! β
- π Lightning Fast Scanning: Scans entire drives or specific folders in the background using multithreading (
QThread), ensuring the UI never freezes. - π§ Smart Project Detection: Automatically detects the framework (React, Next.js, Vue, Angular, Vite, etc.) and package manager (npm, yarn, pnpm, bun) of your projects.
- π¨ Modern Dark UI: A beautiful, responsive, and distraction-free dark theme built with PySide6.
- π‘οΈ Recovery Bin & Dry Run:
- Dry Run: See exactly how much space you'll recover before deleting anything.
- Recovery Bin: Safely move
node_modulesto a temporary recycle bin instead of permanently deleting them, ensuring zero data loss.
- π Real-time Dashboard: Instantly view the total number of projects,
node_modulesfound, and the total space consumed. - π Advanced Filtering & Sorting: Instantly search for specific projects or filter by frameworks.
- π Quick Actions: Right-click any project to instantly open the project directory or the
node_modulesfolder in your file explorer. - π₯ Export to CSV/JSON: Easily export your scan results for record-keeping.
- Python 3.10 or higher installed on your system.
-
Clone the repository:
git clone https://github.com/yourusername/developer-disk-cleaner.git cd developer-disk-cleaner -
Install the required dependencies:
pip install -r requirements.txt
-
Run the application: You can run the application directly via Python:
python main.py
Alternatively, if you are on Windows, you can simply double-click the
start.batfile to launch the application instantly.
- Scan your drive: Click Scan Folder(s) and select your root development directory (e.g.,
C:\Users\YourName\Documents\Projects). - Review your projects: The tool will list all found
node_modules, along with the project name, framework, and size. - Select what to delete: Use the checkboxes to select the old, inactive projects you want to clean up.
- Dry Run (Optional): Click Dry Run to verify how much disk space will be freed.
- Delete Selected: Click Delete Selected. By default, folders are moved to a safe Recovery Bin. You can change this behavior in the Settings.
This project is built using a clean, modular Object-Oriented architecture using PySide6 (Qt for Python).
DeveloperDiskCleaner/
βββ main.py # Application entry point
βββ start.bat # Windows quick-start script
βββ requirements.txt # Dependencies
βββ core/ # Core business logic
β βββ scanner.py # Background scanning (QThread)
β βββ deleter.py # Deletion logic (Dry Run, Permanent, Recovery Bin)
β βββ detector.py # Project detection heuristics
β βββ exporter.py # CSV/JSON data export
β βββ settings.py # QSettings wrapper
βββ ui/ # GUI components
β βββ main_window.py # Main UI layout and interactions
β βββ models.py # Custom QAbstractTableModel for extreme performance
β βββ settings_dialog.py # Preferences dialog
βββ utils/ # Helper utilities
β βββ helpers.py # Formatting functions
β βββ logger.py # Application logging setup
βββ resources/styles/ # QSS stylesheets (Dark Mode)
Contributions are always welcome! Whether it's a bug report, a new feature suggestion, or a pull request, your input is highly valued.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
If this tool saved your hard drive from overflowing, please hit the β button at the top right of this page! Follow me on GitHub to stay updated on my latest open-source projects!