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

# Python cache files - comprehensive coverage
**/__pycache__/
**/*.py[cod]
**/*.pyo
**/*.pyd
**/*$py.class
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
# Python package build directories (root level only)
/lib/
/lib64/
!tests/lib/
!docs/lib/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
.claude/settings.local.json
.ruff_cache/

# 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
*.spec

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

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

# C extensions
*.so

# Distribution / packaging (handled above in comprehensive section)
# Explicit package dist directories - NEVER COMMIT THESE
lib_package/dist/
cli_package/dist/
web_package/dist/
**/dist/

# Alembic migration files that should be generated per environment
# Do not commit environment-specific migrations
alembic/versions/*.py
!alembic/versions/.gitkeep

# ToDoWrite exported data (generated from database)
exported/
!exported/.gitkeep

# ruff cache
.ruff_cache/

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

# Unit test / coverage reports (handled above in comprehensive section)

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# pyright
.pyright/

# Pyre type checker
.pyre/

# pytype
.pytype/

# Eclipse
.project
.pydevproject
.settings

# VS Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/

# Gemini
.gemini/

# Temporary files
*.tmp
*.temp
*.swp
*.swo

# OS generated files
.DS_Store
.Trashes
Thumbs.db

# Virtual environment created by `python -m venv .venv_new`
.venv_new/

# Claude specific files
.claude/current_session.json
.claude/optimization_monitoring.json
.claude/session_optimization_tracking.json

# Episodic memory databases and archives (local-only, never commit)
.claude/episodic_memory.db
.claude/episodic_memory.db-*
.claude/episodic_memory.db.*
.claude/episodic_memory_archive/
.claude/episodic_memory_ready.json
.claude/conversation-index/
.claude/conversation-archive/

# Claude session and runtime JSON files (local-only, never commit)
.claude/agent_registry.json
.claude/session_heartbeat.json
.claude/session_start.json
.claude/session_summary.json
.claude/session_restoration_complete.json
.claude/todowrite_session_active.json
.claude/workflow_active*.json
.claude/workflow_enforcement.json
.claude/ToDoWrite_Models_session*.json
.claude/rails_activerecord_session.json
.claude/dashboard_data*.json
.claude/test_persistence_marker.json

# Claude reports (local-only, never commit)
.claude/reports/

# All episodic memory database files
**/episodic_memory.db
**/episodic_memory.db-*
**/episodic_memory.db.*
**/conversation-index/
**/conversation-archive/

# VSCode configuration directory
.vscode/

# Changelog file

# Commit message file
commit_message.txt

# Trace directory
trace/

# Token usage database files
token_usage.db
test_token_usage.db
*_token_usage.db

# Temp db files
tests/test_token_usage_temp.db-shm
tests/test_token_usage_temp.db-wal

.claude/settings.local.json

# ToDoWrite data directory (generated content, not source)
/todowrite.egg-info/
# __pycache__ handled in comprehensive section above
# ToDoWrite database files (development - we dogfood our own system)
todowrite.db
development_todowrite.db
*.db

# ToDoWrite configuration and generated files
.env.todowrite
export_test/

# PostgreSQL environment files (credentials - allowlisted but tracked)
# .claude/postgresql_env.sh
# .claude/episodic_memory_env.sh
