# Backup files
*.bak
*.bak.*
*.orig
*.backup
backups/
*.bak-*

# Dated snapshot files (e.g. main.py-0228-0643)
*-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]
*-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]

# Runtime data files
mrc/bridge/data/sessions.json
mrc/bridge/data/profiles.json
mrc/bridge/data/*.db
mrc/bridge/data/*.db-shm
mrc/bridge/data/*.db-wal
mrc/bridge/data-*/
data/mrc/mrc.log

# BBS-door dropfile, regenerated per session by any door game that uses
# it (not just anetsims) -- runtime state, never source.
door32.sys
data/mrc/mrcstats.dat

# Botwars runtime state -- .keep placeholders stay tracked so the
# (otherwise empty) directories exist on checkout, actual save/score
# data doesn't.
vendor/games/botwars/scores.ans
vendor/games/botwars/botwars_data/*
vendor/games/botwars/botwars_saves/*
!vendor/games/botwars/botwars_data/.keep
!vendor/games/botwars/botwars_saves/.keep

# Config files with secrets
mrc/bridge/config/config.json
mrc/bridge/config.json
mrc_bridge/config.json
config.json

# js-dos runtime — js-dos.js + wdosbox.js + wdosbox.wasm (~5 MB WASM binary).
# Run tools/download_jsdos.sh on each install to fetch these.
anetbbs/static/js-dos/

# Zip archives
*.zip

# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
venv/
.env

# Editor
*.swp
*.swo
*~
services/mrc_bridge/data/
services/mrc_bridge/logs/
bbs.log*
*.log

# Runtime data — DB, user uploads, gallery cache, personal pages,
# SSH host keys, inbound/outbound mail spools, etc. Anything under
# data/ is sysop-specific or contains user content. Same for logs/.
data/
logs/
doors/
gallery-config.json

# Test / cache dirs
.pytest_cache/
.mypy_cache/
.coverage
htmlcov/
# Scratch SQLite DBs some test files create directly under tests/ (most
# use tempfile.TemporaryDirectory() instead, which self-cleans, but a
# couple of older tests manage their own file path) -- covers the main
# .db file AND WAL-mode's -wal/-shm companions, so a test run that gets
# killed before its own cleanup runs can't leave these behind as an
# untracked, unignored stray that leaks into a release tarball.
tests/.*.db
tests/.*.db-wal
tests/.*.db-shm

# Claude Code's own local session/config state -- never source, never
# shippable, shouldn't be tracked or packaged under any circumstance.
.claude/

# OS / IDE noise
.DS_Store
.idea/
.vscode/
