/.pytest_cache/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# pyenv python configuration file
.python-version

/.mypy_cache/

/pyoxidizer/venv/
/cronstable/version.py

# Local-only changelog tooling (build_demo.py is tracked: the demo mirror
# test regenerates docs/demo/index.html through it)
/scripts/*
!/scripts/build_demo.py

# Local working ledgers for the 2026-08 code-reduction program. Never
# commit these: MANIFEST.in is opt-out, so a tracked root .md ships in
# the sdist (they were committed once by accident and history-rewritten
# back out).
/reduction-findings.md
/reduction-handoff.md

# Screenshot-pipeline scratch output: raw captures land here for review before
# the keepers are copied over docs/img/ (the tracked, published set)
/docs/screenshots/shots/
/docs/screenshots/reel/

# Local env files (the demo instance keeps its Cloudflare Tunnel
# token here; anyone holding it can publish through the tunnel).
.env

# Claude Code local files. CLAUDE.md carries local development notes that must
# stay out of the public history, and settings.local.json holds machine-specific
# paths. These live here rather than in .git/info/exclude so the protection is
# cloned with the repository instead of existing only on one machine: a fresh
# clone or a new worktree is covered too. A shared, reviewed .claude/settings.json
# may still be committed if the project ever wants one.
/CLAUDE.md
/.claude/*
!/.claude/settings.json

# CI-only: the QEMU binary jobs persist pip's cache here via actions/cache
# (see binaries-container in .github/workflows/release.yml); never tracked.
/.pip-cache/
