--- description: Audit gaps and implement missing features from thrillwiki-87 source --- # Migration Workflow **thrillwiki-87 is LAW.** This workflow audits what's missing and implements it. ## Quick Start Run `/migrate` to: 1. Audit current project against thrillwiki-87 2. Identify the highest-priority missing feature 3. Implement it using the appropriate sub-workflow --- ## Phase 1: Gap Analysis ### Step 1.1: Audit Components Compare React components with Vue components: ```bash # Source (LAW): /Volumes/macminissd/Projects/thrillwiki-87/src/components/ # Target: /Volumes/macminissd/Projects/thrillwiki_django_no_react/frontend/app/components/ ``` For each React component directory, check if equivalent Vue component exists: - **EXISTS**: Mark as ✅, check for feature parity - **MISSING**: Mark as ❌, add to implementation queue ### Step 1.2: Audit Pages Compare React pages with Nuxt pages: ```bash # Source (LAW): /Volumes/macminissd/Projects/thrillwiki-87/src/pages/ # Target: /Volumes/macminissd/Projects/thrillwiki_django_no_react/frontend/app/pages/ ``` Key pages to audit (by size/complexity): | React Page | Size | Priority | |------------|------|----------| | RideDetail.tsx | 54KB | P0 | | Profile.tsx | 51KB | P0 | | AdminSettings.tsx | 44KB | P1 | | ParkDetail.tsx | 36KB | P0 | | Auth.tsx | 29KB | P1 | | Parks.tsx | 22KB | P0 | | Rides.tsx | 20KB | P0 | ### Step 1.3: Audit Hooks → Composables Compare React hooks with Vue composables: ```bash # Source (LAW): /Volumes/macminissd/Projects/thrillwiki-87/src/hooks/ # Target: /Volumes/macminissd/Projects/thrillwiki_django_no_react/frontend/app/composables/ ``` Priority hooks: | React Hook | Size | Current Status | |------------|------|----------------| | useModerationQueue.ts | 21KB | Check useModeration.ts | | useEntityVersions.ts | 14KB | ❌ Missing | | useAuth.tsx | 11KB | Check useAuth.ts | | useRideCreditFilters.ts | 9KB | ❌ Missing | ### Step 1.4: Audit Types Compare TypeScript definitions: ```bash # Source (LAW): /Volumes/macminissd/Projects/thrillwiki-87/src/types/ # Target: /Volumes/macminissd/Projects/thrillwiki_django_no_react/frontend/app/types/ ``` --- ## Phase 2: Priority Selection After auditing, select the highest priority gap: ### Priority Matrix | Category | Weight | Examples | |----------|--------|----------| | **P0 - Core UX** | 10 | Main entity pages, search, auth | | **P1 - Features** | 7 | Reviews, credits, lists | | **P2 - Admin** | 5 | Moderation, settings | | **P3 - Polish** | 3 | Animations, edge cases | Select ONE item to implement this session. --- ## Phase 3: Implementation Based on the gap type, use the appropriate sub-workflow: ### For Missing Component ``` /migrate-component ``` ### For Missing Page ``` /migrate-page ``` ### For Missing Hook/Composable ``` /migrate-hook ``` ### For Missing Types ``` /migrate-type ``` --- ## Phase 4: Verification After implementation: 1. **Feature Parity Check**: Does it match thrillwiki-87 behavior? 2. **Visual Parity Check**: Does it look the same? 3. **Data Parity Check**: Does it show the same information? 4. **Interaction Parity Check**: Do actions work the same way? --- ## Gap Tracking Update `GAP_ANALYSIS_MATRIX.md` with status: ```markdown | Feature | Source Location | Target Location | Status | |---------|-----------------|-----------------|--------| | Park Detail Tabs | src/pages/ParkDetail.tsx | pages/parks/[park_slug]/ | [OK] | | Entity Versioning | src/hooks/useEntityVersions.ts | composables/ | [MISSING] | | Ride Credits | src/components/credits/ | components/credits/ | [PARTIAL] | ``` Status tags: - `[OK]` - Feature parity achieved - `[PARTIAL]` - Some features missing - `[MISSING]` - Not implemented - `[BLOCKED]` - Waiting on backend --- ## Reference: Source Documentation Always check thrillwiki-87 docs for specifications: ```bash /Volumes/macminissd/Projects/thrillwiki-87/docs/ ├── SITE_OVERVIEW.md # What features exist ├── COMPONENTS.md # Component specifications ├── PAGES.md # Page layouts (72KB - comprehensive) ├── USER_FLOWS.md # Interaction patterns (77KB) ├── DESIGN_SYSTEM.md # Visual standards └── [Many more...] ``` --- ## Single Command Execution When you run `/migrate`, execute these steps: 1. **Read GAP_ANALYSIS_MATRIX.md** to see current status 2. **List directories** in both projects to find new gaps 3. **Select highest priority** missing item 4. **Read source implementation** from thrillwiki-87 5. **Implement in target** following sub-workflow patterns 6. **Update GAP_ANALYSIS_MATRIX.md** with new status 7. **Report what was implemented** and next priority item