---
name: auto-beresin
description: "Scan dan rapikan file yang salah tempat — pindahkan file ke folder yang sesuai berdasarkan ekstensi."
---

# Auto Beresin

Pindahkan file yang "salah tempat" ke folder yang sesuai berdasarkan ekstensi. Selalu dry-run dulu, konfirmasi sebelum move beneran.

## Cara Pakai

```
/run rapihkan : /path/to/folder
```

Prompt: `rapihkan : [folder]`

## Alur Kerja

```
START
  ↓
1. Terima path folder dari BOSS
  ↓
2. Jalankan scan (dry-run mode)
  ↓
3. Tampilkan preview file yang akan dipindah
  ↓
4. Tanya konfirmasi ke BOSS
  ↓
5. BOSS confirm → jalankan ulang dengan --confirm
  ↓
6. Laporkan hasil
```

## Logika Pemindahan

File dianggap **salah tempat** jika ekstensinya tidak cocok dengan kategori folder.

| Folder | Ekstensi yang cocok |
|--------|---------------------|
| Documents | `.pdf`, `.doc`, `.docx`, `.txt`, `.md`, `.xlsx`, `.pptx` |
| Images | `.jpg`, `.jpeg`, `.png`, `.gif`, `.svg`, `.webp`, `.bmp` |
| Videos | `.mp4`, `.mkv`, `.avi`, `.mov`, `.wmv`, `.flv`, `.webm` |
| Music | `.mp3`, `.wav`, `.flac`, `.ogg`, `.aac`, `.m4a`, `.wma` |
| Archives | `.zip`, `.tar`, `.gz`, `.rar`, `.7z`, `.bz2` |
| Code | `.py`, `.js`, `.ts`, `.java`, `.go`, `.rs`, `.c`, `.cpp`, `.rb`, `.php` |
| Data | `.json`, `.csv`, `.xml`, `.yaml`, `.yml`, `.sql`, `.db`, `.sqlite` |

Contoh: `Documents/song.mp3` → dipindah ke `Music/song.mp3`

## Keamanan

- **Selalu dry-run dulu** — tanpa `--confirm`, script hanya preview
- Skip folder: `node_modules`, `.git`, `venv`, `.venv`, hidden dirs
- Auto-create folder tujuan jika belum ada
- Handle nama collision: `file.txt` → `file_1.txt` jika sudah ada
- Output progress ke stderr, hasil ke stdout

## Script

```bash
# Preview (dry-run)
python3 scripts/beresin.py /path/to/folder

# Pindah beneran (BOSS confirm)
python3 scripts/beresin.py /path/to/folder --confirm
```

## Output Contoh

```
📦 RAPIHKAN — DRY-RUN (tidak ada file dipindah)
📂 Folder: /home/boss/Documents
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  → Music/ (2 file):
    ├── song.mp3
    │   /home/boss/Documents/song.mp3
    │   → /home/boss/Music/song.mp3  [4.2 MB]
    ├── podcast.wav
    │   /home/boss/Documents/podcast.wav
    │   → /home/boss/Music/podcast.wav  [25.1 MB]

  → Images/ (1 file):
    ├── photo.png
    │   /home/boss/Documents/photo.png
    │   → /home/boss/Images/photo.png  [1.8 MB]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Total ditemukan: 3 file (31.1 MB)
💡 Ini dry-run. Tambah --confirm untuk pindah beneran.
```
