@shaykec/app-agent 1.0.4 → 1.0.6

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.
Files changed (1128) hide show
  1. package/.claude/skills/ui-tester/SKILL.md +59 -0
  2. package/.cursor/rules/safety-guardrails.mdc +1 -0
  3. package/.cursor/rules/workflow.mdc +4 -4
  4. package/.cursor/skills/android-customizer/SKILL.md +50 -16
  5. package/.cursor/skills/appconfig-customization/SKILL.md +15 -0
  6. package/.cursor/skills/content-writer/SKILL.md +27 -3
  7. package/.cursor/skills/customization-planner/SKILL.md +17 -1
  8. package/.cursor/skills/ios-customizer/SKILL.md +54 -13
  9. package/.cursor/skills/mock-data-update/SKILL.md +11 -3
  10. package/.cursor/skills/module-integrator/SKILL.md +53 -0
  11. package/.cursor/skills/module-selector/SKILL.md +11 -0
  12. package/.cursor/skills/ui-tester/SKILL.md +63 -2
  13. package/CLAUDE.md +4 -3
  14. package/dist/cli.d.ts +20 -4
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +178 -15
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/configure.d.ts +3 -0
  19. package/dist/commands/configure.d.ts.map +1 -0
  20. package/dist/commands/configure.js +301 -0
  21. package/dist/commands/configure.js.map +1 -0
  22. package/dist/config.d.ts +6 -0
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +2 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/github.d.ts +5 -0
  27. package/dist/github.d.ts.map +1 -1
  28. package/dist/github.js +27 -0
  29. package/dist/github.js.map +1 -1
  30. package/dist/index.js +225 -25
  31. package/dist/index.js.map +1 -1
  32. package/dist/preview-generator.d.ts +35 -0
  33. package/dist/preview-generator.d.ts.map +1 -0
  34. package/dist/preview-generator.js +546 -0
  35. package/dist/preview-generator.js.map +1 -0
  36. package/dist/prompt-builder.d.ts +2 -2
  37. package/dist/prompt-builder.d.ts.map +1 -1
  38. package/dist/prompt-builder.js +24 -8
  39. package/dist/prompt-builder.js.map +1 -1
  40. package/package.json +4 -1
  41. package/prompts/agent-prompt.md +1 -1
  42. package/prompts/quick-agent-prompt.md +2 -2
  43. package/prompts/scratch-agent-prompt.md +1 -1
  44. package/prompts/test-agent-prompt.md +1 -1
  45. package/prompts/update-agent-prompt.md +4 -2
  46. package/templates/android/BookTemplate/TESTING_MANIFEST.md +12 -0
  47. package/templates/android/BookTemplate/app/build.gradle.kts +5 -0
  48. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/BookApplication.kt +5 -0
  49. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/core/components/EmptyStateView.kt +105 -0
  50. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/DataRepository.kt +37 -0
  51. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/DataSourceResolver.kt +3 -4
  52. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/AppDao.kt +113 -0
  53. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/AppDatabase.kt +40 -0
  54. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/BookingEntity.kt +60 -0
  55. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/BusinessHoursEntity.kt +35 -0
  56. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/LocalStorageProvider.kt +205 -0
  57. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ProviderEntity.kt +83 -0
  58. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ReviewEntity.kt +62 -0
  59. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/data/local/ServiceEntity.kt +40 -0
  60. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/booking/BookingScreen.kt +5 -3
  61. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/bookings/BookingsScreen.kt +18 -34
  62. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/DiscoveryViewModel.kt +3 -2
  63. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/ProviderDetailScreen.kt +3 -2
  64. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/discovery/SearchScreen.kt +9 -22
  65. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/features/profile/ProfileScreen.kt +9 -24
  66. package/templates/android/BookTemplate/app/src/main/kotlin/com/appship/book/mock/MockDataProvider.kt +2 -2
  67. package/templates/android/BookTemplate/app/src/test/kotlin/com/appship/book/DataRepositoryTest.kt +40 -0
  68. package/templates/android/BookTemplate/gradle/libs.versions.toml +4 -0
  69. package/templates/android/BookTemplate/tests/01_launch_discover.yaml +17 -7
  70. package/templates/android/BookTemplate/tests/02_tab_navigation.yaml +23 -4
  71. package/templates/android/BookTemplate/tests/03_provider_detail.yaml +36 -5
  72. package/templates/android/BookTemplate/tests/04_booking_detail.yaml +48 -0
  73. package/templates/android/BookTemplate/tests/05_booking_create_flow.yaml +42 -0
  74. package/templates/android/BookTemplate/tests/06_search_filter.yaml +48 -0
  75. package/templates/android/BookTemplate/tests/07_profile_settings.yaml +37 -0
  76. package/templates/android/BookTemplate/tests/08_full_e2e.yaml +57 -3
  77. package/templates/android/ChatTemplate/TESTING_MANIFEST.md +3 -0
  78. package/templates/android/ChatTemplate/app/build.gradle.kts +5 -0
  79. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/AppConfig.kt +9 -0
  80. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/ChatApplication.kt +6 -0
  81. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/core/components/EmptyStateView.kt +105 -0
  82. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/DataRepository.kt +23 -0
  83. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/DataSourceResolver.kt +23 -0
  84. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/AppDao.kt +75 -0
  85. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/AppDatabase.kt +40 -0
  86. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/CallEntity.kt +57 -0
  87. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/ContactEntity.kt +38 -0
  88. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/ConversationEntity.kt +73 -0
  89. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/MessageEntity.kt +89 -0
  90. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/data/local/UserEntity.kt +52 -0
  91. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/calls/CallsScreen.kt +28 -11
  92. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/contacts/ContactsScreen.kt +30 -14
  93. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/conversations/ChatScreen.kt +12 -10
  94. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/conversations/ConversationsScreen.kt +47 -31
  95. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/navigation/Navigation.kt +4 -2
  96. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/features/settings/SettingsScreen.kt +6 -4
  97. package/templates/android/ChatTemplate/app/src/main/kotlin/com/appship/chat/mock/MockDataProvider.kt +7 -7
  98. package/templates/android/ChatTemplate/app/src/test/kotlin/com/appship/chat/DataRepositoryTest.kt +41 -0
  99. package/templates/android/ChatTemplate/gradle/libs.versions.toml +4 -0
  100. package/templates/android/ChatTemplate/tests/01_launch_chats.yaml +26 -7
  101. package/templates/android/ChatTemplate/tests/02_tab_navigation.yaml +61 -12
  102. package/templates/android/ChatTemplate/tests/08_full_e2e.yaml +96 -19
  103. package/templates/android/DashTemplate/TESTING_MANIFEST.md +6 -0
  104. package/templates/android/DashTemplate/app/build.gradle.kts +5 -0
  105. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/AppConfig.kt +9 -0
  106. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/DashApplication.kt +10 -1
  107. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/core/components/EmptyStateView.kt +105 -0
  108. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/DataRepository.kt +46 -0
  109. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/DataSourceResolver.kt +21 -0
  110. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AlertEntity.kt +40 -0
  111. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AppDao.kt +112 -0
  112. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/AppDatabase.kt +41 -0
  113. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/DataPointEntity.kt +32 -0
  114. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/DataSourceEntity.kt +37 -0
  115. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/LocalStorageProvider.kt +231 -0
  116. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/MetricEntity.kt +52 -0
  117. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/ReportEntity.kt +48 -0
  118. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/data/local/WidgetEntity.kt +97 -0
  119. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/alerts/AlertsScreen.kt +28 -13
  120. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/dashboard/DashboardScreen.kt +24 -12
  121. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/datasources/DataSourcesScreen.kt +33 -18
  122. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/features/reports/ReportsScreen.kt +33 -18
  123. package/templates/android/DashTemplate/app/src/main/kotlin/com/appship/dash/mock/MockDataProvider.kt +23 -22
  124. package/templates/android/DashTemplate/app/src/test/kotlin/com/appship/dash/DataRepositoryTest.kt +41 -0
  125. package/templates/android/DashTemplate/gradle/libs.versions.toml +4 -0
  126. package/templates/android/DashTemplate/tests/02_tab_navigation.yaml +41 -7
  127. package/templates/android/FamilyTemplate/TESTING_MANIFEST.md +3 -0
  128. package/templates/android/FamilyTemplate/app/build.gradle.kts +5 -0
  129. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/AppConfig.kt +9 -0
  130. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/FamilyApplication.kt +10 -1
  131. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/core/components/EmptyStateView.kt +105 -0
  132. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/DataRepository.kt +65 -0
  133. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/DataSourceResolver.kt +21 -0
  134. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/AppDao.kt +138 -0
  135. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/AppDatabase.kt +42 -0
  136. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/CalendarEventEntity.kt +55 -0
  137. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/ChoreEntity.kt +58 -0
  138. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/FamilyMemberEntity.kt +52 -0
  139. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/LocalStorageProvider.kt +301 -0
  140. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/LocationUpdateEntity.kt +39 -0
  141. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/MilestoneEntity.kt +45 -0
  142. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/PhotoEntity.kt +51 -0
  143. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/data/local/RewardEntity.kt +48 -0
  144. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/calendar/CalendarScreen.kt +23 -12
  145. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/chores/ChoreBoardScreen.kt +38 -24
  146. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/familyhub/FamilyHubScreen.kt +4 -4
  147. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/gallery/GalleryScreen.kt +3 -3
  148. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/members/MembersListScreen.kt +5 -5
  149. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/rewards/RewardsScreen.kt +5 -5
  150. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/features/settings/SettingsScreen.kt +3 -3
  151. package/templates/android/FamilyTemplate/app/src/main/java/com/appship/family/mock/MockDataProvider.kt +36 -39
  152. package/templates/android/FamilyTemplate/app/src/test/java/com/appship/family/DataRepositoryTest.kt +42 -0
  153. package/templates/android/FamilyTemplate/app/src/test/java/com/appship/family/mock/MockDataProviderTest.kt +17 -17
  154. package/templates/android/FamilyTemplate/gradle/libs.versions.toml +4 -0
  155. package/templates/android/FamilyTemplate/tests/01_launch_hub.yaml +32 -1
  156. package/templates/android/FamilyTemplate/tests/02_tab_navigation.yaml +56 -3
  157. package/templates/android/FamilyTemplate/tests/03_chore_complete.yaml +36 -3
  158. package/templates/android/FamilyTemplate/tests/04_add_chore.yaml +49 -3
  159. package/templates/android/FinanceTemplate/TESTING_MANIFEST.md +4 -0
  160. package/templates/android/FinanceTemplate/app/build.gradle.kts +3 -0
  161. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/AppConfig.kt +9 -0
  162. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/FinanceApplication.kt +5 -0
  163. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/core/components/EmptyStateView.kt +105 -0
  164. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/DataRepository.kt +70 -0
  165. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/DataSourceResolver.kt +21 -0
  166. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/Models.kt +8 -0
  167. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AccountEntity.kt +58 -0
  168. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AppDao.kt +145 -0
  169. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/AppDatabase.kt +42 -0
  170. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/BillEntity.kt +63 -0
  171. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/BudgetEntity.kt +54 -0
  172. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/CategoryEntity.kt +33 -0
  173. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/GoalEntity.kt +59 -0
  174. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/InsightEntity.kt +47 -0
  175. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/LocalStorageProvider.kt +326 -0
  176. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/data/local/TransactionEntity.kt +66 -0
  177. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/budgets/BudgetsScreen.kt +16 -4
  178. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/goals/GoalsScreen.kt +22 -9
  179. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/home/HomeScreen.kt +20 -10
  180. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/settings/SettingsScreen.kt +0 -1
  181. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/features/transactions/TransactionsScreen.kt +35 -17
  182. package/templates/android/FinanceTemplate/app/src/main/kotlin/com/appship/finance/mock/MockDataProvider.kt +115 -59
  183. package/templates/android/FinanceTemplate/app/src/test/kotlin/com/appship/finance/DataRepositoryTest.kt +41 -0
  184. package/templates/android/FinanceTemplate/app/src/test/kotlin/com/appship/finance/mock/MockDataProviderTest.kt +5 -5
  185. package/templates/android/FinanceTemplate/gradle/libs.versions.toml +4 -0
  186. package/templates/android/FinanceTemplate/tests/01_launch_home.yaml +16 -6
  187. package/templates/android/FinanceTemplate/tests/08_full_e2e.yaml +89 -5
  188. package/templates/android/GameTemplate/TESTING_MANIFEST.md +3 -0
  189. package/templates/android/GameTemplate/app/build.gradle.kts +5 -0
  190. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/AppConfig.kt +9 -0
  191. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/MainActivity.kt +6 -0
  192. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/core/components/EmptyStateView.kt +137 -0
  193. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/DataRepository.kt +19 -0
  194. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/DataSourceResolver.kt +21 -0
  195. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AchievementEntity.kt +42 -0
  196. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AppDao.kt +127 -0
  197. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/AppDatabase.kt +41 -0
  198. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/DailyChallengeEntity.kt +70 -0
  199. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/GameSessionEntity.kt +45 -0
  200. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LeaderboardEntryEntity.kt +57 -0
  201. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LevelEntity.kt +45 -0
  202. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/LocalStorageProvider.kt +99 -0
  203. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/data/local/ShopItemEntity.kt +41 -0
  204. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/achievements/AchievementsScreen.kt +20 -11
  205. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/leaderboard/LeaderboardScreen.kt +21 -12
  206. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/results/ResultsScreen.kt +3 -2
  207. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/features/shop/ShopScreen.kt +32 -23
  208. package/templates/android/GameTemplate/app/src/main/kotlin/com/appship/game/mock/MockDataProvider.kt +6 -6
  209. package/templates/android/GameTemplate/app/src/test/kotlin/com/appship/game/DataRepositoryTest.kt +41 -0
  210. package/templates/android/GameTemplate/gradle/libs.versions.toml +8 -0
  211. package/templates/android/GameTemplate/tests/01_launch_home.yaml +16 -3
  212. package/templates/android/GameTemplate/tests/02_tab_navigation.yaml +40 -10
  213. package/templates/android/GameTemplate/tests/03_game_play.yaml +39 -2
  214. package/templates/android/GameTemplate/tests/04_leaderboard.yaml +41 -7
  215. package/templates/android/GameTemplate/tests/05_shop.yaml +36 -7
  216. package/templates/android/GameTemplate/tests/06_achievements.yaml +39 -6
  217. package/templates/android/GameTemplate/tests/07_profile_settings.yaml +40 -7
  218. package/templates/android/GameTemplate/tests/08_full_e2e.yaml +95 -22
  219. package/templates/android/HealthTemplate/TESTING_MANIFEST.md +2 -0
  220. package/templates/android/HealthTemplate/app/build.gradle.kts +7 -1
  221. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/AppConfig.kt +9 -0
  222. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/MainActivity.kt +8 -0
  223. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/core/components/EmptyStateView.kt +137 -0
  224. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/DataRepository.kt +46 -0
  225. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/DataSourceResolver.kt +22 -0
  226. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/AppDao.kt +120 -0
  227. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/AppDatabase.kt +43 -0
  228. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/BodyMeasurementEntity.kt +38 -0
  229. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/DailyGoalEntity.kt +36 -0
  230. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/ExerciseEntity.kt +50 -0
  231. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/HealthMetricEntity.kt +38 -0
  232. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/LocalStorageProvider.kt +222 -0
  233. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/MealEntity.kt +60 -0
  234. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WaterEntryEntity.kt +34 -0
  235. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WorkoutEntity.kt +58 -0
  236. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/data/local/WorkoutSessionEntity.kt +51 -0
  237. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/dashboard/DashboardScreen.kt +7 -3
  238. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/profile/ProfileScreen.kt +8 -6
  239. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/features/workouts/WorkoutListScreen.kt +15 -3
  240. package/templates/android/HealthTemplate/app/src/main/kotlin/com/appship/health/mock/MockDataProvider.kt +24 -22
  241. package/templates/android/HealthTemplate/app/src/test/kotlin/com/appship/health/DataRepositoryTest.kt +41 -0
  242. package/templates/android/HealthTemplate/gradle/libs.versions.toml +4 -0
  243. package/templates/android/HealthTemplate/tests/01_launch_dashboard.yaml +20 -2
  244. package/templates/android/HealthTemplate/tests/02_tab_navigation.yaml +35 -8
  245. package/templates/android/HealthTemplate/tests/03_workout_browse.yaml +43 -3
  246. package/templates/android/HealthTemplate/tests/04_workout_player.yaml +46 -4
  247. package/templates/android/HealthTemplate/tests/05_meal_logging.yaml +46 -3
  248. package/templates/android/HealthTemplate/tests/06_progress_charts.yaml +42 -2
  249. package/templates/android/HealthTemplate/tests/07_profile_settings.yaml +33 -6
  250. package/templates/android/HealthTemplate/tests/08_full_e2e.yaml +91 -29
  251. package/templates/android/LearnTemplate/app/build.gradle.kts +5 -0
  252. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/AppConfig.kt +9 -0
  253. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/MainActivity.kt +7 -0
  254. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/core/components/EmptyStateView.kt +137 -0
  255. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/DataRepository.kt +49 -0
  256. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/DataSourceResolver.kt +22 -0
  257. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AchievementEntity.kt +38 -0
  258. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AppDao.kt +74 -0
  259. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/AppDatabase.kt +40 -0
  260. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/CategoryEntity.kt +32 -0
  261. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/CourseEntity.kt +86 -0
  262. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/FlashcardDeckEntity.kt +50 -0
  263. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/LeaderboardEntryEntity.kt +41 -0
  264. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/data/local/LocalStorageProvider.kt +288 -0
  265. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/courses/CourseListScreen.kt +18 -7
  266. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/leaderboard/LeaderboardScreen.kt +5 -2
  267. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/profile/ProfileScreen.kt +3 -2
  268. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/features/progress/ProgressDashboardScreen.kt +3 -2
  269. package/templates/android/LearnTemplate/app/src/main/kotlin/com/appship/learn/mock/MockDataProvider.kt +48 -18
  270. package/templates/android/LearnTemplate/app/src/test/kotlin/com/appship/learn/DataRepositoryTest.kt +41 -0
  271. package/templates/android/LearnTemplate/gradle/libs.versions.toml +4 -0
  272. package/templates/android/LearnTemplate/tests/01_launch_home.yaml +13 -3
  273. package/templates/android/LearnTemplate/tests/02_tab_navigation.yaml +33 -8
  274. package/templates/android/LearnTemplate/tests/03_course_detail.yaml +29 -8
  275. package/templates/android/LearnTemplate/tests/04_lesson_player.yaml +31 -8
  276. package/templates/android/LearnTemplate/tests/05_search_filter.yaml +28 -4
  277. package/templates/android/LearnTemplate/tests/06_progress.yaml +28 -8
  278. package/templates/android/LearnTemplate/tests/07_profile_settings.yaml +32 -9
  279. package/templates/android/LearnTemplate/tests/08_full_e2e.yaml +69 -25
  280. package/templates/android/MapTemplate/TESTING_MANIFEST.md +9 -0
  281. package/templates/android/MapTemplate/app/build.gradle.kts +3 -0
  282. package/templates/android/MapTemplate/app/src/main/AndroidManifest.xml +1 -0
  283. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/MapApplication.kt +11 -1
  284. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/core/components/EmptyStateView.kt +137 -0
  285. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/DataSourceResolver.kt +12 -6
  286. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/AppDao.kt +70 -0
  287. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/AppDatabase.kt +34 -0
  288. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/LocalStorageProvider.kt +237 -0
  289. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/PlaceEntity.kt +104 -0
  290. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/data/local/ReviewEntity.kt +47 -0
  291. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/di/AppModule.kt +11 -2
  292. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/favorites/FavoritesViewModel.kt +4 -4
  293. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/map/MapViewModel.kt +4 -4
  294. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/place/PlaceDetailScreen.kt +2 -0
  295. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/place/PlaceDetailViewModel.kt +5 -5
  296. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/place/PlaceListViewModel.kt +4 -4
  297. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/profile/ProfileScreen.kt +2 -0
  298. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/profile/ProfileViewModel.kt +5 -5
  299. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/route/RouteScreen.kt +2 -0
  300. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/route/RouteViewModel.kt +3 -3
  301. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/search/SearchScreen.kt +2 -0
  302. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/search/SearchViewModel.kt +3 -3
  303. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/settings/SettingsScreen.kt +2 -0
  304. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/features/settings/SettingsViewModel.kt +3 -3
  305. package/templates/android/MapTemplate/app/src/main/kotlin/com/appship/map/mock/MockDataProvider.kt +54 -41
  306. package/templates/android/MapTemplate/app/src/test/kotlin/com/appship/map/DataRepositoryTest.kt +18 -0
  307. package/templates/android/MapTemplate/gradle/libs.versions.toml +4 -0
  308. package/templates/android/MapTemplate/tests/01_launch_map.yaml +18 -8
  309. package/templates/android/MapTemplate/tests/02_tab_navigation.yaml +27 -13
  310. package/templates/android/MapTemplate/tests/03_map_interaction.yaml +23 -10
  311. package/templates/android/MapTemplate/tests/04_place_detail.yaml +21 -5
  312. package/templates/android/MapTemplate/tests/05_search.yaml +24 -2
  313. package/templates/android/MapTemplate/tests/06_filters.yaml +22 -2
  314. package/templates/android/MapTemplate/tests/08_full_e2e.yaml +26 -41
  315. package/templates/android/MediaTemplate/TESTING_MANIFEST.md +5 -0
  316. package/templates/android/MediaTemplate/app/build.gradle.kts +5 -0
  317. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/AppConfig.kt +9 -0
  318. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/MediaApplication.kt +11 -1
  319. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/core/components/EmptyStateView.kt +137 -0
  320. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/DataRepository.kt +49 -0
  321. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/DataSourceResolver.kt +27 -0
  322. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/AppDao.kt +132 -0
  323. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/AppDatabase.kt +40 -0
  324. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/EpisodeEntity.kt +76 -0
  325. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/LocalStorageProvider.kt +335 -0
  326. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/MediaCategoryEntity.kt +39 -0
  327. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/MediaItemEntity.kt +74 -0
  328. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/PlaybackHistoryEntity.kt +46 -0
  329. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/data/local/PlaylistEntity.kt +64 -0
  330. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/browse/BrowseScreen.kt +3 -1
  331. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/detail/DetailScreen.kt +3 -1
  332. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/home/HomeScreen.kt +3 -2
  333. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/features/settings/SettingsScreen.kt +2 -0
  334. package/templates/android/MediaTemplate/app/src/main/kotlin/com/appship/media/mock/MockDataProvider.kt +267 -107
  335. package/templates/android/MediaTemplate/app/src/test/kotlin/com/appship/media/DataRepositoryTest.kt +41 -0
  336. package/templates/android/MediaTemplate/gradle/libs.versions.toml +4 -0
  337. package/templates/android/MediaTemplate/tests/01_launch_home.yaml +18 -8
  338. package/templates/android/MediaTemplate/tests/02_tab_navigation.yaml +32 -9
  339. package/templates/android/MediaTemplate/tests/05_search.yaml +28 -1
  340. package/templates/android/MediaTemplate/tests/06_playlist_management.yaml +37 -0
  341. package/templates/android/MediaTemplate/tests/07_downloads_settings.yaml +34 -0
  342. package/templates/android/MediaTemplate/tests/08_full_e2e.yaml +38 -24
  343. package/templates/android/ReferenceTemplate/app/build.gradle.kts +5 -0
  344. package/templates/android/ReferenceTemplate/app/src/main/AndroidManifest.xml +3 -14
  345. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/AppConfig.kt +9 -0
  346. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/ReferenceApplication.kt +16 -0
  347. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/DataRepository.kt +26 -0
  348. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/DataSourceResolver.kt +25 -0
  349. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/Models.kt +61 -0
  350. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/AppDao.kt +57 -0
  351. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/AppDatabase.kt +37 -0
  352. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/LocalStorageProvider.kt +277 -0
  353. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/NoteEntity.kt +57 -0
  354. package/templates/android/ReferenceTemplate/app/src/main/kotlin/com/appship/reference/data/local/TaskEntity.kt +58 -0
  355. package/templates/android/ReferenceTemplate/app/src/main/res/values/themes.xml +1 -1
  356. package/templates/android/ReferenceTemplate/app/src/test/kotlin/com/appship/reference/DataRepositoryTest.kt +17 -0
  357. package/templates/android/ReferenceTemplate/gradle/libs.versions.toml +4 -0
  358. package/templates/android/ReferenceTemplate/tests/01_launch_consent.yaml +56 -14
  359. package/templates/android/ReferenceTemplate/tests/02_biometric_auth.yaml +58 -11
  360. package/templates/android/ReferenceTemplate/tests/03_home_navigation.yaml +60 -32
  361. package/templates/android/ReferenceTemplate/tests/05_push_notifications.yaml +30 -32
  362. package/templates/android/ReferenceTemplate/tests/06_feedback_support.yaml +24 -50
  363. package/templates/android/ReferenceTemplate/tests/07_settings.yaml +89 -37
  364. package/templates/android/ReferenceTemplate/tests/08_full_e2e.yaml +132 -56
  365. package/templates/android/ShopTemplate/TESTING_MANIFEST.md +2 -0
  366. package/templates/android/ShopTemplate/app/build.gradle.kts +5 -0
  367. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/ShopApplication.kt +6 -0
  368. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/core/components/EmptyStateView.kt +137 -0
  369. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/DataSourceResolver.kt +1 -2
  370. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/AppDao.kt +119 -0
  371. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/AppDatabase.kt +40 -0
  372. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/BannerEntity.kt +45 -0
  373. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/CategoryEntity.kt +39 -0
  374. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/LocalStorageProvider.kt +333 -0
  375. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/OrderEntity.kt +108 -0
  376. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/ProductEntity.kt +89 -0
  377. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/data/local/ReviewEntity.kt +73 -0
  378. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/cart/CartScreen.kt +6 -15
  379. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/home/HomeViewModel.kt +7 -5
  380. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/products/ProductListScreen.kt +2 -3
  381. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/products/ProductViewModels.kt +8 -5
  382. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/features/wishlist/WishlistScreen.kt +5 -13
  383. package/templates/android/ShopTemplate/app/src/main/kotlin/com/appship/shop/mock/MockDataProvider.kt +5 -4
  384. package/templates/android/ShopTemplate/app/src/test/kotlin/com/appship/shop/DataRepositoryTest.kt +41 -0
  385. package/templates/android/ShopTemplate/gradle/libs.versions.toml +4 -0
  386. package/templates/android/ShopTemplate/tests/01_launch_home.yaml +25 -5
  387. package/templates/android/ShopTemplate/tests/02_tab_navigation.yaml +35 -9
  388. package/templates/android/ShopTemplate/tests/03_product_detail.yaml +43 -0
  389. package/templates/android/ShopTemplate/tests/04_cart_checkout.yaml +49 -0
  390. package/templates/android/ShopTemplate/tests/05_search_filter.yaml +37 -4
  391. package/templates/android/ShopTemplate/tests/06_wishlist.yaml +32 -3
  392. package/templates/android/ShopTemplate/tests/07_profile_settings.yaml +39 -3
  393. package/templates/android/ShopTemplate/tests/08_full_e2e.yaml +49 -11
  394. package/templates/android/Skeleton/TESTING_MANIFEST.md +2 -1
  395. package/templates/android/Skeleton/app/build.gradle.kts +3 -0
  396. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/SkeletonApplication.kt +10 -1
  397. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/core/components/EmptyStateView.kt +137 -0
  398. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/DataSourceResolver.kt +2 -4
  399. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/AppDao.kt +62 -0
  400. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/AppDatabase.kt +34 -0
  401. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/CategoryEntity.kt +32 -0
  402. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/ItemEntity.kt +59 -0
  403. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/data/local/LocalStorageProvider.kt +153 -0
  404. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/explore/ExploreScreen.kt +23 -12
  405. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/favorites/FavoritesScreen.kt +9 -23
  406. package/templates/android/Skeleton/app/src/main/kotlin/com/appship/skeleton/features/home/HomeScreen.kt +44 -30
  407. package/templates/android/Skeleton/app/src/test/kotlin/com/appship/skeleton/DataRepositoryTest.kt +100 -0
  408. package/templates/android/Skeleton/gradle/libs.versions.toml +4 -0
  409. package/templates/android/Skeleton/tests/01_app_launch.yaml +1 -2
  410. package/templates/android/Skeleton/tests/02_tab_navigation.yaml +6 -11
  411. package/templates/android/Skeleton/tests/03_detail_screen.yaml +20 -0
  412. package/templates/android/Skeleton/tests/04_favorites.yaml +17 -0
  413. package/templates/android/Skeleton/tests/05_explore_search.yaml +12 -0
  414. package/templates/android/Skeleton/tests/06_create_item.yaml +19 -0
  415. package/templates/android/Skeleton/tests/07_profile.yaml +17 -0
  416. package/templates/android/Skeleton/tests/08_full_e2e.yaml +36 -0
  417. package/templates/android/SocialTemplate/TESTING_MANIFEST.md +6 -0
  418. package/templates/android/SocialTemplate/app/build.gradle.kts +3 -0
  419. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/SocialApplication.kt +2 -0
  420. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/core/components/EmptyStateView.kt +137 -0
  421. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/DataRepository.kt +0 -1
  422. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/DataSourceResolver.kt +1 -2
  423. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/AppDao.kt +139 -0
  424. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/AppDatabase.kt +42 -0
  425. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/CommentEntity.kt +60 -0
  426. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/ConversationEntity.kt +60 -0
  427. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/LocalStorageProvider.kt +295 -0
  428. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/MessageEntity.kt +63 -0
  429. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/NotificationEntity.kt +64 -0
  430. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/PostEntity.kt +89 -0
  431. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/StoryEntity.kt +50 -0
  432. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/data/local/UserEntity.kt +64 -0
  433. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/createpost/CreatePostScreen.kt +4 -3
  434. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/feed/CommentsScreen.kt +4 -3
  435. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/feed/FeedScreen.kt +4 -3
  436. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/messages/MessagesScreen.kt +28 -17
  437. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/notifications/NotificationsScreen.kt +20 -9
  438. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/profile/ProfileScreen.kt +5 -4
  439. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/features/search/SearchScreen.kt +23 -14
  440. package/templates/android/SocialTemplate/app/src/main/kotlin/com/appship/social/mock/MockDataProvider.kt +18 -18
  441. package/templates/android/SocialTemplate/app/src/test/kotlin/com/appship/social/DataRepositoryTest.kt +41 -0
  442. package/templates/android/SocialTemplate/gradle/libs.versions.toml +4 -0
  443. package/templates/android/SocialTemplate/tests/01_launch_feed.yaml +16 -7
  444. package/templates/android/SocialTemplate/tests/02_tab_navigation.yaml +38 -6
  445. package/templates/android/SocialTemplate/tests/03_post_interaction.yaml +35 -6
  446. package/templates/android/SocialTemplate/tests/04_create_post.yaml +31 -2
  447. package/templates/android/SocialTemplate/tests/05_search_follow.yaml +32 -5
  448. package/templates/android/SocialTemplate/tests/06_profile_settings.yaml +50 -0
  449. package/templates/android/SocialTemplate/tests/07_messages.yaml +36 -2
  450. package/templates/android/SocialTemplate/tests/08_full_e2e.yaml +47 -7
  451. package/templates/android/TaskTemplate/TESTING_MANIFEST.md +5 -0
  452. package/templates/android/TaskTemplate/app/build.gradle.kts +9 -0
  453. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/AppConfig.kt +9 -0
  454. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/TaskApplication.kt +2 -0
  455. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/core/components/EmptyStateView.kt +137 -0
  456. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/DataRepository.kt +41 -0
  457. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/DataSourceResolver.kt +22 -0
  458. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/AppDao.kt +105 -0
  459. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/AppDatabase.kt +39 -0
  460. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/KanbanColumnEntity.kt +41 -0
  461. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/LocalStorageProvider.kt +204 -0
  462. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/ProjectEntity.kt +50 -0
  463. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/TagEntity.kt +29 -0
  464. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/data/local/TaskEntity.kt +79 -0
  465. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/calendar/CalendarScreen.kt +0 -1
  466. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/inbox/InboxScreen.kt +15 -24
  467. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/kanban/KanbanBoardScreen.kt +6 -3
  468. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/projects/ProjectDetailScreen.kt +36 -18
  469. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/projects/ProjectListScreen.kt +17 -26
  470. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/search/SearchScreen.kt +7 -4
  471. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/features/tasks/TaskDetailScreen.kt +0 -1
  472. package/templates/android/TaskTemplate/app/src/main/kotlin/com/appship/task/mock/MockDataProvider.kt +21 -16
  473. package/templates/android/TaskTemplate/app/src/test/kotlin/com/appship/task/DataRepositoryTest.kt +41 -0
  474. package/templates/android/TaskTemplate/gradle/libs.versions.toml +6 -0
  475. package/templates/android/TaskTemplate/tests/07_search_filter.yaml +70 -6
  476. package/templates/android/TrackTemplate/TESTING_MANIFEST.md +4 -0
  477. package/templates/android/TrackTemplate/app/build.gradle.kts +6 -1
  478. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/AppConfig.kt +9 -0
  479. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/TrackApplication.kt +2 -0
  480. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/core/components/EmptyStateView.kt +89 -0
  481. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/DataRepository.kt +34 -0
  482. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/DataSourceResolver.kt +22 -0
  483. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AchievementEntity.kt +53 -0
  484. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AppDao.kt +93 -0
  485. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/AppDatabase.kt +39 -0
  486. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/HabitEntity.kt +75 -0
  487. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/HabitEntryEntity.kt +50 -0
  488. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/LocalStorageProvider.kt +182 -0
  489. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/data/local/StreakEntity.kt +43 -0
  490. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/achievements/AchievementsViewModel.kt +4 -2
  491. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/dashboard/TodayScreen.kt +10 -39
  492. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/dashboard/TodayViewModel.kt +4 -2
  493. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/habits/HabitDetailViewModel.kt +4 -2
  494. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/habits/HabitsListScreen.kt +8 -35
  495. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/features/habits/HabitsListViewModel.kt +4 -2
  496. package/templates/android/TrackTemplate/app/src/main/kotlin/com/appship/track/mock/MockDataProvider.kt +14 -12
  497. package/templates/android/TrackTemplate/app/src/test/kotlin/com/appship/track/DataRepositoryTest.kt +41 -0
  498. package/templates/android/TrackTemplate/gradle/libs.versions.toml +6 -0
  499. package/templates/android/TrackTemplate/tests/01_launch_today.yaml +44 -5
  500. package/templates/android/TrackTemplate/tests/02_tab_navigation.yaml +79 -16
  501. package/templates/android/TrackTemplate/tests/03_habit_toggle.yaml +65 -4
  502. package/templates/android/TrackTemplate/tests/04_add_habit.yaml +98 -3
  503. package/templates/android/TrackTemplate/tests/06_dashboard.yaml +54 -4
  504. package/templates/android/TrackTemplate/tests/07_settings.yaml +81 -4
  505. package/templates/android/TrackTemplate/tests/08_full_e2e.yaml +116 -18
  506. package/templates/ios/BookTemplate/BookTemplate/Core/EmptyStateView.swift +130 -0
  507. package/templates/ios/BookTemplate/BookTemplate/Core/Strings.swift +27 -0
  508. package/templates/ios/BookTemplate/BookTemplate/Data/DataSourceResolver.swift +1 -2
  509. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/BookingEntity.swift +53 -0
  510. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/BusinessHoursEntity.swift +33 -0
  511. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/CoreDataStack.swift +345 -0
  512. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/LocalStorageProvider.swift +222 -0
  513. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ProviderEntity.swift +88 -0
  514. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ReviewEntity.swift +66 -0
  515. package/templates/ios/BookTemplate/BookTemplate/Data/LocalStorage/ServiceEntity.swift +37 -0
  516. package/templates/ios/BookTemplate/BookTemplate/Features/Calendar/BookingsView.swift +16 -21
  517. package/templates/ios/BookTemplate/BookTemplate/Features/Discovery/SearchView.swift +1 -21
  518. package/templates/ios/BookTemplate/BookTemplate/Features/Profile/FavoritesView.swift +6 -27
  519. package/templates/ios/BookTemplate/BookTemplate/MockData/MockDataProvider.swift +8 -0
  520. package/templates/ios/BookTemplate/BookTemplate.xcodeproj/project.pbxproj +56 -0
  521. package/templates/ios/BookTemplate/BookTemplateTests/DataRepositoryTests.swift +26 -0
  522. package/templates/ios/BookTemplate/TESTING_MANIFEST.md +4 -0
  523. package/templates/ios/BookTemplate/tests/01_launch_discover.yaml +14 -5
  524. package/templates/ios/BookTemplate/tests/02_tab_navigation.yaml +23 -2
  525. package/templates/ios/BookTemplate/tests/03_provider_detail.yaml +37 -5
  526. package/templates/ios/BookTemplate/tests/04_booking_detail.yaml +48 -0
  527. package/templates/ios/BookTemplate/tests/05_booking_create_flow.yaml +42 -0
  528. package/templates/ios/BookTemplate/tests/06_search_filter.yaml +48 -0
  529. package/templates/ios/BookTemplate/tests/07_profile_settings.yaml +37 -0
  530. package/templates/ios/BookTemplate/tests/08_full_e2e.yaml +59 -12
  531. package/templates/ios/ChatTemplate/ChatTemplate/App/AppConfig.swift +9 -0
  532. package/templates/ios/ChatTemplate/ChatTemplate/Core/EmptyStateView.swift +130 -0
  533. package/templates/ios/ChatTemplate/ChatTemplate/Core/Strings.swift +27 -0
  534. package/templates/ios/ChatTemplate/ChatTemplate/Data/DataRepository.swift +43 -0
  535. package/templates/ios/ChatTemplate/ChatTemplate/Data/DataSourceResolver.swift +19 -0
  536. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/CallEntity.swift +64 -0
  537. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/ContactEntity.swift +35 -0
  538. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/ConversationEntity.swift +82 -0
  539. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/CoreDataStack.swift +351 -0
  540. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/LocalStorageProvider.swift +257 -0
  541. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/MessageEntity.swift +77 -0
  542. package/templates/ios/ChatTemplate/ChatTemplate/Data/LocalStorage/UserEntity.swift +47 -0
  543. package/templates/ios/ChatTemplate/ChatTemplate/Features/Calls/CallsView.swift +16 -7
  544. package/templates/ios/ChatTemplate/ChatTemplate/Features/Contacts/ContactsView.swift +16 -7
  545. package/templates/ios/ChatTemplate/ChatTemplate/Features/Conversations/ConversationsView.swift +31 -22
  546. package/templates/ios/ChatTemplate/ChatTemplate/MockData/MockDataProvider.swift +1 -1
  547. package/templates/ios/ChatTemplate/ChatTemplate.xcodeproj/project.pbxproj +71 -0
  548. package/templates/ios/ChatTemplate/ChatTemplateTests/DataRepositoryTests.swift +26 -0
  549. package/templates/ios/ChatTemplate/TESTING_MANIFEST.md +3 -0
  550. package/templates/ios/ChatTemplate/tests/01_launch_chats.yaml +26 -7
  551. package/templates/ios/ChatTemplate/tests/02_tab_navigation.yaml +61 -12
  552. package/templates/ios/ChatTemplate/tests/03_conversation_chat.yaml +38 -6
  553. package/templates/ios/ChatTemplate/tests/04_new_chat.yaml +57 -4
  554. package/templates/ios/ChatTemplate/tests/05_calls.yaml +39 -4
  555. package/templates/ios/DashTemplate/DashTemplate/App/AppConfig.swift +9 -0
  556. package/templates/ios/DashTemplate/DashTemplate/Core/EmptyStateView.swift +130 -0
  557. package/templates/ios/DashTemplate/DashTemplate/Core/Strings.swift +27 -0
  558. package/templates/ios/DashTemplate/DashTemplate/Data/DataRepository.swift +53 -0
  559. package/templates/ios/DashTemplate/DashTemplate/Data/DataSourceResolver.swift +19 -0
  560. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/AlertEntity.swift +35 -0
  561. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/CoreDataStack.swift +260 -0
  562. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/DataPointEntity.swift +28 -0
  563. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/DataSourceEntity.swift +32 -0
  564. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/LocalStorageProvider.swift +312 -0
  565. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/MetricEntity.swift +56 -0
  566. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/ReportEntity.swift +51 -0
  567. package/templates/ios/DashTemplate/DashTemplate/Data/LocalStorage/WidgetEntity.swift +98 -0
  568. package/templates/ios/DashTemplate/DashTemplate/Features/Alerts/AlertsView.swift +31 -15
  569. package/templates/ios/DashTemplate/DashTemplate/Features/Dashboard/DashboardView.swift +32 -21
  570. package/templates/ios/DashTemplate/DashTemplate/Features/DataSources/DataSourcesView.swift +24 -13
  571. package/templates/ios/DashTemplate/DashTemplate/Features/Reports/ReportsView.swift +23 -11
  572. package/templates/ios/DashTemplate/DashTemplate/MockData/MockDataProvider.swift +1 -1
  573. package/templates/ios/DashTemplate/DashTemplate.xcodeproj/project.pbxproj +68 -0
  574. package/templates/ios/DashTemplate/DashTemplateTests/DataRepositoryTests.swift +27 -0
  575. package/templates/ios/DashTemplate/TESTING_MANIFEST.md +6 -0
  576. package/templates/ios/DashTemplate/tests/01_launch_dashboard.yaml +16 -3
  577. package/templates/ios/DashTemplate/tests/02_tab_navigation.yaml +35 -13
  578. package/templates/ios/FamilyTemplate/FamilyTemplate/App/AppConfig.swift +9 -0
  579. package/templates/ios/FamilyTemplate/FamilyTemplate/App/FamilyTemplateApp.swift +4 -2
  580. package/templates/ios/FamilyTemplate/FamilyTemplate/Core/EmptyStateView.swift +130 -0
  581. package/templates/ios/FamilyTemplate/FamilyTemplate/Core/Strings.swift +27 -0
  582. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/DataRepository.swift +63 -0
  583. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/DataSourceResolver.swift +14 -0
  584. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/CalendarEventEntity.swift +59 -0
  585. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/ChoreEntity.swift +53 -0
  586. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/CoreDataStack.swift +385 -0
  587. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/FamilyMemberEntity.swift +56 -0
  588. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/LocalStorageProvider.swift +388 -0
  589. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/LocationUpdateEntity.swift +35 -0
  590. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/MilestoneEntity.swift +41 -0
  591. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/PhotoEntity.swift +56 -0
  592. package/templates/ios/FamilyTemplate/FamilyTemplate/Data/LocalStorage/RewardEntity.swift +44 -0
  593. package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Calendar/CalendarView.swift +4 -5
  594. package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Chores/ChoreBoardView.swift +4 -29
  595. package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Gallery/GalleryView.swift +16 -7
  596. package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Members/MembersListView.swift +14 -5
  597. package/templates/ios/FamilyTemplate/FamilyTemplate/Features/Rewards/RewardsView.swift +4 -5
  598. package/templates/ios/FamilyTemplate/FamilyTemplate/MockData/MockDataProvider.swift +1 -1
  599. package/templates/ios/FamilyTemplate/FamilyTemplate.xcodeproj/project.pbxproj +72 -0
  600. package/templates/ios/FamilyTemplate/FamilyTemplateTests/DataRepositoryTests.swift +26 -0
  601. package/templates/ios/FamilyTemplate/TESTING_MANIFEST.md +7 -0
  602. package/templates/ios/FamilyTemplate/tests/01_launch_hub.yaml +34 -14
  603. package/templates/ios/FamilyTemplate/tests/02_tab_navigation.yaml +62 -19
  604. package/templates/ios/FamilyTemplate/tests/03_chore_complete.yaml +38 -19
  605. package/templates/ios/FamilyTemplate/tests/04_add_chore.yaml +50 -14
  606. package/templates/ios/FamilyTemplate/tests/05_rewards.yaml +49 -17
  607. package/templates/ios/FamilyTemplate/tests/06_calendar.yaml +56 -14
  608. package/templates/ios/FamilyTemplate/tests/07_gallery.yaml +55 -20
  609. package/templates/ios/FamilyTemplate/tests/08_full_e2e.yaml +131 -35
  610. package/templates/ios/FinanceTemplate/Features/Accounts/AccountsView.swift +4 -4
  611. package/templates/ios/FinanceTemplate/FinanceTemplate/App/AppConfig.swift +9 -0
  612. package/templates/ios/FinanceTemplate/FinanceTemplate/Core/EmptyStateView.swift +130 -0
  613. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/DataRepository.swift +56 -0
  614. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/DataSourceResolver.swift +19 -0
  615. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/AccountEntity.swift +51 -0
  616. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/BillEntity.swift +57 -0
  617. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/BudgetEntity.swift +48 -0
  618. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/CategoryEntity.swift +30 -0
  619. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/CoreDataStack.swift +468 -0
  620. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/GoalEntity.swift +54 -0
  621. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/InsightEntity.swift +41 -0
  622. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/LocalStorageProvider.swift +420 -0
  623. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/LocalStorage/TransactionEntity.swift +60 -0
  624. package/templates/ios/FinanceTemplate/FinanceTemplate/Data/SyncManager.swift +3 -3
  625. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Budgets/BudgetsView.swift +13 -4
  626. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Goals/GoalsView.swift +14 -5
  627. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Home/HomeView.swift +13 -6
  628. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Settings/SettingsView.swift +6 -2
  629. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Transactions/AddTransactionView.swift +4 -2
  630. package/templates/ios/FinanceTemplate/FinanceTemplate/Features/Transactions/TransactionsView.swift +3 -1
  631. package/templates/ios/FinanceTemplate/FinanceTemplate/MockData/MockDataProvider.swift +7 -7
  632. package/templates/ios/FinanceTemplate/FinanceTemplate/Models/Models.swift +41 -0
  633. package/templates/ios/FinanceTemplate/FinanceTemplate.xcodeproj/project.pbxproj +75 -0
  634. package/templates/ios/FinanceTemplate/FinanceTemplateTests/DataRepositoryTests.swift +26 -0
  635. package/templates/ios/FinanceTemplate/FinanceTemplateTests/MockDataProviderTests.swift +6 -6
  636. package/templates/ios/FinanceTemplate/TESTING_MANIFEST.md +6 -0
  637. package/templates/ios/FinanceTemplate/tests/01_launch_home.yaml +16 -6
  638. package/templates/ios/FinanceTemplate/tests/02_tab_navigation.yaml +41 -5
  639. package/templates/ios/FinanceTemplate/tests/03_transaction_detail.yaml +39 -0
  640. package/templates/ios/FinanceTemplate/tests/05_add_transaction.yaml +55 -0
  641. package/templates/ios/GameTemplate/GameTemplate/App/AppConfig.swift +9 -0
  642. package/templates/ios/GameTemplate/GameTemplate/Core/Components/EmptyStateView.swift +59 -0
  643. package/templates/ios/GameTemplate/GameTemplate/Core/Strings.swift +16 -0
  644. package/templates/ios/GameTemplate/GameTemplate/Data/DataRepository.swift +30 -0
  645. package/templates/ios/GameTemplate/GameTemplate/Data/DataSourceResolver.swift +20 -0
  646. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/AchievementEntity.swift +36 -0
  647. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/CoreDataStack.swift +316 -0
  648. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/DailyChallengeEntity.swift +60 -0
  649. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/GameSessionEntity.swift +36 -0
  650. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/LeaderboardEntryEntity.swift +124 -0
  651. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/LevelEntity.swift +39 -0
  652. package/templates/ios/GameTemplate/GameTemplate/Data/LocalStorage/ShopItemEntity.swift +39 -0
  653. package/templates/ios/GameTemplate/GameTemplate/Features/Achievements/AchievementsView.swift +10 -4
  654. package/templates/ios/GameTemplate/GameTemplate/Features/DailyChallenge/DailyChallengeView.swift +1 -1
  655. package/templates/ios/GameTemplate/GameTemplate/Features/Home/HomeMenuView.swift +16 -11
  656. package/templates/ios/GameTemplate/GameTemplate/Features/Leaderboard/LeaderboardView.swift +11 -7
  657. package/templates/ios/GameTemplate/GameTemplate/Features/Profile/ProfileView.swift +2 -2
  658. package/templates/ios/GameTemplate/GameTemplate/Features/Results/ResultsView.swift +2 -2
  659. package/templates/ios/GameTemplate/GameTemplate/Features/Shop/ShopView.swift +11 -7
  660. package/templates/ios/GameTemplate/GameTemplate/MockData/MockDataProvider.swift +1 -1
  661. package/templates/ios/GameTemplate/GameTemplate.xcodeproj/project.pbxproj +56 -0
  662. package/templates/ios/GameTemplate/GameTemplateTests/DataRepositoryTests.swift +26 -0
  663. package/templates/ios/GameTemplate/TESTING_MANIFEST.md +2 -0
  664. package/templates/ios/GameTemplate/tests/01_launch_home.yaml +13 -2
  665. package/templates/ios/GameTemplate/tests/02_tab_navigation.yaml +31 -1
  666. package/templates/ios/GameTemplate/tests/03_game_play.yaml +48 -8
  667. package/templates/ios/GameTemplate/tests/04_leaderboard.yaml +36 -4
  668. package/templates/ios/GameTemplate/tests/05_shop.yaml +33 -4
  669. package/templates/ios/GameTemplate/tests/06_achievements.yaml +35 -2
  670. package/templates/ios/GameTemplate/tests/07_profile_settings.yaml +38 -2
  671. package/templates/ios/GameTemplate/tests/08_full_e2e.yaml +98 -26
  672. package/templates/ios/HealthTemplate/HealthTemplate/App/AppConfig.swift +9 -0
  673. package/templates/ios/HealthTemplate/HealthTemplate/Core/Components/EmptyStateView.swift +59 -0
  674. package/templates/ios/HealthTemplate/HealthTemplate/Core/Strings.swift +16 -0
  675. package/templates/ios/HealthTemplate/HealthTemplate/Data/DataRepository.swift +60 -0
  676. package/templates/ios/HealthTemplate/HealthTemplate/Data/DataSourceResolver.swift +19 -0
  677. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/BodyMeasurementEntity.swift +30 -0
  678. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/CoreDataStack.swift +377 -0
  679. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/DailyGoalEntity.swift +30 -0
  680. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/ExerciseEntity.swift +45 -0
  681. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/HealthMetricEntity.swift +30 -0
  682. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/LocalStorageProvider.swift +398 -0
  683. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/MealEntity.swift +59 -0
  684. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WaterEntryEntity.swift +27 -0
  685. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WorkoutEntity.swift +59 -0
  686. package/templates/ios/HealthTemplate/HealthTemplate/Data/LocalStorage/WorkoutSessionEntity.swift +52 -0
  687. package/templates/ios/HealthTemplate/HealthTemplate/Features/Dashboard/DashboardView.swift +7 -7
  688. package/templates/ios/HealthTemplate/HealthTemplate/Features/Navigation/MainTabView.swift +1 -0
  689. package/templates/ios/HealthTemplate/HealthTemplate/Features/Nutrition/MealLogView.swift +2 -1
  690. package/templates/ios/HealthTemplate/HealthTemplate/Features/Nutrition/NutritionLogView.swift +3 -4
  691. package/templates/ios/HealthTemplate/HealthTemplate/Features/Onboarding/OnboardingView.swift +1 -0
  692. package/templates/ios/HealthTemplate/HealthTemplate/Features/Profile/ProfileView.swift +9 -8
  693. package/templates/ios/HealthTemplate/HealthTemplate/Features/Progress/ProgressChartsView.swift +3 -2
  694. package/templates/ios/HealthTemplate/HealthTemplate/Features/Settings/SettingsView.swift +1 -0
  695. package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/ExerciseDetailView.swift +1 -0
  696. package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/WorkoutListView.swift +10 -6
  697. package/templates/ios/HealthTemplate/HealthTemplate/Features/Workouts/WorkoutPlayerView.swift +4 -3
  698. package/templates/ios/HealthTemplate/HealthTemplate/MockData/MockDataProvider.swift +1 -1
  699. package/templates/ios/HealthTemplate/HealthTemplate.xcodeproj/project.pbxproj +83 -0
  700. package/templates/ios/HealthTemplate/HealthTemplateTests/DataRepositoryTests.swift +26 -0
  701. package/templates/ios/HealthTemplate/tests/01_launch_dashboard.yaml +24 -11
  702. package/templates/ios/HealthTemplate/tests/02_tab_navigation.yaml +17 -6
  703. package/templates/ios/HealthTemplate/tests/03_workout_browse.yaml +56 -0
  704. package/templates/ios/HealthTemplate/tests/04_workout_player.yaml +48 -8
  705. package/templates/ios/HealthTemplate/tests/05_meal_logging.yaml +44 -11
  706. package/templates/ios/HealthTemplate/tests/07_profile_settings.yaml +30 -9
  707. package/templates/ios/HealthTemplate/tests/08_full_e2e.yaml +84 -16
  708. package/templates/ios/LearnTemplate/LearnTemplate/App/AppConfig.swift +9 -0
  709. package/templates/ios/LearnTemplate/LearnTemplate/Core/Components/EmptyStateView.swift +59 -0
  710. package/templates/ios/LearnTemplate/LearnTemplate/Core/Strings.swift +16 -0
  711. package/templates/ios/LearnTemplate/LearnTemplate/Data/DataRepository.swift +52 -0
  712. package/templates/ios/LearnTemplate/LearnTemplate/Data/DataSourceResolver.swift +19 -0
  713. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/AchievementEntity.swift +33 -0
  714. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CategoryEntity.swift +27 -0
  715. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CoreDataStack.swift +270 -0
  716. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/CourseEntity.swift +108 -0
  717. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/FlashcardDeckEntity.swift +62 -0
  718. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/LeaderboardEntryEntity.swift +36 -0
  719. package/templates/ios/LearnTemplate/LearnTemplate/Data/LocalStorage/LocalStorageProvider.swift +325 -0
  720. package/templates/ios/LearnTemplate/LearnTemplate/Features/Courses/CourseDetailView.swift +12 -6
  721. package/templates/ios/LearnTemplate/LearnTemplate/Features/Courses/CourseListView.swift +12 -6
  722. package/templates/ios/LearnTemplate/LearnTemplate/Features/Flashcards/FlashcardView.swift +3 -1
  723. package/templates/ios/LearnTemplate/LearnTemplate/Features/Leaderboard/LeaderboardView.swift +3 -1
  724. package/templates/ios/LearnTemplate/LearnTemplate/Features/Lessons/LessonPlayerView.swift +5 -2
  725. package/templates/ios/LearnTemplate/LearnTemplate/Features/Onboarding/OnboardingView.swift +8 -3
  726. package/templates/ios/LearnTemplate/LearnTemplate/Features/Profile/ProfileView.swift +5 -2
  727. package/templates/ios/LearnTemplate/LearnTemplate/Features/Progress/ProgressDashboardView.swift +4 -2
  728. package/templates/ios/LearnTemplate/LearnTemplate/Features/Quiz/QuizView.swift +3 -1
  729. package/templates/ios/LearnTemplate/LearnTemplate/Features/Settings/SettingsView.swift +1 -0
  730. package/templates/ios/LearnTemplate/LearnTemplate/MockData/MockDataProvider.swift +2 -2
  731. package/templates/ios/LearnTemplate/LearnTemplate.xcodeproj/project.pbxproj +56 -0
  732. package/templates/ios/LearnTemplate/LearnTemplateTests/DataRepositoryTests.swift +26 -0
  733. package/templates/ios/LearnTemplate/tests/01_launch_home.yaml +16 -2
  734. package/templates/ios/LearnTemplate/tests/02_tab_navigation.yaml +33 -6
  735. package/templates/ios/LearnTemplate/tests/03_course_detail.yaml +29 -7
  736. package/templates/ios/LearnTemplate/tests/04_quiz_flow.yaml +32 -18
  737. package/templates/ios/LearnTemplate/tests/05_flashcard_flip.yaml +45 -8
  738. package/templates/ios/LearnTemplate/tests/06_progress_stats.yaml +28 -3
  739. package/templates/ios/MapTemplate/MapTemplate/App/AppConfig.swift +9 -0
  740. package/templates/ios/MapTemplate/MapTemplate/Core/Components/EmptyStateView.swift +59 -0
  741. package/templates/ios/MapTemplate/MapTemplate/Core/Strings.swift +16 -0
  742. package/templates/ios/MapTemplate/MapTemplate/Data/DataRepository.swift +36 -0
  743. package/templates/ios/MapTemplate/MapTemplate/Data/DataSourceResolver.swift +1 -2
  744. package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/CoreDataStack.swift +203 -0
  745. package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/LocalStorageProvider.swift +237 -0
  746. package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/PlaceEntity.swift +111 -0
  747. package/templates/ios/MapTemplate/MapTemplate/Data/LocalStorage/ReviewEntity.swift +40 -0
  748. package/templates/ios/MapTemplate/MapTemplate/Features/Favorites/FavoritesView.swift +3 -14
  749. package/templates/ios/MapTemplate/MapTemplate/Features/Filters/FiltersView.swift +1 -0
  750. package/templates/ios/MapTemplate/MapTemplate/Features/Map/MapView.swift +1 -0
  751. package/templates/ios/MapTemplate/MapTemplate/Features/Onboarding/OnboardingView.swift +1 -0
  752. package/templates/ios/MapTemplate/MapTemplate/Features/PlaceDetail/PlaceDetailView.swift +8 -3
  753. package/templates/ios/MapTemplate/MapTemplate/Features/PlaceList/PlaceListView.swift +3 -9
  754. package/templates/ios/MapTemplate/MapTemplate/Features/Profile/ProfileView.swift +1 -0
  755. package/templates/ios/MapTemplate/MapTemplate/Features/Route/RouteView.swift +1 -0
  756. package/templates/ios/MapTemplate/MapTemplate/Features/Search/SearchView.swift +3 -10
  757. package/templates/ios/MapTemplate/MapTemplate/Features/Settings/SettingsView.swift +1 -0
  758. package/templates/ios/MapTemplate/MapTemplate/MockData/MockDataProvider.swift +1 -1
  759. package/templates/ios/MapTemplate/MapTemplate.xcodeproj/project.pbxproj +44 -0
  760. package/templates/ios/MapTemplate/MapTemplateTests/DataRepositoryTests.swift +25 -0
  761. package/templates/ios/MapTemplate/TESTING_MANIFEST.md +9 -0
  762. package/templates/ios/MapTemplate/tests/01_launch_map.yaml +22 -7
  763. package/templates/ios/MapTemplate/tests/02_tab_navigation.yaml +24 -15
  764. package/templates/ios/MapTemplate/tests/03_map_interaction.yaml +32 -10
  765. package/templates/ios/MapTemplate/tests/04_place_detail.yaml +30 -12
  766. package/templates/ios/MapTemplate/tests/06_profile_settings.yaml +17 -19
  767. package/templates/ios/MapTemplate/tests/07_favorites.yaml +31 -11
  768. package/templates/ios/MapTemplate/tests/08_full_e2e.yaml +45 -20
  769. package/templates/ios/MediaTemplate/MediaTemplate/App/AppConfig.swift +9 -0
  770. package/templates/ios/MediaTemplate/MediaTemplate/Core/Components/CommonComponents.swift +2 -1
  771. package/templates/ios/MediaTemplate/MediaTemplate/Core/Components/EmptyStateView.swift +59 -0
  772. package/templates/ios/MediaTemplate/MediaTemplate/Core/Strings.swift +16 -0
  773. package/templates/ios/MediaTemplate/MediaTemplate/Data/DataRepository.swift +52 -0
  774. package/templates/ios/MediaTemplate/MediaTemplate/Data/DataSourceResolver.swift +19 -0
  775. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/CoreDataStack.swift +333 -0
  776. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/EpisodeEntity.swift +79 -0
  777. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/LocalStorageProvider.swift +393 -0
  778. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/MediaCategoryEntity.swift +36 -0
  779. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/MediaItemEntity.swift +82 -0
  780. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/PlaybackHistoryEntity.swift +51 -0
  781. package/templates/ios/MediaTemplate/MediaTemplate/Data/LocalStorage/PlaylistEntity.swift +66 -0
  782. package/templates/ios/MediaTemplate/MediaTemplate/Features/Browse/BrowseView.swift +10 -3
  783. package/templates/ios/MediaTemplate/MediaTemplate/Features/Detail/DetailView.swift +14 -7
  784. package/templates/ios/MediaTemplate/MediaTemplate/Features/Home/HomeView.swift +14 -9
  785. package/templates/ios/MediaTemplate/MediaTemplate/Features/Library/LibraryView.swift +10 -5
  786. package/templates/ios/MediaTemplate/MediaTemplate/Features/Onboarding/OnboardingView.swift +1 -0
  787. package/templates/ios/MediaTemplate/MediaTemplate/Features/Player/PlayerFullView.swift +3 -1
  788. package/templates/ios/MediaTemplate/MediaTemplate/Features/Settings/SettingsView.swift +1 -0
  789. package/templates/ios/MediaTemplate/MediaTemplate/MockData/MockDataProvider.swift +1 -1
  790. package/templates/ios/MediaTemplate/MediaTemplate.xcodeproj/project.pbxproj +56 -0
  791. package/templates/ios/MediaTemplate/MediaTemplateTests/DataRepositoryTests.swift +26 -0
  792. package/templates/ios/MediaTemplate/TESTING_MANIFEST.md +5 -0
  793. package/templates/ios/MediaTemplate/tests/01_launch_home.yaml +22 -6
  794. package/templates/ios/MediaTemplate/tests/02_tab_navigation.yaml +30 -10
  795. package/templates/ios/MediaTemplate/tests/03_media_detail_playback.yaml +45 -0
  796. package/templates/ios/MediaTemplate/tests/04_player_controls.yaml +39 -5
  797. package/templates/ios/MediaTemplate/tests/05_search.yaml +33 -6
  798. package/templates/ios/ReferenceTemplate/ReferenceTemplate/App/AppConfig.swift +9 -0
  799. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Core/EmptyStateView.swift +130 -0
  800. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Core/Strings.swift +2 -1
  801. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/DataRepository.swift +28 -0
  802. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/DataSourceResolver.swift +24 -0
  803. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/CoreDataStack.swift +148 -0
  804. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/LocalStorageProvider.swift +206 -0
  805. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/NoteEntity.swift +62 -0
  806. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Data/LocalStorage/TaskEntity.swift +56 -0
  807. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/EmptyStates/EmptyStateService.swift +16 -4
  808. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/EmptyStates/EmptyStatesStrings.swift +1 -0
  809. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Home/HomeView.swift +1 -1
  810. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Notes/NotesView.swift +3 -3
  811. package/templates/ios/ReferenceTemplate/ReferenceTemplate/Features/Tasks/TaskListView.swift +3 -3
  812. package/templates/ios/ReferenceTemplate/ReferenceTemplate/MockData/MockDataProvider.swift +1 -1
  813. package/templates/ios/ReferenceTemplate/ReferenceTemplate.xcodeproj/project.pbxproj +48 -4
  814. package/templates/ios/ReferenceTemplate/ReferenceTemplateTests/DataRepositoryTests.swift +26 -0
  815. package/templates/ios/ReferenceTemplate/TESTING_MANIFEST.md +2 -0
  816. package/templates/ios/ReferenceTemplate/tests/01_launch_consent.yaml +62 -6
  817. package/templates/ios/ReferenceTemplate/tests/07_paywall.yaml +58 -6
  818. package/templates/ios/ReferenceTemplate/tests/08_push_notifications.yaml +37 -6
  819. package/templates/ios/ReferenceTemplate/tests/15_full_e2e.yaml +175 -12
  820. package/templates/ios/ShopTemplate/ShopTemplate/Core/Components/CommonComponents.swift +5 -48
  821. package/templates/ios/{ReferenceTemplate/ReferenceTemplate/Features/EmptyStates → ShopTemplate/ShopTemplate/Core}/EmptyStateView.swift +39 -40
  822. package/templates/ios/ShopTemplate/ShopTemplate/Core/Strings.swift +21 -0
  823. package/templates/ios/ShopTemplate/ShopTemplate/Data/DataRepository.swift +48 -0
  824. package/templates/ios/ShopTemplate/ShopTemplate/Data/DataSourceResolver.swift +1 -2
  825. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/BannerEntity.swift +41 -0
  826. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/CategoryEntity.swift +39 -0
  827. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/CoreDataStack.swift +365 -0
  828. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/LocalStorageProvider.swift +304 -0
  829. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/OrderEntity.swift +124 -0
  830. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/ProductEntity.swift +104 -0
  831. package/templates/ios/ShopTemplate/ShopTemplate/Data/LocalStorage/ReviewEntity.swift +65 -0
  832. package/templates/ios/ShopTemplate/ShopTemplate/Features/Cart/CartView.swift +9 -10
  833. package/templates/ios/ShopTemplate/ShopTemplate/Features/Orders/OrdersView.swift +6 -8
  834. package/templates/ios/ShopTemplate/ShopTemplate/Features/Products/ProductListView.swift +18 -12
  835. package/templates/ios/ShopTemplate/ShopTemplate/Features/Wishlist/WishlistView.swift +6 -10
  836. package/templates/ios/ShopTemplate/ShopTemplate.xcodeproj/project.pbxproj +71 -0
  837. package/templates/ios/ShopTemplate/ShopTemplateTests/DataRepositoryTests.swift +26 -0
  838. package/templates/ios/ShopTemplate/TESTING_MANIFEST.md +2 -0
  839. package/templates/ios/ShopTemplate/tests/01_launch_home.yaml +25 -6
  840. package/templates/ios/ShopTemplate/tests/02_tab_navigation.yaml +35 -9
  841. package/templates/ios/ShopTemplate/tests/03_product_detail.yaml +43 -0
  842. package/templates/ios/ShopTemplate/tests/04_cart_checkout.yaml +49 -0
  843. package/templates/ios/ShopTemplate/tests/05_search_filter.yaml +37 -4
  844. package/templates/ios/ShopTemplate/tests/06_wishlist.yaml +32 -3
  845. package/templates/ios/Skeleton/Skeleton/Core/EmptyStateView.swift +130 -0
  846. package/templates/ios/Skeleton/Skeleton/Core/Strings.swift +29 -0
  847. package/templates/ios/Skeleton/Skeleton/Data/DataSourceResolver.swift +1 -2
  848. package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/CategoryEntity.swift +29 -0
  849. package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/CoreDataStack.swift +128 -0
  850. package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/ItemEntity.swift +62 -0
  851. package/templates/ios/Skeleton/Skeleton/Data/LocalStorage/LocalStorageProvider.swift +144 -0
  852. package/templates/ios/Skeleton/Skeleton/Features/Create/CreateView.swift +2 -2
  853. package/templates/ios/Skeleton/Skeleton/Features/Detail/DetailView.swift +2 -2
  854. package/templates/ios/Skeleton/Skeleton/Features/Explore/ExploreView.swift +2 -6
  855. package/templates/ios/Skeleton/Skeleton/Features/Favorites/FavoritesView.swift +6 -10
  856. package/templates/ios/Skeleton/Skeleton/Features/Favorites/FavoritesViewModel.swift +41 -0
  857. package/templates/ios/Skeleton/Skeleton/Features/Home/HomeView.swift +37 -25
  858. package/templates/ios/Skeleton/Skeleton.xcodeproj/project.pbxproj +56 -0
  859. package/templates/ios/Skeleton/SkeletonTests/DataRepositoryTests.swift +95 -0
  860. package/templates/ios/Skeleton/SkeletonTests/MockDataProviderTests.swift +1 -0
  861. package/templates/ios/Skeleton/TESTING_MANIFEST.md +4 -2
  862. package/templates/ios/Skeleton/tests/01_app_launch.yaml +1 -2
  863. package/templates/ios/Skeleton/tests/02_tab_navigation.yaml +6 -11
  864. package/templates/ios/Skeleton/tests/03_detail_screen.yaml +20 -0
  865. package/templates/ios/Skeleton/tests/04_favorites.yaml +17 -0
  866. package/templates/ios/Skeleton/tests/05_explore_search.yaml +12 -0
  867. package/templates/ios/Skeleton/tests/06_create_item.yaml +19 -0
  868. package/templates/ios/Skeleton/tests/07_profile.yaml +17 -0
  869. package/templates/ios/Skeleton/tests/08_full_e2e.yaml +36 -0
  870. package/templates/ios/SocialTemplate/SocialTemplate/App/AppConfig.swift +9 -0
  871. package/templates/ios/SocialTemplate/SocialTemplate/Core/EmptyStateView.swift +145 -0
  872. package/templates/ios/SocialTemplate/SocialTemplate/Core/Strings.swift +21 -0
  873. package/templates/ios/SocialTemplate/SocialTemplate/Data/DataSourceResolver.swift +1 -2
  874. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/CommentEntity.swift +74 -0
  875. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/ConversationEntity.swift +76 -0
  876. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/CoreDataStack.swift +434 -0
  877. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/LocalStorageProvider.swift +475 -0
  878. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/MessageEntity.swift +62 -0
  879. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/NotificationEntity.swift +92 -0
  880. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/PostEntity.swift +143 -0
  881. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/StoryEntity.swift +66 -0
  882. package/templates/ios/SocialTemplate/SocialTemplate/Data/LocalStorage/UserEntity.swift +54 -0
  883. package/templates/ios/SocialTemplate/SocialTemplate/Features/Feed/FeedView.swift +27 -14
  884. package/templates/ios/SocialTemplate/SocialTemplate/Features/Messages/MessagesView.swift +19 -6
  885. package/templates/ios/SocialTemplate/SocialTemplate/Features/Notifications/NotificationsView.swift +15 -7
  886. package/templates/ios/SocialTemplate/SocialTemplate/Features/Profile/ProfileView.swift +15 -9
  887. package/templates/ios/SocialTemplate/SocialTemplate/Features/Search/SearchView.swift +11 -5
  888. package/templates/ios/SocialTemplate/SocialTemplate.xcodeproj/project.pbxproj +79 -0
  889. package/templates/ios/SocialTemplate/SocialTemplateTests/DataRepositoryTests.swift +26 -0
  890. package/templates/ios/SocialTemplate/TESTING_MANIFEST.md +6 -0
  891. package/templates/ios/SocialTemplate/tests/01_launch_feed.yaml +16 -7
  892. package/templates/ios/SocialTemplate/tests/07_messages.yaml +33 -5
  893. package/templates/ios/TaskTemplate/TESTING_MANIFEST.md +5 -0
  894. package/templates/ios/TaskTemplate/TaskTemplate/App/AppConfig.swift +9 -0
  895. package/templates/ios/TaskTemplate/TaskTemplate/Core/EmptyStateView.swift +145 -0
  896. package/templates/ios/TaskTemplate/TaskTemplate/Core/Models.swift +1 -1
  897. package/templates/ios/TaskTemplate/TaskTemplate/Core/Strings.swift +21 -0
  898. package/templates/ios/TaskTemplate/TaskTemplate/Data/DataRepository.swift +38 -0
  899. package/templates/ios/TaskTemplate/TaskTemplate/Data/DataSourceResolver.swift +19 -0
  900. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/CoreDataStack.swift +214 -0
  901. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/KanbanColumnEntity.swift +47 -0
  902. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/LocalStorageProvider.swift +245 -0
  903. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/ProjectEntity.swift +56 -0
  904. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/TagEntity.swift +22 -0
  905. package/templates/ios/TaskTemplate/TaskTemplate/Data/LocalStorage/TaskItemEntity.swift +170 -0
  906. package/templates/ios/TaskTemplate/TaskTemplate/Features/Calendar/CalendarView.swift +6 -2
  907. package/templates/ios/TaskTemplate/TaskTemplate/Features/Inbox/InboxView.swift +11 -15
  908. package/templates/ios/TaskTemplate/TaskTemplate/Features/Kanban/KanbanBoardView.swift +9 -3
  909. package/templates/ios/TaskTemplate/TaskTemplate/Features/Projects/ProjectDetailView.swift +24 -11
  910. package/templates/ios/TaskTemplate/TaskTemplate/Features/Projects/ProjectListView.swift +12 -15
  911. package/templates/ios/TaskTemplate/TaskTemplate/Features/Search/SearchView.swift +13 -22
  912. package/templates/ios/TaskTemplate/TaskTemplate/MockData/MockDataProvider.swift +1 -1
  913. package/templates/ios/TaskTemplate/TaskTemplate.xcodeproj/project.pbxproj +60 -0
  914. package/templates/ios/TaskTemplate/TaskTemplateTests/DataRepositoryTests.swift +26 -0
  915. package/templates/ios/TaskTemplate/tests/01_launch_inbox.yaml +37 -7
  916. package/templates/ios/TaskTemplate/tests/02_tab_navigation.yaml +63 -21
  917. package/templates/ios/TaskTemplate/tests/03_task_detail.yaml +72 -0
  918. package/templates/ios/TaskTemplate/tests/04_project_detail.yaml +71 -0
  919. package/templates/ios/TaskTemplate/tests/05_task_create_flow.yaml +72 -0
  920. package/templates/ios/TaskTemplate/tests/06_search_filter.yaml +82 -0
  921. package/templates/ios/TaskTemplate/tests/07_settings.yaml +56 -0
  922. package/templates/ios/TaskTemplate/tests/08_full_e2e.yaml +113 -35
  923. package/templates/ios/TrackTemplate/TESTING_MANIFEST.md +4 -0
  924. package/templates/ios/TrackTemplate/TrackTemplate/App/AppConfig.swift +9 -0
  925. package/templates/ios/TrackTemplate/TrackTemplate/Core/EmptyStateView.swift +145 -0
  926. package/templates/ios/TrackTemplate/TrackTemplate/Data/DataRepository.swift +29 -0
  927. package/templates/ios/TrackTemplate/TrackTemplate/Data/DataSourceResolver.swift +19 -0
  928. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/AchievementEntity.swift +44 -0
  929. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/CoreDataStack.swift +269 -0
  930. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/HabitEntity.swift +75 -0
  931. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/HabitEntryEntity.swift +44 -0
  932. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/LocalStorageProvider.swift +180 -0
  933. package/templates/ios/TrackTemplate/TrackTemplate/Data/LocalStorage/StreakEntity.swift +35 -0
  934. package/templates/ios/TrackTemplate/TrackTemplate/Features/Dashboard/TodayView.swift +6 -33
  935. package/templates/ios/TrackTemplate/TrackTemplate/Features/Habits/HabitsListView.swift +5 -43
  936. package/templates/ios/TrackTemplate/TrackTemplate/MockData/MockDataProvider.swift +1 -1
  937. package/templates/ios/TrackTemplate/TrackTemplate/Services/HabitManager.swift +1 -1
  938. package/templates/ios/TrackTemplate/TrackTemplate.xcodeproj/project.pbxproj +63 -0
  939. package/templates/ios/TrackTemplate/TrackTemplateTests/DataRepositoryTests.swift +26 -0
  940. package/templates/ios/TrackTemplate/tests/01_launch_today.yaml +44 -5
  941. package/templates/ios/TrackTemplate/tests/02_tab_navigation.yaml +79 -16
  942. package/templates/ios/TrackTemplate/tests/04_add_habit.yaml +98 -3
  943. package/templates/shared/MODULES_CATALOG.md +42 -1
  944. package/templates/shared/android/CachedRepository/CachedRepository.kt +310 -0
  945. package/templates/shared/android/CachedRepository/LocalCache.kt +178 -0
  946. package/templates/shared/android/CachedRepository/OfflineQueue.kt +171 -0
  947. package/templates/shared/android/CachedRepository/strings.xml +15 -0
  948. package/templates/shared/android/FirebaseBackend/FirebaseAuthManager.kt +256 -0
  949. package/templates/shared/android/FirebaseBackend/FirebaseConfigManager.kt +122 -0
  950. package/templates/shared/android/FirebaseBackend/FirebaseForgotPasswordScreen.kt +187 -0
  951. package/templates/shared/android/FirebaseBackend/FirebaseLoginScreen.kt +216 -0
  952. package/templates/shared/android/FirebaseBackend/FirebaseProfileScreen.kt +292 -0
  953. package/templates/shared/android/FirebaseBackend/FirebaseSignUpScreen.kt +223 -0
  954. package/templates/shared/android/FirebaseBackend/FirebaseStorageManager.kt +143 -0
  955. package/templates/shared/android/FirebaseBackend/FirestoreManager.kt +209 -0
  956. package/templates/shared/android/FirebaseBackend/INTEGRATION.md +378 -0
  957. package/templates/shared/android/FirebaseBackend/SETUP.md +293 -0
  958. package/templates/shared/android/FirebaseBackend/strings.xml +62 -0
  959. package/templates/shared/android/FirebaseProvider/FirebaseAuthManager.kt +177 -0
  960. package/templates/shared/android/FirebaseProvider/FirebaseConfig.kt +54 -0
  961. package/templates/shared/android/FirebaseProvider/FirebaseDataProvider.kt +152 -0
  962. package/templates/shared/android/FirebaseProvider/strings.xml +25 -0
  963. package/templates/shared/android/SecretsConfig/INTEGRATION.md +111 -0
  964. package/templates/shared/android/SecretsConfig/SETUP.md +66 -0
  965. package/templates/shared/android/SecretsConfig/SecretsConfig.kt +113 -0
  966. package/templates/shared/android/SecretsConfig/build.gradle.snippet.kts +37 -0
  967. package/templates/shared/android/SecretsConfig/secrets.properties.template +30 -0
  968. package/templates/shared/android/SupabaseBackend/INTEGRATION.md +514 -0
  969. package/templates/shared/android/SupabaseBackend/SETUP.md +320 -0
  970. package/templates/shared/android/SupabaseBackend/SupabaseAuthManager.kt +198 -0
  971. package/templates/shared/android/SupabaseBackend/SupabaseConfigManager.kt +41 -0
  972. package/templates/shared/android/SupabaseBackend/SupabaseDatabaseManager.kt +148 -0
  973. package/templates/shared/android/SupabaseBackend/SupabaseForgotPasswordScreen.kt +154 -0
  974. package/templates/shared/android/SupabaseBackend/SupabaseLoginScreen.kt +262 -0
  975. package/templates/shared/android/SupabaseBackend/SupabaseMagicLinkSentScreen.kt +173 -0
  976. package/templates/shared/android/SupabaseBackend/SupabaseProfileScreen.kt +298 -0
  977. package/templates/shared/android/SupabaseBackend/SupabaseRealtimeManager.kt +98 -0
  978. package/templates/shared/android/SupabaseBackend/SupabaseSignUpScreen.kt +177 -0
  979. package/templates/shared/android/SupabaseBackend/SupabaseStorageManager.kt +62 -0
  980. package/templates/shared/android/SupabaseBackend/strings.xml +63 -0
  981. package/templates/shared/android/SupabaseProvider/SupabaseAuthManager.kt +254 -0
  982. package/templates/shared/android/SupabaseProvider/SupabaseConfig.kt +89 -0
  983. package/templates/shared/android/SupabaseProvider/SupabaseDataProvider.kt +232 -0
  984. package/templates/shared/android/SupabaseProvider/strings.xml +30 -0
  985. package/templates/shared/android/WixMemberBackend/WixApiClient.kt +207 -0
  986. package/templates/shared/android/WixMemberBackend/WixAuthManager.kt +476 -0
  987. package/templates/shared/android/WixMemberBackend/WixBlogManager.kt +190 -0
  988. package/templates/shared/android/WixMemberBackend/WixBlogScreen.kt +400 -0
  989. package/templates/shared/android/WixMemberBackend/WixBookingsManager.kt +239 -0
  990. package/templates/shared/android/WixMemberBackend/WixBookingsScreen.kt +440 -0
  991. package/templates/shared/android/WixMemberBackend/WixCartScreen.kt +304 -0
  992. package/templates/shared/android/WixMemberBackend/WixEventsManager.kt +277 -0
  993. package/templates/shared/android/WixMemberBackend/WixEventsScreen.kt +500 -0
  994. package/templates/shared/android/WixMemberBackend/WixLoginScreen.kt +208 -0
  995. package/templates/shared/android/WixMemberBackend/WixModels.kt +224 -0
  996. package/templates/shared/android/WixMemberBackend/WixProfileScreen.kt +542 -0
  997. package/templates/shared/android/WixMemberBackend/WixStoreScreen.kt +410 -0
  998. package/templates/shared/android/WixMemberBackend/WixStoresManager.kt +243 -0
  999. package/templates/shared/android/WixMemberBackend/strings.xml +111 -0
  1000. package/templates/shared/android/WixOwnerBackend/INTEGRATION.md +246 -0
  1001. package/templates/shared/android/WixOwnerBackend/SETUP.md +141 -0
  1002. package/templates/shared/android/WixOwnerBackend/WixAdminAuthManager.kt +71 -0
  1003. package/templates/shared/android/WixOwnerBackend/WixApiClient.kt +202 -0
  1004. package/templates/shared/android/WixOwnerBackend/WixBlogAdminManager.kt +330 -0
  1005. package/templates/shared/android/WixOwnerBackend/WixBlogEditorScreen.kt +535 -0
  1006. package/templates/shared/android/WixOwnerBackend/WixBookingAdminManager.kt +337 -0
  1007. package/templates/shared/android/WixOwnerBackend/WixBookingManagementScreen.kt +252 -0
  1008. package/templates/shared/android/WixOwnerBackend/WixConnectSiteScreen.kt +177 -0
  1009. package/templates/shared/android/WixOwnerBackend/WixDashboardScreen.kt +183 -0
  1010. package/templates/shared/android/WixOwnerBackend/WixEventAdminManager.kt +274 -0
  1011. package/templates/shared/android/WixOwnerBackend/WixEventManagementScreen.kt +466 -0
  1012. package/templates/shared/android/WixOwnerBackend/WixModels.kt +269 -0
  1013. package/templates/shared/android/WixOwnerBackend/WixOrdersScreen.kt +282 -0
  1014. package/templates/shared/android/WixOwnerBackend/WixProductManagementScreen.kt +277 -0
  1015. package/templates/shared/android/WixOwnerBackend/WixSiteAdminManager.kt +152 -0
  1016. package/templates/shared/android/WixOwnerBackend/WixStoreAdminManager.kt +321 -0
  1017. package/templates/shared/android/WixOwnerBackend/strings.xml +88 -0
  1018. package/templates/shared/android/WixSiteSelector/INTEGRATION.md +117 -0
  1019. package/templates/shared/android/WixSiteSelector/SETUP.md +38 -0
  1020. package/templates/shared/android/WixSiteSelector/WixSiteManager.kt +211 -0
  1021. package/templates/shared/android/WixSiteSelector/WixSiteModels.kt +28 -0
  1022. package/templates/shared/android/WixSiteSelector/WixSiteSelectorScreen.kt +343 -0
  1023. package/templates/shared/android/WixSiteSelector/strings.xml +36 -0
  1024. package/templates/shared/ios/CachedRepository/CachedRepository.swift +212 -0
  1025. package/templates/shared/ios/CachedRepository/INTEGRATION.md +168 -0
  1026. package/templates/shared/ios/CachedRepository/LocalCache.swift +191 -0
  1027. package/templates/shared/ios/CachedRepository/OfflineQueue.swift +109 -0
  1028. package/templates/shared/ios/CachedRepository/Strings.swift +31 -0
  1029. package/templates/shared/ios/FirebaseBackend/FirebaseAuthService.swift +329 -0
  1030. package/templates/shared/ios/FirebaseBackend/FirebaseConfigService.swift +105 -0
  1031. package/templates/shared/ios/FirebaseBackend/FirebaseStorageService.swift +198 -0
  1032. package/templates/shared/ios/FirebaseBackend/FirestoreService.swift +206 -0
  1033. package/templates/shared/ios/FirebaseBackend/INTEGRATION.md +287 -0
  1034. package/templates/shared/ios/FirebaseBackend/SETUP.md +224 -0
  1035. package/templates/shared/ios/FirebaseBackend/Screens/FirebaseForgotPasswordScreen.swift +108 -0
  1036. package/templates/shared/ios/FirebaseBackend/Screens/FirebaseLoginScreen.swift +197 -0
  1037. package/templates/shared/ios/FirebaseBackend/Screens/FirebaseProfileScreen.swift +195 -0
  1038. package/templates/shared/ios/FirebaseBackend/Screens/FirebaseSignUpScreen.swift +151 -0
  1039. package/templates/shared/ios/FirebaseBackend/Strings.swift +69 -0
  1040. package/templates/shared/ios/FirebaseProvider/FirebaseAuthService.swift +83 -0
  1041. package/templates/shared/ios/FirebaseProvider/FirebaseConfig.swift +36 -0
  1042. package/templates/shared/ios/FirebaseProvider/FirebaseDataProvider.swift +111 -0
  1043. package/templates/shared/ios/FirebaseProvider/INTEGRATION.md +203 -0
  1044. package/templates/shared/ios/FirebaseProvider/Strings.swift +40 -0
  1045. package/templates/shared/ios/SecretsConfig/INTEGRATION.md +96 -0
  1046. package/templates/shared/ios/SecretsConfig/SETUP.md +67 -0
  1047. package/templates/shared/ios/SecretsConfig/Secrets.xcconfig.template +30 -0
  1048. package/templates/shared/ios/SecretsConfig/SecretsConfig.swift +87 -0
  1049. package/templates/shared/ios/SupabaseBackend/INTEGRATION.md +335 -0
  1050. package/templates/shared/ios/SupabaseBackend/SETUP.md +232 -0
  1051. package/templates/shared/ios/SupabaseBackend/Screens/SupabaseForgotPasswordScreen.swift +123 -0
  1052. package/templates/shared/ios/SupabaseBackend/Screens/SupabaseLoginScreen.swift +207 -0
  1053. package/templates/shared/ios/SupabaseBackend/Screens/SupabaseMagicLinkSentScreen.swift +136 -0
  1054. package/templates/shared/ios/SupabaseBackend/Screens/SupabaseProfileScreen.swift +102 -0
  1055. package/templates/shared/ios/SupabaseBackend/Screens/SupabaseSignUpScreen.swift +159 -0
  1056. package/templates/shared/ios/SupabaseBackend/Strings.swift +73 -0
  1057. package/templates/shared/ios/SupabaseBackend/SupabaseAuthService.swift +191 -0
  1058. package/templates/shared/ios/SupabaseBackend/SupabaseConfigService.swift +31 -0
  1059. package/templates/shared/ios/SupabaseBackend/SupabaseDatabaseService.swift +133 -0
  1060. package/templates/shared/ios/SupabaseBackend/SupabaseRealtimeService.swift +117 -0
  1061. package/templates/shared/ios/SupabaseBackend/SupabaseStorageService.swift +48 -0
  1062. package/templates/shared/ios/SupabaseProvider/INTEGRATION.md +251 -0
  1063. package/templates/shared/ios/SupabaseProvider/Strings.swift +44 -0
  1064. package/templates/shared/ios/SupabaseProvider/SupabaseAuthService.swift +142 -0
  1065. package/templates/shared/ios/SupabaseProvider/SupabaseConfig.swift +48 -0
  1066. package/templates/shared/ios/SupabaseProvider/SupabaseDataProvider.swift +180 -0
  1067. package/templates/shared/ios/WixMemberBackend/INTEGRATION.md +188 -0
  1068. package/templates/shared/ios/WixMemberBackend/SETUP.md +79 -0
  1069. package/templates/shared/ios/WixMemberBackend/Screens/WixBlogScreen.swift +388 -0
  1070. package/templates/shared/ios/WixMemberBackend/Screens/WixBookingsScreen.swift +415 -0
  1071. package/templates/shared/ios/WixMemberBackend/Screens/WixCartScreen.swift +231 -0
  1072. package/templates/shared/ios/WixMemberBackend/Screens/WixEventsScreen.swift +513 -0
  1073. package/templates/shared/ios/WixMemberBackend/Screens/WixLoginScreen.swift +151 -0
  1074. package/templates/shared/ios/WixMemberBackend/Screens/WixProfileScreen.swift +256 -0
  1075. package/templates/shared/ios/WixMemberBackend/Screens/WixStoreScreen.swift +354 -0
  1076. package/templates/shared/ios/WixMemberBackend/Strings.swift +135 -0
  1077. package/templates/shared/ios/WixMemberBackend/WixAPIClient.swift +192 -0
  1078. package/templates/shared/ios/WixMemberBackend/WixAuthService.swift +483 -0
  1079. package/templates/shared/ios/WixMemberBackend/WixBlogService.swift +96 -0
  1080. package/templates/shared/ios/WixMemberBackend/WixBookingsService.swift +98 -0
  1081. package/templates/shared/ios/WixMemberBackend/WixEventsService.swift +109 -0
  1082. package/templates/shared/ios/WixMemberBackend/WixModels.swift +188 -0
  1083. package/templates/shared/ios/WixMemberBackend/WixStoresService.swift +157 -0
  1084. package/templates/shared/ios/WixOwnerBackend/INTEGRATION.md +222 -0
  1085. package/templates/shared/ios/WixOwnerBackend/SETUP.md +146 -0
  1086. package/templates/shared/ios/WixOwnerBackend/Screens/WixBlogEditorScreen.swift +384 -0
  1087. package/templates/shared/ios/WixOwnerBackend/Screens/WixBookingManagementScreen.swift +235 -0
  1088. package/templates/shared/ios/WixOwnerBackend/Screens/WixConnectSiteScreen.swift +186 -0
  1089. package/templates/shared/ios/WixOwnerBackend/Screens/WixDashboardScreen.swift +220 -0
  1090. package/templates/shared/ios/WixOwnerBackend/Screens/WixEventManagementScreen.swift +438 -0
  1091. package/templates/shared/ios/WixOwnerBackend/Screens/WixOrdersScreen.swift +285 -0
  1092. package/templates/shared/ios/WixOwnerBackend/Screens/WixProductManagementScreen.swift +285 -0
  1093. package/templates/shared/ios/WixOwnerBackend/Strings.swift +113 -0
  1094. package/templates/shared/ios/WixOwnerBackend/WixAdminAuthService.swift +63 -0
  1095. package/templates/shared/ios/WixOwnerBackend/WixBlogManagerService.swift +122 -0
  1096. package/templates/shared/ios/WixOwnerBackend/WixBookingManagerService.swift +142 -0
  1097. package/templates/shared/ios/WixOwnerBackend/WixEventManagerService.swift +142 -0
  1098. package/templates/shared/ios/WixOwnerBackend/WixModels.swift +224 -0
  1099. package/templates/shared/ios/WixOwnerBackend/WixSiteManagerService.swift +130 -0
  1100. package/templates/shared/ios/WixOwnerBackend/WixStoreManagerService.swift +161 -0
  1101. package/templates/shared/ios/WixSiteSelector/INTEGRATION.md +116 -0
  1102. package/templates/shared/ios/WixSiteSelector/SETUP.md +38 -0
  1103. package/templates/shared/ios/WixSiteSelector/Strings.swift +40 -0
  1104. package/templates/shared/ios/WixSiteSelector/WixSiteManager.swift +183 -0
  1105. package/templates/shared/ios/WixSiteSelector/WixSiteModels.swift +45 -0
  1106. package/templates/shared/ios/WixSiteSelector/WixSiteSelectorScreen.swift +275 -0
  1107. package/templates/shared/keys.json.schema.json +61 -0
  1108. package/templates/shared/tests/android/FirebaseBackend/FirebaseTest.kt +75 -0
  1109. package/templates/shared/tests/android/SupabaseBackend/SupabaseTest.kt +146 -0
  1110. package/templates/shared/tests/android/WixMemberBackend/WixMemberTest.kt +159 -0
  1111. package/templates/shared/tests/android/WixOwnerBackend/WixOwnerTest.kt +99 -0
  1112. package/templates/shared/tests/ios/FirebaseBackend/FirebaseTests.swift +145 -0
  1113. package/templates/shared/tests/ios/SupabaseBackend/SupabaseTests.swift +126 -0
  1114. package/templates/shared/tests/ios/WixMemberBackend/WixMemberTests.swift +143 -0
  1115. package/templates/shared/tests/ios/WixOwnerBackend/WixOwnerTests.swift +98 -0
  1116. package/templates/shared/tests/maestro/FirebaseBackend/firebase_auth_flow.yaml +153 -0
  1117. package/templates/shared/tests/maestro/SupabaseBackend/supabase_auth_flow.yaml +163 -0
  1118. package/templates/shared/tests/maestro/WixMemberBackend/wix_member_navigation_flow.yaml +55 -0
  1119. package/templates/shared/tests/maestro/WixMemberBackend/wix_member_store_flow.yaml +42 -0
  1120. package/templates/shared/tests/maestro/WixOwnerBackend/wix_owner_dashboard_flow.yaml +48 -0
  1121. package/templates/android/BookTemplate/tests/04_booking_flow.yaml +0 -14
  1122. package/templates/android/BookTemplate/tests/05_search_filter.yaml +0 -14
  1123. package/templates/android/BookTemplate/tests/06_favorites.yaml +0 -14
  1124. package/templates/android/BookTemplate/tests/07_profile.yaml +0 -14
  1125. package/templates/ios/BookTemplate/tests/04_booking_flow.yaml +0 -9
  1126. package/templates/ios/BookTemplate/tests/05_search_filter.yaml +0 -9
  1127. package/templates/ios/BookTemplate/tests/06_favorites.yaml +0 -9
  1128. package/templates/ios/BookTemplate/tests/07_profile.yaml +0 -9
package/dist/index.js CHANGED
@@ -8,21 +8,15 @@ import { buildAgentPrompt, buildTestPrompt, buildScratchPrompt, buildQuickPrompt
8
8
  import { createEngine } from "./engines/index.js";
9
9
  import { validateOutput, reportValidation } from "./validator.js";
10
10
  import { validatePrompt, formatSanitizationResult } from "./prompt-sanitizer.js";
11
- import { checkGitHubPrereqs, pushToGitHub, deriveRepoName, commitChanges, pushBranch, createPullRequest, isGitRepo, hasRemoteOrigin, collectScreenshots, ensureScreenshotsGitignoreException, generateReadmeScreenshots, buildPrBodyWithScreenshots, } from "./github.js";
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
- /** Peek at argv for --engine flag before full CLI parsing (needed for pre-flight check) */
17
- function peekEngineFlag() {
18
- const args = process.argv.slice(2);
19
- for (let i = 0; i < args.length; i++) {
20
- if ((args[i] === "--engine" || args[i] === "-e") && args[i + 1]) {
21
- return args[i + 1];
22
- }
23
- }
24
- return undefined;
25
- }
17
+ import { generatePreview } from "./preview-generator.js";
18
+ import { createServer } from "node:http";
19
+ import open from "open";
26
20
  async function main() {
27
21
  // ── Management commands (no build agent needed) ─────────────────────
28
22
  const mgmtCmd = parseManagementCommand();
@@ -36,14 +30,48 @@ async function main() {
36
30
  else if (mgmtCmd.command === "test") {
37
31
  await testApp(mgmtCmd.appName, mgmtCmd.engine, mgmtCmd.model);
38
32
  }
33
+ else if (mgmtCmd.command === "preview") {
34
+ await handlePreview(mgmtCmd.appName);
35
+ }
36
+ else if (mgmtCmd.command === "screenshot") {
37
+ await handleScreenshot(mgmtCmd.appName);
38
+ }
39
+ else if (mgmtCmd.command === "configure") {
40
+ await configure(mgmtCmd.appName, mgmtCmd.keysFile, mgmtCmd.skipVerify);
41
+ }
39
42
  return;
40
43
  }
44
+ // ── Collect user input (before engine checks to handle management commands) ──
45
+ const cliResult = parseCliArgs();
46
+ let interactiveInput;
47
+ if (!cliResult) {
48
+ const interactiveResult = await collectUserInput();
49
+ // Management commands dispatch immediately — no engine/GH checks needed
50
+ if (interactiveResult.kind === "management") {
51
+ const cmd = interactiveResult.command;
52
+ if (cmd.command === "list")
53
+ await listApps();
54
+ else if (cmd.command === "run")
55
+ await runApp(cmd.appName);
56
+ else if (cmd.command === "test")
57
+ await testApp(cmd.appName, cmd.engine, cmd.model);
58
+ else if (cmd.command === "preview")
59
+ await handlePreview(cmd.appName);
60
+ else if (cmd.command === "screenshot")
61
+ await handleScreenshot(cmd.appName);
62
+ else if (cmd.command === "configure")
63
+ await configure(cmd.appName, cmd.keysFile, cmd.skipVerify);
64
+ return;
65
+ }
66
+ interactiveInput = interactiveResult.input;
67
+ }
68
+ const input = cliResult?.input ?? interactiveInput;
69
+ const cliFlags = cliResult?.flags ?? {};
41
70
  // ── Determine engine ────────────────────────────────────────────────
42
- // Engine can come from CLI flags (parsed later) or env var; peek at argv for early detection
43
- const earlyEngine = peekEngineFlag() ?? DEFAULT_ENGINE;
44
- const engine = createEngine(earlyEngine);
71
+ const selectedEngine = cliFlags.engine ?? input.engine ?? DEFAULT_ENGINE;
72
+ const resolvedEngine = createEngine(selectedEngine);
45
73
  // ── Pre-flight checks ───────────────────────────────────────────────
46
- const agentCheck = await engine.checkInstallation();
74
+ const agentCheck = await resolvedEngine.checkInstallation();
47
75
  if (!agentCheck.ok) {
48
76
  p.log.error(agentCheck.error);
49
77
  process.exit(1);
@@ -55,13 +83,7 @@ async function main() {
55
83
  }
56
84
  p.log.warn("GitHub push will be skipped. You can push manually after the build.");
57
85
  }
58
- // ── Collect user input ──────────────────────────────────────────────
59
- const cliResult = parseCliArgs();
60
- const input = cliResult?.input ?? await collectUserInput();
61
- const cliFlags = cliResult?.flags ?? {};
62
- // Re-resolve engine with the actual flag value (CLI flags override peek)
63
- const selectedEngine = cliFlags.engine ?? input.engine ?? earlyEngine;
64
- const resolvedEngine = selectedEngine !== earlyEngine ? createEngine(selectedEngine) : engine;
86
+ // ── Confirm input ──────────────────────────────────────────────────
65
87
  if (!cliResult) {
66
88
  await confirmInput(input);
67
89
  }
@@ -114,7 +136,7 @@ async function main() {
114
136
  // Use `--list` to see all apps or `--run <name>` to launch one on a simulator.
115
137
  // ── Update mode (separate flow) ────────────────────────────────────
116
138
  if (input.update && input.updateTarget) {
117
- await updateApp(input, resolvedEngine, ghCheck.ok);
139
+ await updateApp(input, resolvedEngine, ghCheck.ok, cliFlags);
118
140
  return;
119
141
  }
120
142
  // ── Dual-platform build (parallel) ──────────────────────────────────
@@ -221,6 +243,8 @@ async function main() {
221
243
  }
222
244
  // ── Push to GitHub (monorepo root, not the platform subdir) ────────
223
245
  await handleGitHubPush(cliResult, cliFlags, ghCheck.ok, monorepoDir, reportMeta.artifactPath);
246
+ // ── Auto-open preview ─────────────────────────────────────────────
247
+ await autoOpenPreview(monorepoDir, cliFlags.noPreview ?? false);
224
248
  }
225
249
  // ---------------------------------------------------------------------------
226
250
  // Parallel Build (dual-platform) — works for quick, create, and scratch modes
@@ -406,6 +430,13 @@ async function runParallelBuild(input, engine, cliResult, cliFlags, ghAvailable)
406
430
  }
407
431
  // Push to GitHub (monorepo) — pass first artifact (if any) for display
408
432
  await handleGitHubPush(cliResult, cliFlags, ghAvailable, monorepoDir, artifactPaths[0]);
433
+ // Auto-open preview for each platform in the monorepo
434
+ for (const plat of platforms) {
435
+ const platDir = path.join(monorepoDir, plat);
436
+ if (await fs.pathExists(path.join(platDir, "preview", "screens.json"))) {
437
+ await autoOpenPreview(platDir, cliFlags.noPreview ?? false);
438
+ }
439
+ }
409
440
  }
410
441
  // ---------------------------------------------------------------------------
411
442
  // Shared helper functions
@@ -522,6 +553,173 @@ async function handleGitHubPush(cliResult, cliFlags, ghAvailable, appDir, artifa
522
553
  p.outro(`Done! Your app is at: ${appDir ?? PATHS.output}${artifactLine}`);
523
554
  }
524
555
  }
556
+ // ---------------------------------------------------------------------------
557
+ // Preview & Screenshot
558
+ // ---------------------------------------------------------------------------
559
+ /**
560
+ * Handle --preview <app-name> command.
561
+ * Generates preview HTML from screenshots and serves it on a local HTTP server.
562
+ */
563
+ async function handlePreview(appName) {
564
+ const appDir = path.join(PATHS.output, appName);
565
+ if (!(await fs.pathExists(appDir))) {
566
+ p.log.error(`App not found: ${appDir}`);
567
+ p.log.info("Use --list to see available apps.");
568
+ process.exit(1);
569
+ }
570
+ const previewDir = path.join(appDir, "preview");
571
+ const screensJsonPath = path.join(previewDir, "screens.json");
572
+ // Check local first, then try fetching from GitHub
573
+ if (!(await fs.pathExists(screensJsonPath))) {
574
+ p.log.step("No local screenshots found. Checking GitHub...");
575
+ const fetched = await fetchPreviewFromGitHub(appDir, previewDir);
576
+ if (!fetched) {
577
+ p.log.error("No preview data found locally or on GitHub.");
578
+ p.log.info("Capture screenshots first with: npm start -- --screenshot " + appName);
579
+ process.exit(1);
580
+ }
581
+ p.log.success("Fetched screenshots from GitHub.");
582
+ }
583
+ // Generate HTML
584
+ p.log.step("Generating preview...");
585
+ await generatePreview(appDir);
586
+ // Start local server
587
+ const PORT = 4321;
588
+ const handler = await import("serve-handler");
589
+ const server = createServer((req, res) => handler.default(req, res, { public: previewDir }));
590
+ server.listen(PORT, async () => {
591
+ const url = `http://localhost:${PORT}`;
592
+ p.log.success(`Preview server running at: ${url}`);
593
+ p.log.info("Press Ctrl+C to stop.");
594
+ await open(url);
595
+ });
596
+ }
597
+ /**
598
+ * Handle --screenshot <app-name> command.
599
+ * Boots simulator, installs app, and captures screenshots interactively.
600
+ */
601
+ async function handleScreenshot(appName) {
602
+ const appDir = path.join(PATHS.output, appName);
603
+ if (!(await fs.pathExists(appDir))) {
604
+ p.log.error(`App not found: ${appDir}`);
605
+ p.log.info("Use --list to see available apps.");
606
+ process.exit(1);
607
+ }
608
+ // Detect platform from app directory contents
609
+ const hasXcodeproj = (await fs.readdir(appDir)).some((f) => f.endsWith(".xcodeproj"));
610
+ const hasBuildGradle = await fs.pathExists(path.join(appDir, "build.gradle.kts")) ||
611
+ await fs.pathExists(path.join(appDir, "app", "build.gradle.kts"));
612
+ const platform = hasXcodeproj ? "ios" : hasBuildGradle ? "android" : null;
613
+ if (!platform) {
614
+ p.log.error("Could not detect platform (no .xcodeproj or build.gradle.kts found).");
615
+ process.exit(1);
616
+ }
617
+ p.log.step(`Detected platform: ${platform}`);
618
+ p.log.step("Capturing screenshots...");
619
+ const previewDir = path.join(appDir, "preview");
620
+ await fs.ensureDir(previewDir);
621
+ if (platform === "ios") {
622
+ await captureIosScreenshots(appDir, previewDir);
623
+ }
624
+ else {
625
+ await captureAndroidScreenshots(appDir, previewDir);
626
+ }
627
+ p.log.success(`Screenshots saved to: ${previewDir}`);
628
+ p.log.info(`Run --preview ${appName} to view them.`);
629
+ }
630
+ /**
631
+ * Capture iOS screenshots using xcrun simctl.
632
+ */
633
+ async function captureIosScreenshots(appDir, previewDir) {
634
+ try {
635
+ // Take a single screenshot of the current simulator state
636
+ const screenshotPath = path.join(previewDir, "home.png");
637
+ execSync(`xcrun simctl io booted screenshot "${screenshotPath}"`, { stdio: "pipe" });
638
+ // Create a basic screens.json
639
+ const screensJson = {
640
+ appName: path.basename(appDir),
641
+ platform: "ios",
642
+ screens: [
643
+ {
644
+ id: "home",
645
+ label: "Home",
646
+ screenshot: "home.png",
647
+ hotspots: [],
648
+ },
649
+ ],
650
+ initialScreen: "home",
651
+ };
652
+ await fs.writeJson(path.join(previewDir, "screens.json"), screensJson, { spaces: 2 });
653
+ p.log.success("Captured home screen screenshot.");
654
+ }
655
+ catch (err) {
656
+ p.log.error("Failed to capture iOS screenshot. Make sure a simulator is booted.");
657
+ p.log.info("Boot a simulator with: xcrun simctl boot 'iPhone 16'");
658
+ throw err;
659
+ }
660
+ }
661
+ /**
662
+ * Capture Android screenshots using adb.
663
+ */
664
+ async function captureAndroidScreenshots(appDir, previewDir) {
665
+ try {
666
+ const screenshotPath = path.join(previewDir, "home.png");
667
+ execSync(`adb exec-out screencap -p > "${screenshotPath}"`, { stdio: "pipe", shell: "/bin/sh" });
668
+ const screensJson = {
669
+ appName: path.basename(appDir),
670
+ platform: "android",
671
+ screens: [
672
+ {
673
+ id: "home",
674
+ label: "Home",
675
+ screenshot: "home.png",
676
+ hotspots: [],
677
+ },
678
+ ],
679
+ initialScreen: "home",
680
+ };
681
+ await fs.writeJson(path.join(previewDir, "screens.json"), screensJson, { spaces: 2 });
682
+ p.log.success("Captured home screen screenshot.");
683
+ }
684
+ catch (err) {
685
+ p.log.error("Failed to capture Android screenshot. Make sure an emulator is running.");
686
+ p.log.info("Start an emulator with: emulator -avd <avd_name>");
687
+ throw err;
688
+ }
689
+ }
690
+ /**
691
+ * Auto-open preview in browser after a successful build.
692
+ * Silently skips if no screenshots exist yet (no error).
693
+ */
694
+ async function autoOpenPreview(appDir, noPreview) {
695
+ if (noPreview || !appDir)
696
+ return;
697
+ const previewDir = path.join(appDir, "preview");
698
+ const screensJsonPath = path.join(previewDir, "screens.json");
699
+ // Only open if screenshots were captured during UI testing
700
+ if (!(await fs.pathExists(screensJsonPath))) {
701
+ p.log.info("Tip: Run --preview or --screenshot to generate a web preview.");
702
+ return;
703
+ }
704
+ try {
705
+ // Generate HTML
706
+ await generatePreview(appDir);
707
+ // Start local server
708
+ const PORT = 4321;
709
+ const handler = await import("serve-handler");
710
+ const server = createServer((req, res) => handler.default(req, res, { public: previewDir }));
711
+ server.listen(PORT, async () => {
712
+ const url = `http://localhost:${PORT}`;
713
+ p.log.success(`Preview: ${url}`);
714
+ await open(url);
715
+ });
716
+ // The server will be killed when the main process exits
717
+ }
718
+ catch (err) {
719
+ // Don't fail the build if preview generation fails
720
+ p.log.warn(`Preview generation failed: ${err instanceof Error ? err.message : err}`);
721
+ }
722
+ }
525
723
  /**
526
724
  * Run UI testing on a previously built app.
527
725
  * Resolves app context, builds a test-only prompt, and launches the agent engine.
@@ -614,7 +812,7 @@ async function testApp(appName, engineOverride, modelOverride) {
614
812
  /**
615
813
  * Update an existing app: resolve source, run agent, commit, and optionally create a PR.
616
814
  */
617
- async function updateApp(input, engine, ghAvailable) {
815
+ async function updateApp(input, engine, ghAvailable, cliFlags = {}) {
618
816
  p.intro("AppAgent — Update existing app");
619
817
  // ── Resolve update context ───────────────────────────────────────────
620
818
  p.log.step("Resolving update source...");
@@ -622,7 +820,7 @@ async function updateApp(input, engine, ghAvailable) {
622
820
  // ── Scaffold workspace (npx mode) ────────────────────────────────────
623
821
  await scaffoldWorkspace();
624
822
  // ── Build update prompt ──────────────────────────────────────────────
625
- const prompt = await buildUpdatePrompt(updateCtx);
823
+ const prompt = await buildUpdatePrompt(updateCtx, input.keepSimulator ?? true);
626
824
  p.log.info("Update prompt built successfully.");
627
825
  // ── Run the agent engine ─────────────────────────────────────────────
628
826
  p.log.step(`Launching ${engine.name} agent for update...`);
@@ -757,6 +955,8 @@ async function updateApp(input, engine, ghAvailable) {
757
955
  else {
758
956
  p.outro(`Done! Changes applied to: ${updateCtx.appDir}`);
759
957
  }
958
+ // Auto-open preview after update (if screenshots exist)
959
+ await autoOpenPreview(updateCtx.appDir, cliFlags.noPreview ?? false);
760
960
  }
761
961
  async function displayReportSummary(targetApp) {
762
962
  const result = {};
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Preview Generator
3
+ *
4
+ * Reads output/{app}/preview/ (screenshots + screens.json) and generates
5
+ * a self-contained index.html with device frames, clickable hotspots,
6
+ * screen transitions, and a sidebar for navigation.
7
+ */
8
+ export interface Hotspot {
9
+ x: number;
10
+ y: number;
11
+ w: number;
12
+ h: number;
13
+ target: string;
14
+ label: string;
15
+ }
16
+ export interface Screen {
17
+ id: string;
18
+ label: string;
19
+ screenshot: string;
20
+ hotspots: Hotspot[];
21
+ }
22
+ export interface PreviewData {
23
+ appName: string;
24
+ platform: string;
25
+ template?: string;
26
+ designBrand?: string;
27
+ screens: Screen[];
28
+ initialScreen: string;
29
+ }
30
+ /**
31
+ * Generate preview/index.html from preview/screens.json and screenshot images.
32
+ * Returns the absolute path to the generated index.html.
33
+ */
34
+ export declare function generatePreview(appDir: string): Promise<string>;
35
+ //# sourceMappingURL=preview-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-generator.d.ts","sourceRoot":"","sources":["../src/preview-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBrE"}