# === Secrets ===
.env
.env.local
.env.*.local
*.pem
*.key

# Compose de production (propre a chaque hote : Traefik/reverse proxy, FQDN).
# Le repo ne ship que docker-compose.yml (standalone, local). Chaque hote derriere
# un proxy maintient son propre docker-compose.prod.yml (hors versionnement).
docker-compose.prod.yml

# === BYAN — plateforme (moteur), masquee ===
# Le code moteur des agents n'est pas part du rendu RNCP.
# La methodologie appliquee (CLAUDE.md + rules + hooks) reste dans .claude/
# pour transparence vis-a-vis du jury.
_byan/
_byan-output/

# === Claude Code — on garde UNIQUEMENT la methodologie ===
# VISIBLE : .claude/CLAUDE.md (constitution projet)
# VISIBLE : .claude/rules/ (fact-check, merise-agile, ELO trust, etc.)
# IGNORE : tout le reste (agents, skills, hooks, config perso, etat local)
.claude/*
!.claude/CLAUDE.md
!.claude/rules/

# === MCP config (potentiellement tokens) ===
.mcp.json

# === PHP / Composer (non utilise mais safety) ===
vendor/
composer.lock
composer.phar

# === Tests / Analyse statique (tooling via .phar autonome, sans Composer) ===
.phpunit.result.cache
.phpunit.cache/
/phpunit.phar
/phpstan.phar
/tests/_output/
/tests/_support/_generated/

# === OS ===
.DS_Store
Thumbs.db

# === IDE ===
.idea/
.vscode/
*.swp
*.swo
*~

# === Logs ===
*.log
/logs/

# === Data / Uploads / Backups ===
# /var/ : contient /var/backups/ (bind-mount des dumps BDD du conteneur cron)
# et tout futur artefact run-time (caches persistes, logs).
# Voir docs/notes/docker-volumes-vs-bind-mounts.md pour la strategie.
/var/
/backups/
/src/public/uploads/
/data/

# === Build artifacts ===
/dist/
/build/
/public/build/

# === Node (au cas ou) ===
node_modules/
npm-debug.log
yarn-error.log

# === Playwright (E2E) ===
playwright-report/
test-results/
/blob-report/
.last-run.json

# === Docker volumes locaux ===
/docker-data/

# === Notes techniques personnelles (revisions oral, non versionnees) ===
/docs/notes/
