## Acceptance criteria - [ ] `frontend/` created with Vite React TS template - [ ] ESLint + Prettier configured, `npm run lint` and `npm run format` scripts - [ ] Vitest + Testing Library with one example test - [ ] Vite `base` set to `/project2/` for the VM - [ ] Commands documented in README.md and CLAUDE.md "Repo layout"