A versatile utility toolkit for recording, tracking, and managing file organization tasks from the command line. Each command logs timestamped entries to its own dedicated log file, with built-in statistics, multi-format export, search, and health-check capabilities.
CommandDescriptiontidyfiles run <input>Record a run entry (no args: show recent entries)tidyfiles check <input>Record a check entry (no args: show recent entries)tidyfiles convert <input>Record a convert entry (no args: show recent entries)tidyfiles analyze <input>Record an analyze entry (no args: show recent entries)tidyfiles generate <input>Record a generate entry (no args: show recent entries)tidyfiles preview <input>Record a preview entry (no args: show recent entries)tidyfiles batch <input>Record a batch entry (no args: show recent entries)tidyfiles compare <input>Record a compare entry (no args: show recent entries)tidyfiles export <input>Record an export entry (no args: show recent entries)tidyfiles config <input>Record a config entry (no args: show recent entries)tidyfiles status <input>Record a status entry (no args: show recent entries)tidyfiles report <input>Record a report entry (no args: show recent entries)
CommandDescriptiontidyfiles statsShow summary statistics (entry counts per type, total, disk usage)tidyfiles export <fmt>Export all data in json, csv, or txt formattidyfiles search <term>Search across all log files (case-insensitive)tidyfiles recentShow the 20 most recent activity log entriestidyfiles statusHealth check (version, entries, disk, last activity)tidyfiles helpDisplay all available commandstidyfiles versionPrint version string
Each core command works in two modes:
<command>.log and logs to history.logAll data is stored locally in ~/.local/share/tidyfiles/. The directory contains:
run.log, check.log, convert.log, analyze.log, etc. — One log file per command type, storing YYYY-MM-DD HH:MM|input entrieshistory.log — Unified activity log with timestamped records of every command executedexport.json / export.csv / export.txt — Generated export filesset -euo pipefail strict modegrep, cat, tail, wc, du, date, sedtidyfiles run "sorted ~/Downloads by file type" to log cleanup activities with timestampstidyfiles check "~/projects: 45 dirs, 230 files, no empty dirs"tidyfiles analyze "Documents folder: 12GB, 40% PDFs" and review with tidyfiles search "Documents"tidyfiles batch "renamed 150 photos with date prefix" and review past batchestidyfiles report "weekly cleanup: freed 3.2GB" then tidyfiles export csv for spreadsheet analysisbash
# Record file organization activities
tidyfiles run "organized Downloads into subfolders"
tidyfiles check "verified backup integrity: 100% match"
tidyfiles analyze "home directory: 85GB used, 15GB free"
# Track conversions and batch operations
tidyfiles convert "batch converted 200 PNGs to WebP"
tidyfiles batch "moved archived projects to cold storage"
tidyfiles generate "created folder structure for new project"
# Preview and compare
tidyfiles preview "dry-run sort of ~/Desktop: 45 files to move"
tidyfiles compare "before/after cleanup: 12GB freed"
# Search, review, and export
tidyfiles search "backup"
tidyfiles recent
tidyfiles stats
tidyfiles export json
tidyfiles export csv
# Configuration and reporting
tidyfiles config "default sort: by extension"
tidyfiles report "monthly cleanup summary: 25GB reclaimed"
tidyfiles status
The data directory defaults to ~/.local/share/tidyfiles/. All log files are plain text with pipe-delimited fields ( timestamp|value), making them easy to parse with standard Unix tools or import into spreadsheets.
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com