# Python
__pycache__/
*.pyc
*.pyo
*.pyd
*.so
.Python
*.egg-info/
dist/
build/
.tmp/
tmp/

# Virtual Environment
uv.*
!uv.lock
.venv
.venv/
venv/
env/

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

# Environment & Config
.env
config.yml
!tests/integration/.env
!tests/integration/config.yml

# Runtime
*.pid
*.db
*.db-journal

# Logs
*.log
logs/

# Caches
.mypy_cache/
.pytest_cache/
.ruff_cache/
.coverage
htmlcov/
coverage/

# Project-specific
.history
reports/
workspace/

# Backup files
*.bak*

*.local.json
trees/

.playwright-mcp

# TeleClaude runtime DB artifacts (now live under ~/.teleclaude/)
# Kept for safety in case of accidental local creation
teleclaude.db
teleclaude.db-wal
teleclaude.db-shm

AGENTS.md
CLAUDE.md

# TeleClaude worktree infrastructure state (changes with every prep cycle)
.teleclaude/*
!.teleclaude/
!.teleclaude/snapshot-testing-exemptions.txt

# Generated build artifacts (never tracked)
**/index.yaml

# Rust (v2 workspace) — target/ is build output, never tracked.
# Cargo.lock IS tracked at workspace root (binary workspace policy).
target/
*.rs.bk
**/*.rs.bk

# Generated diagrams (regenerated via `make diagrams`)
docs/diagrams/
# Local AI config artifacts
.claude/
.codex/
.gemini/

# Temporary backup of worktree todos folders
.temp/
.teleclaude*copy/
