Turn a messy folder into a browsable archive: files are sorted into prefixed category folders, exact duplicates are quarantined instead of archived twice, questionable files are set aside for review, and the whole run can be undone in one step.
Pick a folder (Downloads, Desktop, a memory-card dump…) and review the full plan before anything moves.
Where files go
ft_Images/2026-07/ photos, by capture month
ft_Images/Screenshots/2026-07/ recognised by filename
ft_Documents/Ebooks/2026/ documents, by year
ft_Archives/Installers/ installers, not dated at all
ft_Duplicates/ byte-identical copies, with a manifest
ft_Review/empty|corrupt|junk/ set aside, never deleted
ft_ prefix keeps the extension's output visually apart from folders you made yourself. If an un-prefixed archive already exists in the destination, it is reused rather than split into two parallel trees.What it detects
.DS_Store.Near-duplicates and similar images are heuristics, not proof, so they are only flagged in the plan and still archived normally — you decide what to delete. Broken files and junk are moved to a review folder and never deleted.
Options
Nothing is moved until you confirm the plan.
Moves every file from the most recent run back where it came from and removes the folders that run created — folders that already existed are left alone. Each run writes a manifest under .tidy/runs in the destination, so undo is exact. For an in-place run, pick the source folder itself.
Categories, subcategory rules, the folder prefix, date depth and the detection toggles all live in a shared config file, created with sensible defaults on first run:
~/.config/tidy/config.json%APPDATA%\tidy\config.jsoncategories and subCategories replace the defaults outright, so you can remove rules you don't want. Set folderPrefix to "" for un-prefixed folder names, or detect to false to turn every extra check off.