Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Add Automated Cache Cleanup for Development Environments on macOS #121

Open
izzalDev opened this issue Oct 12, 2024 · 8 comments
Open

Comments

@izzalDev
Copy link

Is your feature request related to a problem? Please describe.

I'm always frustrated when old caches and temporary files take up unnecessary space on my development environment, slowing down my workflow. Manual cache cleanup is tedious, and it's hard to keep track of which caches are safe to delete without causing issues in active projects.

Describe the solution you'd like

I would like an automated tool that scans and cleans up developer-related caches on macOS. This tool should be able to identify unnecessary or outdated cache files from common development environments such as Xcode, Gradle, npm, Flutter, and others, providing options for selective cleanup based on the development tool in use.

Describe alternatives you've considered

I’ve considered manually deleting cache files or using general system cleanup tools, but they often miss development-specific files or delete crucial ones by mistake. Another option is using individual commands for each tool (e.g., flutter clean, gradle clean), but this lacks centralization and convenience.

Additional context

It would be helpful to have a user-friendly interface or command-line option to specify which development environments to clean up (e.g., Flutter, npm, etc.). Additionally, an optional preview mode that shows the size of caches to be deleted before proceeding would add more control for the developer.

@alienator88
Copy link
Owner

This could fit in with another feature I'm working on. I was going to have a cleaner for Xcode, but could expand on that for other IDEs and languages.
I would just need to know what folders each needs to clean since I'm not super familiar with the others.

@alienator88
Copy link
Owner

Are you familiar with what folders/files need to be deleted for the example tools you mentioned?

@izzalDev
Copy link
Author

Yes, I can help with that! Here are some common cache/temporary directories for the tools I mentioned:

  • Gradle cache: ~/.gradle/caches/
  • Gradle wrapper: ~/.gradle/wrapper/
  • npm cache: ~/.npm/
  • Pub (Dart/Flutter): ~/.pub-cache/
  • Conda environments list: ~/.conda/environments.txt
  • Poetry cache: ~/Library/Caches/pypoetry/

Alternatively, you can make your code modular for developer tools, and I can help guide you through the process.

@alienator88
Copy link
Owner

This is helpful!
I was thinking of adding a new page to the app, maybe call it Development or something like that. Then have a drop down selector where you can choose the dev environment type, say Flutter and list the cache/file directories for that specific environment to clean.

If you have any ideas on what might work better, I'm open to hearing anything you have.

@alienator88
Copy link
Owner

Quick update, got a skeleton version of this development cleaner implemented. Let me know what you think and if you have any other ideas.
Screenshot 2024-11-15 at 12 59 58 PM
Screenshot 2024-11-15 at 12 57 45 PM

@eugenesvk
Copy link

FYI if you fancy expanding from app uninstaller into a more general cleaner app there is another unmaintaned swift project that does that where you could maybe get info on some of the other caches https://github.com/Kevin-De-Koninck/Clean-Me

@alienator88
Copy link
Owner

Thanks @eugenesvk! I'll look into it, but just fyi, I kind of wanted to keep the feature set more minimal.
I don't want it to end up like one of those bloated apps that tries to do everything 😂

@alienator88
Copy link
Owner

I'm releasing this as a beta feature in the next release for everyone to play around with and find bugs or offer more ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants