# ##############################################################
# #
# #   .yamllint.yaml – Hellion Forge / Hellion Media
# #
# #   YAML-Linting Konfiguration.
# #   Überarbeitet: Mai 2026
# #
# #   Regel-Doku:
# #     https://yamllint.readthedocs.io/en/stable/rules.html
# #
# ##############################################################

extends: default

# Plugin-Manifest folgt DalamudPackager-Konvention (4-space-indent für
# image_urls + tags). yamllint-Default verlangt 2 — Konflikt, daher
# ignorieren statt das Manifest zu reformatieren.
ignore: |
  HellionChat/HellionChat.yaml

rules:
  # Zeilenlängen-Check aus (konsistent mit markdownlint MD013)
  line-length: disable

  # YAML ohne führendes "---" erlaubt
  document-start: disable

  # GitHub Actions nutzt "on:" als Trigger-Key.
  # Ohne diesen Override würde yamllint das als boolean "on" beklagen.
  truthy:
    allowed-values: ['true', 'false', 'on']

  # Maximal 1 Leerzeile in Folge (saubere Files)
  empty-lines:
    max: 1

  # YAML-Standard ist 2 Spaces (auch GitHub Actions erwartet das).
  # Explizit setzen, um Konsistenz im Repo zu erzwingen.
  indentation:
    spaces: 2
    indent-sequences: true
    check-multi-line-strings: false

  # Kommentare brauchen Space nach #, müssen mit Content beginnen
  comments:
    require-starting-space: true
    min-spaces-from-content: 1

  # Kein Whitespace am Zeilenende
  trailing-spaces: enable

  # Datei muss mit Newline enden
  new-line-at-end-of-file: enable
