Summary
Propose introducing a dedicated Developer Cleanup Module to scan and purge package manager caches, compilation artifacts, and IDE build temporary files across major software ecosystems, drawing inspiration from macOS cleanup utilities like mole.
Motivation & Prior Art
On developer environments, disk consumption escalates rapidly due to distributed package caches, module stores, and incremental build intermediates.
Tools like mole on macOS have demonstrated the utility of treating developer toolchains as first-class citizens by categorizing system cleanup separately from developer artifact cleanup (e.g., Xcode DerivedData, Homebrew caches, CocoaPods, and language-specific managers).
Bringing a comparable, structured developer cleanup capability to Windows via FluentCleaner would address significant disk usage that standard Windows temporary directory cleanups leave untouched.
Proposed Scope & Target Paths
1. Global Package Manager Caches
- Node.js / JavaScript Ecosystem:
- npm cache:
%LocalAppData%\npm-cache
- Yarn global cache:
%LocalAppData%\Yarn\Cache
- pnpm global store:
%LocalAppData%\pnpm\store
- Rust:
- Cargo registry/git cache:
%USERPROFILE%\.cargo\registry\cache, %USERPROFILE%\.cargo\git\db
- Python:
- pip cache:
%LocalAppData%\pip\cache
- uv cache:
%LocalAppData%\uv\cache
- .NET / C#:
- NuGet global packages cache:
%USERPROFILE%\.nuget\packages
- NuGet HTTP cache:
%LocalAppData%\NuGet\v3-cache
- Go:
- Go build cache:
%LocalAppData%\go-build
- Go module cache:
%USERPROFILE%\go\pkg\mod
- C / C++:
- vcpkg downloads/binary cache:
%LocalAppData%\vcpkg\archives, %USERPROFILE%\.vcpkg\archives
- ccache / sccache local cache directories
- Java / JVM:
- Gradle caches:
%USERPROFILE%\.gradle\caches
- Maven local repository:
%USERPROFILE%\.m2\repository
2. IDE & Compiler Artifacts
- Visual Studio / MSBuild:
- Component model cache:
%LocalAppData%\Microsoft\VisualStudio\<version>\ComponentModelCache
- Temporary ASP.NET / MSBuild files
- JetBrains IDEs:
- System caches and indexing temp files:
%LocalAppData%\JetBrains\<Product><Version>\caches
Key Architectural & UX Considerations (Referencing mole)
-
Modular Rule Definitions:
- Abstract each developer toolchain into an isolated, extensible rule module with defined safe-to-delete paths and validation checks (e.g., verifying if the directory is locked by a running compiler daemon).
-
Granular Categorization & Safe Defaults:
- Group targets under a separate "Developer Toolchains" tab/section in the UI.
- Restrict defaults to immutable download/tarball caches; avoid altering active workspace paths (e.g., local project
target or node_modules folders) without explicit user intervention.
-
Pre-Scan Analysis (Dry-Run):
- Provide a breakdown of disk space utilized per toolchain prior to execution, allowing developers to inspect and select specific ecosystems to purge.
Benefits
- Centralizes fragmented CLI operations (
cargo clean, npm cache clean --force, pip cache purge, dotnet nuget locals all --clear) into a single, unified workflow.
- Provides substantial disk reclamation on workstations running modern polyglot development environments.
Summary
Propose introducing a dedicated Developer Cleanup Module to scan and purge package manager caches, compilation artifacts, and IDE build temporary files across major software ecosystems, drawing inspiration from macOS cleanup utilities like mole.
Motivation & Prior Art
On developer environments, disk consumption escalates rapidly due to distributed package caches, module stores, and incremental build intermediates.
Tools like
moleon macOS have demonstrated the utility of treating developer toolchains as first-class citizens by categorizing system cleanup separately from developer artifact cleanup (e.g., XcodeDerivedData, Homebrew caches, CocoaPods, and language-specific managers).Bringing a comparable, structured developer cleanup capability to Windows via FluentCleaner would address significant disk usage that standard Windows temporary directory cleanups leave untouched.
Proposed Scope & Target Paths
1. Global Package Manager Caches
%LocalAppData%\npm-cache%LocalAppData%\Yarn\Cache%LocalAppData%\pnpm\store%USERPROFILE%\.cargo\registry\cache,%USERPROFILE%\.cargo\git\db%LocalAppData%\pip\cache%LocalAppData%\uv\cache%USERPROFILE%\.nuget\packages%LocalAppData%\NuGet\v3-cache%LocalAppData%\go-build%USERPROFILE%\go\pkg\mod%LocalAppData%\vcpkg\archives,%USERPROFILE%\.vcpkg\archives%USERPROFILE%\.gradle\caches%USERPROFILE%\.m2\repository2. IDE & Compiler Artifacts
%LocalAppData%\Microsoft\VisualStudio\<version>\ComponentModelCache%LocalAppData%\JetBrains\<Product><Version>\cachesKey Architectural & UX Considerations (Referencing
mole)Modular Rule Definitions:
Granular Categorization & Safe Defaults:
targetornode_modulesfolders) without explicit user intervention.Pre-Scan Analysis (Dry-Run):
Benefits
cargo clean,npm cache clean --force,pip cache purge,dotnet nuget locals all --clear) into a single, unified workflow.