Skip to content

[Feature Request] Add developer cache and build artifact cleanup modules (Package Managers & Compilers) #145

Description

@zuoxinyu

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)

  1. 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).
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions