# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
!static/js/editor/build/
venv/
.venv/
*.egg

# Environment
.env
.env.bak.*
!.env.example
# Local uv lockfile (optional, per-platform — see "Faster installs with uv" in README)
requirements.lock

# SOPS workflow — encrypted `secrets.env` is intentionally committable,
# but every variant (plaintext, manual decrypt copy, editor backup)
# must stay out of git. Mirrored in .dockerignore so the same artifacts
# also cannot enter image build layers.
secrets.env.*
!secrets.env.example

# Data — all user data stays local
data/
!services/hwfit/data/
!services/hwfit/data/hf_models.json
logs/
*.log
*.db
*.sqlite
*.sqlite3

# Node
node_modules/
services/node_modules/
services/data/

# IDE / Editor
.aider*
.claude/
.vscode/
.idea/
*.swp
*.swo
*~

# Test capture artifacts (browser session dumps may contain personal content)
.playwright-mcp/

# OS
.DS_Store
Thumbs.db

# Build artifacts
*.cache
cache/
output.txt.txt

# Media (uploaded/generated)
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.webp
*.tiff
*.pdf

# …except shipped static assets
!static/icons/*.png

# …except shipped demo assets in docs/ that the README links to.
!docs/*.jpg
!docs/*.jpeg
!docs/*.png
!docs/*.gif
!docs/*.webp
# …and curated docs/ subfolder assets (e.g. accessibility before/after shots).
!docs/**/*.png
!docs/**/*.jpg
!docs/**/*.gif
!docs/**/*.webp

# Reports and temp files
reports/
tasks/
scripts/compound/*.json
research_data/
**/search_analytics.json

# Internal dev/review notes — not for public repo
dev-docs/
# Windows-port working docs (local only, not for public repo)
docs/windows-port/

# Local config
compound.config.json
*.error.log
_scratch/
/odysseus/
