To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.
-
name: putzen
-
description: “putzen” is German for “cleaning”. It helps keep your disk clean by safely removing build and dependency artefacts. The
putzen cachessubcommand is an interactive TUI for browsing and reclaiming space from user-level tool caches (.cargo, .npm, .cache/huggingface, .gradle, …) ranked by score × age. -
snapcraft: putzen-rs/snap/snapcraft.yaml at main · sassman/putzen-rs · GitHub
-
upstream-relation: I am the author and sole maintainer of the upstream project.
-
supported-category: tools for local, non-root user driven configuration of/switching to development workspaces/environments
-
reasoning: Putzen scans, ranks, and presents user-level tool caches in an interactive TUI; nothing is ever deleted without an explicit user selection and a confirmation prompt. There is no auto-delete path. Almost all targeted caches live in dot-directories under HOME (~/.cargo, ~/.npm, ~/.cache/*, ~/.gradle, ~/.ivy2, …). The
homeinterface hides hidden paths, so under strict every cache reads as empty and there is nothing for the user to act on.We evaluated the strict alternatives before requesting classic:
system-backup(the path gdu took, topic 22400) is read-only, so it covers scanning but not the user-confirmed delete - putzen’s primary purpose.personal-fileswrite declarations would have to enumerate every cache root in the manifest, freezing the discovery set putzen exists to grow.--root <dir>accepts arbitrary user-supplied paths at invocation (/var/cache, mounted external drives, CI caches); no strict plug covers that.
Peer disk-cleanup tools (kondo, dust, fclones) ship classic for the same reasons.
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap to work under strict confinement.
Note that snappy-debug can be used to identify possible required interfaces. See https://snapcraft.io/docs/debug-snaps for more information.