# ============================================================================
# NHL Scrabble - Git Ignore Configuration
# ============================================================================
# Organized by category for maintainability
# Focus on tools actually used in this project

# ============================================================================
# Python Core
# ============================================================================

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

# C extensions
*.so

# ============================================================================
# Python Distribution / Packaging
# ============================================================================

# Build artifacts
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Auto-generated version file (hatch-vcs)
src/nhl_scrabble/_version.py

# PyInstaller artifacts
*.manifest
*.spec

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

# ============================================================================
# Testing / Coverage
# ============================================================================

# Pytest
.pytest_cache/
.hypothesis/

# Coverage reports
htmlcov/
.coverage
.coverage.*
coverage.xml
*.cover
*.py,cover
.cache

# Benchmark results (pytest-benchmark)
.benchmarks/

# Tox
.tox/
.nox/

# Test artifacts
nosetests.xml
junit.xml
junit-*.xml
cover/

# ============================================================================
# Type Checking
# ============================================================================

# MyPy
.mypy_cache/
.dmypy.json
dmypy.json

# Pytype
.pytype/

# Pyre
.pyre/

# ============================================================================
# Code Quality Tools
# ============================================================================

# Ruff
.ruff_cache/

# ============================================================================
# Documentation
# ============================================================================

# Sphinx
docs/_build/
_build/

# MkDocs
/site

# ============================================================================
# Package Managers
# ============================================================================

# UV (used in this project)
# Similar to Pipfile.lock, it is recommended to include uv.lock for reproducibility
# We keep uv.lock in version control for deterministic builds
#uv.lock

# PEP 582 (e.g., PDM)
__pypackages__/
.pdm-python
.pdm-build/

# Pixi
.pixi

# ============================================================================
# Virtual Environments
# ============================================================================

# Standard Python virtual environments
.env
.envrc
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# ============================================================================
# IDEs / Editors
# ============================================================================

# PyCharm (JetBrains)
# Uncomment to ignore entire .idea folder:
#.idea/

# Visual Studio Code
# Uncomment to ignore entire .vscode folder:
#.vscode/

# Cursor AI Editor
.cursorignore
.cursorindexingignore

# Spyder
.spyderproject
.spyproject

# Rope
.ropeproject

# ============================================================================
# Jupyter / IPython
# ============================================================================

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# Marimo
marimo/_static/
marimo/_lsp/
__marimo__/

# ============================================================================
# Version Control / Python Tools
# ============================================================================

# PyPI configuration (credentials)
.pypirc

# ============================================================================
# OS / System Files
# ============================================================================

# Logs
*.log

# Temporary files
*.tmp
*.temp
*.bak
*.swp
*~

# ============================================================================
# Project-Specific
# ============================================================================

# Environment variables (may contain secrets)
.env

# Local configuration
local_settings.py

# API cache files
.nhl_cache.sqlite
.nhl_cache.sqlite-shm
.nhl_cache.sqlite-wal
.nhl_cache.sqlite-journal

# Database files
*.sqlite3
*.sqlite3-journal
*.db

# Generated reports
sync-report.md
/reports/
/bandit-report.html
/bandit-report.json
/bandit-report.txt
/bandit-results.json
/bandit-results.txt
/.bandit_baseline
/safety-report.html
/safety-report.json
/safety-report.txt
/safety-results.json
/safety-results.txt
refurb-report.txt

# ============================================================================
# QA Testing
# ============================================================================

# QA test artifacts
qa/web/test-results/
qa/web/traces/
qa/web/videos/
qa/web/downloads/
qa/web/reports/*.html
qa/web/reports/*.xml
qa/web/screenshots/*-actual.png
qa/web/screenshots/*-diff.png
qa/web/*.log
qa/web/locust-*.csv

# ============================================================================
# Claude Code
# ============================================================================

# Lock files
.claude/*.lock

# Temporary/runtime files
.claude/*.tmp

# ============================================================================
# Debugging
# ============================================================================

# Cython debug symbols
cython_debug/

# Scratch/temporary development files
.scratch/
