尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗"I have N minutes tonight. What should this character do?"
A session planner for World of Warcraft: Forever. Route guides tell you the fastest path; this tells a time-poor adult the best use of the time slot they actually have.
Don't want to self host? Use classicwowforever.dev.
Built so far:
/rested/p/example with a working session timer/plan, with quota, feedback and shareable plans (Milestone 3)evals/ (Milestone 4)data/, validated in CI and synced to the database on merge/report, with a review queue for data keepers (pnpm reports)docs/plan-changes.md records the decisions made since the original plan.
You need Node.js (latest LTS), pnpm, and Docker.
pnpm installpnpm db:start starts a local Supabase (Postgres, Auth, and a test inbox) in Docker. It applies supabase/migrations/ and supabase/seed.sql automatically. The first run downloads a few images.pnpm db:env writes .env.development.local with your local Supabase URL and keys.ANTHROPIC_API_KEY in .env.development.local (or .env.local).pnpm dev, then open http://localhost:3000.Sign in with any address: the email lands in the local inbox at http://127.0.0.1:54324, not a real mailbox. pnpm dev always uses the local database; .env.local holds production values for scripts and is never used in development.
| Command | What it does |
|---|---|
pnpm dev | Dev server, against local Supabase |
pnpm test | Unit tests (Vitest) |
pnpm lint | ESLint |
pnpm build | Production build |
pnpm db:start | Start local Supabase (Docker) |
pnpm db:reset | Rebuild the local database from migrations and seed |
pnpm db:stop | Stop local Supabase |
pnpm db:env | Write .env.development.local for the running local stack |
pnpm test:db | Security and quota tests on a throwaway Postgres (TEST_DATABASE_URL) |
pnpm evals | Planner evals against the Claude API (see evals/README.md) |
pnpm data:check | Validate the game data in data/zones/ |
pnpm data:sync | Copy game data into a database (--local or --production; dry run until --yes) |
pnpm data:generate | Regenerate supabase/seed.sql and the data JSON Schema from data/ |
pnpm reports | Review players' quest reports and add them to data/ (see data/README.md) |
pnpm icons | Copy the icons listed in scripts/icons.mts into components/icons/ |
app/ pages and routes (App Router)
actions/ Server Actions (form posts)
p/[shareId]/ shared plan page and its preview image
rested/ rested XP calculator
components/ React components (planner/ holds the plan card and timer)
lib/
theme.ts color tokens, the only place hex values live
schema.ts Zod schemas for plans (model output and stored)
prompts/ the planner's system prompt, shared with the evals
rested.ts, timer.ts pure logic behind the calculator and session timer
supabase/ admin (secret key) and public (anon) clients
supabase/migrations/ SQL migrations
data/zones/ game data, one JSON file per zone (see data/README.md)
supabase/seed.sql generated from data/ for local databases
supabase/tests/ security and quota tests run by pnpm test:db
docs/ decisions and setup notes
assets/fonts/ fonts used to render preview images (OFL)
See CONTRIBUTING.md. You don't need to write code; accurate quest data matters just as much.
The web app is AGPL 3.0. Game data in data/ is CC BY-SA 4.0. Cinzel and Inter (in assets/fonts/) are under the SIL Open Font License. Icons are from game-icons.net under CC BY 3.0, credited on the site's Open Source page.
Classic WoW Forever is a fan project, not affiliated with Blizzard Entertainment.