RockList.Live is a Twitch song request app for music and Rocksmith streams. Viewers browse a channel playlist, search the catalog, and request songs from the web, chat, or Twitch panel. Streamers and moderators manage queue rules, moderation, VIP tokens, overlays, and bot behavior from the same channel-first app.
- Public channel pages at
/$slugwith playlist, played history, search, request actions, blacklist visibility, and viewer request state - Channel management on the same page for owners and moderators, including queue actions, moderation, VIP token handling, and request editing
- Owner settings for request policy, moderator permissions, VIP token automation, Twitch and bot setup, and stream overlay configuration
- Twitch panel extension for playlist viewing, linked viewer requests, and role-aware moderation controls
- Shared Twitch bot account with channel opt-in, EventSub reconciliation, chat command handling, and VIP token automation
- Localized website, panel, and bot copy
- TanStack Start
- Cloudflare Workers
- Cloudflare D1
- Cloudflare Durable Objects
- Cloudflare Queues
- Cloudflare KV
- TypeScript
npm install
cp .env.example .env
npm run db:bootstrap:local
npm run devThe local app runs on:
http://localhost:9000
For Twitch auth, EventSub, bot flows, or panel testing, fill in the Twitch-related values in .env.example and follow docs/local-development.md.
The default contributor path is:
git switch -c codex/my-change
git add -A
git commit
git pushDo not commit or push on main. If you start on main, create a feature branch first. Stage the full worktree before every commit unless you intentionally need to exclude something.
The repo hooks run staged Biome checks on commit, including staged JSON under src, tests, and scripts, and generated-file checks, i18n coverage, lint, typecheck, and tests on push.
Run the same push-time gate manually with:
npm run check:prepushRun extra commands only when the change needs them:
npm run buildnpm run test:e2enpm run lintnpm run lint:full
- CONTRIBUTING.md
- docs/local-development.md
- docs/deployment-workflow.md
- docs/bot-operations.md
- docs/catalog-grouping-and-charter-preferences.md
- docs/request-modifier-vip-token-rules.md
- docs/stream-overlay.md
- docs/testing-guide.md
- docs/README.md
The app deploys as two Workers:
request-botrequest-bot-backend
Use docs/deployment-workflow.md for the full setup, secret, migration, and GitHub Actions flow.