OpenAthlete
AGPLv3 기반 지구력 훈련 플랫폼—EU 호스팅, 투명한 로직, 자체 호스팅·전체 내보내기 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Fantasy football league summary
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Grudge is the private web companion for a long-running fantasy football league. It combines the live ESPN league, recovered history back to 2005, predictions, weekly recaps, player and trade ledgers, manager-vs-manager Grudges, and versioned draft/trade models.README 전문 보기 ↗Grudge is the private web companion for a long-running fantasy football league. It combines the live ESPN league, recovered history back to 2005, predictions, weekly recaps, player and trade ledgers, manager-vs-manager Grudges, and versioned draft/trade models.
Production: https://grudge.planitnow.us
Grudge distinguishes authoritative league results from recovered supporting evidence.
| Era | Authority and coverage |
|---|---|
| 2005–2017 | Commissioner records decide final season results. ESPN supplies recovered weekly team scoreboards and draft boards. Historical player lineups and transaction ledgers are not available. |
| 2018–2025 | ESPN archive supplies standings, weekly player lineups, transactions, matchups and recovered draft boards. |
| 2026 onward | Live ESPN pipeline captures the current league and maintains derived data. |
The league did not play in 2020. Draft performance grades cover 2005 and 2007–2025. The 2005 source preserves all 128 draft coordinates: 119 named player rows plus nine excluded D/ST slots, eight identified by ESPN's defense lineup slot and one manually reviewed as a second defense. The 2006 board remains source history only because 21 non-defense zero-ID slots are still unresolved. Never invent data to fill an evidence gap. See docs/LEAGUE-HISTORY.md, docs/HISTORICAL-TRANSACTIONS.md and docs/LEGACY-TRADE-EVIDENCE.md before changing historical behavior.
These are architectural contracts, not implementation details.
franchise_key is the durable fantasy-franchise identity. A team name or ESPN team ID is not a franchise identity.franchise_season_teams maps a durable franchise into a season. franchise_season_results contains settled season outcomes separately.manager_key identifies a person. Grudges are manager-vs-manager and follow a person across franchise changes.nfl_players.player_key is the canonical player identity outside raw provider ingestion.nfl_player_aliases; do not assume an early ESPN ID is globally durable.Read docs/DATA-MODEL.md before changing any identity mapping or historical join.
Draft and trade grades are published, versioned results. Web requests read the published generation; they do not rebuild models on demand.
The current draft model evaluates regular-season production above replacement against historical expected production at the actual overall pick. Kicker and D/ST selections remain in draft-board coordinates but are not individually graded. Trade pages preserve separate team-fit and player-production views because they answer different questions.
Rules for model work:
See docs/MODEL-EVIDENCE.md and docs/MODEL-AUDIT.md.
The web app is intentionally usable from a phone. Admins can use:
/admin/status — production SHA, schema contract, ESPN/current-week freshness, NFL player refresh, model publications, recap status and GitHub workflow health./admin — membership and ownership-capture overview./admin/members — league access and team assignment./admin/recaps — recap delivery history./admin/trades — trade administration.Normal Git pushes do not deploy directly to production. Vercel Git auto-deploy is deliberately disabled.
.github/workflows/deploy-vercel.yml is the release authority. It can run in the scheduled release window or from an explicit deploy request. A successful release must verify the production schema, serve the exact requested commit, pass /api/health, smoke-test representative public routes, and only then advance the vercel-deployed marker branch.
vercel-deployed therefore means verified live, not merely “a Vercel hook was called.” See docs/DEPLOYMENT.md before changing release behavior.
.github/workflows/weekly.yml — live ESPN capture, derived features, predictions, history refresh, ownership capture, model refresh, raw-data commit and optional recap..github/workflows/refresh-players.yml — current/prior NFL player-ledger refresh..github/workflows/refresh-model-results.yml — rebuild/publish model evidence after model-related changes..github/workflows/ci.yml — dependency audit, TypeScript, tests, production build, RLS attack suite, player browser checks and live admin gating.The weekly and player/model writers share deployment/database safety controls. Do not bypass those workflows with ad-hoc production writes.
Use Node 22. Before merging application changes, the normal baseline is:
npm ci
npm audit --audit-level=moderate
npm run typecheck
npm test
npm run players:import -- --dry-run
npm run build
Useful targeted checks:
npm run schema:verify
npm run models:validate
npm run models:build-data
npm run models:refresh -- --dry-run
npm run history:refresh
Production database migrations must follow the migration/release process in docs/DEPLOYMENT.md; never grant the web app the pipeline role or BYPASSRLS.
Before making a broad change, identify which data source and identity layer owns the fact being changed. In particular:
docs/DATA-MODEL.md — canonical franchise, manager and player identities.docs/LEAGUE-HISTORY.md — authority by era and historical reconstruction rules.docs/MODEL-EVIDENCE.md — draft/trade model inputs, publication and evidence policy.docs/MODEL-AUDIT.md — validation of ranking and grading choices.docs/PLAYER-LEDGER.md — NFL player data, Grudge scoring and profile coverage.docs/DEPLOYMENT.md — controlled Vercel production process.docs/WEEKLY-RECAPS.md — recap product and delivery behavior.docs/HISTORICAL-TRANSACTIONS.md — 2018–2025 ESPN transaction repair.docs/LEGACY-TRADE-EVIDENCE.md — what can and cannot be established before 2018.docs/SETUP.md — environment and setup details.When those documents conflict with an old comment or exploration file, prefer the current canonical data-model, evidence and deployment documents and verify the live schema before changing behavior.