Intelligent file organization powered by machine learning
Features β’ Installation β’ Usage β’ Configuration β’ Documentation
|
Tyr is a blazingly fast file organizer built in Rust that automatically categorizes and groups your files. Unlike traditional organizers that only look at file extensions, Tyr uses machine learning algorithms to understand relationships between files and intelligently organize them. |
// Organize in seconds
tyr ~/Downloads
// Features
β ML-powered grouping
β Parallel processing
β Beautiful TUI
β Safe operations |
Capabilities:
|
Speed:
|
curl -fsSL https://raw.githubusercontent.com/aelune/tyr/main/install.sh | bash |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/aelune/tyr/main/install.ps1" -OutFile "install.ps1"
.\install.ps1 |
git clone https://github.com/Aelune/tyr.git
cd tyr
make install |
Requirements: Rust 1.70+
# Organize current directory
tyr
# Organize specific directory
tyr ~/Downloads
# Organize any path
tyr /path/to/folder |
Terminal Controls
|
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BEFORE β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Downloads/ β
β βββ report_v1.pdf β
β βββ report_v2.pdf β
β βββ report_v3.pdf β
β βββ vacation.jpg β
β βββ song.mp3 β
β βββ data.xlsx β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
tyr ~/Downloads
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AFTER (Category Mode) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Downloads/ β
β βββ Documents/ β
β β βββ report_v1.pdf β
β β βββ report_v2.pdf β
β β βββ report_v3.pdf β
β βββ Images/ β
β β βββ vacation.jpg β
β βββ Audio/ β
β β βββ song.mp3 β
β βββ Spreadsheets/ β
β βββ data.xlsx β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
enable_smart_grouping = true
β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AFTER (Smart Grouping Mode aka filename) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Downloads/ β
β βββ Documents/ β
β β βββ report_group_001/ β Grouped by ML β
β β βββ report_v1.pdf β
β β βββ report_v2.pdf β
β β βββ report_v3.pdf β
β βββ Images/ β
β β βββ vacation.jpg β
β βββ Audio/ β
β β βββ song.mp3 β
β βββ Spreadsheets/ β
β βββ data.xlsx β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Configuration File: ~/.config/tyr/tyr.toml
# Batch processing size
batch_size = 100
# Enable ML grouping
enable_smart_grouping = false
# Skip these files
skip_patterns = [
".DS_Store",
"Thumbs.db",
".git*"
] |
[categories.my_category]
extensions = [
"ext1",
"ext2",
"ext3"
]
folder_name = "My Custom Folder" |
[similarity_config]
levenshtein_threshold = 0.7 # Character similarity (0.0 - 1.0)
jaccard_threshold = 0.5 # Token overlap (0.0 - 1.0)
levenshtein_weight = 0.6 # Weight for character matching
jaccard_weight = 0.4 # Weight for token matching
min_similarity_score = 0.65 # Overall threshold for grouping |
|
|
|
|
Build & Install make install
make uninstall
make clean |
Run & Test make run
make test |
Configuration make config-edit
make config-path |
Backup & Reset make config-backup
make config-reset |
|
Rust Systems Language |
Ratatui Terminal UI |
Crossterm Terminal Control |
Rayon Parallelism |
Serde Serialization |
|
|
Contributions are welcome! We especially appreciate help with:
ββββββββββββββββββββββββ¬βββββββββββββββββββββββ¬βββββββββββββββββββββββ
β New Algorithms β Performance Tuning β File Type Support β
ββββββββββββββββββββββββΌβββββββββββββββββββββββΌβββββββββββββββββββββββ€
β Documentation β Bug Fixes β Testing β
ββββββββββββββββββββββββ΄βββββββββββββββββββββββ΄βββββββββββββββββββββββ
| Feature | Tyr | Traditional Organizers |
|---|---|---|
| ML-based grouping | β | β |
| Parallel processing | β | β |
| Interactive TUI | β | |
| External configuration | β | |
| Dry run mode | β | |
| Cross-platform | β |