@shaykec/app-agent 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/safety-guardrails.mdc +1 -0
- package/.cursor/rules/workflow.mdc +4 -4
- package/.cursor/skills/content-writer/SKILL.md +27 -3
- package/.cursor/skills/module-integrator/SKILL.md +53 -0
- package/.cursor/skills/module-selector/SKILL.md +11 -0
- package/.cursor/skills/ui-tester/SKILL.md +4 -2
- package/CLAUDE.md +4 -3
- package/dist/cli.d.ts +4 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +45 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/configure.d.ts +3 -0
- package/dist/commands/configure.d.ts.map +1 -0
- package/dist/commands/configure.js +300 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/prompt-builder.d.ts +2 -2
- package/dist/prompt-builder.d.ts.map +1 -1
- package/dist/prompt-builder.js +24 -8
- package/dist/prompt-builder.js.map +1 -1
- package/package.json +1 -1
- package/prompts/agent-prompt.md +1 -1
- package/prompts/quick-agent-prompt.md +2 -2
- package/prompts/scratch-agent-prompt.md +1 -1
- package/prompts/test-agent-prompt.md +1 -1
- package/prompts/update-agent-prompt.md +4 -2
- package/templates/android/BookTemplate/TESTING_MANIFEST.md +12 -0
- package/templates/android/BookTemplate/app/build.gradle.kts +5 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/BookApplication.kt +5 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/core/components/EmptyStateView.kt +105 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/DataRepository.kt +37 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/DataSourceResolver.kt +3 -4
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/AppDao.kt +113 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/AppDatabase.kt +40 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/BookingEntity.kt +60 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/BusinessHoursEntity.kt +35 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/LocalStorageProvider.kt +205 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ProviderEntity.kt +83 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ReviewEntity.kt +62 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ServiceEntity.kt +40 -0
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/bookings/BookingsScreen.kt +11 -29
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/ProviderDetailScreen.kt +3 -2
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/SearchScreen.kt +9 -22
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/profile/ProfileScreen.kt +5 -22
- package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/mock/MockDataProvider.kt +2 -2
- package/templates/android/BookTemplate/app/src/test/kotlin/com/appship/book/DataRepositoryTest.kt +40 -0
- package/templates/android/BookTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/BookTemplate/tests/01_launch_discover.yaml +17 -7
- package/templates/android/BookTemplate/tests/02_tab_navigation.yaml +23 -4
- package/templates/android/BookTemplate/tests/03_provider_detail.yaml +30 -5
- package/templates/android/BookTemplate/tests/04_booking_detail.yaml +36 -0
- package/templates/android/BookTemplate/tests/05_booking_create_flow.yaml +42 -0
- package/templates/android/BookTemplate/tests/06_search_filter.yaml +48 -0
- package/templates/android/BookTemplate/tests/07_profile_settings.yaml +37 -0
- package/templates/android/BookTemplate/tests/08_full_e2e.yaml +57 -3
- package/templates/android/ChatTemplate/TESTING_MANIFEST.md +3 -0
- package/templates/android/ChatTemplate/app/build.gradle.kts +5 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/ChatApplication.kt +6 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/core/components/EmptyStateView.kt +105 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/AppDao.kt +75 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/AppDatabase.kt +40 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/CallEntity.kt +57 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/ContactEntity.kt +38 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/ConversationEntity.kt +73 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/MessageEntity.kt +89 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/UserEntity.kt +52 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/calls/CallsScreen.kt +25 -9
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/contacts/ContactsScreen.kt +27 -12
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/conversations/ChatScreen.kt +1 -0
- package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/conversations/ConversationsScreen.kt +42 -26
- package/templates/android/ChatTemplate/app/src/test/kotlin/com/appship/chat/DataRepositoryTest.kt +41 -0
- package/templates/android/ChatTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/ChatTemplate/tests/01_launch_chats.yaml +26 -7
- package/templates/android/ChatTemplate/tests/02_tab_navigation.yaml +61 -12
- package/templates/android/ChatTemplate/tests/08_full_e2e.yaml +96 -19
- package/templates/android/DashTemplate/TESTING_MANIFEST.md +6 -0
- package/templates/android/DashTemplate/app/build.gradle.kts +5 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/AppConfig.kt +9 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/DashApplication.kt +10 -1
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/core/components/EmptyStateView.kt +105 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/DataSourceResolver.kt +2 -4
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AlertEntity.kt +40 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AppDao.kt +112 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AppDatabase.kt +41 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/DataPointEntity.kt +32 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/DataSourceEntity.kt +37 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/LocalStorageProvider.kt +231 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/MetricEntity.kt +52 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/ReportEntity.kt +48 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/WidgetEntity.kt +97 -0
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/alerts/AlertsScreen.kt +25 -11
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/dashboard/DashboardScreen.kt +21 -10
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/datasources/DataSourcesScreen.kt +30 -16
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/reports/ReportsScreen.kt +30 -16
- package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/mock/MockDataProvider.kt +7 -7
- package/templates/android/DashTemplate/app/src/test/kotlin/com/appship/dash/DataRepositoryTest.kt +41 -0
- package/templates/android/DashTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/DashTemplate/tests/02_tab_navigation.yaml +41 -7
- package/templates/android/FamilyTemplate/TESTING_MANIFEST.md +3 -0
- package/templates/android/FamilyTemplate/app/build.gradle.kts +5 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/FamilyApplication.kt +10 -1
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/core/components/EmptyStateView.kt +105 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/DataRepository.kt +65 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/DataSourceResolver.kt +21 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/AppDao.kt +138 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/AppDatabase.kt +42 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/CalendarEventEntity.kt +55 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/ChoreEntity.kt +58 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/FamilyMemberEntity.kt +52 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/LocalStorageProvider.kt +301 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/LocationUpdateEntity.kt +39 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/MilestoneEntity.kt +45 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/PhotoEntity.kt +51 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/RewardEntity.kt +48 -0
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/calendar/CalendarScreen.kt +19 -8
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/chores/ChoreBoardScreen.kt +35 -21
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/familyhub/FamilyHubScreen.kt +1 -1
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/gallery/GalleryScreen.kt +1 -1
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/rewards/RewardsScreen.kt +1 -1
- package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/mock/MockDataProvider.kt +7 -7
- package/templates/android/FamilyTemplate/app/src/test/java/com/appship/family/DataRepositoryTest.kt +42 -0
- package/templates/android/FamilyTemplate/app/src/test/java/com/appship/family/mock/MockDataProviderTest.kt +17 -17
- package/templates/android/FamilyTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/FamilyTemplate/tests/01_launch_hub.yaml +32 -1
- package/templates/android/FamilyTemplate/tests/02_tab_navigation.yaml +56 -3
- package/templates/android/FamilyTemplate/tests/03_chore_complete.yaml +36 -3
- package/templates/android/FamilyTemplate/tests/04_add_chore.yaml +49 -3
- package/templates/android/FinanceTemplate/TESTING_MANIFEST.md +4 -0
- package/templates/android/FinanceTemplate/app/build.gradle.kts +3 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/FinanceApplication.kt +5 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/core/components/EmptyStateView.kt +105 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/DataSourceResolver.kt +2 -4
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/Models.kt +8 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AccountEntity.kt +58 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AppDao.kt +145 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AppDatabase.kt +42 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/BillEntity.kt +63 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/BudgetEntity.kt +54 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/CategoryEntity.kt +33 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/GoalEntity.kt +59 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/InsightEntity.kt +47 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/LocalStorageProvider.kt +326 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/TransactionEntity.kt +66 -0
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/budgets/BudgetsScreen.kt +13 -2
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/goals/GoalsScreen.kt +17 -6
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/home/HomeScreen.kt +12 -3
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/transactions/TransactionsScreen.kt +26 -13
- package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/mock/MockDataProvider.kt +25 -61
- package/templates/android/FinanceTemplate/app/src/test/kotlin/com/appship/finance/DataRepositoryTest.kt +41 -0
- package/templates/android/FinanceTemplate/app/src/test/kotlin/com/appship/finance/mock/MockDataProviderTest.kt +5 -5
- package/templates/android/FinanceTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/FinanceTemplate/tests/01_launch_home.yaml +16 -6
- package/templates/android/FinanceTemplate/tests/08_full_e2e.yaml +89 -5
- package/templates/android/GameTemplate/TESTING_MANIFEST.md +3 -0
- package/templates/android/GameTemplate/app/build.gradle.kts +5 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/AppConfig.kt +9 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/MainActivity.kt +6 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/core/components/EmptyStateView.kt +137 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/DataSourceResolver.kt +21 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AchievementEntity.kt +42 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AppDao.kt +127 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AppDatabase.kt +41 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/DailyChallengeEntity.kt +70 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/GameSessionEntity.kt +45 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LeaderboardEntryEntity.kt +57 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LevelEntity.kt +45 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LocalStorageProvider.kt +99 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/ShopItemEntity.kt +41 -0
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/achievements/AchievementsScreen.kt +20 -11
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/leaderboard/LeaderboardScreen.kt +19 -11
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/shop/ShopScreen.kt +32 -23
- package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/mock/MockDataProvider.kt +6 -6
- package/templates/android/GameTemplate/app/src/test/kotlin/com/appship/game/DataRepositoryTest.kt +41 -0
- package/templates/android/GameTemplate/gradle/libs.versions.toml +8 -0
- package/templates/android/GameTemplate/tests/01_launch_home.yaml +16 -3
- package/templates/android/GameTemplate/tests/02_tab_navigation.yaml +40 -10
- package/templates/android/GameTemplate/tests/03_game_play.yaml +39 -2
- package/templates/android/GameTemplate/tests/04_leaderboard.yaml +41 -7
- package/templates/android/GameTemplate/tests/05_shop.yaml +36 -7
- package/templates/android/GameTemplate/tests/06_achievements.yaml +39 -6
- package/templates/android/GameTemplate/tests/07_profile_settings.yaml +40 -7
- package/templates/android/GameTemplate/tests/08_full_e2e.yaml +95 -22
- package/templates/android/HealthTemplate/TESTING_MANIFEST.md +2 -0
- package/templates/android/HealthTemplate/app/build.gradle.kts +7 -1
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/AppConfig.kt +9 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/MainActivity.kt +8 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/core/components/EmptyStateView.kt +137 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/DataSourceResolver.kt +1 -2
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/AppDao.kt +120 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/AppDatabase.kt +43 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/BodyMeasurementEntity.kt +38 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/DailyGoalEntity.kt +36 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/ExerciseEntity.kt +50 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/HealthMetricEntity.kt +38 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/LocalStorageProvider.kt +222 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/MealEntity.kt +60 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WaterEntryEntity.kt +34 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WorkoutEntity.kt +58 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WorkoutSessionEntity.kt +51 -0
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/dashboard/DashboardScreen.kt +4 -1
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/profile/ProfileScreen.kt +5 -4
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/workouts/WorkoutListScreen.kt +12 -1
- package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/mock/MockDataProvider.kt +12 -10
- package/templates/android/HealthTemplate/app/src/test/kotlin/com/appship/health/DataRepositoryTest.kt +41 -0
- package/templates/android/HealthTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/HealthTemplate/tests/01_launch_dashboard.yaml +20 -2
- package/templates/android/HealthTemplate/tests/02_tab_navigation.yaml +35 -8
- package/templates/android/HealthTemplate/tests/03_workout_browse.yaml +43 -3
- package/templates/android/HealthTemplate/tests/04_workout_player.yaml +46 -4
- package/templates/android/HealthTemplate/tests/05_meal_logging.yaml +46 -3
- package/templates/android/HealthTemplate/tests/06_progress_charts.yaml +42 -2
- package/templates/android/HealthTemplate/tests/07_profile_settings.yaml +33 -6
- package/templates/android/HealthTemplate/tests/08_full_e2e.yaml +91 -29
- package/templates/android/LearnTemplate/app/build.gradle.kts +5 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/MainActivity.kt +7 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/core/components/EmptyStateView.kt +137 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/DataRepository.kt +1 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/DataSourceResolver.kt +1 -2
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AchievementEntity.kt +38 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AppDao.kt +74 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AppDatabase.kt +40 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/CategoryEntity.kt +32 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/CourseEntity.kt +86 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/FlashcardDeckEntity.kt +50 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/LeaderboardEntryEntity.kt +41 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/LocalStorageProvider.kt +288 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/courses/CourseListScreen.kt +14 -4
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/leaderboard/LeaderboardScreen.kt +2 -0
- package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/mock/MockDataProvider.kt +7 -7
- package/templates/android/LearnTemplate/app/src/test/kotlin/com/appship/learn/DataRepositoryTest.kt +41 -0
- package/templates/android/LearnTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/LearnTemplate/tests/01_launch_home.yaml +13 -3
- package/templates/android/LearnTemplate/tests/02_tab_navigation.yaml +33 -8
- package/templates/android/LearnTemplate/tests/03_course_detail.yaml +29 -8
- package/templates/android/LearnTemplate/tests/04_lesson_player.yaml +31 -8
- package/templates/android/LearnTemplate/tests/05_search_filter.yaml +28 -4
- package/templates/android/LearnTemplate/tests/06_progress.yaml +28 -8
- package/templates/android/LearnTemplate/tests/07_profile_settings.yaml +32 -9
- package/templates/android/LearnTemplate/tests/08_full_e2e.yaml +69 -25
- package/templates/android/MapTemplate/TESTING_MANIFEST.md +9 -0
- package/templates/android/MapTemplate/app/build.gradle.kts +3 -0
- package/templates/android/MapTemplate/app/src/main/AndroidManifest.xml +1 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/MapApplication.kt +11 -1
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/core/components/EmptyStateView.kt +137 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataSourceResolver.kt +3 -2
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/AppDao.kt +70 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/AppDatabase.kt +34 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/LocalStorageProvider.kt +237 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/PlaceEntity.kt +104 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/ReviewEntity.kt +47 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/place/PlaceDetailScreen.kt +2 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/profile/ProfileScreen.kt +2 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/route/RouteScreen.kt +2 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/search/SearchScreen.kt +2 -0
- package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/settings/SettingsScreen.kt +2 -0
- package/templates/android/MapTemplate/app/src/test/kotlin/com/appship/map/DataRepositoryTest.kt +18 -0
- package/templates/android/MapTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/MapTemplate/tests/01_launch_map.yaml +18 -8
- package/templates/android/MapTemplate/tests/02_tab_navigation.yaml +27 -13
- package/templates/android/MapTemplate/tests/03_map_interaction.yaml +23 -10
- package/templates/android/MapTemplate/tests/04_place_detail.yaml +21 -5
- package/templates/android/MapTemplate/tests/05_search.yaml +24 -2
- package/templates/android/MapTemplate/tests/06_filters.yaml +22 -2
- package/templates/android/MapTemplate/tests/08_full_e2e.yaml +26 -41
- package/templates/android/MediaTemplate/TESTING_MANIFEST.md +5 -0
- package/templates/android/MediaTemplate/app/build.gradle.kts +5 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/MediaApplication.kt +11 -1
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/core/components/EmptyStateView.kt +137 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/DataRepository.kt +49 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/DataSourceResolver.kt +27 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/AppDao.kt +132 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/AppDatabase.kt +40 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/EpisodeEntity.kt +76 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/LocalStorageProvider.kt +335 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/MediaCategoryEntity.kt +39 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/MediaItemEntity.kt +74 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/PlaybackHistoryEntity.kt +46 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/PlaylistEntity.kt +64 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/browse/BrowseScreen.kt +1 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/settings/SettingsScreen.kt +2 -0
- package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/mock/MockDataProvider.kt +291 -62
- package/templates/android/MediaTemplate/app/src/test/kotlin/com/appship/media/DataRepositoryTest.kt +41 -0
- package/templates/android/MediaTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/MediaTemplate/tests/01_launch_home.yaml +18 -8
- package/templates/android/MediaTemplate/tests/02_tab_navigation.yaml +32 -9
- package/templates/android/MediaTemplate/tests/05_search.yaml +28 -1
- package/templates/android/MediaTemplate/tests/06_playlist_management.yaml +37 -0
- package/templates/android/MediaTemplate/tests/07_downloads_settings.yaml +34 -0
- package/templates/android/MediaTemplate/tests/08_full_e2e.yaml +38 -24
- package/templates/android/ReferenceTemplate/app/build.gradle.kts +5 -0
- package/templates/android/ReferenceTemplate/app/src/main/AndroidManifest.xml +3 -14
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/ReferenceApplication.kt +16 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/DataRepository.kt +26 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/DataSourceResolver.kt +25 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/Models.kt +61 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/AppDao.kt +57 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/AppDatabase.kt +37 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/LocalStorageProvider.kt +277 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/NoteEntity.kt +57 -0
- package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/TaskEntity.kt +58 -0
- package/templates/android/ReferenceTemplate/app/src/main/res/values/themes.xml +1 -1
- package/templates/android/ReferenceTemplate/app/src/test/kotlin/com/appship/reference/DataRepositoryTest.kt +17 -0
- package/templates/android/ReferenceTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/ReferenceTemplate/tests/01_launch_consent.yaml +56 -14
- package/templates/android/ReferenceTemplate/tests/02_biometric_auth.yaml +58 -11
- package/templates/android/ReferenceTemplate/tests/03_home_navigation.yaml +60 -32
- package/templates/android/ReferenceTemplate/tests/05_push_notifications.yaml +30 -32
- package/templates/android/ReferenceTemplate/tests/06_feedback_support.yaml +24 -50
- package/templates/android/ReferenceTemplate/tests/07_settings.yaml +89 -37
- package/templates/android/ReferenceTemplate/tests/08_full_e2e.yaml +132 -56
- package/templates/android/ShopTemplate/TESTING_MANIFEST.md +2 -0
- package/templates/android/ShopTemplate/app/build.gradle.kts +5 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/ShopApplication.kt +6 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/core/components/EmptyStateView.kt +137 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/DataSourceResolver.kt +1 -2
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/AppDao.kt +119 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/AppDatabase.kt +40 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/BannerEntity.kt +45 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/CategoryEntity.kt +39 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/LocalStorageProvider.kt +333 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/OrderEntity.kt +108 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/ProductEntity.kt +89 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/ReviewEntity.kt +73 -0
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/cart/CartScreen.kt +6 -15
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/home/HomeViewModel.kt +5 -4
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/products/ProductListScreen.kt +2 -3
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/products/ProductViewModels.kt +2 -4
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/wishlist/WishlistScreen.kt +5 -13
- package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/mock/MockDataProvider.kt +2 -1
- package/templates/android/ShopTemplate/app/src/test/kotlin/com/appship/shop/DataRepositoryTest.kt +41 -0
- package/templates/android/ShopTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/ShopTemplate/tests/01_launch_home.yaml +25 -5
- package/templates/android/ShopTemplate/tests/02_tab_navigation.yaml +35 -9
- package/templates/android/ShopTemplate/tests/03_product_detail.yaml +43 -0
- package/templates/android/ShopTemplate/tests/04_cart_checkout.yaml +49 -0
- package/templates/android/ShopTemplate/tests/05_search_filter.yaml +37 -4
- package/templates/android/ShopTemplate/tests/06_wishlist.yaml +32 -3
- package/templates/android/ShopTemplate/tests/07_profile_settings.yaml +39 -3
- package/templates/android/ShopTemplate/tests/08_full_e2e.yaml +49 -11
- package/templates/android/Skeleton/TESTING_MANIFEST.md +2 -1
- package/templates/android/Skeleton/app/build.gradle.kts +3 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/SkeletonApplication.kt +10 -1
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/core/components/EmptyStateView.kt +137 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/DataSourceResolver.kt +2 -4
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/AppDao.kt +62 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/AppDatabase.kt +34 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/CategoryEntity.kt +32 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/ItemEntity.kt +59 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/LocalStorageProvider.kt +153 -0
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/explore/ExploreScreen.kt +23 -12
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/favorites/FavoritesScreen.kt +9 -23
- package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/home/HomeScreen.kt +44 -30
- package/templates/android/Skeleton/app/src/test/kotlin/com/appship/skeleton/DataRepositoryTest.kt +100 -0
- package/templates/android/Skeleton/gradle/libs.versions.toml +4 -0
- package/templates/android/Skeleton/tests/01_app_launch.yaml +1 -2
- package/templates/android/Skeleton/tests/02_tab_navigation.yaml +6 -11
- package/templates/android/Skeleton/tests/03_detail_screen.yaml +20 -0
- package/templates/android/Skeleton/tests/04_favorites.yaml +17 -0
- package/templates/android/Skeleton/tests/05_explore_search.yaml +12 -0
- package/templates/android/Skeleton/tests/06_create_item.yaml +19 -0
- package/templates/android/Skeleton/tests/07_profile.yaml +17 -0
- package/templates/android/Skeleton/tests/08_full_e2e.yaml +36 -0
- package/templates/android/SocialTemplate/TESTING_MANIFEST.md +6 -0
- package/templates/android/SocialTemplate/app/build.gradle.kts +3 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/SocialApplication.kt +2 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/core/components/EmptyStateView.kt +137 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/DataSourceResolver.kt +1 -2
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/AppDao.kt +139 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/AppDatabase.kt +42 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/CommentEntity.kt +60 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/ConversationEntity.kt +60 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/LocalStorageProvider.kt +295 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/MessageEntity.kt +63 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/NotificationEntity.kt +64 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/PostEntity.kt +89 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/StoryEntity.kt +50 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/UserEntity.kt +64 -0
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/createpost/CreatePostScreen.kt +1 -1
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/feed/FeedScreen.kt +1 -1
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/messages/MessagesScreen.kt +25 -15
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/notifications/NotificationsScreen.kt +17 -7
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/search/SearchScreen.kt +20 -12
- package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/mock/MockDataProvider.kt +18 -18
- package/templates/android/SocialTemplate/app/src/test/kotlin/com/appship/social/DataRepositoryTest.kt +41 -0
- package/templates/android/SocialTemplate/gradle/libs.versions.toml +4 -0
- package/templates/android/SocialTemplate/tests/01_launch_feed.yaml +16 -7
- package/templates/android/SocialTemplate/tests/02_tab_navigation.yaml +38 -6
- package/templates/android/SocialTemplate/tests/03_post_interaction.yaml +35 -6
- package/templates/android/SocialTemplate/tests/04_create_post.yaml +31 -2
- package/templates/android/SocialTemplate/tests/05_search_follow.yaml +32 -5
- package/templates/android/SocialTemplate/tests/06_profile_settings.yaml +50 -0
- package/templates/android/SocialTemplate/tests/07_messages.yaml +36 -2
- package/templates/android/SocialTemplate/tests/08_full_e2e.yaml +47 -7
- package/templates/android/TaskTemplate/TESTING_MANIFEST.md +5 -0
- package/templates/android/TaskTemplate/app/build.gradle.kts +9 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/TaskApplication.kt +2 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/core/components/EmptyStateView.kt +137 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/DataRepository.kt +3 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/DataSourceResolver.kt +1 -2
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/AppDao.kt +105 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/AppDatabase.kt +39 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/KanbanColumnEntity.kt +41 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/LocalStorageProvider.kt +204 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/ProjectEntity.kt +50 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/TagEntity.kt +29 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/TaskEntity.kt +79 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/inbox/InboxScreen.kt +11 -22
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/kanban/KanbanBoardScreen.kt +1 -0
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/projects/ProjectDetailScreen.kt +28 -14
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/projects/ProjectListScreen.kt +11 -22
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/search/SearchScreen.kt +6 -3
- package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/mock/MockDataProvider.kt +8 -4
- package/templates/android/TaskTemplate/app/src/test/kotlin/com/appship/task/DataRepositoryTest.kt +41 -0
- package/templates/android/TaskTemplate/gradle/libs.versions.toml +6 -0
- package/templates/android/TaskTemplate/tests/07_search_filter.yaml +70 -6
- package/templates/android/TrackTemplate/TESTING_MANIFEST.md +4 -0
- package/templates/android/TrackTemplate/app/build.gradle.kts +6 -1
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/TrackApplication.kt +2 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/core/components/EmptyStateView.kt +89 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/DataRepository.kt +1 -1
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/DataSourceResolver.kt +1 -2
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AchievementEntity.kt +53 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AppDao.kt +93 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AppDatabase.kt +39 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/HabitEntity.kt +75 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/HabitEntryEntity.kt +50 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/LocalStorageProvider.kt +182 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/StreakEntity.kt +43 -0
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/dashboard/TodayScreen.kt +10 -39
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/habits/HabitsListScreen.kt +8 -35
- package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/mock/MockDataProvider.kt +3 -3
- package/templates/android/TrackTemplate/app/src/test/kotlin/com/appship/track/DataRepositoryTest.kt +41 -0
- package/templates/android/TrackTemplate/gradle/libs.versions.toml +6 -0
- package/templates/android/TrackTemplate/tests/01_launch_today.yaml +44 -5
- package/templates/android/TrackTemplate/tests/02_tab_navigation.yaml +79 -16
- package/templates/android/TrackTemplate/tests/03_habit_toggle.yaml +65 -4
- package/templates/android/TrackTemplate/tests/04_add_habit.yaml +98 -3
- package/templates/android/TrackTemplate/tests/06_dashboard.yaml +54 -4
- package/templates/android/TrackTemplate/tests/07_settings.yaml +81 -4
- package/templates/android/TrackTemplate/tests/08_full_e2e.yaml +116 -18
- package/templates/ios/BookTemplate/BookTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/BookTemplate/BookTemplate/Core/Strings.swift +27 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/BookingEntity.swift +53 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/BusinessHoursEntity.swift +33 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/CoreDataStack.swift +345 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/LocalStorageProvider.swift +222 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ProviderEntity.swift +88 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ReviewEntity.swift +66 -0
- package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ServiceEntity.swift +37 -0
- package/templates/ios/BookTemplate/BookTemplate/Features/Calendar/BookingsView.swift +16 -21
- package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/SearchView.swift +1 -21
- package/templates/ios/BookTemplate/BookTemplate/Features/Profile/FavoritesView.swift +6 -27
- package/templates/ios/BookTemplate/BookTemplate/MockData/MockDataProvider.swift +8 -0
- package/templates/ios/BookTemplate/BookTemplate.xcodeproj/project.pbxproj +56 -0
- package/templates/ios/BookTemplate/BookTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/BookTemplate/TESTING_MANIFEST.md +4 -0
- package/templates/ios/BookTemplate/tests/01_launch_discover.yaml +20 -4
- package/templates/ios/BookTemplate/tests/02_tab_navigation.yaml +22 -1
- package/templates/ios/BookTemplate/tests/03_provider_detail.yaml +31 -5
- package/templates/ios/BookTemplate/tests/04_booking_detail.yaml +36 -0
- package/templates/ios/BookTemplate/tests/05_booking_create_flow.yaml +42 -0
- package/templates/ios/BookTemplate/tests/06_search_filter.yaml +31 -0
- package/templates/ios/BookTemplate/tests/07_profile_settings.yaml +37 -0
- package/templates/ios/BookTemplate/tests/08_full_e2e.yaml +59 -12
- package/templates/ios/ChatTemplate/ChatTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Core/Strings.swift +27 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/CallEntity.swift +64 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/ContactEntity.swift +35 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/ConversationEntity.swift +82 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/CoreDataStack.swift +351 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/LocalStorageProvider.swift +257 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/MessageEntity.swift +77 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/UserEntity.swift +47 -0
- package/templates/ios/ChatTemplate/ChatTemplate/Features/Calls/CallsView.swift +16 -7
- package/templates/ios/ChatTemplate/ChatTemplate/Features/Contacts/ContactsView.swift +16 -7
- package/templates/ios/ChatTemplate/ChatTemplate/Features/Conversations/ConversationsView.swift +31 -22
- package/templates/ios/ChatTemplate/ChatTemplate/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/ChatTemplate/ChatTemplate.xcodeproj/project.pbxproj +71 -0
- package/templates/ios/ChatTemplate/ChatTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/ChatTemplate/TESTING_MANIFEST.md +3 -0
- package/templates/ios/ChatTemplate/tests/01_launch_chats.yaml +26 -7
- package/templates/ios/ChatTemplate/tests/02_tab_navigation.yaml +61 -12
- package/templates/ios/ChatTemplate/tests/03_conversation_chat.yaml +38 -6
- package/templates/ios/ChatTemplate/tests/04_new_chat.yaml +57 -4
- package/templates/ios/ChatTemplate/tests/05_calls.yaml +39 -4
- package/templates/ios/DashTemplate/DashTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/DashTemplate/DashTemplate/Core/Strings.swift +27 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/DataSourceResolver.swift +19 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/AlertEntity.swift +35 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/CoreDataStack.swift +260 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/DataPointEntity.swift +28 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/DataSourceEntity.swift +32 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/LocalStorageProvider.swift +312 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/MetricEntity.swift +56 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/ReportEntity.swift +51 -0
- package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/WidgetEntity.swift +98 -0
- package/templates/ios/DashTemplate/DashTemplate/Features/Alerts/AlertsView.swift +31 -15
- package/templates/ios/DashTemplate/DashTemplate/Features/Dashboard/DashboardView.swift +32 -21
- package/templates/ios/DashTemplate/DashTemplate/Features/DataSources/DataSourcesView.swift +24 -13
- package/templates/ios/DashTemplate/DashTemplate/Features/Reports/ReportsView.swift +23 -11
- package/templates/ios/DashTemplate/DashTemplate.xcodeproj/project.pbxproj +68 -0
- package/templates/ios/DashTemplate/DashTemplateTests/DataRepositoryTests.swift +27 -0
- package/templates/ios/DashTemplate/TESTING_MANIFEST.md +6 -0
- package/templates/ios/DashTemplate/tests/01_launch_dashboard.yaml +16 -3
- package/templates/ios/DashTemplate/tests/02_tab_navigation.yaml +35 -13
- package/templates/ios/FamilyTemplate/FamilyTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Core/Strings.swift +27 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/DataRepository.swift +63 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/DataSourceResolver.swift +14 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/CalendarEventEntity.swift +59 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/ChoreEntity.swift +53 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/CoreDataStack.swift +385 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/FamilyMemberEntity.swift +56 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/LocalStorageProvider.swift +388 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/LocationUpdateEntity.swift +35 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/MilestoneEntity.swift +41 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/PhotoEntity.swift +56 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/RewardEntity.swift +44 -0
- package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Calendar/CalendarView.swift +4 -5
- package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Chores/ChoreBoardView.swift +4 -29
- package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Gallery/GalleryView.swift +16 -7
- package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Members/MembersListView.swift +14 -5
- package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Rewards/RewardsView.swift +4 -5
- package/templates/ios/FamilyTemplate/FamilyTemplate.xcodeproj/project.pbxproj +72 -0
- package/templates/ios/FamilyTemplate/FamilyTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/FamilyTemplate/TESTING_MANIFEST.md +7 -0
- package/templates/ios/FamilyTemplate/tests/01_launch_hub.yaml +34 -14
- package/templates/ios/FamilyTemplate/tests/02_tab_navigation.yaml +62 -19
- package/templates/ios/FamilyTemplate/tests/03_chore_complete.yaml +38 -19
- package/templates/ios/FamilyTemplate/tests/04_add_chore.yaml +50 -14
- package/templates/ios/FamilyTemplate/tests/05_rewards.yaml +49 -17
- package/templates/ios/FamilyTemplate/tests/06_calendar.yaml +56 -14
- package/templates/ios/FamilyTemplate/tests/07_gallery.yaml +55 -20
- package/templates/ios/FamilyTemplate/tests/08_full_e2e.yaml +131 -35
- package/templates/ios/FinanceTemplate/Features/Accounts/AccountsView.swift +4 -4
- package/templates/ios/FinanceTemplate/FinanceTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/DataRepository.swift +11 -30
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/AccountEntity.swift +51 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/BillEntity.swift +57 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/BudgetEntity.swift +48 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/CategoryEntity.swift +30 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/CoreDataStack.swift +468 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/GoalEntity.swift +54 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/InsightEntity.swift +41 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/LocalStorageProvider.swift +420 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/TransactionEntity.swift +60 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate/Data/SyncManager.swift +3 -3
- package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Budgets/BudgetsView.swift +10 -3
- package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Goals/GoalsView.swift +11 -4
- package/templates/ios/FinanceTemplate/FinanceTemplate/MockData/MockDataProvider.swift +6 -6
- package/templates/ios/FinanceTemplate/FinanceTemplate/Models/Models.swift +41 -0
- package/templates/ios/FinanceTemplate/FinanceTemplate.xcodeproj/project.pbxproj +75 -0
- package/templates/ios/FinanceTemplate/FinanceTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/FinanceTemplate/FinanceTemplateTests/MockDataProviderTests.swift +6 -6
- package/templates/ios/FinanceTemplate/TESTING_MANIFEST.md +6 -0
- package/templates/ios/FinanceTemplate/tests/01_launch_home.yaml +16 -6
- package/templates/ios/FinanceTemplate/tests/02_tab_navigation.yaml +41 -5
- package/templates/ios/FinanceTemplate/tests/03_transaction_detail.yaml +39 -0
- package/templates/ios/FinanceTemplate/tests/05_add_transaction.yaml +55 -0
- package/templates/ios/GameTemplate/GameTemplate/Core/Components/EmptyStateView.swift +59 -0
- package/templates/ios/GameTemplate/GameTemplate/Core/Strings.swift +16 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/DataSourceResolver.swift +1 -1
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/AchievementEntity.swift +36 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/CoreDataStack.swift +316 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/DailyChallengeEntity.swift +60 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/GameSessionEntity.swift +36 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/LeaderboardEntryEntity.swift +124 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/LevelEntity.swift +39 -0
- package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/ShopItemEntity.swift +39 -0
- package/templates/ios/GameTemplate/GameTemplate/Features/Achievements/AchievementsView.swift +10 -4
- package/templates/ios/GameTemplate/GameTemplate/Features/DailyChallenge/DailyChallengeView.swift +1 -1
- package/templates/ios/GameTemplate/GameTemplate/Features/Home/HomeMenuView.swift +16 -11
- package/templates/ios/GameTemplate/GameTemplate/Features/Leaderboard/LeaderboardView.swift +11 -7
- package/templates/ios/GameTemplate/GameTemplate/Features/Profile/ProfileView.swift +2 -2
- package/templates/ios/GameTemplate/GameTemplate/Features/Results/ResultsView.swift +2 -2
- package/templates/ios/GameTemplate/GameTemplate/Features/Shop/ShopView.swift +11 -7
- package/templates/ios/GameTemplate/GameTemplate.xcodeproj/project.pbxproj +56 -0
- package/templates/ios/GameTemplate/GameTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/GameTemplate/TESTING_MANIFEST.md +2 -0
- package/templates/ios/GameTemplate/tests/01_launch_home.yaml +13 -2
- package/templates/ios/GameTemplate/tests/02_tab_navigation.yaml +31 -1
- package/templates/ios/GameTemplate/tests/03_game_play.yaml +48 -8
- package/templates/ios/GameTemplate/tests/04_leaderboard.yaml +36 -4
- package/templates/ios/GameTemplate/tests/05_shop.yaml +33 -4
- package/templates/ios/GameTemplate/tests/06_achievements.yaml +35 -2
- package/templates/ios/GameTemplate/tests/07_profile_settings.yaml +38 -2
- package/templates/ios/GameTemplate/tests/08_full_e2e.yaml +98 -26
- package/templates/ios/HealthTemplate/HealthTemplate/Core/Components/EmptyStateView.swift +59 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Core/Strings.swift +16 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/DataSourceResolver.swift +19 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/BodyMeasurementEntity.swift +30 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/CoreDataStack.swift +377 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/DailyGoalEntity.swift +30 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/ExerciseEntity.swift +45 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/HealthMetricEntity.swift +30 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/LocalStorageProvider.swift +398 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/MealEntity.swift +59 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WaterEntryEntity.swift +27 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WorkoutEntity.swift +59 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WorkoutSessionEntity.swift +52 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Dashboard/DashboardView.swift +7 -7
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Navigation/MainTabView.swift +1 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Nutrition/MealLogView.swift +2 -1
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Nutrition/NutritionLogView.swift +3 -4
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Onboarding/OnboardingView.swift +1 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Profile/ProfileView.swift +9 -8
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Progress/ProgressChartsView.swift +3 -2
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Settings/SettingsView.swift +1 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/ExerciseDetailView.swift +1 -0
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/WorkoutListView.swift +10 -6
- package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/WorkoutPlayerView.swift +4 -3
- package/templates/ios/HealthTemplate/HealthTemplate.xcodeproj/project.pbxproj +83 -0
- package/templates/ios/HealthTemplate/HealthTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/HealthTemplate/tests/01_launch_dashboard.yaml +24 -11
- package/templates/ios/HealthTemplate/tests/02_tab_navigation.yaml +17 -6
- package/templates/ios/HealthTemplate/tests/03_workout_browse.yaml +56 -0
- package/templates/ios/HealthTemplate/tests/04_workout_player.yaml +48 -8
- package/templates/ios/HealthTemplate/tests/05_meal_logging.yaml +44 -11
- package/templates/ios/HealthTemplate/tests/07_profile_settings.yaml +30 -9
- package/templates/ios/HealthTemplate/tests/08_full_e2e.yaml +84 -16
- package/templates/ios/LearnTemplate/LearnTemplate/Core/Components/EmptyStateView.swift +59 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Core/Strings.swift +16 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/DataRepository.swift +52 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/DataSourceResolver.swift +19 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/AchievementEntity.swift +33 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CategoryEntity.swift +27 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CoreDataStack.swift +270 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CourseEntity.swift +108 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/FlashcardDeckEntity.swift +62 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/LeaderboardEntryEntity.swift +36 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/LocalStorageProvider.swift +325 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Courses/CourseDetailView.swift +9 -4
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Courses/CourseListView.swift +9 -4
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Flashcards/FlashcardView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Leaderboard/LeaderboardView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Lessons/LessonPlayerView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Onboarding/OnboardingView.swift +8 -3
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Profile/ProfileView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Progress/ProgressDashboardView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Quiz/QuizView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/Features/Settings/SettingsView.swift +1 -0
- package/templates/ios/LearnTemplate/LearnTemplate/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/LearnTemplate/LearnTemplate.xcodeproj/project.pbxproj +56 -0
- package/templates/ios/LearnTemplate/LearnTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/LearnTemplate/tests/01_launch_home.yaml +16 -2
- package/templates/ios/LearnTemplate/tests/02_tab_navigation.yaml +33 -6
- package/templates/ios/LearnTemplate/tests/03_course_detail.yaml +29 -7
- package/templates/ios/LearnTemplate/tests/04_quiz_flow.yaml +32 -18
- package/templates/ios/LearnTemplate/tests/05_flashcard_flip.yaml +45 -8
- package/templates/ios/LearnTemplate/tests/06_progress_stats.yaml +28 -3
- package/templates/ios/MapTemplate/MapTemplate/App/AppConfig.swift +9 -0
- package/templates/ios/MapTemplate/MapTemplate/Core/Components/EmptyStateView.swift +59 -0
- package/templates/ios/MapTemplate/MapTemplate/Core/Strings.swift +16 -0
- package/templates/ios/MapTemplate/MapTemplate/Data/DataRepository.swift +36 -0
- package/templates/ios/MapTemplate/MapTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/CoreDataStack.swift +203 -0
- package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/LocalStorageProvider.swift +237 -0
- package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/PlaceEntity.swift +111 -0
- package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/ReviewEntity.swift +40 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Favorites/FavoritesView.swift +3 -14
- package/templates/ios/MapTemplate/MapTemplate/Features/Filters/FiltersView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Map/MapView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Onboarding/OnboardingView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/PlaceDetail/PlaceDetailView.swift +8 -3
- package/templates/ios/MapTemplate/MapTemplate/Features/PlaceList/PlaceListView.swift +3 -9
- package/templates/ios/MapTemplate/MapTemplate/Features/Profile/ProfileView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Route/RouteView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/Features/Search/SearchView.swift +3 -10
- package/templates/ios/MapTemplate/MapTemplate/Features/Settings/SettingsView.swift +1 -0
- package/templates/ios/MapTemplate/MapTemplate/MockData/MockDataProvider.swift +1 -1
- package/templates/ios/MapTemplate/MapTemplate.xcodeproj/project.pbxproj +44 -0
- package/templates/ios/MapTemplate/MapTemplateTests/DataRepositoryTests.swift +25 -0
- package/templates/ios/MapTemplate/TESTING_MANIFEST.md +9 -0
- package/templates/ios/MapTemplate/tests/01_launch_map.yaml +22 -7
- package/templates/ios/MapTemplate/tests/02_tab_navigation.yaml +24 -15
- package/templates/ios/MapTemplate/tests/03_map_interaction.yaml +32 -10
- package/templates/ios/MapTemplate/tests/04_place_detail.yaml +30 -12
- package/templates/ios/MapTemplate/tests/06_profile_settings.yaml +17 -19
- package/templates/ios/MapTemplate/tests/07_favorites.yaml +31 -11
- package/templates/ios/MapTemplate/tests/08_full_e2e.yaml +45 -20
- package/templates/ios/MediaTemplate/MediaTemplate/Core/Components/CommonComponents.swift +2 -1
- package/templates/ios/MediaTemplate/MediaTemplate/Core/Components/EmptyStateView.swift +59 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Core/Strings.swift +16 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/CoreDataStack.swift +333 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/EpisodeEntity.swift +79 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/LocalStorageProvider.swift +393 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/MediaCategoryEntity.swift +36 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/MediaItemEntity.swift +82 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/PlaybackHistoryEntity.swift +51 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/PlaylistEntity.swift +66 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Browse/BrowseView.swift +10 -3
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Detail/DetailView.swift +14 -7
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Home/HomeView.swift +14 -9
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Library/LibraryView.swift +10 -5
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Onboarding/OnboardingView.swift +1 -0
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Player/PlayerFullView.swift +3 -1
- package/templates/ios/MediaTemplate/MediaTemplate/Features/Settings/SettingsView.swift +1 -0
- package/templates/ios/MediaTemplate/MediaTemplate.xcodeproj/project.pbxproj +56 -0
- package/templates/ios/MediaTemplate/MediaTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/MediaTemplate/TESTING_MANIFEST.md +5 -0
- package/templates/ios/MediaTemplate/tests/01_launch_home.yaml +22 -6
- package/templates/ios/MediaTemplate/tests/02_tab_navigation.yaml +30 -10
- package/templates/ios/MediaTemplate/tests/03_media_detail_playback.yaml +45 -0
- package/templates/ios/MediaTemplate/tests/04_player_controls.yaml +39 -5
- package/templates/ios/MediaTemplate/tests/05_search.yaml +33 -6
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Core/EmptyStateView.swift +130 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Core/Strings.swift +2 -1
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/DataSourceResolver.swift +6 -2
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/CoreDataStack.swift +148 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/LocalStorageProvider.swift +206 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/NoteEntity.swift +62 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/TaskEntity.swift +56 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/EmptyStates/EmptyStateService.swift +16 -4
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/EmptyStates/EmptyStatesStrings.swift +1 -0
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Home/HomeView.swift +1 -1
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Notes/NotesView.swift +3 -3
- package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Tasks/TaskListView.swift +3 -3
- package/templates/ios/ReferenceTemplate/ReferenceTemplate.xcodeproj/project.pbxproj +48 -4
- package/templates/ios/ReferenceTemplate/ReferenceTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/ReferenceTemplate/TESTING_MANIFEST.md +2 -0
- package/templates/ios/ReferenceTemplate/tests/01_launch_consent.yaml +62 -6
- package/templates/ios/ReferenceTemplate/tests/07_paywall.yaml +58 -6
- package/templates/ios/ReferenceTemplate/tests/08_push_notifications.yaml +37 -6
- package/templates/ios/ReferenceTemplate/tests/15_full_e2e.yaml +175 -12
- package/templates/ios/ShopTemplate/ShopTemplate/Core/Components/CommonComponents.swift +5 -48
- package/templates/ios/{ReferenceTemplate/ReferenceTemplate/Features/EmptyStates → ShopTemplate/ShopTemplate/Core}/EmptyStateView.swift +39 -40
- package/templates/ios/ShopTemplate/ShopTemplate/Core/Strings.swift +21 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/DataRepository.swift +48 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/BannerEntity.swift +41 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/CategoryEntity.swift +39 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/CoreDataStack.swift +365 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/LocalStorageProvider.swift +304 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/OrderEntity.swift +124 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/ProductEntity.swift +104 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/ReviewEntity.swift +65 -0
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Cart/CartView.swift +9 -10
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Orders/OrdersView.swift +6 -8
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Products/ProductListView.swift +18 -12
- package/templates/ios/ShopTemplate/ShopTemplate/Features/Wishlist/WishlistView.swift +6 -10
- package/templates/ios/ShopTemplate/ShopTemplate.xcodeproj/project.pbxproj +71 -0
- package/templates/ios/ShopTemplate/ShopTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/ShopTemplate/TESTING_MANIFEST.md +2 -0
- package/templates/ios/ShopTemplate/tests/01_launch_home.yaml +25 -6
- package/templates/ios/ShopTemplate/tests/02_tab_navigation.yaml +35 -9
- package/templates/ios/ShopTemplate/tests/03_product_detail.yaml +43 -0
- package/templates/ios/ShopTemplate/tests/04_cart_checkout.yaml +49 -0
- package/templates/ios/ShopTemplate/tests/05_search_filter.yaml +37 -4
- package/templates/ios/ShopTemplate/tests/06_wishlist.yaml +32 -3
- package/templates/ios/Skeleton/Skeleton/Core/EmptyStateView.swift +130 -0
- package/templates/ios/Skeleton/Skeleton/Core/Strings.swift +29 -0
- package/templates/ios/Skeleton/Skeleton/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/CategoryEntity.swift +29 -0
- package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/CoreDataStack.swift +128 -0
- package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/ItemEntity.swift +62 -0
- package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/LocalStorageProvider.swift +144 -0
- package/templates/ios/Skeleton/Skeleton/Features/Create/CreateView.swift +2 -2
- package/templates/ios/Skeleton/Skeleton/Features/Detail/DetailView.swift +2 -2
- package/templates/ios/Skeleton/Skeleton/Features/Explore/ExploreView.swift +2 -6
- package/templates/ios/Skeleton/Skeleton/Features/Favorites/FavoritesView.swift +6 -10
- package/templates/ios/Skeleton/Skeleton/Features/Favorites/FavoritesViewModel.swift +41 -0
- package/templates/ios/Skeleton/Skeleton/Features/Home/HomeView.swift +37 -25
- package/templates/ios/Skeleton/Skeleton.xcodeproj/project.pbxproj +56 -0
- package/templates/ios/Skeleton/SkeletonTests/DataRepositoryTests.swift +95 -0
- package/templates/ios/Skeleton/SkeletonTests/MockDataProviderTests.swift +1 -0
- package/templates/ios/Skeleton/TESTING_MANIFEST.md +4 -2
- package/templates/ios/Skeleton/tests/01_app_launch.yaml +1 -2
- package/templates/ios/Skeleton/tests/02_tab_navigation.yaml +6 -11
- package/templates/ios/Skeleton/tests/03_detail_screen.yaml +20 -0
- package/templates/ios/Skeleton/tests/04_favorites.yaml +17 -0
- package/templates/ios/Skeleton/tests/05_explore_search.yaml +12 -0
- package/templates/ios/Skeleton/tests/06_create_item.yaml +19 -0
- package/templates/ios/Skeleton/tests/07_profile.yaml +17 -0
- package/templates/ios/Skeleton/tests/08_full_e2e.yaml +36 -0
- package/templates/ios/SocialTemplate/SocialTemplate/App/AppConfig.swift +9 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Core/EmptyStateView.swift +145 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Core/Strings.swift +21 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/CommentEntity.swift +74 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/ConversationEntity.swift +76 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/CoreDataStack.swift +434 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/LocalStorageProvider.swift +475 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/MessageEntity.swift +62 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/NotificationEntity.swift +92 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/PostEntity.swift +143 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/StoryEntity.swift +66 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/UserEntity.swift +54 -0
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Feed/FeedView.swift +27 -14
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Messages/MessagesView.swift +19 -6
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Notifications/NotificationsView.swift +15 -7
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Profile/ProfileView.swift +15 -9
- package/templates/ios/SocialTemplate/SocialTemplate/Features/Search/SearchView.swift +11 -5
- package/templates/ios/SocialTemplate/SocialTemplate.xcodeproj/project.pbxproj +79 -0
- package/templates/ios/SocialTemplate/SocialTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/SocialTemplate/TESTING_MANIFEST.md +6 -0
- package/templates/ios/SocialTemplate/tests/01_launch_feed.yaml +16 -7
- package/templates/ios/SocialTemplate/tests/07_messages.yaml +33 -5
- package/templates/ios/TaskTemplate/TESTING_MANIFEST.md +5 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Core/EmptyStateView.swift +145 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Core/Models.swift +1 -1
- package/templates/ios/TaskTemplate/TaskTemplate/Core/Strings.swift +21 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/CoreDataStack.swift +214 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/KanbanColumnEntity.swift +47 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/LocalStorageProvider.swift +245 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/ProjectEntity.swift +56 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/TagEntity.swift +22 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/TaskItemEntity.swift +170 -0
- package/templates/ios/TaskTemplate/TaskTemplate/Features/Inbox/InboxView.swift +9 -14
- package/templates/ios/TaskTemplate/TaskTemplate/Features/Projects/ProjectDetailView.swift +21 -10
- package/templates/ios/TaskTemplate/TaskTemplate/Features/Projects/ProjectListView.swift +9 -14
- package/templates/ios/TaskTemplate/TaskTemplate/Features/Search/SearchView.swift +10 -21
- package/templates/ios/TaskTemplate/TaskTemplate.xcodeproj/project.pbxproj +60 -0
- package/templates/ios/TaskTemplate/TaskTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/TaskTemplate/tests/01_launch_inbox.yaml +37 -7
- package/templates/ios/TaskTemplate/tests/02_tab_navigation.yaml +63 -21
- package/templates/ios/TaskTemplate/tests/03_task_detail.yaml +72 -0
- package/templates/ios/TaskTemplate/tests/04_project_detail.yaml +71 -0
- package/templates/ios/TaskTemplate/tests/05_task_create_flow.yaml +72 -0
- package/templates/ios/TaskTemplate/tests/06_search_filter.yaml +82 -0
- package/templates/ios/TaskTemplate/tests/07_settings.yaml +56 -0
- package/templates/ios/TaskTemplate/tests/08_full_e2e.yaml +113 -35
- package/templates/ios/TrackTemplate/TESTING_MANIFEST.md +4 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Core/EmptyStateView.swift +145 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/DataSourceResolver.swift +1 -2
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/AchievementEntity.swift +44 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/CoreDataStack.swift +269 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/HabitEntity.swift +75 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/HabitEntryEntity.swift +44 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/LocalStorageProvider.swift +180 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/StreakEntity.swift +35 -0
- package/templates/ios/TrackTemplate/TrackTemplate/Features/Dashboard/TodayView.swift +6 -33
- package/templates/ios/TrackTemplate/TrackTemplate/Features/Habits/HabitsListView.swift +5 -43
- package/templates/ios/TrackTemplate/TrackTemplate.xcodeproj/project.pbxproj +63 -0
- package/templates/ios/TrackTemplate/TrackTemplateTests/DataRepositoryTests.swift +26 -0
- package/templates/ios/TrackTemplate/tests/01_launch_today.yaml +44 -5
- package/templates/ios/TrackTemplate/tests/02_tab_navigation.yaml +79 -16
- package/templates/ios/TrackTemplate/tests/04_add_habit.yaml +98 -3
- package/templates/shared/MODULES_CATALOG.md +42 -1
- package/templates/shared/android/CachedRepository/CachedRepository.kt +310 -0
- package/templates/shared/android/CachedRepository/LocalCache.kt +178 -0
- package/templates/shared/android/CachedRepository/OfflineQueue.kt +171 -0
- package/templates/shared/android/CachedRepository/strings.xml +15 -0
- package/templates/shared/android/FirebaseBackend/FirebaseAuthManager.kt +256 -0
- package/templates/shared/android/FirebaseBackend/FirebaseConfigManager.kt +122 -0
- package/templates/shared/android/FirebaseBackend/FirebaseForgotPasswordScreen.kt +187 -0
- package/templates/shared/android/FirebaseBackend/FirebaseLoginScreen.kt +216 -0
- package/templates/shared/android/FirebaseBackend/FirebaseProfileScreen.kt +292 -0
- package/templates/shared/android/FirebaseBackend/FirebaseSignUpScreen.kt +223 -0
- package/templates/shared/android/FirebaseBackend/FirebaseStorageManager.kt +143 -0
- package/templates/shared/android/FirebaseBackend/FirestoreManager.kt +209 -0
- package/templates/shared/android/FirebaseBackend/INTEGRATION.md +378 -0
- package/templates/shared/android/FirebaseBackend/SETUP.md +293 -0
- package/templates/shared/android/FirebaseBackend/strings.xml +62 -0
- package/templates/shared/android/FirebaseProvider/FirebaseAuthManager.kt +177 -0
- package/templates/shared/android/FirebaseProvider/FirebaseConfig.kt +54 -0
- package/templates/shared/android/FirebaseProvider/FirebaseDataProvider.kt +152 -0
- package/templates/shared/android/FirebaseProvider/strings.xml +25 -0
- package/templates/shared/android/SecretsConfig/INTEGRATION.md +109 -0
- package/templates/shared/android/SecretsConfig/SETUP.md +67 -0
- package/templates/shared/android/SecretsConfig/SecretsConfig.kt +113 -0
- package/templates/shared/android/SecretsConfig/build.gradle.snippet.kts +36 -0
- package/templates/shared/android/SecretsConfig/secrets.properties.template +31 -0
- package/templates/shared/android/SupabaseBackend/INTEGRATION.md +514 -0
- package/templates/shared/android/SupabaseBackend/SETUP.md +320 -0
- package/templates/shared/android/SupabaseBackend/SupabaseAuthManager.kt +198 -0
- package/templates/shared/android/SupabaseBackend/SupabaseConfigManager.kt +41 -0
- package/templates/shared/android/SupabaseBackend/SupabaseDatabaseManager.kt +148 -0
- package/templates/shared/android/SupabaseBackend/SupabaseForgotPasswordScreen.kt +154 -0
- package/templates/shared/android/SupabaseBackend/SupabaseLoginScreen.kt +262 -0
- package/templates/shared/android/SupabaseBackend/SupabaseMagicLinkSentScreen.kt +173 -0
- package/templates/shared/android/SupabaseBackend/SupabaseProfileScreen.kt +298 -0
- package/templates/shared/android/SupabaseBackend/SupabaseRealtimeManager.kt +98 -0
- package/templates/shared/android/SupabaseBackend/SupabaseSignUpScreen.kt +177 -0
- package/templates/shared/android/SupabaseBackend/SupabaseStorageManager.kt +62 -0
- package/templates/shared/android/SupabaseBackend/strings.xml +63 -0
- package/templates/shared/android/SupabaseProvider/SupabaseAuthManager.kt +254 -0
- package/templates/shared/android/SupabaseProvider/SupabaseConfig.kt +89 -0
- package/templates/shared/android/SupabaseProvider/SupabaseDataProvider.kt +232 -0
- package/templates/shared/android/SupabaseProvider/strings.xml +30 -0
- package/templates/shared/android/WixMemberBackend/WixApiClient.kt +207 -0
- package/templates/shared/android/WixMemberBackend/WixAuthManager.kt +483 -0
- package/templates/shared/android/WixMemberBackend/WixBlogManager.kt +190 -0
- package/templates/shared/android/WixMemberBackend/WixBlogScreen.kt +400 -0
- package/templates/shared/android/WixMemberBackend/WixBookingsManager.kt +239 -0
- package/templates/shared/android/WixMemberBackend/WixBookingsScreen.kt +440 -0
- package/templates/shared/android/WixMemberBackend/WixCartScreen.kt +304 -0
- package/templates/shared/android/WixMemberBackend/WixEventsManager.kt +277 -0
- package/templates/shared/android/WixMemberBackend/WixEventsScreen.kt +500 -0
- package/templates/shared/android/WixMemberBackend/WixLoginScreen.kt +208 -0
- package/templates/shared/android/WixMemberBackend/WixModels.kt +224 -0
- package/templates/shared/android/WixMemberBackend/WixProfileScreen.kt +542 -0
- package/templates/shared/android/WixMemberBackend/WixStoreScreen.kt +410 -0
- package/templates/shared/android/WixMemberBackend/WixStoresManager.kt +243 -0
- package/templates/shared/android/WixMemberBackend/strings.xml +111 -0
- package/templates/shared/android/WixOwnerBackend/INTEGRATION.md +246 -0
- package/templates/shared/android/WixOwnerBackend/SETUP.md +141 -0
- package/templates/shared/android/WixOwnerBackend/WixAdminAuthManager.kt +71 -0
- package/templates/shared/android/WixOwnerBackend/WixApiClient.kt +202 -0
- package/templates/shared/android/WixOwnerBackend/WixBlogAdminManager.kt +330 -0
- package/templates/shared/android/WixOwnerBackend/WixBlogEditorScreen.kt +535 -0
- package/templates/shared/android/WixOwnerBackend/WixBookingAdminManager.kt +337 -0
- package/templates/shared/android/WixOwnerBackend/WixBookingManagementScreen.kt +252 -0
- package/templates/shared/android/WixOwnerBackend/WixConnectSiteScreen.kt +177 -0
- package/templates/shared/android/WixOwnerBackend/WixDashboardScreen.kt +183 -0
- package/templates/shared/android/WixOwnerBackend/WixEventAdminManager.kt +274 -0
- package/templates/shared/android/WixOwnerBackend/WixEventManagementScreen.kt +466 -0
- package/templates/shared/android/WixOwnerBackend/WixModels.kt +269 -0
- package/templates/shared/android/WixOwnerBackend/WixOrdersScreen.kt +282 -0
- package/templates/shared/android/WixOwnerBackend/WixProductManagementScreen.kt +277 -0
- package/templates/shared/android/WixOwnerBackend/WixSiteAdminManager.kt +152 -0
- package/templates/shared/android/WixOwnerBackend/WixStoreAdminManager.kt +321 -0
- package/templates/shared/android/WixOwnerBackend/strings.xml +88 -0
- package/templates/shared/android/WixSiteSelector/INTEGRATION.md +117 -0
- package/templates/shared/android/WixSiteSelector/SETUP.md +38 -0
- package/templates/shared/android/WixSiteSelector/WixSiteManager.kt +211 -0
- package/templates/shared/android/WixSiteSelector/WixSiteModels.kt +28 -0
- package/templates/shared/android/WixSiteSelector/WixSiteSelectorScreen.kt +343 -0
- package/templates/shared/android/WixSiteSelector/strings.xml +36 -0
- package/templates/shared/ios/CachedRepository/CachedRepository.swift +212 -0
- package/templates/shared/ios/CachedRepository/INTEGRATION.md +168 -0
- package/templates/shared/ios/CachedRepository/LocalCache.swift +191 -0
- package/templates/shared/ios/CachedRepository/OfflineQueue.swift +109 -0
- package/templates/shared/ios/CachedRepository/Strings.swift +31 -0
- package/templates/shared/ios/FirebaseBackend/FirebaseAuthService.swift +329 -0
- package/templates/shared/ios/FirebaseBackend/FirebaseConfigService.swift +105 -0
- package/templates/shared/ios/FirebaseBackend/FirebaseStorageService.swift +198 -0
- package/templates/shared/ios/FirebaseBackend/FirestoreService.swift +206 -0
- package/templates/shared/ios/FirebaseBackend/INTEGRATION.md +287 -0
- package/templates/shared/ios/FirebaseBackend/SETUP.md +224 -0
- package/templates/shared/ios/FirebaseBackend/Screens/FirebaseForgotPasswordScreen.swift +108 -0
- package/templates/shared/ios/FirebaseBackend/Screens/FirebaseLoginScreen.swift +197 -0
- package/templates/shared/ios/FirebaseBackend/Screens/FirebaseProfileScreen.swift +195 -0
- package/templates/shared/ios/FirebaseBackend/Screens/FirebaseSignUpScreen.swift +151 -0
- package/templates/shared/ios/FirebaseBackend/Strings.swift +69 -0
- package/templates/shared/ios/FirebaseProvider/FirebaseAuthService.swift +83 -0
- package/templates/shared/ios/FirebaseProvider/FirebaseConfig.swift +36 -0
- package/templates/shared/ios/FirebaseProvider/FirebaseDataProvider.swift +111 -0
- package/templates/shared/ios/FirebaseProvider/INTEGRATION.md +203 -0
- package/templates/shared/ios/FirebaseProvider/Strings.swift +40 -0
- package/templates/shared/ios/SecretsConfig/INTEGRATION.md +94 -0
- package/templates/shared/ios/SecretsConfig/SETUP.md +68 -0
- package/templates/shared/ios/SecretsConfig/Secrets.xcconfig.template +31 -0
- package/templates/shared/ios/SecretsConfig/SecretsConfig.swift +87 -0
- package/templates/shared/ios/SupabaseBackend/INTEGRATION.md +335 -0
- package/templates/shared/ios/SupabaseBackend/SETUP.md +232 -0
- package/templates/shared/ios/SupabaseBackend/Screens/SupabaseForgotPasswordScreen.swift +123 -0
- package/templates/shared/ios/SupabaseBackend/Screens/SupabaseLoginScreen.swift +207 -0
- package/templates/shared/ios/SupabaseBackend/Screens/SupabaseMagicLinkSentScreen.swift +136 -0
- package/templates/shared/ios/SupabaseBackend/Screens/SupabaseProfileScreen.swift +102 -0
- package/templates/shared/ios/SupabaseBackend/Screens/SupabaseSignUpScreen.swift +159 -0
- package/templates/shared/ios/SupabaseBackend/Strings.swift +73 -0
- package/templates/shared/ios/SupabaseBackend/SupabaseAuthService.swift +191 -0
- package/templates/shared/ios/SupabaseBackend/SupabaseConfigService.swift +31 -0
- package/templates/shared/ios/SupabaseBackend/SupabaseDatabaseService.swift +133 -0
- package/templates/shared/ios/SupabaseBackend/SupabaseRealtimeService.swift +117 -0
- package/templates/shared/ios/SupabaseBackend/SupabaseStorageService.swift +48 -0
- package/templates/shared/ios/SupabaseProvider/INTEGRATION.md +251 -0
- package/templates/shared/ios/SupabaseProvider/Strings.swift +44 -0
- package/templates/shared/ios/SupabaseProvider/SupabaseAuthService.swift +142 -0
- package/templates/shared/ios/SupabaseProvider/SupabaseConfig.swift +48 -0
- package/templates/shared/ios/SupabaseProvider/SupabaseDataProvider.swift +180 -0
- package/templates/shared/ios/WixMemberBackend/INTEGRATION.md +179 -0
- package/templates/shared/ios/WixMemberBackend/SETUP.md +81 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixBlogScreen.swift +388 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixBookingsScreen.swift +415 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixCartScreen.swift +231 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixEventsScreen.swift +513 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixLoginScreen.swift +151 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixProfileScreen.swift +256 -0
- package/templates/shared/ios/WixMemberBackend/Screens/WixStoreScreen.swift +354 -0
- package/templates/shared/ios/WixMemberBackend/Strings.swift +135 -0
- package/templates/shared/ios/WixMemberBackend/WixAPIClient.swift +192 -0
- package/templates/shared/ios/WixMemberBackend/WixAuthService.swift +494 -0
- package/templates/shared/ios/WixMemberBackend/WixBlogService.swift +96 -0
- package/templates/shared/ios/WixMemberBackend/WixBookingsService.swift +98 -0
- package/templates/shared/ios/WixMemberBackend/WixEventsService.swift +109 -0
- package/templates/shared/ios/WixMemberBackend/WixModels.swift +188 -0
- package/templates/shared/ios/WixMemberBackend/WixStoresService.swift +157 -0
- package/templates/shared/ios/WixOwnerBackend/INTEGRATION.md +220 -0
- package/templates/shared/ios/WixOwnerBackend/SETUP.md +146 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixBlogEditorScreen.swift +384 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixBookingManagementScreen.swift +235 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixConnectSiteScreen.swift +186 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixDashboardScreen.swift +220 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixEventManagementScreen.swift +438 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixOrdersScreen.swift +285 -0
- package/templates/shared/ios/WixOwnerBackend/Screens/WixProductManagementScreen.swift +285 -0
- package/templates/shared/ios/WixOwnerBackend/Strings.swift +113 -0
- package/templates/shared/ios/WixOwnerBackend/WixAdminAuthService.swift +62 -0
- package/templates/shared/ios/WixOwnerBackend/WixBlogManagerService.swift +122 -0
- package/templates/shared/ios/WixOwnerBackend/WixBookingManagerService.swift +142 -0
- package/templates/shared/ios/WixOwnerBackend/WixEventManagerService.swift +142 -0
- package/templates/shared/ios/WixOwnerBackend/WixModels.swift +224 -0
- package/templates/shared/ios/WixOwnerBackend/WixSiteManagerService.swift +130 -0
- package/templates/shared/ios/WixOwnerBackend/WixStoreManagerService.swift +161 -0
- package/templates/shared/ios/WixSiteSelector/INTEGRATION.md +116 -0
- package/templates/shared/ios/WixSiteSelector/SETUP.md +38 -0
- package/templates/shared/ios/WixSiteSelector/Strings.swift +40 -0
- package/templates/shared/ios/WixSiteSelector/WixSiteManager.swift +183 -0
- package/templates/shared/ios/WixSiteSelector/WixSiteModels.swift +45 -0
- package/templates/shared/ios/WixSiteSelector/WixSiteSelectorScreen.swift +275 -0
- package/templates/shared/keys.json.schema.json +56 -0
- package/templates/shared/tests/android/FirebaseBackend/FirebaseTest.kt +75 -0
- package/templates/shared/tests/android/SupabaseBackend/SupabaseTest.kt +146 -0
- package/templates/shared/tests/android/WixMemberBackend/WixMemberTest.kt +159 -0
- package/templates/shared/tests/android/WixOwnerBackend/WixOwnerTest.kt +99 -0
- package/templates/shared/tests/android/WixSiteSelector/WixSiteSelectorTest.kt +160 -0
- package/templates/shared/tests/ios/FirebaseBackend/FirebaseTests.swift +145 -0
- package/templates/shared/tests/ios/SupabaseBackend/SupabaseTests.swift +126 -0
- package/templates/shared/tests/ios/WixMemberBackend/WixMemberTests.swift +143 -0
- package/templates/shared/tests/ios/WixOwnerBackend/WixOwnerTests.swift +98 -0
- package/templates/shared/tests/ios/WixSiteSelector/WixSiteSelectorTests.swift +162 -0
- package/templates/shared/tests/maestro/FirebaseBackend/firebase_auth_flow.yaml +153 -0
- package/templates/shared/tests/maestro/SupabaseBackend/supabase_auth_flow.yaml +163 -0
- package/templates/shared/tests/maestro/WixMemberBackend/wix_member_navigation_flow.yaml +55 -0
- package/templates/shared/tests/maestro/WixMemberBackend/wix_member_store_flow.yaml +42 -0
- package/templates/shared/tests/maestro/WixOwnerBackend/wix_owner_dashboard_flow.yaml +48 -0
- package/templates/shared/tests/maestro/wix_site_selector_flow.yaml +75 -0
- package/templates/android/BookTemplate/tests/04_booking_flow.yaml +0 -14
- package/templates/android/BookTemplate/tests/05_search_filter.yaml +0 -14
- package/templates/android/BookTemplate/tests/06_favorites.yaml +0 -14
- package/templates/android/BookTemplate/tests/07_profile.yaml +0 -14
- package/templates/ios/BookTemplate/tests/04_booking_flow.yaml +0 -9
- package/templates/ios/BookTemplate/tests/05_search_filter.yaml +0 -9
- package/templates/ios/BookTemplate/tests/06_favorites.yaml +0 -9
- package/templates/ios/BookTemplate/tests/07_profile.yaml +0 -9
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { PATHS } from "../config.js";
|
|
5
|
+
/** Supported backend modules and their required keys */
|
|
6
|
+
const MODULE_KEYS = {
|
|
7
|
+
WixMemberBackend: {
|
|
8
|
+
keys: ["WIX_CLIENT_ID", "WIX_SITE_ID"],
|
|
9
|
+
detect: ["WixAPIClient", "WixAuthService", "WixAuthManager", "WixApiClient"],
|
|
10
|
+
},
|
|
11
|
+
WixOwnerBackend: {
|
|
12
|
+
keys: ["WIX_API_KEY", "WIX_SITE_ID"],
|
|
13
|
+
detect: ["WixAdminAuthService", "WixAdminAuthManager", "WixSiteManagerService", "WixSiteAdminManager"],
|
|
14
|
+
},
|
|
15
|
+
FirebaseBackend: {
|
|
16
|
+
keys: [], // Firebase uses GoogleService-Info.plist / google-services.json
|
|
17
|
+
detect: ["FirebaseAuthService", "FirebaseAuthManager", "FirebaseApp"],
|
|
18
|
+
},
|
|
19
|
+
SupabaseBackend: {
|
|
20
|
+
keys: ["SUPABASE_URL", "SUPABASE_ANON_KEY"],
|
|
21
|
+
detect: ["SupabaseAuthService", "SupabaseAuthManager", "SupabaseClient", "SupabaseConfigService"],
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
/** Detect platform from project files */
|
|
25
|
+
async function detectPlatform(appDir) {
|
|
26
|
+
const hasXcodeproj = (await fs.readdir(appDir)).some((f) => f.endsWith(".xcodeproj") || f.endsWith(".xcworkspace"));
|
|
27
|
+
const hasBuildGradle = await fs.pathExists(path.join(appDir, "app", "build.gradle.kts"))
|
|
28
|
+
|| await fs.pathExists(path.join(appDir, "build.gradle.kts"));
|
|
29
|
+
if (hasXcodeproj)
|
|
30
|
+
return "ios";
|
|
31
|
+
if (hasBuildGradle)
|
|
32
|
+
return "android";
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
/** Scan for integrated modules by looking for import patterns */
|
|
36
|
+
async function detectModules(appDir) {
|
|
37
|
+
const detected = [];
|
|
38
|
+
// Recursively scan source files for module detect patterns
|
|
39
|
+
const sourceFiles = await collectSourceFiles(appDir);
|
|
40
|
+
const allContent = await Promise.all(sourceFiles.slice(0, 100).map(async (f) => {
|
|
41
|
+
try {
|
|
42
|
+
return await fs.readFile(f, "utf-8");
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
48
|
+
const combined = allContent.join("\n");
|
|
49
|
+
for (const [moduleName, config] of Object.entries(MODULE_KEYS)) {
|
|
50
|
+
if (config.detect.some((pattern) => combined.includes(pattern))) {
|
|
51
|
+
detected.push(moduleName);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return detected;
|
|
55
|
+
}
|
|
56
|
+
/** Collect .swift and .kt source files */
|
|
57
|
+
async function collectSourceFiles(dir, depth = 0) {
|
|
58
|
+
if (depth > 5)
|
|
59
|
+
return [];
|
|
60
|
+
const files = [];
|
|
61
|
+
try {
|
|
62
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
63
|
+
for (const entry of entries) {
|
|
64
|
+
if (entry.name.startsWith(".") || entry.name === "node_modules" || entry.name === "build")
|
|
65
|
+
continue;
|
|
66
|
+
const fullPath = path.join(dir, entry.name);
|
|
67
|
+
if (entry.isDirectory()) {
|
|
68
|
+
files.push(...await collectSourceFiles(fullPath, depth + 1));
|
|
69
|
+
}
|
|
70
|
+
else if (entry.name.endsWith(".swift") || entry.name.endsWith(".kt")) {
|
|
71
|
+
files.push(fullPath);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch { /* ignore */ }
|
|
76
|
+
return files;
|
|
77
|
+
}
|
|
78
|
+
/** Map keys.json fields to platform config entries */
|
|
79
|
+
function mapKeysToConfig(keys) {
|
|
80
|
+
const config = {};
|
|
81
|
+
if (keys.wix?.clientId)
|
|
82
|
+
config["WIX_CLIENT_ID"] = keys.wix.clientId;
|
|
83
|
+
if (keys.wix?.siteId)
|
|
84
|
+
config["WIX_SITE_ID"] = keys.wix.siteId;
|
|
85
|
+
if (keys.wix?.apiKey)
|
|
86
|
+
config["WIX_API_KEY"] = keys.wix.apiKey;
|
|
87
|
+
// Note: WIX_REDIRECT_URL is auto-derived from bundle ID / package name
|
|
88
|
+
if (keys.supabase?.url)
|
|
89
|
+
config["SUPABASE_URL"] = keys.supabase.url;
|
|
90
|
+
if (keys.supabase?.anonKey)
|
|
91
|
+
config["SUPABASE_ANON_KEY"] = keys.supabase.anonKey;
|
|
92
|
+
return config;
|
|
93
|
+
}
|
|
94
|
+
/** Write iOS Secrets.xcconfig */
|
|
95
|
+
async function writeIosConfig(appDir, config) {
|
|
96
|
+
const lines = [
|
|
97
|
+
"// Secrets.xcconfig — Auto-generated by AppAgent --configure",
|
|
98
|
+
"// DO NOT commit this file to git",
|
|
99
|
+
"",
|
|
100
|
+
];
|
|
101
|
+
for (const [key, value] of Object.entries(config)) {
|
|
102
|
+
lines.push(`${key} = ${value}`);
|
|
103
|
+
}
|
|
104
|
+
const configPath = path.join(appDir, "Secrets.xcconfig");
|
|
105
|
+
await fs.writeFile(configPath, lines.join("\n") + "\n");
|
|
106
|
+
return configPath;
|
|
107
|
+
}
|
|
108
|
+
/** Write Android secrets.properties */
|
|
109
|
+
async function writeAndroidConfig(appDir, config) {
|
|
110
|
+
const lines = [
|
|
111
|
+
"# secrets.properties — Auto-generated by AppAgent --configure",
|
|
112
|
+
"# DO NOT commit this file to git",
|
|
113
|
+
"",
|
|
114
|
+
];
|
|
115
|
+
for (const [key, value] of Object.entries(config)) {
|
|
116
|
+
lines.push(`${key}=${value}`);
|
|
117
|
+
}
|
|
118
|
+
const configPath = path.join(appDir, "secrets.properties");
|
|
119
|
+
await fs.writeFile(configPath, lines.join("\n") + "\n");
|
|
120
|
+
return configPath;
|
|
121
|
+
}
|
|
122
|
+
/** Copy Firebase config files if specified */
|
|
123
|
+
async function copyFirebaseConfig(appDir, platform, keys) {
|
|
124
|
+
if (!keys.firebase)
|
|
125
|
+
return;
|
|
126
|
+
if (platform === "ios" && keys.firebase.ios) {
|
|
127
|
+
const src = path.resolve(keys.firebase.ios);
|
|
128
|
+
const dest = path.join(appDir, "GoogleService-Info.plist");
|
|
129
|
+
if (await fs.pathExists(src)) {
|
|
130
|
+
await fs.copy(src, dest);
|
|
131
|
+
p.log.success(`Copied GoogleService-Info.plist`);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
p.log.warn(`Firebase iOS config not found: ${src}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (platform === "android" && keys.firebase.android) {
|
|
138
|
+
const src = path.resolve(keys.firebase.android);
|
|
139
|
+
const dest = path.join(appDir, "app", "google-services.json");
|
|
140
|
+
if (await fs.pathExists(src)) {
|
|
141
|
+
await fs.copy(src, dest);
|
|
142
|
+
p.log.success(`Copied google-services.json`);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
p.log.warn(`Firebase Android config not found: ${src}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/** Prompt interactively for keys based on detected modules */
|
|
150
|
+
async function promptForKeys(modules) {
|
|
151
|
+
const config = {};
|
|
152
|
+
const allKeys = new Set();
|
|
153
|
+
for (const mod of modules) {
|
|
154
|
+
const modConfig = MODULE_KEYS[mod];
|
|
155
|
+
if (modConfig) {
|
|
156
|
+
for (const key of modConfig.keys) {
|
|
157
|
+
allKeys.add(key);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (allKeys.size === 0) {
|
|
162
|
+
p.log.info("No configurable keys needed for the detected modules.");
|
|
163
|
+
return config;
|
|
164
|
+
}
|
|
165
|
+
p.log.info(`Found ${modules.length} module(s): ${modules.join(", ")}`);
|
|
166
|
+
p.log.info(`Need ${allKeys.size} key(s) to configure.\n`);
|
|
167
|
+
for (const key of allKeys) {
|
|
168
|
+
const value = await p.text({
|
|
169
|
+
message: `${key}:`,
|
|
170
|
+
placeholder: `Enter your ${key}`,
|
|
171
|
+
validate(val) {
|
|
172
|
+
if (!val || val.trim().length === 0)
|
|
173
|
+
return `${key} is required`;
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
if (p.isCancel(value)) {
|
|
177
|
+
p.cancel("Configuration cancelled.");
|
|
178
|
+
process.exit(0);
|
|
179
|
+
}
|
|
180
|
+
config[key] = value;
|
|
181
|
+
}
|
|
182
|
+
return config;
|
|
183
|
+
}
|
|
184
|
+
/** Verify keys by making test API calls */
|
|
185
|
+
async function verifyKeys(config, modules) {
|
|
186
|
+
p.log.info("Verifying configured keys...\n");
|
|
187
|
+
for (const mod of modules) {
|
|
188
|
+
try {
|
|
189
|
+
if (mod === "WixMemberBackend" || mod === "WixOwnerBackend") {
|
|
190
|
+
const siteId = config["WIX_SITE_ID"];
|
|
191
|
+
const authHeader = mod === "WixOwnerBackend"
|
|
192
|
+
? config["WIX_API_KEY"]
|
|
193
|
+
: config["WIX_CLIENT_ID"]; // For member, just check client ID is valid format
|
|
194
|
+
if (siteId && authHeader) {
|
|
195
|
+
p.log.success(`${mod}: keys present ✓`);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
p.log.warn(`${mod}: missing required keys`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
else if (mod === "SupabaseBackend") {
|
|
202
|
+
const url = config["SUPABASE_URL"];
|
|
203
|
+
if (url) {
|
|
204
|
+
// Simple health check
|
|
205
|
+
const response = await fetch(`${url}/rest/v1/`, {
|
|
206
|
+
headers: {
|
|
207
|
+
"apikey": config["SUPABASE_ANON_KEY"] || "",
|
|
208
|
+
"Authorization": `Bearer ${config["SUPABASE_ANON_KEY"] || ""}`,
|
|
209
|
+
},
|
|
210
|
+
});
|
|
211
|
+
if (response.ok || response.status === 200) {
|
|
212
|
+
p.log.success(`${mod}: connection verified ✓`);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
p.log.warn(`${mod}: connection returned ${response.status} (keys may be wrong)`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
else if (mod === "FirebaseBackend") {
|
|
220
|
+
p.log.success(`${mod}: uses config file (no key verification needed) ✓`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
p.log.warn(`${mod}: verification failed — ${e.message}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/** Main configure command */
|
|
229
|
+
export async function configure(appName, keysFile, skipVerify = false) {
|
|
230
|
+
p.intro("AppAgent — Configure API Keys");
|
|
231
|
+
// Resolve app directory
|
|
232
|
+
let appDir = path.join(PATHS.output, appName);
|
|
233
|
+
if (!(await fs.pathExists(appDir))) {
|
|
234
|
+
// Try as direct path
|
|
235
|
+
appDir = path.resolve(appName);
|
|
236
|
+
if (!(await fs.pathExists(appDir))) {
|
|
237
|
+
p.log.error(`App not found: ${appName}`);
|
|
238
|
+
p.log.info("Use --list to see available apps.");
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Detect platform
|
|
243
|
+
const platform = await detectPlatform(appDir);
|
|
244
|
+
if (!platform) {
|
|
245
|
+
p.log.error("Could not detect platform (no .xcodeproj or build.gradle.kts found).");
|
|
246
|
+
process.exit(1);
|
|
247
|
+
}
|
|
248
|
+
p.log.info(`Platform: ${platform === "ios" ? "iOS" : "Android"}`);
|
|
249
|
+
// Detect integrated modules
|
|
250
|
+
const modules = await detectModules(appDir);
|
|
251
|
+
if (modules.length === 0) {
|
|
252
|
+
p.log.info("No backend modules detected in this app. Nothing to configure.");
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
p.log.info(`Detected modules: ${modules.join(", ")}`);
|
|
256
|
+
let config;
|
|
257
|
+
let keys;
|
|
258
|
+
if (keysFile) {
|
|
259
|
+
// Read keys.json
|
|
260
|
+
const keysPath = path.resolve(keysFile);
|
|
261
|
+
if (!(await fs.pathExists(keysPath))) {
|
|
262
|
+
p.log.error(`Keys file not found: ${keysPath}`);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
const raw = await fs.readFile(keysPath, "utf-8");
|
|
266
|
+
keys = JSON.parse(raw);
|
|
267
|
+
config = mapKeysToConfig(keys);
|
|
268
|
+
p.log.success(`Read ${Object.keys(config).length} keys from ${keysFile}`);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
// Interactive mode
|
|
272
|
+
config = await promptForKeys(modules);
|
|
273
|
+
}
|
|
274
|
+
// Write platform config
|
|
275
|
+
if (platform === "ios") {
|
|
276
|
+
const configPath = await writeIosConfig(appDir, config);
|
|
277
|
+
p.log.success(`Wrote ${configPath}`);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
const configPath = await writeAndroidConfig(appDir, config);
|
|
281
|
+
p.log.success(`Wrote ${configPath}`);
|
|
282
|
+
}
|
|
283
|
+
// Copy Firebase config files if applicable
|
|
284
|
+
if (keys) {
|
|
285
|
+
await copyFirebaseConfig(appDir, platform, keys);
|
|
286
|
+
}
|
|
287
|
+
// Verify keys
|
|
288
|
+
if (!skipVerify) {
|
|
289
|
+
await verifyKeys(config, modules);
|
|
290
|
+
}
|
|
291
|
+
// Summary
|
|
292
|
+
p.note([
|
|
293
|
+
`App: ${appName}`,
|
|
294
|
+
`Platform: ${platform}`,
|
|
295
|
+
`Modules: ${modules.join(", ")}`,
|
|
296
|
+
`Keys configured: ${Object.keys(config).length}`,
|
|
297
|
+
].join("\n"), "Configuration Complete");
|
|
298
|
+
p.outro("Build and run your app to verify the connection.");
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -86,6 +86,8 @@ export declare const UserInputSchema: z.ZodObject<{
|
|
|
86
86
|
quick: z.ZodDefault<z.ZodBoolean>;
|
|
87
87
|
update: z.ZodDefault<z.ZodBoolean>;
|
|
88
88
|
updateTarget: z.ZodOptional<z.ZodString>;
|
|
89
|
+
keysFile: z.ZodOptional<z.ZodString>;
|
|
90
|
+
keepSimulator: z.ZodDefault<z.ZodBoolean>;
|
|
89
91
|
}, "strip", z.ZodTypeAny, {
|
|
90
92
|
description: string;
|
|
91
93
|
platform: "ios" | "android" | "both";
|
|
@@ -94,7 +96,9 @@ export declare const UserInputSchema: z.ZodObject<{
|
|
|
94
96
|
scratch: boolean;
|
|
95
97
|
quick: boolean;
|
|
96
98
|
update: boolean;
|
|
99
|
+
keepSimulator: boolean;
|
|
97
100
|
updateTarget?: string | undefined;
|
|
101
|
+
keysFile?: string | undefined;
|
|
98
102
|
}, {
|
|
99
103
|
description: string;
|
|
100
104
|
platform: "ios" | "android" | "both";
|
|
@@ -104,6 +108,8 @@ export declare const UserInputSchema: z.ZodObject<{
|
|
|
104
108
|
quick?: boolean | undefined;
|
|
105
109
|
update?: boolean | undefined;
|
|
106
110
|
updateTarget?: string | undefined;
|
|
111
|
+
keysFile?: string | undefined;
|
|
112
|
+
keepSimulator?: boolean | undefined;
|
|
107
113
|
}>;
|
|
108
114
|
export type UserInput = z.infer<typeof UserInputSchema>;
|
|
109
115
|
/** Source type for the update mode */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAgC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,YAAY,SAA8C,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAA8C,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;CAWd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAEX,0BAA0B;AAC1B,eAAO,MAAM,SAAS,6BAA8B,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,gFAAgF;AAChF,eAAO,MAAM,eAAe,qCAAsC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,gBAAgB,EAAE,QACmC,CAAC;AAEnE,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,EAAE,CAE/D;AAED,8BAA8B;AAC9B,eAAO,MAAM,OAAO,+BAAgC,CAAC;AACrD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,eAAO,MAAM,cAAc,EAAE,MACoC,CAAC;AAElE,6BAA6B;AAC7B,eAAO,MAAM,UAAU,QAEuC,CAAC;AAE/D,kCAAkC;AAClC,eAAO,MAAM,eAAe,QACc,CAAC;AAE3C,2DAA2D;AAC3D,eAAO,MAAM,MAAM,2JAUT,CAAC;AACX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,KAAoB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWnD,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,wBAAwB;AACxB,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -111,6 +111,8 @@ export const UserInputSchema = z.object({
|
|
|
111
111
|
quick: z.boolean().default(false),
|
|
112
112
|
update: z.boolean().default(false),
|
|
113
113
|
updateTarget: z.string().optional(),
|
|
114
|
+
keysFile: z.string().optional(),
|
|
115
|
+
keepSimulator: z.boolean().default(true),
|
|
114
116
|
});
|
|
115
117
|
/** Maximum allowed length for user app description (characters) */
|
|
116
118
|
export const MAX_DESCRIPTION_LENGTH = 2000;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAC/C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;IAC3D,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC3C,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,CAAC;IAC1E,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC3C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IAC9C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;CACtC,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,SAAS,EAAE,WAAW,CAAC,SAAS;IAChC,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;IAC5B,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;IACpD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,sBAAsB,CAAC;IAC9E,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,yBAAyB,CAAC;IACpF,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,uBAAuB,CAAC;IAChF,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,wBAAwB,CAAC;IAClF,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IAC3C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC;CACnD,CAAC;AAEX,0BAA0B;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,CAAU,CAAC;AAGrD,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AAGnE,MAAM,CAAC,MAAM,gBAAgB,GAC1B,OAAO,CAAC,GAAG,CAAC,iBAA0C,IAAI,KAAK,CAAC;AAEnE,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,8BAA8B;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GACxB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,QAAQ,CAAC;AAElE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,eAAe;IAC3B,4DAA4D,CAAC;AAE/D,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,QAAQ,CAAC;AAE3C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,mBAAmB;IACnB,UAAU;IACV,mBAAmB;IACnB,eAAe;IACf,cAAc;IACd,MAAM;CACE,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAU,YAAY,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,YAAY,EAAE,QAAQ;IACtB,qBAAqB,EAAE,QAAQ;IAC/B,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,MAAM;IAC3B,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,MAAM;IAC3B,MAAM,EAAE,QAAQ,EAAE,oCAAoC;IACtD,iFAAiF;IACjF,eAAe,EAAE,QAAQ;IACzB,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AAEjD,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,4CAA4C,CAAC;IAC7E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACzC,CAAC,CAAC;AAsBH,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,sEAAsE;AACtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAE5E,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { validatePrompt, formatSanitizationResult } from "./prompt-sanitizer.js"
|
|
|
11
11
|
import { checkGitHubPrereqs, pushToGitHub, deriveRepoName, commitChanges, pushBranch, createPullRequest, isGitRepo, hasRemoteOrigin, collectScreenshots, ensureScreenshotsGitignoreException, generateReadmeScreenshots, buildPrBodyWithScreenshots, fetchPreviewFromGitHub, } from "./github.js";
|
|
12
12
|
import { PATHS, ASSET_PATHS, DEFAULT_ENGINE, DEFAULT_MODEL, SKELETON_TEMPLATE_NAME, expandPlatform } from "./config.js";
|
|
13
13
|
import { listApps, runApp, resolveAppContext } from "./app-manager.js";
|
|
14
|
+
import { configure } from "./commands/configure.js";
|
|
14
15
|
import { scaffoldWorkspace, cleanupWorkspace } from "./workspace.js";
|
|
15
16
|
import { resolveUpdateContext } from "./updater.js";
|
|
16
17
|
import { generatePreview } from "./preview-generator.js";
|
|
@@ -35,6 +36,9 @@ async function main() {
|
|
|
35
36
|
else if (mgmtCmd.command === "screenshot") {
|
|
36
37
|
await handleScreenshot(mgmtCmd.appName);
|
|
37
38
|
}
|
|
39
|
+
else if (mgmtCmd.command === "configure") {
|
|
40
|
+
await configure(mgmtCmd.appName, mgmtCmd.keysFile, mgmtCmd.skipVerify);
|
|
41
|
+
}
|
|
38
42
|
return;
|
|
39
43
|
}
|
|
40
44
|
// ── Collect user input (before engine checks to handle management commands) ──
|
|
@@ -55,6 +59,8 @@ async function main() {
|
|
|
55
59
|
await handlePreview(cmd.appName);
|
|
56
60
|
else if (cmd.command === "screenshot")
|
|
57
61
|
await handleScreenshot(cmd.appName);
|
|
62
|
+
else if (cmd.command === "configure")
|
|
63
|
+
await configure(cmd.appName, cmd.keysFile, cmd.skipVerify);
|
|
58
64
|
return;
|
|
59
65
|
}
|
|
60
66
|
interactiveInput = interactiveResult.input;
|
|
@@ -814,7 +820,7 @@ async function updateApp(input, engine, ghAvailable, cliFlags = {}) {
|
|
|
814
820
|
// ── Scaffold workspace (npx mode) ────────────────────────────────────
|
|
815
821
|
await scaffoldWorkspace();
|
|
816
822
|
// ── Build update prompt ──────────────────────────────────────────────
|
|
817
|
-
const prompt = await buildUpdatePrompt(updateCtx);
|
|
823
|
+
const prompt = await buildUpdatePrompt(updateCtx, input.keepSimulator ?? true);
|
|
818
824
|
p.log.info("Update prompt built successfully.");
|
|
819
825
|
// ── Run the agent engine ─────────────────────────────────────────────
|
|
820
826
|
p.log.step(`Launching ${engine.name} agent for update...`);
|