NBA Feed
Your teams' news and games, with scores hidden until you reveal them.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Ask a rules question about a women's sport and get a plain-language answer taken only from the official rulebook, with the rule cited and a link to the exact page of the official PDF.
Currently covers 10 league pages across 5 sports:
| Sport | Leagues |
|---|---|
| Volleyball | NCAA, Pro (USA Volleyball rules) |
| Basketball | NCAA, WNBA |
| Soccer | NCAA, NWSL (IFAB Laws + NWSL competition rules) |
| Rugby | All leagues (World Rugby Laws, for college, USA Rugby and WER) |
| Hockey | NCAA, PWHL, USA Hockey |
Stack: SvelteKit 3 on Vercel · Turso (libSQL with vector search) · Gemini embeddings and answers · Redis · Tailwind + shadcn-svelte
More detail: project_mgmt/: PRD, technical spec, design spec, build plan, security plan, evaluations, and adding a sport or league.
Needs Node 22 or 24.
npm install
cp .env.example .env # then fill in the values; .env is gitignored
npm run dev
| Variable | Needed for |
|---|---|
GEMINI_API_KEY | Everything (from https://aistudio.google.com/apikey) |
TURSO_DATABASE_URL | Everything (file:local.db locally, libsql://… for Turso Cloud) |
TURSO_AUTH_TOKEN | Turso Cloud |
REDIS_URL (or KV_REST_API_URL + KV_REST_API_TOKEN for Upstash) | Question log and daily limits (required in production) |
RATE_LIMIT_SECRET | Daily limits (required in production; openssl rand -hex 32) |
The daily question limits are off in local development.
Rulebook PDFs are copyrighted, so they live in data/, which is gitignored and never committed.
data/<sport>/npx tsx scripts/dump-pdf.ts data/<sport>/<file>.pdf > dump.txtsrc/lib/ingest/sources.ts (and a parser in src/lib/ingest/ if the layout is new)npm run ingest -- <source-id> --dry-runnpm run snapshot -- comparenpm run ingest -- <source-id>npm run evalThe full guide, including display settings and colors, is project_mgmt/ADDING_A_SPORT.md.
| Command | What it does |
|---|---|
npm run dev | Local dev server |
npm run check | Type check |
npm test | Unit tests |
npm run ingest -- <id> [--dry-run] | Parse, embed and store a rulebook |
npm run snapshot -- save|compare [id...] | Parser regression check (no API keys needed) |
npm run ask -- <sport> <league> "<question>" | Ask from the terminal; shows retrieved rules and distances |
npm run eval [-- --page <sport/league>] | Run the labeled eval questions; see EVALS.md |
npm run logs [-- 50] | Recent questions from the Redis log |
npm run db:check | Check the Turso connection and vector support |
Push to main; Vercel builds and deploys. Set the environment variables above in Vercel (production can use a read-only Turso token). See project_mgmt/SECURITY_PLAN.md for the launch checklist.