node_modules
dist
.DS_Store
*.local
public/data/*
!public/data/training-rows-cache-*.json
!public/data/trained-models-cache-*.json
!public/data/model-cache-*.json
!public/data/feature-store/
!public/data/score-store/
!public/data/ktc_rankings_*.json
!public/data/ktc_history.json
!public/data/nflverse_weekly_2025.json
!public/data/ppg-feature-ablation.json
!public/data/ppg-hyperparam-sweep.json
!public/data/residual-feature-ablation.json
!public/data/residual-hyperparam-sweep.json
!public/data/ktc-feature-ablation.json
!public/data/ktc-hyperparam-sweep.json
!public/data/pdf-career-ablation-predraft.json
!public/data/pdf-career-ablation-postdraft.json
!public/data/rsp-career-ablation-predraft.json
!public/data/rsp-career-ablation-postdraft.json
!public/data/pdf-only-career-test.json
!public/data/qb-beast-ablation.json
!public/data/ktc-forecasts-*.json
!public/data/redraft-projections.json
!public/data/depth-chart-2026.json
!public/data/career-2027.json
!public/data/cfbd-college-stats.json
!public/data/cfbd-sp-ratings.json
!public/data/cfbd-recruiting.json
!public/data/cfbd-games.json
!public/data/cfbd-team-talent.json
!public/data/cfbd-player-usage.json
!public/data/cfbd/
!public/data/cfbd/*.json
!public/data/pdf-prospect-features.json
!public/data/pdf-prospect-features-merged.json
!public/data/rsp-historical-rankings.json
!public/data/rsp-qb-features.json
!public/data/manual-cfbd-overrides.json
!public/data/player-crosswalk.json
!public/data/player-aliases.json
!public/data/player-promotions.json
# Raw upstream sources committed as .csv.gz (~35 MB vs ~200 MB raw).
# TS readLocalFile auto-decompresses; Python runs `bash scripts/extract-data.sh`
# once to materialize the .csv. See scripts/pull-all-data-sources.sh.
!public/data/*.csv.gz
!public/data/ffc_adp_ppr_*.json
!public/data/espn_adp_*.json
!public/data/fantasycalc_*.json
!public/data/fantasycalc_history_*.json
!public/data/ktc-fc-rescale.json
.claude/*
!.claude/commands/
!.claude/commands/**
CLAUDE.local.md
__pycache__/
.nflverse-cache/
.cache/
.venv/
pdfs/
