尚未检测到更新。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.