RockList.Live relies on three layers:
- Vitest for logic and route-level coverage
- Playwright for browser workflows
- Manual Twitch smoke checks for the flows that depend on real Twitch behavior
Run the push-time gate with:
npm run check:prepushThat covers:
- generated-file checks
- i18n coverage
- typecheck
- Vitest
Run the full pre-PR ship gate with:
npm run check:shipThat adds formatting, lint, i18n coverage, and a production app build on top of the normal push-time gate.
Run these only when the change needs them:
npm run buildfor deployment-sensitive worknpm run test:e2efor browser flowsnpm run lintornpm run lint:fullfor a full-repo Biome pass
Manual verification still matters for:
- real Twitch OAuth
- real bot OAuth
- EventSub subscription creation
- chat reply delivery
- tunnel and public callback behavior
- hosted Twitch panel behavior
Use these endpoints in this order for browser checks:
http://localhost:9000https://dev.itsaunix.systemsfor Twitch auth, callback, and other public HTTPS flows
Do not start another dev server on a different port unless both endpoints are unavailable or you intentionally need a separate instance for debugging.
- request parsing and request-policy rules
- viewer request mutations
- playlist management mutations
- Twitch EventSub request handling
- search filters and catalog rules
- settings save flows