Case study
Filemindr
A declarative Python CLI for reviewable local file automation.
Filemindr turns recurring file organization into profile-based YAML rules, with safeguards that make planned and executed mutations visible.
Problem
Local file automation can cause data loss when matching, destination paths, or conflicts are implicit. A useful tool must explain what it will do and state where recovery stops.
Outcome
The project demonstrates safety-oriented CLI design through preview, validation, explicit conflict handling, and recorded execution. It does not promise transactional behavior, complete reversibility, or risk-free filesystem operations.
What I built
- Profile-based YAML pipelines with priority matching, ignore patterns, move/copy actions, and destination templates.
- Dry-run, explain, validate, JSON reports, watch mode, and per-run history for operational feedback.
- Conflict policies at global or rule level, plus undo for recorded move operations.
Technical decisions
- Choose the highest-priority matching rule so execution is deterministic for a given configuration and filesystem state.
- Expose destination rendering and conflict decisions through explain and dry-run before applying changes.
- Keep undo boundaries explicit: v1 restores recorded moves, but does not restore copy, trash, or overwrite events.
Interactive illustration · not the Python runtime
Preview the organization flow
This browser interaction illustrates a simple rules result. It does not execute Filemindr or mutate files; the CLI, repository tests, and PyPI package are the technical source of truth.
rules matched