# Secrets and per-instance config — never commit
.env
.DS_Store

# Certificates and keys — per-instance, never push
certs/
*.pem
*.crt
*.p12
*.pfx
*.key
token.txt

# Python artifacts
__pycache__/
*.pyc
.venv/
venv/
# uv writes uv.lock whenever `uv run` is used in the project directory, which
# is how tests get run against a pinned interpreter. Nothing here reads it:
# dependencies are declared as ranges, and CI installs the floor and the latest
# explicitly, so one locked resolution sits between the two ends that are
# actually tested and would rot unnoticed. Consumers cannot use it either,
# since only uv reads a uv.lock.
uv.lock

# Packaging / build artifacts
/smartthings_local/_version.py
/dist/
*.egg-info/

# Bridge runtime
bridge.log
course_mapper.log

# Capture / dump files
*.pcap
*.har
*.mitm
capture/
flows/

# Local-only research tools (not part of the bridge runtime)
local-tools/

# Claude Code per-project state (permissions allowlist, etc.)
.claude/
