diff --git a/.agent/MEMORY/migration_source.md b/.agent/MEMORY/migration_source.md new file mode 100644 index 00000000..aeedfe2e --- /dev/null +++ b/.agent/MEMORY/migration_source.md @@ -0,0 +1,73 @@ +# Migration Source: thrillwiki-87 + +The React project at `/Volumes/macminissd/Projects/thrillwiki-87` is the **authoritative source** for ThrillWiki features and functionality. + +## Core Principle + +**thrillwiki-87 is LAW.** When migrating features, the React implementation defines: +- What features must exist +- How they should behave +- What data structures are required +- What UI patterns to follow + +## Source Project Structure + +``` +thrillwiki-87/ +├── src/ +│ ├── components/ # React components (44 directories) +│ ├── pages/ # Route pages (39 files) +│ ├── hooks/ # React hooks (80+ files) +│ ├── types/ # TypeScript definitions (63 files) +│ ├── contexts/ # React contexts +│ ├── lib/ # Utilities +│ └── integrations/ # External service integrations +├── docs/ # Feature documentation (78 files) +│ ├── SITE_OVERVIEW.md +│ ├── DESIGN_SYSTEM.md +│ ├── COMPONENTS.md +│ ├── PAGES.md +│ └── USER_FLOWS.md +└── supabase/ # Backend schemas and functions +``` + +## Technology Translation + +| React (Source) | Nuxt 4 (Target) | +|----------------|-----------------| +| React component | Vue SFC (.vue) | +| useState | ref() / reactive() | +| useEffect | watch() / onMounted() | +| useContext | provide() / inject() or Pinia | +| React Router | Nuxt file-based routing | +| React Query | useAsyncData / useFetch | +| shadcn-ui | Nuxt UI | +| Supabase client | Django REST API via useApi() | +| Edge Functions | Django views | + +## Backend Translation + +| Supabase (Source) | Django (Target) | +|-------------------|-----------------| +| Table | Django Model | +| RLS policies | DRF permissions | +| Edge Functions | Django views/viewsets | +| Realtime | SSE / WebSockets | +| Auth | django-allauth + JWT | +| Storage | Cloudflare R2 | + +## Migration Workflow + +1. **Find source** in thrillwiki-87 +2. **Read the docs** in thrillwiki-87/docs/ +3. **Check existing** Nuxt implementation +4. **Port missing features** to achieve parity +5. **Verify behavior** matches source + +## Key Source Files to Reference + +When porting a feature, always check: +- `thrillwiki-87/docs/` for specifications +- `thrillwiki-87/src/types/` for data structures +- `thrillwiki-87/src/hooks/` for business logic +- `thrillwiki-87/src/components/` for UI patterns diff --git a/.agent/MEMORY/source_mapping.md b/.agent/MEMORY/source_mapping.md new file mode 100644 index 00000000..d4d08cb0 --- /dev/null +++ b/.agent/MEMORY/source_mapping.md @@ -0,0 +1,83 @@ +# Source Mapping: React → Nuxt + +Quick reference for mapping thrillwiki-87 paths to thrillwiki_django_no_react paths. + +## Directory Mappings + +| React (thrillwiki-87) | Nuxt (thrillwiki_django_no_react) | +|----------------------|-----------------------------------| +| `src/components/` | `frontend/app/components/` | +| `src/pages/` | `frontend/app/pages/` | +| `src/hooks/` | `frontend/app/composables/` | +| `src/types/` | `frontend/app/types/` | +| `src/lib/` | `frontend/app/utils/` | +| `src/contexts/` | `frontend/app/stores/` (Pinia) | +| `docs/` | `source_docs/` | +| `supabase/migrations/` | `backend/apps/*/models.py` | + +## Component Mappings (shadcn-ui → Nuxt UI) + +| shadcn-ui | Nuxt UI | +|-----------|---------| +| `