# Vue support initiative: plan and tracker Status: **Phase 4 complete + both parity follow-ups closed — `@modular-vue/*` at full React-router parity** (Phase 0: PR-01, PR-02, PR-03 landed; Phase 1: PR-10, PR-11, PR-12 landed; Phase 2: PR-20, PR-21, PR-22, PR-23, PR-24 landed; Phase 3: PR-30, PR-31, PR-32, PR-33, PR-34, PR-35 landed; Phase 4: PR-40 example apps, PR-41 docs, PR-42 parity audit landed). The parity audit's two follow-up gaps are now closed: **PR-44** (Vue `createJourneyMountAdapter`, enabling journey-in-composition-zone) and **PR-43** (`simulateJourney` / `JourneySimulator` re-export from `@modular-vue/testing` + a `@modular-vue/journeys/testing` subpath) — see [Parity audit (PR-42)](#parity-audit-pr-42). Phase 5 tooling: **PR-51 (catalog Vue support), PR-04 (framework-pluggable `cli-core`), and PR-50 (`@modular-vue/cli`) landed** — the `@modular-react/catalog` harvester loads `@modular-vue/*` descriptors (incl. `.vue` SFC imports via a forwarded `@vitejs/plugin-vue`) and the demo catalog scans a mixed React + Vue set; `cli-core` emits every framework-specific body through the preset interface (no JSX-emitting strings left in `cli-core`); and `@modular-vue/cli` (binary `modular-vue`) is a preset over that interface that scaffolds a full Vue 3 + vue-router workspace (SFC shell/modules, core-`createStore` stores, `@modular-vue/journeys` journeys) whose generated app typechecks and tests clean. All three React CLIs stay byte-identical. **PR-05 (release/CI plumbing) has now landed too** — `publish.yml` and `ci.yml` cover every `@modular-frontend/*` engine and every `@modular-vue/*` package (including `@modular-vue/cli`, which PR-50 had left out of the CI build matrix), so the new scopes bump, publish, and get validated exactly like the React families. **PR-52 (Nuxt module, stretch) has now landed** — `@modular-vue/nuxt` (`0.1.0`, experimental) ships the `installModularApp` runtime installer plus a `defineNuxtModule` wrapper that grafts module routes onto Nuxt's vue-router and installs the modular contexts on the Nuxt Vue app, with a `framework-mode-nuxt.md` guide and `ci.yml` / `publish.yml` plumbing; D6 is resolved (Nuxt out of scope for the 1.0 family, shipped separately as experimental `0.1.x`). Every planned PR is now complete. Last updated: 2026-07-17. Background and feasibility reasoning: [vue-port-analysis.md](./vue-port-analysis.md). This document is the single source of truth for the multi-PR effort to bring the framework to Vue 3, including full Journeys and Compositions support. Update the status board and per-PR checkboxes as PRs land; record decision outcomes in the Decisions section. ## Goal Ship a Vue 3 + vue-router package family with feature parity to `@react-router-modules/*`: - Module contract: `defineModule`, dependency declaration and validation, slots/zones, navigation manifest. - Runtime: registry, route building via `router.addRoute`, auth guards, `useZones`/`useRouteData` over `route.meta`. - Journeys: the full engine (transitions, branching, persistence, rewind) with a Vue outlet. - Compositions: multi-module screens with scoped stores and a Vue outlet. - Catalog harvesting of Vue descriptors. - Testing helpers, a CLI scaffolder, a runnable example app, and getting-started plus shell-patterns docs. ## Non-goals (for this initiative) - Nuxt integration. Tracked as a stretch phase (PR-52) but explicitly not required for 1.0. The initial target is plain Vue SPA + vue-router. - Rebuilding the catalog portal SPA in Vue. It ships as static HTML; the existing React-built portal harvests Vue descriptors fine. - Vue 2 or Options-API-first ergonomics. Composition API and `