尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Your fantasy basketball commissioner desk — power rankings, matchups, and league intel.
Commishop connects ESPN Fantasy Basketball leagues and gives commissioners a single place to track live standings, model matchup win probability, and publish locked weekly power rankings with AI write-ups.
espn_s2 / SWID cookies); switch between multiple connected leaguesUser → Better Auth session
→ tRPC (league.*)
→ Postgres (league credentials + locked ranking editions)
→ ESPN Fantasy adapter (live standings / matchups / power feed)
→ OpenAI (blurbs) on publish / backfill
→ Overview & Power Rankings UI
AUTH_ALLOWED_EMAILS.Domain terms (edition, blurb, publish job, etc.) are defined in GLOSSARY.md.
| Layer | Choice |
|---|---|
| App | Next.js (App Router), React, TypeScript |
| API | tRPC + TanStack Query |
| Auth | Better Auth |
| Database | PostgreSQL + Drizzle ORM |
| AI | OpenAI (power-ranking blurbs) |
| UI | Tailwind CSS, shadcn / Base UI |
| Hosting | Vercel (Fluid Compute + Cron) |
Scaffolded with Create T3 App; product code lives under src/app, src/server, and src/components.
Prerequisites: Node.js 22+, Docker (or Podman) for Postgres, and the env vars below.
cp .env.example .env
# fill in BETTER_AUTH_SECRET, DATABASE_URL, etc.
./start-database.sh # local Postgres from DATABASE_URL
npm install
npm run db:push
npm run dev
| Script | Purpose |
|---|---|
npm run dev | Dev server |
npm run build / start | Production build & serve |
npm run db:generate / db:migrate / db:push / db:studio | Drizzle Kit |
npm test | Unit tests (tsx --test) |
npm run check | ESLint + TypeScript |
See .env.example. Required for a full local run:
BETTER_AUTH_URL, BETTER_AUTH_SECRETDATABASE_URLCRON_SECRET (cron + mock seed routes)OPENAI_API_KEY (optional — blurbs skip if unset)AUTH_ALLOWED_EMAILS (optional invite allowlist)src/app/(dashboard)/ Overview & power rankings (auth-gated)
src/app/api/ Auth, tRPC, cron, ESPN logo proxy
src/server/better-auth/ Auth + invite allowlist
src/server/db/ Schema & client
src/server/api/ tRPC routers
src/server/espn/ ESPN adapter, rankings, blurbs, publish job
src/components/ Dashboards, league picker, brand
test/ Unit tests for ranking math, cron policy, etc.