Web app features:
- Auth: Login, Register, Forgot Password with shared-auth-ui
- Chat: New chat, conversation view, message list, model selector
- Templates: List, create, edit, delete templates
- Spaces: Team workspaces with member management
- Documents: Document mode with version history
- Archive & Profile pages
Technical:
- SvelteKit 2 with Svelte 5 runes
- Tailwind CSS 4 with shared themes
- Supabase Auth with SSR
- ChatLogo added to shared-branding
- dev:*:app commands for web+backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add AiService using Google Gemini Flash 2.0 for card generation
- Support all card types: text, flashcard, quiz, mixed
- Implement full generateDeckWithAI endpoint with:
- Credit validation and consumption
- Structured JSON output with response schema
- Deck and card creation in PostgreSQL
- Comprehensive error handling
- Add @google/genai dependency
- Update .env.example with GOOGLE_GENAI_API_KEY
- Support difficulty levels (beginner/intermediate/advanced)
- Support multiple languages
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Frontend: Updated deckStore to use fetch API calls to backend
- Frontend: Removed supabase.ts utility and @supabase/supabase-js dependency
- Backend: Removed SupabaseService and supabase.service.ts
- Backend: Updated validation schema to use DATABASE_URL
- Backend: Updated health controller to remove Supabase check
- Backend: Marked AI generation endpoint as not implemented (was using Edge Functions)
Phase 4 of PostgreSQL/Drizzle migration complete.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Phase 3 of ManaDeck database migration:
Database Package (@manacore/manadeck-database):
- Configure package for NodeNext module resolution with .js extensions
- Add build script and proper exports for ESM/CJS compatibility
- Export schema types and Drizzle utilities
Backend Migration:
- Add DatabaseModule with singleton database provider
- Create repository layer with Drizzle ORM:
- DeckRepository: CRUD operations for decks
- CardRepository: CRUD operations for cards
- UserStatsRepository: Stats and leaderboard queries
- DeckTemplateRepository: Template management
- Update ApiController to use repositories for all database operations
- Update PublicController to use repositories for featured decks, leaderboard, templates
- Add DATABASE_URL environment variable support
The backend now uses PostgreSQL via Drizzle ORM instead of Supabase SDK
for database operations. Supabase is still used for auth (via Mana Core)
and edge functions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Dependency updates:
- Manacore mobile: Expo SDK 52 → 54, expo-router 4.x → 6.x
- Supabase: Aligned to ^2.81.1 across all projects
- TypeScript: Aligned to ~5.9.3 across all projects
- React/React Native: Updated to 19.1.0/0.81.5 in Manacore
Fixes:
- Added @types/node to shared-utils for timer types
- Updated shared package tsconfig for DOM/Node types
All shared packages now pass type-check.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Projects included:
- maerchenzauber (NestJS backend + Expo mobile + SvelteKit web + Astro landing)
- manacore (Expo mobile + SvelteKit web + Astro landing)
- manadeck (NestJS backend + Expo mobile + SvelteKit web)
- memoro (Expo mobile + SvelteKit web + Astro landing)
This commit preserves the current state before monorepo restructuring.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>