Ir para o conteúdo
Voltar para projetos

Estudo de caso

Filemindr

Uma CLI declarativa em Python para automação local de arquivos com operações revisáveis.

Filemindr transforma organização recorrente de arquivos em regras YAML por perfil, com proteções que tornam visíveis as alterações planejadas e executadas.

Dry-run, explain e validação antes de alterar arquivos
Políticas explícitas de renomear, ignorar, sobrescrever e enviar à lixeira
Histórico de execuções com undo deliberadamente limitado a movimentações

Problema

Automação local pode causar perda de dados quando correspondências, destinos ou conflitos são implícitos. Uma ferramenta útil precisa explicar o que fará e declarar onde a recuperação termina.

Resultado

O projeto demonstra design de CLI orientado à segurança por meio de prévia, validação, conflitos explícitos e execução registrada. Ele não promete comportamento transacional, reversibilidade completa ou operações sem risco no sistema de arquivos.

O que eu construí

  • Pipelines YAML por perfil com prioridade, padrões ignorados, ações de mover/copiar e templates de destino.
  • Dry-run, explain, validação, relatórios JSON, watch mode e histórico por execução para feedback operacional.
  • Políticas de conflito globais ou por regra, além de undo para movimentações registradas.

Decisões técnicas

  • Escolher a regra correspondente de maior prioridade para uma execução determinística com a mesma configuração e estado do sistema de arquivos.
  • Expor destinos e decisões de conflito por explain e dry-run antes de aplicar alterações.
  • Manter os limites do undo explícitos: a v1 restaura movimentações registradas, mas não recupera cópias, lixeira ou sobrescritas.

Ilustração interativa · não executa o pacote Python

Visualize o fluxo de organização

Esta interação no navegador ilustra o resultado de regras simples. Ela não executa o Filemindr nem altera arquivos; a CLI, os testes do repositório e o pacote no PyPI são a fonte técnica de verdade.

pasta de entrada
YAML rules
arquivolocal
invoice-2025-08.pdf./Downloads
events-export.csv./Downloads
screenshot-home.png./Downloads
debug-run.log./Downloads

regras aplicadas

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