pnpm test: Run at end of task batchespnpm build: Only for build/bundler issues or verifying production outputpnpm lint: Check for code issuesdevruns indefinitely in watch mode
Don't build after every change. This is a visual site; assume changes work.
The dev server uses the real production database and OAuth. There are no auth bypasses.
To authenticate a dev session, the human must run:
pnpm auth:loginThis opens tanstack.com, completes OAuth, and saves DEV_SESSION_TOKEN to .env.local. The dev server then auto-injects that token as a session cookie on startup.
If the user asks for help with anything requiring authentication (account pages, admin, mutations) and DEV_SESSION_TOKEN is not set in .env.local, tell them to run pnpm auth:login first and restart the dev server.
When something doesn't work or look right:
- Use Playwright MCP to view the page and debug visually
- Use
pnpm buildonly for build/bundler issues - Use
pnpm lintfor code issues
Playwright is available via npx playwright and should be used freely to interact with the running dev server like a human would. This includes testing, debugging, visual verification, design iteration, and general development workflows.
Since the dev server runs with a real authenticated session (via DEV_SESSION_TOKEN), Playwright has full access to gated pages, account features, admin areas, and authenticated mutations — exactly as the signed-in user would.
Common uses:
npx playwright screenshot <url> <file>— capture current state of any page- Navigate to a page, interact with elements, re-screenshot to verify changes
- Debug layout/visual issues without needing a human to look
- Verify authenticated flows end-to-end (account, showcase submissions, admin, etc.)
- Iterate on UI by screenshotting, editing, screenshotting again