How hussainanjar/play-with-jev works
Play with Jev is a browser arcade for Heist, Chess, and Minesweeper. Players enter through the arcade, play locally in each game interface, and—where applicable—send moves or visible board clues to server routes that validate state, apply game rules, and request Jev’s choice. Heist and Chess use signed server-returned sessions; Minesweeper keeps its field in browser memory and asks the server only for optional hints. The README documents keyboard/touch play, probabilities, chess resume/export, and game rules; unsampled routes and components are represented only where that documentation and the tree support them.
Main entry points: chess-game.tsx Chess interface · page.tsx Arcade homepage · turn/route.ts Heist turn · move/route.ts Chess move
Components 18
Arcade entry
- Arcade homepage
src/app/page.tsx
Game interfaces
- Heist interface
src/app/heist/heist-game.tsx - Chess interface
src/app/chess/chess-game.tsx - Minesweeper interface
src/app/minesweeper/minesweeper-game.tsx
Game services
- Start Heist
src/app/api/start/route.ts - Heist turn
src/app/api/turn/route.ts - Start Chess
src/app/api/chess/start/route.ts - Chess move
src/app/api/chess/move/route.ts - Minesweeper hint
src/app/api/minesweeper/hint/route.ts
Rules and sessions
- Heist rules
src/lib/game.ts - Chess rules
src/lib/chess-game.ts - Minesweeper rules
src/lib/minesweeper.ts - Signed sessions
src/lib/session.ts - Chess evaluation
src/lib/chess-server.ts
External services
- TypeSafe Jev
- Vercel AI Gateway
- Browser storage
Other components
- Player
Connections 30
- Player → Arcade homepage: opens arcade
- Arcade homepage → Heist interface: opens Heist
- Arcade homepage → Chess interface: opens Chess
- Arcade homepage → Minesweeper interface: opens Minesweeper
- Player → Heist interface: plays
- Player → Chess interface: plays
- Player → Minesweeper interface: plays
- Heist interface → Start Heist: requests session
- Heist interface → Heist turn: sends action
- Start Heist → Heist rules: creates game
- Heist turn → Signed sessions: verifies and signs
- Heist turn → Heist rules: applies turns
- Heist turn → Vercel AI Gateway: evaluates guard move
- Vercel AI Gateway → TypeSafe Jev: requests choice
- Chess interface → Start Chess: starts game
- Chess interface → Chess move: sends move
- Chess interface → Browser storage: saves and resumes
- Start Chess → Chess evaluation: chooses opening
- Chess move → Chess evaluation: requests reply
- Chess move → Chess rules: replays and checks
- Start Chess → Signed sessions: signs session
- Chess move → Chess evaluation: signs and validates session
- Chess evaluation → Vercel AI Gateway: evaluates legal moves
- Vercel AI Gateway → TypeSafe Jev: requests choice
- Minesweeper interface → Minesweeper rules: runs board rules
- Minesweeper interface → Minesweeper hint: sends visible clues
- Minesweeper hint → Minesweeper rules: builds clue options
- Minesweeper hint → Vercel AI Gateway: evaluates hint
- Vercel AI Gateway → TypeSafe Jev: requests choice
- Start Heist → Signed sessions: signs session