Refactor web/ to Vite + React + shadcn#77
Conversation
Preserve the hero demo and brand, tighten post-hero copy for agent readability, and teach the real --json envelope with success and failure samples.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit bcc338f. Configure here.
| </div> | ||
| </div> | ||
|
|
||
| <HeroDemo reduceMotion={reduceMotion} conductor={conductor} /> |
There was a problem hiding this comment.
Copy install breaks hero demo
High Severity
useCopy lives in Hero, so clicking Copy install re-renders HeroDemo. React reapplies fixed props (data-phase="idle", hidden on command spans, base classNames), wiping imperative animation state. Scheduled cues may not replay until the next cycle, leaving the hero demo stuck wrong for up to one loop.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit bcc338f. Configure here.
| stop() { | ||
| running = false; | ||
| cancelAnimationFrame(raf); | ||
| }, |
There was a problem hiding this comment.
Conductor stop leaves RAF running
Medium Severity
stop sets running false and cancels one frame id, but each tick always schedules another requestAnimationFrame without checking running. A tick already on the stack reschedules after stop, so the loop can outlive unmount or a later start and duplicate listeners work.
Reviewed by Cursor Bugbot for commit bcc338f. Configure here.


Summary
web/site with Vite + React + TypeScript + shadcnerror.context) and human→agent handoffTest plan
cd web && npm install && npm run buildnpm run dev— hero/fleet demos, copy install,/llms.txtweb, framework ViteNote
Low Risk
Changes are confined to the marketing
web/frontend and ignore rules; no runtime CLI, auth, or data-path changes.Overview
Replaces the static
web/landing page (inline HTML plusmain.js) with a Vite + React + TypeScript app using Tailwind 4 and shadcn UI.index.htmlis now a thin shell that mounts React at#root.Hero and fleet demos keep the same timed
up/downbehavior: animation timing moves intolib/conductor.tsand React components (HeroDemo,Fleet) instead of vanilla DOM scripts. Reduced-motion and demo pause-on-hover behavior are preserved.Page content is reorganized for scanability: lifecycle verbs lead, then install (human → agent handoff via skill/SCHEMA), then agent JSON contract with success and failure envelopes (
error.context,logshints), parallel agents, and a shorter “why” section.Tooling and deploy: root and
web/gitignores fornode_modules,dist,.vercel; oxlint;vercel.jsonfor Vite andllms.txtheaders. Staticweb/main.jsis removed.Reviewed by Cursor Bugbot for commit bcc338f. Bugbot is set up for automated code reviews on this repo. Configure here.