Fast, non-destructive file organizer & watcher in Rust
Organize cluttered folders into clean directory trees with collision safety and instant SQLite rollback.
Static binary
Idle RSS memory
Instant batch undo
Zero overwrites
Organization & Rollback Demo
Engineered for Safety & Speed
Native Rust Binary
Compiled with LTO and zero runtime dependencies for sub-millisecond dispatch.
cargo build --releaseNon-Destructive Operations
Automatic incremental collision renaming (e.g. photo (1).jpg) and symlink barriers.
name (1).pdfTransactional Undo
Every file move is journaled into local history.db for immediate single or batch rollbacks.
tidy undo --last 370+ Formats Classifier
Native handling for compound archives (.tar.gz) and magic-byte MIME fallback.
compound .tar.gzAdaptive Kernel Watcher
inotify and FSEvents hooks with download guards that ignore in-progress files.
tidy watch --debounce 2000Native OS Daemon
Manage persistent background watching via systemd --user (Linux) or launchd (macOS).
tidy service enableExecution Pipeline
Event Trigger
inotify (Linux) / FSEvents (macOS) event or manual CLI trigger.
Download Guard
Bypasses active browser downloads (.crdownload, .part, .aria2).
Stability Filter
Samples file size across intervals and queries advisory OS locks.
MIME Classifier
Matches compound extensions (.tar.gz) with magic-byte fallback.
Category Routing
Maps file to structured directory hierarchy (e.g. Documents/PDF).
Collision Handler
Appends incremental counter (file (1).ext) if name already exists.
Atomic Mover
Fast atomic rename with staged verify-unlink fallback across disks.
SQLite Journal
Commits batch transaction into history.db for immediate undo.
Verifies size and checksum before deleting source across disk partitions.
Never traverses directory symlinks targeting outside the watch root.
Immediate WAL journal writes guarantee zero orphaned files during undo.
Resource Footprint
Zero-Config Defaults, Fully Extensible
tidy initMagic-byte fallback via inferInstallation & Commands
Fetches pre-compiled static binary for Linux (x86_64 / aarch64) or macOS (Apple Silicon / Intel).
CLI Commands
$ tidy run --dry-runPreview without moving$ tidy watchStart kernel watcher$ tidy undoRevert last batch$ tidy undo --last 3Revert last 3 batches$ tidy statusReport DB and rulesBackground Service (systemd / launchd)
$ tidy service enable$ tidy service status$ tidy service logs -f$ tidy service disable