# ── Node / JavaScript ────────────────────────────────────────────────
node_modules/
.npm/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/

# ── Build-Ausgaben ───────────────────────────────────────────────────
dist/
dist-electron/
build/
release/
.vite/
*.tsbuildinfo
# nur Build-Ordner ignorieren – der extrahierte Katalog unter
# content/katalog/ ist versionierte Datengrundlage, kein Build-Artefakt
/app/out/
/data-pipeline/out/

# ── Test-Artefakte ───────────────────────────────────────────────────
coverage/
.nyc_output/
playwright-report/
test-results/
blob-report/
.playwright/
playwright/.cache/

# ── Python ───────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.egg-info/
.eggs/
.venv/
venv/
env/
.mypy_cache/
.pytest_cache/
.ruff_cache/
.ipynb_checkpoints/

# ── Umgebung / Geheimnisse ───────────────────────────────────────────
.env
.env.*
!.env.example

# ── Sicherungskopien von Hand ────────────────────────────────────────
# Am 01.09.2026 ist eine solche Datei versehentlich mitgecheckt worden
# (tools/datenschutz_html.py.bak-pre-tables, vom 30.08.2026). Eine Kopie
# neben dem Erzeuger ist eine Arbeitsspur, kein Bestand: Sie läuft mit dem
# Erzeuger auseinander und gerät ins Paket, ohne dass es jemandem auffällt.
*.bak
*.bak-*
*.orig

# ── Editor / IDE ─────────────────────────────────────────────────────
# Persönliche Claude-Code-Einstellungen bleiben am Arbeitsplatz; die
# geteilten liegen in .claude/settings.json und sind versioniert.
.claude/settings.local.json
.vscode/*
!.vscode/extensions.json
.idea/
*.swp
*.swo

# ── Betriebssystem ───────────────────────────────────────────────────
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes

# Amtliche Gesetzestexte als XML. Werden von data-pipeline/gesetze_index.py
# heruntergeladen und zu content/gesetze/index.json verarbeitet; der Index
# ist eingecheckt, die Rohdateien sind es nicht.
content/gesetze/*.zip
content/gesetze/*.xml
content/gesetze/*.jpg

# Transpilierte Kopie der Konfiguration, die electron-vite und Vite beim
# Bauen kurz danebenlegen und danach wieder entfernen.
*.config.[0-9]*.mjs
*.config.ts.timestamp-*.mjs

# Sperrdateien von Microsoft Office. Sie entstehen, sobald jemand ein Dokument
# aus docs/ in Word oder Excel oeffnet, tragen den Windows-Benutzernamen im
# Inhalt und verschwinden beim Schliessen wieder. Einmal mitgecheckt worden.
~$*
