Iris
A fast, minimal, config-driven file management engine built in Rust
Install / Use
/learn @ereinaimer/IrisREADME
A fast, minimal, config-driven file organizer built with Rust.
Iris helps you sort and organize your messy folders automatically using defined rules.
<video src="https://github.com/user-attachments/assets/51a888e9-80ba-4c16-8629-2e09ae93aa07" controls width="100%"></video>
Features
- ⚡ Fast: Built in Rust for high performance.
- 💻 Multiplatform: Runs on Windows, Linux, and macOS.
- 🖱️ Context Menu: Right-click "Sort with Iris" support on Windows.
- 📁 Config Driven: Customize behavior with a simple
iris.tomlfile. - 📄 Shell Completion: Support for shell completion scripts.
- 🤖 Smart Presets: Comes with sensible defaults for common file types.
Installation
Download Binary
Download the latest release for your platform from the Releases Page.
Chocolatey (Windows)
Run the following command in an elevated PowerShell:
choco install iris
Scoop (Windows)
scoop install iris
<details>
<summary>Alternative: Install from our bucket</summary>
If you prefer to use our bucket directly:
scoop bucket add iris https://github.com/ereinaimer/iris
scoop install iris/iris
</details>
From Crates.io
cargo install iris-cli
Usage
Basic Sorting
To sort a directory using default settings:
iris sort /path/to/folder
Windows Context Menu
On Windows, you can add Iris to the right-click menu:
iris context install
Now simply right-click any folder background and select "Sort with Iris".
<details> <summary> <b>Demo: Windows Context Menu</b> </summary> <video src="https://github.com/user-attachments/assets/7c366ac9-9c9a-4428-be70-1234846c1de1" controls width="100%"></video> </details>Configuration
Iris automatically creates a default configuration file at:
- Windows:
%APPDATA%\Iris\iris.toml - Linux/macOS:
~/.config/iris/iris.toml
Can be customized to define where files go based on extensions or patterns.
iris config edit
[preset.images]
enabled = true
# Sorts .jpg and .png into "Pictures" folder
extension = ["jpg", "png"]
relative_path = "Pictures"
Shell Completion
Automatically generate and install completion scripts for your shell. You can also generate the completion script manually and install it yourself with iris completions <SHELL> command.
iris completions install
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up your development environment
- Coding standards and conventions
- How to submit pull requests
- Testing requirements
Check out the roadmap for planned features and improvements.
License
This project is licensed under the MIT License - see the LICENSE file for details.
