--- name: cleanup-downloads description: Limpeza e triagem da pasta Transferências (Downloads). Verifica cada ficheiro individualmente, apaga descartáveis, classifica o restante por categoria. Use when "transferências", "downloads", "limpar downloads", "cleanup", "limpeza pasta", or as part of daily/weekly routines via /today. --- # Cleanup Downloads Triagem manual de `/home/ealmeida/Transferências/`. Verificar cada ficheiro individualmente antes de agir. **Regra de ouro:** NUNCA assumir que ficheiros com nomes semelhantes têm o mesmo conteúdo ou valor. Ler CADA ficheiro individualmente (ex: `emiteDoc.pdf` a `emiteDoc (12).pdf` tinham valores de 25,80€ a 100,53€). ## Procedimento 1. Listar conteúdo com `ls -la /home/ealmeida/Transferências/` 2. **Ler CADA ficheiro PDF individualmente** com `pdftotext` - extrair tipo, valor, data, fornecedor 3. Apresentar lista classificada com acção proposta (incluindo valores reais) 4. Executar apagamentos automáticos (regra 1) 5. Mover ficheiros com destino definido (regras 2-4) 6. Perguntar sobre ficheiros sem regra clara 7. Lançar despesas no CRM via `/expense` (regra 7) 8. Mostrar resumo final (apagados, movidos, mantidos, despesas criadas) ## Regra 1: Apagar sem perguntar | Padrão | Motivo | |--------|--------| | `screencapture-*` | Screenshots browser temporários | | `test*.docx`, `test*.txt` | Documentos de teste | | `testando-*`, `teste-*` | Ficheiros de teste | | `temp_*`, `*.tmp` | Temporários | | `DIAGNÓSTICO_*.md` | Diagnósticos sessão anterior | | Pastas só com ficheiros 0 bytes | Attachments vazios | ## Regra 2: Duplicados - verificar um por um Ficheiros com nomes semelhantes (`ficheiro.pdf` vs `ficheiro (1).pdf`): - Executar `cmp -s` para comparar - **Cópia exacta** → apagar o duplicado sem perguntar - **Ficheiros diferentes** → manter ambos, perguntar destino Atenção: documentos transferidos com o mesmo nome podem ter conteúdo diferente. ## Regra 3: Documentos financeiros → mover por tipo **Verificar conteúdo de CADA ficheiro** (ler primeira página com `pdftotext`) para: 1. Classificar correctamente (factura vs recibo vs comprovativo) 2. Extrair o valor real de cada documento 3. NUNCA copiar o valor de um ficheiro para os restantes - cada um tem o seu valor próprio ### 3a: Comprovativos de pagamento a fornecedores Destino: `/media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/PagamentosFornecedores/` Padrões típicos: - `*SEPA*`, `*Compras*` (comprovativos bancários) - `documento*.pdf` (comprovativos de transferência) - `emiteDoc*` (AT execução fiscal) - `FT *`, `inv*` (facturas fornecedores) - PDFs com data no nome formato `YYYYMMDD*` ### 3b: Recibos de vencimento Destino: `/media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/Recibos de Vencimento/` Padrões típicos: - Recibos de vencimento (TOConline/metta) - Comprovativos de transferência de salário ## Regra 4: Design, templates e exports → z_Verificar Destino: `/home/ealmeida/Transferências/z_Verificar/` Criar pasta `z_Verificar` se não existir. Mover para lá: - `*.penpot` (ficheiros de design) - `*.pptx` (templates/apresentações) - `*.zip` (exports e backups) - `*.sketch`, `*.fig` (design) ## Regra 5: Pastas antigas - apagar se migrado Pastas com `.obsidian/` ou `.git/` dentro: - Verificar se conteúdo já existe no Hub (`/media/ealmeida/Dados/Hub/`) - **Se migrado** → apagar pasta e zip associado - **Se não migrado** → perguntar ## Regra 6: Restante - perguntar Tudo que não encaixar nas regras acima: - **Facturas** (`emiteDoc*`, `FT *`, `inv*`) → perguntar destino - **Imagens** (`*.png`, `*.jpg`) → perguntar - **Dados** (`*.csv`, `*.xlsx`) → perguntar - **PDFs desconhecidos** → ler primeira página para classificar ## Regra 7: Lançar despesas no CRM Após mover documentos financeiros (regra 3), lançar despesas via `/expense`: 1. Verificar duplicados no CRM antes de criar 2. **Ler CADA PDF** para extrair valor real - NUNCA copiar valor de um ficheiro para outro 3. Criar despesas com: category_id, amount, date, note, reference, tax=1, currency=2 4. Actualizar `expense_name` via SQL com nome do fornecedor 5. Apresentar resumo com totais **Anti-pattern:** Assumir que ficheiros com nomes semelhantes (ex: `emiteDoc`, `emiteDoc (1)`, ...) têm o mesmo valor. Cada documento tem valor próprio e deve ser verificado individualmente. ## Integração /today Incluir contagem de ficheiros na pasta quando >10 ficheiros.