TinyPruneBack to tinyprune.com

Documentation

A safer way to clear the things you no longer need.

TinyPrune gives folders and files a lifetime. It works locally and moves eligible items to the Mac Trash.

Project status

TinyPrune is in active development. Installation instructions will arrive with the first signed release.

Safety is part of every rule.

TinyPrune manages only the folders you choose. It records a stable filesystem identity for each root, then checks the current state again before any item moves.

Trash, not delete

Eligible items use the standard macOS Trash path.

Keep always wins

A Keep override takes precedence over every rule.

Local by design

Normal operation reads metadata only, with no account or cloud sync.

Rules describe a clear boundary.

Every rule establishes where to look, what to match, when it expires, and what happens next.

WHERE  ~/Developer/**
WHAT   Folder named node_modules
WHEN   Project inactive for 30 days
ACTION Move the folder to Trash

A rule can match files or folders by scope, depth, exact name, glob, age, modification time, project inactivity, or an explicit override.

Start in Preview.

Preview runs the same matching and scheduling logic, but does not invoke the Trash executor. It is the right way to test a broad rule before enabling it.

  1. Select a folder you control.
  2. Choose a template or build a rule.
  3. Review the upcoming items and their explanations.
  4. Add Keep or expiry overrides where necessary.
  5. Enable the rule when the result matches your intent.

Updates follow the channel you choose.

Direct downloads will use a signed, notarized DMG and Sparkle update feed. Homebrew installs will use the TinyPrune cask, with Homebrew as the only updater for that channel.

Read CLAUDE.md for engineering constraints and PLAN.md for release architecture.