# AGENTS.md - Vue demo parity rules ## Scope - Scope: `examples/v2/vue/demo/**`. - Goal: mirror `examples/v2/react/demo/**` behavior and flow as closely as possible. ## Source of truth - Treat the React demo as canonical for routes, runtime wiring, and UI interaction patterns. - Prefer equivalent structure and naming when Nuxt conventions allow it. - Prefer route-local composition in `pages/*.vue` to mirror React's page-level ownership. - Avoid introducing shared wrapper/scaffold components when React does not have an equivalent abstraction. ## Parity constraints - Do not add Vue-only product features, routes, or workflow changes. - Keep runtime endpoint behavior aligned with React (`/api/copilotkit`, `/api/copilotkit-single`, `/api/copilotkit-mcp`). - If a React behavior cannot be mirrored yet because package primitives are missing, keep the route scaffolded and minimal until parity primitives land. - Keep file and page responsibilities as close to React as possible so cross-framework diffs are easy to track. - If a temporary divergence is unavoidable, make it explicit in the page file and remove it once the matching Vue primitive exists. ## Implementation guidance - Mirror route coverage first: `/`, `/single`, `/mcp-apps`, `/sidebar`, `/popup`. - Mirror interaction semantics second (thread behavior, tool handling, suggestions, dev console usage). - Keep deviations explicit and temporary. - For scaffold content, mirror React page copy/layout intent first; avoid inventing alternate demo flows. ## Validation Run after meaningful changes: 1. `pnpm -C examples/v2/vue/demo dev` 2. `pnpm -C examples/v2/vue/demo build`