reshelf 1.9.0
Folders for the shelf
A folder is a grouping you make — "everything I cloned for project X". Separate from categories (a fixed taxonomy describing what a repo is) and from shelves (how much you value it), because a project's worth of repos spans all three shelves and a dozen categories.
Right-click a project → Add to Folder ▸, or New Folder…. Folders get their own sidebar section between Library and Categories, shown only once you have one; each row carries a folder icon and a live count and filters the list like a category row. Rename and delete from the row's context menu.
Deleting a folder only ungroups its projects. They keep their shelf, their clone, their notes, everything — and the confirmation says so. A project belongs to at most one folder, and any project qualifies whether or not it's cloned: uncloning shouldn't eject a repo from the group that exists to make the cleanup possible.
Folders travel with the catalog — in JSON exports and automatic backups — so moving a catalog between Macs no longer drops the grouping. On import they're matched by name, case-insensitively, so two Macs that each made a "Photos app" converge on one folder instead of two.
Batch actions
⌘-click to add rows to a selection, ⇧-click to extend a range. The footer then shows "N selected" with an Actions menu: move them all to a shelf, add them all to a folder, remove their local clones, or remove them from the catalog. Right-clicking inside the selection gives the same menu; right-clicking outside one still acts on that row alone.
Both destructive actions confirm with a count and say what survives — clones go to the Trash and stay in your catalog, catalog removals are backed up first and leave files on disk untouched.
Removed
The v2 Intelligence scaffolding is gone — 78 files. It had been unreachable since 1.7.0 retired the Labs toggle, so nothing you could use went with it.
Signed & notarized, universal (Apple Silicon + Intel), macOS 14+. Full notes in CHANGELOG.md.