# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
venv/
ENV/
env/
.venv

# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
/media
/staticfiles

# React / Node
node_modules/
build/
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

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

# Environment
.env
.env.local

# Claude Code temporary files
tmpclaude-*
nul

# Serial bridge runtime state (per-machine, not source)
serial_bridge/poll_config.json
serial_bridge/serial_bridge.log

# Licence signing - the private key must NEVER be committed.
# If it leaks, every licence ever issued becomes forgeable.
tools/license_private.key
*license*.key

# Local config backups
*.env.bak

# Local tooling artifacts
.claude/screenshots/
.playwright-mcp/
