# Build outputs
bin/
obj/
out/

# Visual Studio
.vs/
*.user
*.suo
*.userosscache
*.sln.docstates

# JetBrains Rider
.idea/

# NuGet
*.nupkg
*.snupkg
packages/

# Logs / local state
*.log
*.tlog

# Local app data (testing)
*.local.json

# Large game build (sample only — should not be in repo)
ASTERION_VR/

# Sources des releases PROSERVE en attente de zip/upload :
# on ignore tout sauf les _migrations/ (SQL source-of-truth de la DB).
# Le _report/ est un build artifact (Vue/React minifié) maintenu ailleurs.
# Les binaires UE5 sont gigaoctets, à pousser uniquement via SFTP.
version/*
!version/.gitkeep
!version/*/
version/*/*
!version/*/_migrations/
version/*/_migrations/.htaccess

# Server-side secrets — never commit (config.example.php sert de template)
server/api/config.php
# Le contenu de server/builds/ est ignoré (gros ZIPs / launcher.exe), mais on
# garde le code (.htaccess, gate.php, .gitkeep) sous version.
server/builds/*
!server/builds/.gitkeep
!server/builds/.htaccess
!server/builds/gate.php
!server/builds/launcher/.gitkeep

# Plans
.claude/

# Binaires copiés par le post-publish à la racine du repo (glob unique qui
# couvre PS_Launcher.exe, PS_Launcher.Updater.exe, PS_Launcher-X.Y.Z.exe,
# PS_Launcher_X.Y.Z.exe — séparateur tiret ou underscore — et les .bak).
/PS_Launcher*.exe
/PS_Launcher*.bak

# Sortie de l'installeur Inno Setup
/installer/output/

# WebView2 user data folder créé à côté de l'exe au runtime (cache, cookies,
# sync data Edge Chromium). Peut faire plusieurs Mo. Le pattern * couvre les
# 2 noms historiques (PSLauncher.exe.WebView2, PS_Launcher.exe.WebView2) et
# tout build de test ponctuel avec un autre nom d'exe.
*.exe.WebView2/

# Fichiers de lock Office (Word/PowerPoint) commençant par ~$
~$*
