**Blocked by #1** — wait for PR #2 (test/lint foundation) to merge so this branch starts on a `main` that has CI gates in place. Goal: make the app easy for multiple agents to edit. ## Owned files - `src/App.jsx` - `src/main.jsx` - new `src/pages/*` - new `src/layouts/*` - new `src/features/*` ## Tasks - Move landing screen out of `App.jsx`. - Move buyer screen out of `App.jsx`. - Move seller screen out of `App.jsx`. - Add a small app shell. - Keep behavior the same. ## Acceptance criteria - User can still pick buyer/seller. - Seller generator still works. - Buyer placeholder still renders. - `npm run lint`, `npm test`, and `npm run build` all pass. - GitHub Actions runs all three. ## Branch / PR rules - Branch name: `agent/002-app-structure` - Branch from `main` after #1 has merged. - Do not touch unrelated files (no `package.json`, no `vite.config.js`, no styling overhauls — those are later issues). - Do not commit secrets. - One PR, must pass CI, must be reviewed before merge. ## Suggested split (non-binding) - `src/main.jsx` keeps `createRoot` only. - `src/layouts/AppShell.jsx` — header/footer chrome shared across pages. - `src/pages/LandingPage.jsx` — buyer/seller picker. - `src/pages/SellerPage.jsx` — current seller flow. - `src/pages/BuyerPage.jsx` — current "Coming Soon" placeholder. - `src/App.jsx` — route table only (state machine on `userType` is fine for MVP — no router library required). Routing strategy is intentionally left to the implementer; the goal is clean file boundaries, not the choice between react-router and a state-machine. ## Out of scope (deferred to later issues) - Visual redesign / green palette → Issue 003. - Replacing the seller form with chat → Issue 004. - Building a real buyer flow → Issue 007. See `docs/HAGGLY_V2_AGENT_PLAN.md` for the full plan and assignment prompt.
Activity