tooka 1.0.7

A fast, rule-based CLI tool for organizing your files
# 🗂️ Tooka

[![clippy]](https://github.com/Benji377/tooka/actions/workflows/clippy.yml)
[![test]](https://github.com/Benji377/tooka/actions/workflows/test.yml)

[clippy]: https://img.shields.io/github/actions/workflow/status/Benji377/tooka/clippy.yml?label=Clippy&logo=rust&style=for-the-badge&labelColor=555555
[test]: https://img.shields.io/github/actions/workflow/status/Benji377/tooka/test.yml?label=Tests&logo=githubactions&style=for-the-badge&labelColor=555555

<div align="center">
  <img src="./assets/logo-banner.png" alt="Tooka logo" style="width: 80%">
</div>

A fast, rule-based CLI tool for organizing files.

---

## 🧭 Introduction

**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.

---

## ✨ Features

* **Rule-based automation** - Define custom file organization rules using declarative YAML
* **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

---

## 🚀 Performance

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:
```bash
cargo run --release --bin performance_benchmarks
```

See [benches/README.md](benches/README.md) for more details.

---

## 🤝 Contributing

We welcome contributions! Please see:

- [Contributing Guidelines]CONTRIBUTING.md 
- [Code of Conduct]CODE_OF_CONDUCT.md
- [GitHub Discussions]https://github.com/Benji377/tooka/discussions for ideas and questions

---

## 💬 Community & Support

- **Bug Reports**: [GitHub Issues]https://github.com/Benji377/tooka/issues
- **Feature Requests**: [GitHub Discussions]https://github.com/Benji377/tooka/discussions
- **Documentation**: [Wiki]https://github.com/Benji377/tooka/wiki

---

## 📜 License

Licensed under [GPLv3](LICENSE)

---

<div align="center">
  <sub>Built with ❤️ in Italy 🇮🇹</sub>
</div>