Thanks for helping improve Imposter. This project is a Discord Activity plus web/PWA build: React (Vite), PartyKit realtime server, Cloudflare Worker for OAuth, optional Supabase.
- Read
README.md— prerequisites, env vars, and scripts. - For deploy order and portal setup, use
docs/LAUNCH_PLAN.md. - Architecture and UI conventions for agents/humans:
.cursor/rules/.
npm install
cd server && npm install && cd ..
cp .env.example .env # fill valuesTerminal A — PartyKit:
npm run dev:partyTerminal B — Vite:
npm run dev- Normal local play: use the in-app web profile / name controls.
VITE_DISCORD_MOCK=1: fixed mock user; intended for Playwright / quick UI only (see README).
npm run lint
npm run buildE2E (needs PartyKit on 127.0.0.1:1999, same as CI):
npm run dev:party # separate terminal
npm run test:e2eServer TypeScript:
cd server && npx tsc --noEmit -p .- Keep changes focused; match existing patterns (see shadcn/ui usage in
src/components/ui/). - i18n: default strings in
src/i18n/locales/en.json; register locales insrc/i18n/config.ts. - Word packs: server ids in
server/src/word-packs.tsmust matchsrc/data/word-pack-options.ts. - Do not commit
.env,.env.deploy, or secrets.
See docs/SECURITY.md and root SECURITY.md for reporting and operational notes.