# ============================================================================
# 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
/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

# Runtime data
/data/

# ============================================================================
# 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

# ============================================================================
# CodeQL Security Scanning
# ============================================================================

# CodeQL database and analysis results (local scans only)
/.codeql-db/
/.codeql-results/

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

# Cython debug symbols
/cython_debug/

# Scratch/temporary development files
/.scratch/

# ============================================================================
# Internationalization (I18n)
# ============================================================================

# Compiled translation files are now committed for reliability
# Previously excluded, but small size (~45KB total) and reliability benefits
# outweigh the typical practice of excluding build artifacts
# Ensures translations work in all environments without compilation
# *.mo

# Temporary extraction directory
/locales/
# Translation template (generated file)
messages.pot
