Skip to content

feat(webui): highlight files that are safe to clean up - #696

Closed
dundee wants to merge 10 commits into
dundee:masterfrom
mikhail-angelov:feat/color-projections
Closed

dundee wants to merge 10 commits into
dundee:masterfrom
mikhail-angelov:feat/color-projections

Conversation

@dundee

@dundee dundee commented Oct 19, 2026

Copy link
Copy Markdown
Owner

No description provided.

Classify items into cleanup categories (build artifacts, package and app
caches, ML models, installers, git-ignored) with marker-based rules and a
.gitignore signal, aggregate candidate space per directory over the full
tree, and expose it via node annotations, GET /api/v1/categories and a
category-pivoted tree. The treemap gains Cleanup, Age and By category
projections with a per-directory legend that filters tiles. User rules and
exclusions are read from the cleanup section of the config file.
Deletions no longer block the UI: the item is drawn hatched at once, more
deletions can be started while earlier ones run, and the data is refreshed
once when the last one finishes. A failed deletion restores the item and
reports why. Navigation waits for running deletions so results land in the
directory they were started from. The server updates the cached cleanup
classification incrementally instead of reclassifying the whole tree.
…rojections

Deleted items now stay in place, cross-hatched, instead of the directory
being reloaded when the last deletion finishes, so the layout no longer
jumps under the cursor. The directory is reloaded on the next navigation.
Projections no longer fade the rest of the map on hover, since their colors
carry meaning; the tooltip gets an opaque backdrop instead.
…hes and toolchains

Scanning several paths put them under the virtual top level dir, whose name
leaked into the paths path rules are matched against, so rules like
~/go/pkg/mod never matched. Scanned roots now use their own absolute path.

Add rules for the Go build cache, Gradle wrapper distributions, Cargo git
checkouts, uv, Bun, npx, pnpm, Yarn, Poetry, CocoaPods, Dart, conda and
other caches, more project build directories, and a new SDKs & toolchains
category (rustup, nvm, pyenv, SDKMAN, Xcode and Android images) marked for
review. Markers may be globs, e.g. *.xcodeproj.
Opening a cache directory showed everything inside it grey, because only
the matched directory itself was classified. Its descendants now report
the same category and confidence (marked as inherited, without repeating
the hint), so the cleanup projection stays meaningful while drilling down.

Also classify the nvm download cache.
Filtering by a category used to fade other tiles only slightly, which was
barely visible on the mostly grey cleanup projection. Matching items are
now drawn in the category's color with the outermost ones outlined,
directories that merely contain matches stay as they are, and everything
else fades strongly. The active legend chip shows its color, a Show all
link and Esc clear the filter.
The project tracks work in GitHub issues and records decisions in
docs/adr; the plan stays available in the branch history.
@codecov

codecov Bot commented Oct 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.91358% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.00%. Comparing base (387cf50) to head (aaf9081).

Files with missing lines Patch % Lines
pkg/cleanup/classify.go 97.16% 4 Missing ⚠️
webui/cleanup.go 96.62% 3 Missing ⚠️
pkg/cleanup/rules.go 91.30% 2 Missing ⚠️
pkg/cleanup/gitignore.go 97.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #696      +/-   ##
==========================================
+ Coverage   90.73%   91.00%   +0.26%     
==========================================
  Files          76       80       +4     
  Lines        6843     7159     +316     
==========================================
+ Hits         6209     6515     +306     
- Misses        633      643      +10     
  Partials        1        1              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dundee dundee changed the title feat(web): highlight files that are safe to clean up feat(webui): highlight files that are safe to clean up Oct 19, 2026
@dundee

dundee commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

Opened as #697

@dundee dundee closed this Oct 19, 2026
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

Successfully merging this pull request may close these issues.

2 participants