# === Betriebssystem ===
.DS_Store
Thumbs.db
Desktop.ini

# === IntelliJ IDEA / JetBrains (D13) ===
# Projektdateien lokal halten; geteilte Einstellungen ggf. gezielt wieder einchecken.
.idea/
*.iml
*.ipr
*.iws
out/

# === Claude Code ===
# launch.json wird für die Preview automatisch neu erzeugt; lokale Overrides
# ebenso lokal halten. Geteilte Konfig (settings.json, commands/…) darf rein.
.claude/launch.json
.claude/settings.local.json

# === Editoren ===
.vscode/
*.swp
*~

# === Backend: Gradle / Kotlin / JVM (D13) ===
backend/.gradle/
backend/build/
backend/**/build/
!backend/**/src/**/build/
.gradle/
build/
!src/**/build/
# Gradle-Wrapper einchecken, aber lokale Overrides ignorieren
!gradle/wrapper/gradle-wrapper.jar
!gradle/wrapper/gradle-wrapper.properties
gradle-app.setting

# Spring Boot / lokale Laufzeit
*.log
logs/
application-local.properties
application-local.yml
application-local.yaml

# === Java-Artefakte ===
*.class
*.jar
*.war
*.ear
hs_err_pid*
replay_pid*
!gradle-wrapper.jar

# === Frontend (Vanilla HTML/CSS/JS, D11) ===
# Derzeit build-frei; falls später Tooling dazukommt:
frontend/node_modules/
frontend/dist/
# Auch in der Wurzel: `npx vitest` legt dort seinen Ergebnis-Cache ab
# (node_modules/.vite/…/results.json) — er war versehentlich eingecheckt und
# änderte sich bei jedem Testlauf.
node_modules/

# === Geheimnisse / lokale Umgebung ===
# .env hält u. a. DEPLOY_TARGET für scripts/deploy-prod.sh (Vorlage: .env.example)
.env
.env.local
*.local

# Datenbank-Sicherungen vom Server (`remote backend backup`). Sie enthalten
# fremde Pläne — sie gehören nie ins Repository, auch nicht versehentlich.
backups/

# === Temporäres ===
tmp/
*.tmp
*.bak
