Sortify is a high-performance folder organizer designed to automate file categorization with a focus on safety and efficiency. This cross-platform CLI tool automatically organizes files into logical folders based on their extensions (e.g., Images, Documents, Videos) while offering features like real-time monitoring, dry-run previews, and customizable configurations.
Key Features:
Smart Categorization: Automatically sorts files by extension into predefined or custom categories.
Watch Mode: Continuously monitors directories and organizes new files in real time.
Safety Guards: Prevents accidental organization of critical system directories.
Interactive & Customizable: Supports guided prompts, dry-run previews, and JSON-based configuration for tailored workflows.
Filename Sanitization: Removes emojis, collapses spaces, and normalizes case to ensure clean filenames.
Cross-Platform Support: Available on Windows, macOS, Linux (including arm64), with a single static binary.
Audience & Benefit:
Ideal for productivity-focused users seeking automated file management without runtime dependencies. Developers, system administrators, and general users benefit from reduced clutter, improved workflow efficiency, and peace of mind through its safety-first design. Install via winget on Windows to experience seamless organization tailored to your needs.
README
Sortify ๐
Sortify ๐๏ธ is a fast, safety-first CLI tool that automatically organizes files in a directory into categorized folders (Images, Documents, Videos, Archives, Code, etc.). Written in Go, it compiles to a single static binary with no runtime dependencies. Supports dry-run previews, filename sanitization, real-time watch mode, and custom configuration.
Features โจ
๐ Smart categorization -- files are sorted by extension into logical folders
๐ Watch mode -- monitor a directory in real-time and organize files as they arrive (recursive)
๐ก๏ธ Safety guards -- prevents accidental organization of system roots, home, or Windows system directories
๐ฌ Interactive mode -- if you run without flags, you get a guided prompt
๐๏ธ Dry-run mode -- preview all changes without moving a single file
๐งน Filename sanitization -- remove emojis, collapse spaces, normalize case
๐ข Number patching -- zero-pad numbers in filenames (lesson1 -> lesson001)
โ๏ธ Custom configuration -- JSON-based config for categories, ignore patterns, and more
๐ป Cross-platform -- Windows, macOS, Linux (amd64 + arm64)
๐ฆ Single binary -- no dependencies, no runtime required
Installation ๐ฅ
Via Go (any platform) ๐น
go install github.com/ahmedthebest31/sortify@latest
Make sure $GOPATH/bin is in your PATH.
Via GitHub Releases โฌ๏ธ
Download the pre-built binary for your platform from the .