A fast, rule-based CLI tool for organizing files.
Tooka is a flexible command-line tool for automating your filesystem: organize, rename, move, copy, or delete files using simple, powerful YAML rules.
You define what files to match (by name, extension, metadata, size, etc.) and what should happen to them — Tooka handles the rest with blazing-fast parallel processing. With built-in background monitoring, Tooka can continuously keep your folders organized automatically.
- Rule-based automation - Define custom file organization rules using declarative YAML
- Automatic monitoring - Set up background monitoring to automatically sort folders at intervals
- High-performance - Parallel recursive directory traversal and file operations
- Flexible filtering - Match files by name patterns, extensions, MIME types, size, metadata, and timestamps
- Multiple actions - Move, copy, rename, delete, or skip files based on conditions
- Template support - Dynamic file naming with customizable templates
- Safe operations - Dry-run mode and comprehensive logging for safety
- Cross-platform - Works seamlessly on Windows, macOS, and Linux
git clone https://github.com/Benji377/tooka.git
cd tooka
cargo build --release# Sort files based on rules
tooka sort /path/to/folder --rules rules.yaml
# Monitor folder automatically
tooka monitor add ~/Downloads --interval 300
tooka monitor daemon runSee the Wiki for detailed documentation and examples.
Tooka is designed for speed with:
- Parallel file processing using Rayon
- Optimized hot paths with cached operations
- Comprehensive benchmark suite to track performance
Run performance benchmarks:
cargo run --release --bin performance_benchmarksSee benches/README.md for details.
We welcome contributions! Please see:
- Contributing Guidelines
- Code of Conduct
- GitHub Discussions for ideas and questions
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Discussions
- Documentation: Wiki
Licensed under GPLv3
