# =============================================================================
# rockmoc — .gitignore
# Track: src/, tests/, docs/, examples/, refs/, pyproject, README, LICENSE
# Ignore: caches, venvs, local outputs, secrets, OS/IDE noise
# =============================================================================

# ----- Python -----
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyd
*.egg
*.egg-info/
.eggs/
dist/
build/
wheels/
pip-wheel-metadata/
share/python-wheels/
MANIFEST
*.manifest
*.spec

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

# ----- Test / coverage / type / lint caches -----
.pytest_cache/
.mypy_cache/
.ruff_cache/
.pytype/
.pyre/
.tox/
.nox/
.hypothesis/
.coverage
.coverage.*
coverage.xml
htmlcov/
.cache/
nosetests.xml
*.cover
*.py,cover

# ----- Packaging / install leftovers -----
src/*.egg-info/
pip-log.txt
pip-delete-this-directory.txt

# ----- Jupyter / notebooks -----
.ipynb_checkpoints/
*/.ipynb_checkpoints/
*.ipynb_checkpoints

# ----- Secrets & local env (never commit) -----
.env
.env.*
!.env.example
*.pem
*.key
secrets/
credentials/

# ----- IDE / editors -----
.idea/
.vscode/
*.swp
*.swo
*~
*.sublime-project
*.sublime-workspace
.project
.pydevproject
.settings/
*.code-workspace

# ----- OS junk -----
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini
$RECYCLE.BIN/

# ----- User / run outputs (regenerate locally) -----
# Contour exports & scratch results at repo root or arbitrary folders
outputs/
results/
tmp/
temp/
scratch/
*.log

# Generated contour dumps (keep curated fixtures under tests/data/)
*.csv
!tests/data/**
!tests/data/**/*.csv
!tests/data/**/*.json
!tests/data/**/*.md
!tests/data/**/*.txt

# Transient JSON dumps outside fixtures
/*.json
!pyproject.toml

# Regenerable figure suite (py -3.12 tests/generate_all_graphs.py)
tests/graphs/
*.png
*.jpg
*.jpeg
*.gif
*.svg
!docs/**/*.png
!docs/**/*.svg

# Do NOT blanket-ignore literature PDFs — they live in refs/
# Only ignore PDF exports dropped in the working tree root
/*.pdf

# Matplotlib / plot cache
.matplotlib/

# ----- Local tooling -----
.direnv/
.claude/
.grok/
.agent/
*.local
.local/

# ----- OS / backup -----
*~
*.bak
*.orig
*.tmp
*.temp

# ----- Portfolio site (local / deploy separately) -----
website/
