###############################################################################
# KiCad project – .gitignore (v6/v7/v8)
# Im Repo behalten: *.kicad_pro, *.kicad_pcb, *.kicad_sch, *.kicad_sym, *.kicad_wks,
# projektlokale *.pretty/ (Footprints), eigene 3D-Modelle, *.kicad_dru, ggf. lib-tables.
###############################################################################

# ── Session-/UI-/Lock (lokal, volatil) ───────────────────────────────────────
*.kicad_prl                 # UI/Session Layout (regenerierbar)
*.lck                       # Lockfiles
*.kicad_sch.lck
*.kicad_pcb.lck
*.kicad_pro.lck
# KiCad UI-Cache
fp-info-cache


# ── Autosaves/Backups/Temp (nie committen) ───────────────────────────────────
\#auto_saved_files#
*-bak                       # generische Backups
*.bak
*.tmp
*.autosave
*.kicad_pcb-bak             # PCB-Backups
*.kicad_sch-bak             # Schaltplan-Backups
backup/                     # KiCad-Backupordner (Projekt)
backups/                    # alternative Schreibweise
*-backups/                  # KiCad legt mitunter <name>-backups/ an
autosave-*                  # evtl. Autosave-Dateien außerhalb des Ordners

# ── Alt/Legacy-Formate (nur für sehr alte Projekte) ──────────────────────────
*.net                       # alte Netlisten
*.cmp                       # alte Bauteil-Zuordnung
*-cache.lib                 # legacy Eeschema Cache-Library (v5-Ära)

# ── (Optional) Projektlokale Library-Tabellen ignorieren ─────────────────────
# Auskommentiert lassen, wenn du Lib-Tabellen versionieren willst.
# sym-lib-table
# fp-lib-table

# ── Herstellungs-/Report-/Exportdaten (werden neu erzeugt) ───────────────────
# Gerber & CAM
*.gbr
*.g**                       # gtl, gbl, gts, gbs, gto, gbo, gko, gml, gm1 …
*.drl
*.dri
*.rpt
*.map

# BoM/Positions-/Reports
*.xml
*.csv
*.tsv
*.xlsx
*.pos
*.rpos
*.ipcsv

# Exporte/Plots/3D
*.pdf
*.svg
*.step
*.stp
*.iges
*.igs

# Autorouter
*.dsn
*.ses

# Simulation
*.raw
*.log
*.out

# ── Standardisierte Output-Ordner (generiert) ────────────────────────────────
out/
output/
build/
dist/
fabrication/
manufacturing/
production/
gerbers/
plots/
cam/

# Hinweis: Wenn du *einen* Release-Ordner versionieren willst, füge unten Ausnahmen hinzu:
# !fabrication/**
# !production/**

# ── Editor/IDE/OS ────────────────────────────────────────────────────────────
.vscode/
!.vscode/extensions.json
!.vscode/settings.json
.idea/
*.code-workspace
.DS_Store
Thumbs.db
*~
*.swp
*.swo

# KiCad Backups & Locks
*-backups/
backups/
*.bak
*.lck
~*.kicad_*

# Cache (legacy)
fp-info-cache
fp-info-cache/

# Produktions-/Ausgabeordner (falls nur Generiertes)
production/
