DEFAULT_CONFIG = """\
# filemindr configuration (profile)
# Generated by `filemindr profile init <name>`
#
# Quick start:
#   filemindr validate -p <name>
#   filemindr run -p <name> --dry-run
#   filemindr run -p <name>
#   filemindr watch -p <name> --once
#
# Notes:
# - source: directory to scan (and watch).
# - default_target: where unmatched files go.
# - conflict_policy: what to do if destination file already exists:
#     rename | skip | overwrite | trash

source: ~/Downloads

# Anything that doesn't match a rule goes here
default_target: ~/Downloads/others

# Default conflict policy applied to all rules unless overridden per-rule
conflict_policy: rename  # rename | skip | overwrite | trash

rules:
  - name: invoices
    priority: 100
    match:
      regex: "(?i)invoice|receipt|irpf|recibo|nota"
      extensions: ["pdf"]
    action:
      move_to: ~/Downloads/finance/invoices

  - name: old_installers
    priority: 80
    match:
      extensions: ["exe", "msi"]
      older_than_days: 14
    action:
      move_to: ~/Downloads/installers/old

  - name: archives
    priority: 70
    match:
      extensions: ["zip", "rar", "7z", "tar", "gz"]
    action:
      move_to: ~/Downloads/archives

  - name: videos
    priority: 60
    match:
      extensions: ["mp4", "mkv", "mov", "avi", "webm", "m4v"]
    action:
      move_to: ~/Downloads/videos

  - name: audio
    priority: 55
    match:
      extensions: ["mp3", "wav", "m4a", "aac", "flac", "ogg"]
    action:
      move_to: ~/Downloads/audio

  - name: images
    priority: 50
    match:
      extensions: ["jpg", "jpeg", "png", "webp", "gif", "svg"]
    action:
      move_to: ~/Downloads/images

  - name: documents
    priority: 40
    match:
      extensions: ["pdf", "docx", "xlsx", "pptx", "txt", "md"]
    action:
      move_to: ~/Downloads/documents

  - name: code_snippets
    priority: 30
    match:
      extensions: ["py", "js", "ts", "json", "yaml", "yml", "toml"]
    action:
      move_to: ~/Downloads/code
"""
