# =============================================================================
# Python
# =============================================================================
__pycache__/
*.py[cod]
*$py.class
*.so

# Virtual environments
.venv/
venv/
.env/
.python-version

# Distribution / packaging
dist/
build/
*.egg-info/
*.egg
.eggs/

# =============================================================================
# Testing
# =============================================================================
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
coverage.xml
*.cover
test_output/

# =============================================================================
# Benchmarking
# =============================================================================
# pytest-benchmark autosave directory (machine-specific, CI artifact)
.benchmarks/

# =============================================================================
# Type checking / Linting
# =============================================================================
.mypy_cache/
.ruff_cache/
.dmypy.json
dmypy.json

# =============================================================================
# Spellcheck
# =============================================================================
# cSpell cache (dictionary cache for performance)
.cspell/.cache/

# =============================================================================
# Package managers
# =============================================================================
# uv cache (if using uv package manager)
.uv-cache/

# =============================================================================
# IDE / Editors
# =============================================================================
.idea/
*.swp
*.swo
*~
.project
.pydevproject
.settings/

# VS Code - keep config but ignore user-specific
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
!.vscode/markdown.css
!.vscode/tasks.json
!.vscode/README.md

# =============================================================================
# Operating System
# =============================================================================
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Thumbs.db
ehthumbs.db
Desktop.ini

# =============================================================================
# Project-specific
# =============================================================================
# Temporary files
/tmp/
*.tmp
*.temp
*.bak

# Logs
*.log
logs/

# Generated outputs
output/
examples/output/

# Coverage and work tracking files
coverage.json
active_work.json

# =============================================================================
# Security / Sensitive Files
# =============================================================================
# Private keys and certificates
*.key
*.pem

# Credentials and secrets
*credentials*
.env*
secrets.*

# =============================================================================
# LaTeX Generated Files
# =============================================================================
# PDF output files (generated by latexmk/lualatex)
examples/latex/*.pdf

# latexindent backup files
*.bak[0-9]
*.bak[0-9][0-9]

# GHDL work files
work-obj*.cf

# =============================================================================
# Claude Code Runtime Files
# =============================================================================
# Runtime-generated files (not tracked)
.claude/agent-outputs/*
!.claude/agent-outputs/.gitkeep
.claude/summaries/*
!.claude/summaries/.gitkeep

# Runtime state files
.claude/agent-registry.json
.claude/*.backup*.json
.claude/workflow-progress*.json
.claude/settings.local.json

# Hook logs and caches (generated at runtime)
.claude/hooks/*.log
.claude/hooks/errors.archive/
.claude/hooks/.context_state.json
.claude/hooks/.settings_hash
.claude/hooks/orchestration-metrics.json
.claude/hooks/__pycache__/

# Temporary analysis reports (NOT to be committed)
.claude/reports/*.md
.claude/reports/*.txt
.claude/reports/archive/
!.claude/reports/README.md
!.claude/reports/.gitkeep

# Orchestration activity log (debugging)
.claude/orchestration.log
.claude/orchestration.log.*

# =============================================================================
# Coordination Files
# =============================================================================
# Coordination files are ephemeral runtime state
.coordination/**
!.coordination/README.md
!.coordination/checkpoints/
!.coordination/checkpoints/.archive/
!.coordination/checkpoints/.archive/.gitkeep
!.coordination/checkpoints/README.md
!.coordination/handoffs/
!.coordination/handoffs/.gitkeep
!.coordination/locks/
!.coordination/locks/.gitkeep
!.coordination/projects/
!.coordination/projects/.gitkeep
!.coordination/archive/
!.coordination/archive/.gitkeep
!.coordination/summaries/
!.coordination/summaries/.gitkeep
!.coordination/spec/
!.coordination/spec/incomplete-features.yaml

# =============================================================================
# Documentation Generated Files
# =============================================================================
# MkDocs generated site
site/

# Hypothesis testing data
.hypothesis/

# Changelog fragments (towncrier/scriv)
changelog.d/

# =============================================================================
# TraceKit-Specific
# =============================================================================
# Test data - exclude large files with potential legal concerns
test_data/Data_Capture/
test_data/*.zip
tracekit_test_data/

# Root-level test artifacts and data snapshots
/*.zip
/test_*.py
/spde_data_analysis_snapshot_*.zip

# Root-level temporary reports (should be in .claude/reports/ instead)
/*REPORT*.md
/*SUMMARY*.md
/*ASSESSMENT*.md
/*ANALYSIS*.md
/*AUDIT*.md

# Performance test data (generated, large files)
tests/performance/test_data/*.npz

# Include synthetic test data (small, legally safe, reproducible)
!test_data/synthetic/
!test_data/README.md

# Generated reports (runtime artifacts)
generated_reports/
demo_reports/
demo_reports.backup/

# Archives and snapshots
analysis_archives/
archive/

# Validation result files
**/validation_results.json
**/remediation_results.json
validation_results/
.cspell/.cache
