# Don't include any zip/tar files
*.zip
*.tar

# ===================================================================
# IMPS — secrets & real credentials
# ===================================================================
imps_config.toml
deploy/reset_credentials.toml
deploy/mail_credentials.toml

# Docker secrets (real values; .env.example is the tracked template)
.env

# TLS private material -- san.cnf/gunicorn.conf.py (templates, no
# secrets) stay tracked; anything actually generated from them doesn't.
certificates/*.key
certificates/*.crt
certificates/*.pem

# Session-signing secret (regenerated automatically on first run)
.secret_key

# Install-state markers (generated per-install, not source)
not_first.run

# ===================================================================
# deploy/ — track only what an actual private install needs.
# Everything else here is demo-site-only (demo.getimps.com) and has
# no reason to ship to end users:
#   - imps_reset.py, db_monitor.py       -- demo reset/monitoring scripts
#   - seed_db.sql, seed_images.zip       -- demo seed data
#                                            demo site; must never be
#                                            tracked or shipped
#   - deploy/imps-apache.conf            -- superseded by deploy/apache/
#   - deploy/tools/                      -- packaging + the demo's
#                                            systemd .service/.timer units
#                                            (imps-reset.*, imps-db-monitor.*,
#                                            mysql-restart-override.conf,
#                                            build_release_zip.sh itself)
# The *_example.toml templates ARE meant to be tracked, so they're
# explicitly un-ignored below alongside the other real install files.
# ===================================================================
deploy/*
!deploy/db_setup.py
!deploy/schema.sql
!deploy/setup.sql
!deploy/apache/
!deploy/docker/

# Runtime data that differs per deployment (home/demo/local)
static/images/items/*
!static/images/items/none.jpg

# Generated and saved QR codes
static/images/qrcodes/*

# Generated DB/photo backups -- schema.sql and setup.sql live in
# deploy/ as source, so everything left in here is purely runtime output
static/backup/*
!static/backup/.gitkeep

# ===================================================================
# Python
# ===================================================================
__pycache__/
*.pyc

# Virtual environments
.venv/
certificates/
git_token

# Claude Code local settings (per-session permission allowlist, etc.)
.claude/

# Personal backlog (see .claude/commands/btw.md) -- dev-machine-only,
# same reasoning as deploy/tools/: shouldn't ship to the demo/Pi.
TODO.md

# Design source files -- not part of the app, not deploy tooling
# either, just source material (icon vector sheets, etc.)
design/
