Zum Inhalt springen
Zurück zu Projekten

Case Study

Filemindr

Eine deklarative Python-CLI für überprüfbare lokale Dateiautomatisierung.

Filemindr überführt wiederkehrende Dateiorganisation in profilbasierte YAML-Regeln und macht geplante sowie ausgeführte Änderungen durch Schutzmechanismen sichtbar.

Dry Run, Explain und Validierung vor Dateiänderungen
Explizite Konfliktregeln für Umbenennen, Überspringen, Überschreiben und Papierkorb
Ausführungsverlauf mit bewusst auf Verschiebungen begrenztem Undo

Problem

Lokale Dateiautomatisierung kann Datenverlust verursachen, wenn Treffer, Zielpfade oder Konflikte implizit bleiben. Ein brauchbares Werkzeug muss erklären, was es tun wird und wo die Wiederherstellung endet.

Ergebnis

Das Projekt zeigt sicherheitsorientiertes CLI-Design durch Vorschau, Validierung, explizite Konfliktbehandlung und protokollierte Ausführung. Es verspricht weder transaktionales Verhalten noch vollständige Reversibilität oder risikofreie Dateisystemoperationen.

Was ich gebaut habe

  • Profilbasierte YAML-Pipelines mit Prioritäten, Ignore-Mustern, Verschiebe-/Kopieraktionen und Zielvorlagen.
  • Dry Run, Explain, Validierung, JSON-Berichte, Watch-Modus und Verlauf pro Ausführung für operatives Feedback.
  • Globale oder regelspezifische Konfliktstrategien sowie Undo für protokollierte Verschiebungen.

Technische Entscheidungen

  • Die passende Regel mit der höchsten Priorität wählen, damit die Ausführung bei gleicher Konfiguration und gleichem Dateisystemzustand deterministisch bleibt.
  • Gerenderte Zielpfade und Konfliktentscheidungen über Explain und Dry Run vor Änderungen sichtbar machen.
  • Undo-Grenzen offen benennen: Version 1 stellt protokollierte Verschiebungen wieder her, jedoch keine Kopien, Papierkorb- oder Überschreibvorgänge.

Interaktive Illustration · führt das Python-Paket nicht aus

Organisationsablauf ansehen

Diese Browser-Interaktion veranschaulicht das Ergebnis einfacher Regeln. Sie führt Filemindr nicht aus und verändert keine Dateien; CLI, Repository-Tests und PyPI-Paket sind die technische Referenz.

Eingangsordner
YAML rules
DateiSpeicherort
invoice-2025-08.pdf./Downloads
events-export.csv./Downloads
screenshot-home.png./Downloads
debug-run.log./Downloads

angewendete Regeln

extensions: [pdf] → move_to: finance/invoices
extensions: [csv] → move_to: data/exports
regex: screenshot → move_to: images/screenshots
extensions: [log] → move_to: logs
Filemindr | Jeferson Peter