-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Arane Aimer edited this page Dec 29, 2025
·
2 revisions
Fundamental stability and safety mechanisms.
- Protected Paths
[Priority: Critical]- Goal: Prevent Iris from sorting inside critical system/code directories.
- Expand
PROTECTED_PATHSlist. - Logic to ignore sort if folder contains identifiers like
.git,.idea.
- Dry Run / Simulation
[Priority: Critical]- Goal: Allow users to preview actions without making changes.
- Implement
--dry-runflag. - Print "Would move X to Y" for all operations.
- Operation Logging
[Priority: High]- Goal: Audit trail for user actions.
- Implement local log file (e.g.,
~/.iris/history.log). - Log timestamp, source, destination, and rule used.
Settings management and flexibility.
- Presets Path Refactoring
[Priority: Critical]-
Goal: Reduce
iris.tomlcomplexity (currently ~400 lines). - Implement
presets_pathoption. - Move default presets out of
iris.tomlto external files inpresets_path.
-
Goal: Reduce
- Custom Target Paths
[Priority: Medium]- Add
customoption for target paths. - Allow
iris sortto use custom target without explicit path arg.
- Add
- Conflict Resolution Strategy
[Priority: High]- Goal: Customized handling of file collisions.
- Add
on_conflictoption in config. - Supported modes:
skip,overwrite,rename(append suffix).
Background processes and user interaction flows.
- Watcher Command
[Priority: High]- Goal: Continuous background sorting with minimal overhead.
- Implement
iris watch <folder>(e.g.,iris watch ~/Downloads).
- Undo Command
[Priority: Low/Future]-
iris undoto reverse last operation.
-
Rules for how and what to sort.
- File Naming System
[Priority: High]- Global switch:
rename_files = true. -
sanitize_names = true(remove invalid chars). -
rename_methodstyles:lower,upper,title,camel,pascal,snake,kebab. -
space_replacement(optional).
- Global switch:
- Exclusions
[Priority: High]-
file_exclusionslist (regex support). -
directory_exclusionslist (regex support).
-
- Filter Conditions
[Priority: Medium]- Filename patterns:
contains,!contains,regex. - Size filtering:
min_file_size,max_file_size.
- Filename patterns:
- Advanced Sorting Options
[Priority: Future]- Sort by: Time Created, Time Modified, File Size, File Type, File Owner.
- Smart Media Sorting
[Priority: Future]- Integration with external APIs (MusicBrainz, TMDB) for metadata-based sorting.