vibefast-cli 0.2.3 → 0.3.0

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 (915) hide show
  1. package/.wrangler/state/v3/r2/miniflare-R2BucketObject/d1cc388a1a0ef44dd5669fd1a165d168b61362136c8b5fa50aefd96c72688e54.sqlite +0 -0
  2. package/.wrangler/state/v3/r2/miniflare-R2BucketObject/d1cc388a1a0ef44dd5669fd1a165d168b61362136c8b5fa50aefd96c72688e54.sqlite-shm +0 -0
  3. package/.wrangler/state/v3/r2/miniflare-R2BucketObject/d1cc388a1a0ef44dd5669fd1a165d168b61362136c8b5fa50aefd96c72688e54.sqlite-wal +0 -0
  4. package/.wrangler/state/v3/r2/vibefast-recipes/blobs/177b5d7279681c1bec396cafe63779a2d89eaf538109e55733147727276e2b9f0000019a81f04ba2 +0 -0
  5. package/.wrangler/state/v3/r2/vibefast-recipes/blobs/4fe398bba6e2d5f13b569bc1be4244e696d86caa04c323db2d9fb0b9381c508f0000019a81f0503f +0 -0
  6. package/.wrangler/state/v3/r2/vibefast-recipes/blobs/f68f19a655380ac7fb575eb49c0623cde74046261ed89c498ba5107b8aacde9d0000019a81f05484 +0 -0
  7. package/2/.claude/agents/architect.md +74 -0
  8. package/2/.claude/agents/convex-reviewer.md +267 -0
  9. package/2/.claude/agents/debug-detective.md +62 -0
  10. package/2/.claude/agents/learner.md +64 -0
  11. package/2/.claude/agents/perf-optimizer.md +71 -0
  12. package/2/.claude/agents/security-researcher.md +42 -0
  13. package/2/.claude/agents/tech-researcher.md +46 -0
  14. package/2/.claude/agents/ux-designer.md +45 -0
  15. package/2/.claude/commands/create-app-design.md +279 -0
  16. package/2/.claude/commands/create-prd-interactive.md +113 -0
  17. package/2/.claude/commands/create-prd.md +111 -0
  18. package/2/.claude/commands/create-tech-stack.md +345 -0
  19. package/2/.claude/commands/update-app-design.md +298 -0
  20. package/2/.claude/commands/update-project-structure.md +14 -0
  21. package/2/.claude/commands/update-tech-stack.md +325 -0
  22. package/2/.claude/docs/CONVEX_FEATURES_PLAN.md +249 -0
  23. package/2/.claude/docs/app-design-document.md +0 -0
  24. package/2/.claude/docs/project-status.md +25 -0
  25. package/2/.claude/docs/project-structure.md +7 -0
  26. package/2/.claude/docs/tech-stack.md +157 -0
  27. package/2/.claude/scripts/tree.sh +70 -0
  28. package/2/.claude/settings.json +30 -0
  29. package/2/.cursor/commands/code-review-high.md +190 -0
  30. package/2/.cursorignore +3 -0
  31. package/2/.github/ISSUE_TEMPLATE.md +13 -0
  32. package/2/.github/PULL_REQUEST_TEMPLATE.md +23 -0
  33. package/2/.github/actions/eas-build/action.yml +85 -0
  34. package/2/.github/actions/setup-jdk-generate-apk/action.yml +48 -0
  35. package/2/.github/actions/setup-node-pnpm-install/action.yml +29 -0
  36. package/2/.github/scripts/expo-doctor.sh +26 -0
  37. package/2/.github/workflows/compress-images.yml +48 -0
  38. package/2/.github/workflows/e2e-android-eas-build.yml +111 -0
  39. package/2/.github/workflows/e2e-android-maestro.yml +52 -0
  40. package/2/.github/workflows/e2e-android.yml +119 -0
  41. package/2/.github/workflows/eas-build-prod.yml +43 -0
  42. package/2/.github/workflows/eas-build-qa.yml +47 -0
  43. package/2/.github/workflows/expo-doctor.yml +61 -0
  44. package/2/.github/workflows/lint-ts.yml +49 -0
  45. package/2/.github/workflows/new-app-version.yml +65 -0
  46. package/2/.github/workflows/new-github-release.yml +34 -0
  47. package/2/.github/workflows/stale.yml +24 -0
  48. package/2/.github/workflows/test.yml +50 -0
  49. package/2/.github/workflows/type-check.yml +54 -0
  50. package/2/.husky/commit-msg +1 -0
  51. package/2/.husky/common.sh +8 -0
  52. package/2/.husky/post-merge +18 -0
  53. package/2/.husky/pre-commit +24 -0
  54. package/2/.prettierignore +14 -0
  55. package/2/.prettierrc.json +10 -0
  56. package/2/.vibefast/README.md +59 -0
  57. package/2/.vibefast/config.json +4 -0
  58. package/2/.vibefast/journal.json +234 -0
  59. package/2/.vibefast/starter.json +5 -0
  60. package/2/AGENTS.md +48 -0
  61. package/2/LICENSE +21 -0
  62. package/2/README.md +127 -0
  63. package/2/apps/native/__mocks__/bottom-sheet.js +6 -0
  64. package/2/apps/native/__mocks__/expo-router.js +16 -0
  65. package/2/apps/native/__mocks__/react-native-gesture-handler.ts +17 -0
  66. package/2/apps/native/app-env.d.ts +2 -0
  67. package/2/apps/native/app.config.ts +167 -0
  68. package/2/apps/native/assets/adaptive-icon.png +0 -0
  69. package/2/apps/native/assets/favicon.png +0 -0
  70. package/2/apps/native/assets/features/image-analyzer/front.jpg +0 -0
  71. package/2/apps/native/assets/features/image-analyzer/side.jpg +0 -0
  72. package/2/apps/native/assets/features/image-analyzer/threeQuarter.jpg +0 -0
  73. package/2/apps/native/assets/fonts/Inter.ttf +0 -0
  74. package/2/apps/native/assets/fonts/SF-Pro-Display-Bold.otf +0 -0
  75. package/2/apps/native/assets/fonts/SF-Pro-Display-Medium.otf +0 -0
  76. package/2/apps/native/assets/fonts/SF-Pro-Display-Regular.otf +0 -0
  77. package/2/apps/native/assets/fonts/SF-Pro-Display-Semibold.otf +0 -0
  78. package/2/apps/native/assets/fonts/SpaceMono-Regular.ttf +0 -0
  79. package/2/apps/native/assets/icon.png +0 -0
  80. package/2/apps/native/assets/images/cover-image.png +0 -0
  81. package/2/apps/native/assets/lottie-animations/onboarding-1.json +6504 -0
  82. package/2/apps/native/assets/lottie-animations/onboarding-2.json +1993 -0
  83. package/2/apps/native/assets/lottie-animations/onboarding-3.json +50159 -0
  84. package/2/apps/native/assets/lottie-animations/onboarding-4.json +735 -0
  85. package/2/apps/native/assets/lottie-animations/onboarding-6.json +2167 -0
  86. package/2/apps/native/assets/splash-icon.png +0 -0
  87. package/2/apps/native/babel.config.js +39 -0
  88. package/2/apps/native/eas.json +75 -0
  89. package/2/apps/native/env.js +196 -0
  90. package/2/apps/native/global.css +51 -0
  91. package/2/apps/native/index.ts +5 -0
  92. package/2/apps/native/jest-setup.ts +7 -0
  93. package/2/apps/native/jest.config.js +72 -0
  94. package/2/apps/native/metro.config.js +85 -0
  95. package/2/apps/native/nativewind-env.d.ts +1 -0
  96. package/2/apps/native/package.json +232 -0
  97. package/2/apps/native/scripts/DRY_RUN_REPORT.md +0 -0
  98. package/2/apps/native/scripts/QUICK_START.md +76 -0
  99. package/2/apps/native/scripts/README.md +187 -0
  100. package/2/apps/native/scripts/convex-setup.js +48 -0
  101. package/2/apps/native/scripts/download-vosk-model.mjs +121 -0
  102. package/2/apps/native/scripts/genrate-apk-and-install +39 -0
  103. package/2/apps/native/scripts/i18next-syntax-validation.js +23 -0
  104. package/2/apps/native/scripts/starter-setup.mjs +246 -0
  105. package/2/apps/native/src/api-client/auth.ts +68 -0
  106. package/2/apps/native/src/api-client/chatbot.ts +83 -0
  107. package/2/apps/native/src/api-client/client.ts +4 -0
  108. package/2/apps/native/src/api-client/image-analyzer.ts +62 -0
  109. package/2/apps/native/src/api-client/image-generator.ts +34 -0
  110. package/2/apps/native/src/api-client/index.ts +27 -0
  111. package/2/apps/native/src/api-client/payments.ts +44 -0
  112. package/2/apps/native/src/api-client/reporting.ts +29 -0
  113. package/2/apps/native/src/api-client/shared.ts +43 -0
  114. package/2/apps/native/src/app/(root)/(protected)/(tabs)/_layout.tsx +166 -0
  115. package/2/apps/native/src/app/(root)/(protected)/(tabs)/index.tsx +174 -0
  116. package/2/apps/native/src/app/(root)/(protected)/(tabs)/profile.tsx +320 -0
  117. package/2/apps/native/src/app/(root)/(protected)/(tabs)/settings.tsx +344 -0
  118. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/_layout.tsx +198 -0
  119. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/accordion.tsx +60 -0
  120. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/advanced.tsx +24 -0
  121. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/avatar.tsx +154 -0
  122. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/badge-chips-toggle.tsx +81 -0
  123. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/buttons.tsx +24 -0
  124. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/charts.tsx +3 -0
  125. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/date-picker.tsx +120 -0
  126. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/file-picker.tsx +133 -0
  127. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/gallery-video.tsx +119 -0
  128. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/index.tsx +69 -0
  129. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/inputs-stepper.tsx +78 -0
  130. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/picker-dropdown.tsx +56 -0
  131. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/popover-bottomsheet.tsx +229 -0
  132. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/progress.tsx +38 -0
  133. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/searchbar.tsx +70 -0
  134. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/sliders.tsx +93 -0
  135. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/spinner.tsx +80 -0
  136. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/switch.tsx +47 -0
  137. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/table.tsx +352 -0
  138. package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/tabs-timeline.tsx +122 -0
  139. package/2/apps/native/src/app/(root)/(protected)/_layout.tsx +143 -0
  140. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/_layout.tsx +5 -0
  141. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/analysis-options.tsx +50 -0
  142. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/camera.tsx +2 -0
  143. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/index.tsx +50 -0
  144. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/loading.tsx +50 -0
  145. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/results.tsx +2 -0
  146. package/2/apps/native/src/app/(root)/(protected)/analysis/[type]/trait-details.tsx +3 -0
  147. package/2/apps/native/src/app/(root)/(protected)/audio-recorder/index.tsx +5 -0
  148. package/2/apps/native/src/app/(root)/(protected)/charts/index.tsx +6 -0
  149. package/2/apps/native/src/app/(root)/(protected)/chatbot/index.tsx +2 -0
  150. package/2/apps/native/src/app/(root)/(protected)/image-generator/gallery.tsx +3 -0
  151. package/2/apps/native/src/app/(root)/(protected)/image-generator/index.tsx +3 -0
  152. package/2/apps/native/src/app/(root)/(protected)/paywall/index.tsx +74 -0
  153. package/2/apps/native/src/app/(root)/(protected)/paywall/local.tsx +25 -0
  154. package/2/apps/native/src/app/(root)/(protected)/paywall/remote.tsx +23 -0
  155. package/2/apps/native/src/app/(root)/(protected)/quick-actions-demo/index.tsx +32 -0
  156. package/2/apps/native/src/app/(root)/(protected)/quiz/index.tsx +47 -0
  157. package/2/apps/native/src/app/(root)/(protected)/test-wake-word.tsx +214 -0
  158. package/2/apps/native/src/app/(root)/(protected)/tracker-app/index.tsx +1 -0
  159. package/2/apps/native/src/app/(root)/(protected)/voice-bot/index.tsx +27 -0
  160. package/2/apps/native/src/app/(root)/(public)/(auth)/_layout.tsx +44 -0
  161. package/2/apps/native/src/app/(root)/(public)/(auth)/forgot-password.tsx +185 -0
  162. package/2/apps/native/src/app/(root)/(public)/(auth)/login.tsx +219 -0
  163. package/2/apps/native/src/app/(root)/(public)/(auth)/otp-verification.tsx +369 -0
  164. package/2/apps/native/src/app/(root)/(public)/(auth)/reset-password.tsx +247 -0
  165. package/2/apps/native/src/app/(root)/(public)/(auth)/signup.tsx +207 -0
  166. package/2/apps/native/src/app/(root)/(public)/_layout.tsx +60 -0
  167. package/2/apps/native/src/app/(root)/(public)/onboarding/demo-one.tsx +5 -0
  168. package/2/apps/native/src/app/(root)/(public)/onboarding/demo-two.tsx +52 -0
  169. package/2/apps/native/src/app/(root)/(public)/onboarding/index.tsx +82 -0
  170. package/2/apps/native/src/app/(root)/_layout.tsx +30 -0
  171. package/2/apps/native/src/app/+html.tsx +46 -0
  172. package/2/apps/native/src/app/[...messing].tsx +24 -0
  173. package/2/apps/native/src/app/_layout.tsx +56 -0
  174. package/2/apps/native/src/app/tsconfig.json +3 -0
  175. package/2/apps/native/src/components/advanced-ui/buttons/demo.tsx +19 -0
  176. package/2/apps/native/src/components/advanced-ui/buttons/glowing-button.tsx +366 -0
  177. package/2/apps/native/src/components/advanced-ui/chip/animated-chip.tsx +118 -0
  178. package/2/apps/native/src/components/advanced-ui/chip/chip.tsx +49 -0
  179. package/2/apps/native/src/components/advanced-ui/chip/demo.tsx +191 -0
  180. package/2/apps/native/src/components/advanced-ui/chip/types.ts +21 -0
  181. package/2/apps/native/src/components/advanced-ui/progress-bars/animated-progress-bar.tsx +182 -0
  182. package/2/apps/native/src/components/advanced-ui/progress-bars/dropdown-picker-page.tsx +124 -0
  183. package/2/apps/native/src/components/advanced-ui/progress-bars/progress-circle-page.tsx +111 -0
  184. package/2/apps/native/src/components/advanced-ui/progress-bars/progress-circle.tsx +223 -0
  185. package/2/apps/native/src/components/advanced-ui/sliders/swipe-slider-page.tsx +203 -0
  186. package/2/apps/native/src/components/advanced-ui/sliders/swipe-slider.tsx +266 -0
  187. package/2/apps/native/src/components/advanced-ui/stepper/children/button/stepper-button.tsx +96 -0
  188. package/2/apps/native/src/components/advanced-ui/stepper/children/button/types.ts +16 -0
  189. package/2/apps/native/src/components/advanced-ui/stepper/children/content/stepper-content.tsx +19 -0
  190. package/2/apps/native/src/components/advanced-ui/stepper/children/content/types.ts +6 -0
  191. package/2/apps/native/src/components/advanced-ui/stepper/children/value/stepper-value.tsx +43 -0
  192. package/2/apps/native/src/components/advanced-ui/stepper/children/value/types.ts +25 -0
  193. package/2/apps/native/src/components/advanced-ui/stepper/context/stepper-context.ts +19 -0
  194. package/2/apps/native/src/components/advanced-ui/stepper/context/types.ts +9 -0
  195. package/2/apps/native/src/components/advanced-ui/stepper/demo.tsx +346 -0
  196. package/2/apps/native/src/components/advanced-ui/stepper/index.ts +4 -0
  197. package/2/apps/native/src/components/advanced-ui/stepper/stepper.tsx +96 -0
  198. package/2/apps/native/src/components/advanced-ui/stepper/types.ts +13 -0
  199. package/2/apps/native/src/components/advanced-ui/switch/animated-switch.tsx +312 -0
  200. package/2/apps/native/src/components/advanced-ui/switch/demo.tsx +851 -0
  201. package/2/apps/native/src/components/advanced-ui/switch/types.ts +32 -0
  202. package/2/apps/native/src/components/advanced-ui/timeline/demo.tsx +444 -0
  203. package/2/apps/native/src/components/advanced-ui/timeline/timeline-view.tsx +355 -0
  204. package/2/apps/native/src/components/advanced-ui/timeline/types.ts +31 -0
  205. package/2/apps/native/src/components/analytics/navigation-tracker.tsx +10 -0
  206. package/2/apps/native/src/components/demo/advanced-ui-components.tsx +46 -0
  207. package/2/apps/native/src/components/demo/buttons-demo.tsx +56 -0
  208. package/2/apps/native/src/components/demo/colors-demo.tsx +52 -0
  209. package/2/apps/native/src/components/demo/dropdown-picker-demo.tsx +274 -0
  210. package/2/apps/native/src/components/demo/inputs-demo.tsx +99 -0
  211. package/2/apps/native/src/components/demo/notification-demo.tsx +434 -0
  212. package/2/apps/native/src/components/demo/title-demo.tsx +16 -0
  213. package/2/apps/native/src/components/demo/toast-demo.tsx +81 -0
  214. package/2/apps/native/src/components/demo/typography-demo.tsx +28 -0
  215. package/2/apps/native/src/components/performance/render-performance-monitor.tsx +36 -0
  216. package/2/apps/native/src/components/ui/accordion.tsx +138 -0
  217. package/2/apps/native/src/components/ui/avatar.tsx +66 -0
  218. package/2/apps/native/src/components/ui/badge.tsx +68 -0
  219. package/2/apps/native/src/components/ui/bottom-sheet.tsx +61 -0
  220. package/2/apps/native/src/components/ui/colors.js +290 -0
  221. package/2/apps/native/src/components/ui/core/button.tsx +317 -0
  222. package/2/apps/native/src/components/ui/core/card.tsx +40 -0
  223. package/2/apps/native/src/components/ui/core/checkbox.tsx +264 -0
  224. package/2/apps/native/src/components/ui/core/feature-button.tsx +162 -0
  225. package/2/apps/native/src/components/ui/core/focus-aware-status-bar.tsx +21 -0
  226. package/2/apps/native/src/components/ui/core/image.tsx +30 -0
  227. package/2/apps/native/src/components/ui/core/inputs/floating-text-input.tsx +369 -0
  228. package/2/apps/native/src/components/ui/core/inputs/input-otp.tsx +304 -0
  229. package/2/apps/native/src/components/ui/core/inputs/input.tsx +373 -0
  230. package/2/apps/native/src/components/ui/core/list.tsx +60 -0
  231. package/2/apps/native/src/components/ui/core/navigation/animated-header.tsx +87 -0
  232. package/2/apps/native/src/components/ui/core/navigation/screen-footer.tsx +67 -0
  233. package/2/apps/native/src/components/ui/core/overlays/dropdown.tsx +290 -0
  234. package/2/apps/native/src/components/ui/core/overlays/full-screen-loading.tsx +15 -0
  235. package/2/apps/native/src/components/ui/core/overlays/modal-keyboard-aware-scroll-view.tsx +46 -0
  236. package/2/apps/native/src/components/ui/core/overlays/modal.tsx +247 -0
  237. package/2/apps/native/src/components/ui/core/pagination-dots.tsx +231 -0
  238. package/2/apps/native/src/components/ui/core/pressable.tsx +48 -0
  239. package/2/apps/native/src/components/ui/core/progress-bar.tsx +47 -0
  240. package/2/apps/native/src/components/ui/core/progress.tsx +149 -0
  241. package/2/apps/native/src/components/ui/core/select.tsx +261 -0
  242. package/2/apps/native/src/components/ui/core/spinner.tsx +387 -0
  243. package/2/apps/native/src/components/ui/core/text.tsx +45 -0
  244. package/2/apps/native/src/components/ui/core/toast.tsx +190 -0
  245. package/2/apps/native/src/components/ui/custom-switch.tsx +90 -0
  246. package/2/apps/native/src/components/ui/date-time-picker.tsx +268 -0
  247. package/2/apps/native/src/components/ui/debug.ts +2 -0
  248. package/2/apps/native/src/components/ui/extras/debug-credit-tester.tsx +107 -0
  249. package/2/apps/native/src/components/ui/extras/debug-mmkv-state.tsx +53 -0
  250. package/2/apps/native/src/components/ui/extras/handle-error.ts +191 -0
  251. package/2/apps/native/src/components/ui/extras/hello-wave.tsx +70 -0
  252. package/2/apps/native/src/components/ui/extras/icon.tsx +36 -0
  253. package/2/apps/native/src/components/ui/extras/network-connectivity-wrapper.tsx +36 -0
  254. package/2/apps/native/src/components/ui/extras/offline-indicator.tsx +55 -0
  255. package/2/apps/native/src/components/ui/extras/social-login-buttons.tsx +296 -0
  256. package/2/apps/native/src/components/ui/file-picker.tsx +177 -0
  257. package/2/apps/native/src/components/ui/gallery.tsx +79 -0
  258. package/2/apps/native/src/components/ui/icons/apple.tsx +19 -0
  259. package/2/apps/native/src/components/ui/icons/arrow-right.tsx +26 -0
  260. package/2/apps/native/src/components/ui/icons/camera.tsx +26 -0
  261. package/2/apps/native/src/components/ui/icons/caret-down.tsx +20 -0
  262. package/2/apps/native/src/components/ui/icons/chevron-up.tsx +21 -0
  263. package/2/apps/native/src/components/ui/icons/claude.tsx +15 -0
  264. package/2/apps/native/src/components/ui/icons/copy.tsx +27 -0
  265. package/2/apps/native/src/components/ui/icons/deepseek.tsx +15 -0
  266. package/2/apps/native/src/components/ui/icons/download.tsx +32 -0
  267. package/2/apps/native/src/components/ui/icons/feed.tsx +12 -0
  268. package/2/apps/native/src/components/ui/icons/gemini.tsx +15 -0
  269. package/2/apps/native/src/components/ui/icons/github.tsx +30 -0
  270. package/2/apps/native/src/components/ui/icons/google.tsx +24 -0
  271. package/2/apps/native/src/components/ui/icons/groq.tsx +15 -0
  272. package/2/apps/native/src/components/ui/icons/home.tsx +19 -0
  273. package/2/apps/native/src/components/ui/icons/index.tsx +26 -0
  274. package/2/apps/native/src/components/ui/icons/language.tsx +33 -0
  275. package/2/apps/native/src/components/ui/icons/llama.tsx +15 -0
  276. package/2/apps/native/src/components/ui/icons/microphone.tsx +20 -0
  277. package/2/apps/native/src/components/ui/icons/mistral.tsx +22 -0
  278. package/2/apps/native/src/components/ui/icons/nutrition.tsx +15 -0
  279. package/2/apps/native/src/components/ui/icons/openai.tsx +15 -0
  280. package/2/apps/native/src/components/ui/icons/perplexity.tsx +22 -0
  281. package/2/apps/native/src/components/ui/icons/qwen.tsx +15 -0
  282. package/2/apps/native/src/components/ui/icons/rate.tsx +24 -0
  283. package/2/apps/native/src/components/ui/icons/report.tsx +20 -0
  284. package/2/apps/native/src/components/ui/icons/send-horizontal.tsx +26 -0
  285. package/2/apps/native/src/components/ui/icons/settings.tsx +12 -0
  286. package/2/apps/native/src/components/ui/icons/share.tsx +16 -0
  287. package/2/apps/native/src/components/ui/icons/square.tsx +9 -0
  288. package/2/apps/native/src/components/ui/icons/style.tsx +22 -0
  289. package/2/apps/native/src/components/ui/icons/support.tsx +27 -0
  290. package/2/apps/native/src/components/ui/icons/trash2.tsx +42 -0
  291. package/2/apps/native/src/components/ui/icons/user.tsx +12 -0
  292. package/2/apps/native/src/components/ui/icons/website.tsx +28 -0
  293. package/2/apps/native/src/components/ui/icons/wifi-off.tsx +17 -0
  294. package/2/apps/native/src/components/ui/index.tsx +14 -0
  295. package/2/apps/native/src/components/ui/nav-item.tsx +42 -0
  296. package/2/apps/native/src/components/ui/patterns/index.ts +16 -0
  297. package/2/apps/native/src/components/ui/picker.tsx +244 -0
  298. package/2/apps/native/src/components/ui/popover.tsx +313 -0
  299. package/2/apps/native/src/components/ui/primitives/index.ts +38 -0
  300. package/2/apps/native/src/components/ui/radio-group.tsx +47 -0
  301. package/2/apps/native/src/components/ui/searchbar.tsx +118 -0
  302. package/2/apps/native/src/components/ui/sheet.tsx +93 -0
  303. package/2/apps/native/src/components/ui/switch.tsx +37 -0
  304. package/2/apps/native/src/components/ui/table.tsx +296 -0
  305. package/2/apps/native/src/components/ui/tabs.tsx +115 -0
  306. package/2/apps/native/src/components/ui/toggle.tsx +50 -0
  307. package/2/apps/native/src/components/ui/utils.tsx +34 -0
  308. package/2/apps/native/src/components/ui/video.tsx +39 -0
  309. package/2/apps/native/src/core/analytics/analytics-service.ts +94 -0
  310. package/2/apps/native/src/core/analytics/index.ts +2 -0
  311. package/2/apps/native/src/core/analytics/posthog-analytics-adapter.ts +192 -0
  312. package/2/apps/native/src/core/auth/auth-service.ts +33 -0
  313. package/2/apps/native/src/core/auth/index.ts +1 -0
  314. package/2/apps/native/src/core/cache/__tests__/cache-service.test.ts +599 -0
  315. package/2/apps/native/src/core/cache/cache-service.ts +89 -0
  316. package/2/apps/native/src/core/cache/index.ts +45 -0
  317. package/2/apps/native/src/core/config/config.service.ts +153 -0
  318. package/2/apps/native/src/core/config/index.ts +2 -0
  319. package/2/apps/native/src/core/config/telemetry.ts +38 -0
  320. package/2/apps/native/src/core/local-notifications/local-notification-manager.ts +409 -0
  321. package/2/apps/native/src/core/logging/custom-transports.ts +126 -0
  322. package/2/apps/native/src/core/logging/index.ts +1 -0
  323. package/2/apps/native/src/core/logging/logger.ts +182 -0
  324. package/2/apps/native/src/core/navigation/deep-link-handler.ts +295 -0
  325. package/2/apps/native/src/core/navigation/navigation-types.ts +53 -0
  326. package/2/apps/native/src/core/payments/index.ts +1 -0
  327. package/2/apps/native/src/core/payments/payment-service.ts +32 -0
  328. package/2/apps/native/src/core/quick-actions/index.ts +2 -0
  329. package/2/apps/native/src/core/quick-actions/quick-actions-adapter.ts +54 -0
  330. package/2/apps/native/src/core/quick-actions/types.ts +29 -0
  331. package/2/apps/native/src/core/storage/index.ts +1 -0
  332. package/2/apps/native/src/core/storage/mmkv.ts +62 -0
  333. package/2/apps/native/src/core/storage/notification-storage.ts +312 -0
  334. package/2/apps/native/src/core/types/common.ts +0 -0
  335. package/2/apps/native/src/core/utils/convex-http-api.ts +30 -0
  336. package/2/apps/native/src/features/audio-recorder/components/audio-player.tsx +301 -0
  337. package/2/apps/native/src/features/audio-recorder/components/audio-recorder.tsx +373 -0
  338. package/2/apps/native/src/features/audio-recorder/components/audio-waveform.tsx +270 -0
  339. package/2/apps/native/src/features/audio-recorder/components/index.ts +4 -0
  340. package/2/apps/native/src/features/audio-recorder/components/recording-list.tsx +89 -0
  341. package/2/apps/native/src/features/audio-recorder/demo/audio-player-demo.tsx +66 -0
  342. package/2/apps/native/src/features/audio-recorder/demo/audio-recorder-cloud.tsx +68 -0
  343. package/2/apps/native/src/features/audio-recorder/demo/audio-recorder-interview.tsx +102 -0
  344. package/2/apps/native/src/features/audio-recorder/demo/basic.tsx +27 -0
  345. package/2/apps/native/src/features/audio-recorder/demo/index.ts +5 -0
  346. package/2/apps/native/src/features/audio-recorder/demo/with-recording-list-demo.tsx +82 -0
  347. package/2/apps/native/src/features/authentication/components/auth-watcher.tsx +115 -0
  348. package/2/apps/native/src/features/authentication/components/login-form.tsx +85 -0
  349. package/2/apps/native/src/features/authentication/services/__tests__/convex-auth.adapter.test.ts +399 -0
  350. package/2/apps/native/src/features/authentication/services/convex-auth.adapter.ts +497 -0
  351. package/2/apps/native/src/features/authentication/services/index.ts +2 -0
  352. package/2/apps/native/src/features/charts/README.md +185 -0
  353. package/2/apps/native/src/features/charts/app/preview.tsx +226 -0
  354. package/2/apps/native/src/features/charts/components/area-chart.tsx +43 -0
  355. package/2/apps/native/src/features/charts/components/bar-chart.tsx +146 -0
  356. package/2/apps/native/src/features/charts/components/candlestick-chart.tsx +199 -0
  357. package/2/apps/native/src/features/charts/components/chart-card.tsx +68 -0
  358. package/2/apps/native/src/features/charts/components/column-chart.tsx +146 -0
  359. package/2/apps/native/src/features/charts/components/doughnut-chart.tsx +260 -0
  360. package/2/apps/native/src/features/charts/components/index.ts +13 -0
  361. package/2/apps/native/src/features/charts/components/line-chart.tsx +311 -0
  362. package/2/apps/native/src/features/charts/components/radar-chart.tsx +183 -0
  363. package/2/apps/native/src/features/charts/components/radial-bar-chart.tsx +191 -0
  364. package/2/apps/native/src/features/charts/components/stacked-area-chart.tsx +268 -0
  365. package/2/apps/native/src/features/charts/components/stacked-bar-chart.tsx +325 -0
  366. package/2/apps/native/src/features/charts/data/mock-data.ts +186 -0
  367. package/2/apps/native/src/features/charts/types/index.ts +69 -0
  368. package/2/apps/native/src/features/chatbot/app/index.tsx +303 -0
  369. package/2/apps/native/src/features/chatbot/components/chat-header-buttons.tsx +60 -0
  370. package/2/apps/native/src/features/chatbot/components/chat-input-bar.tsx +470 -0
  371. package/2/apps/native/src/features/chatbot/components/chat-markdown.tsx +576 -0
  372. package/2/apps/native/src/features/chatbot/components/chat-message-bubble.tsx +247 -0
  373. package/2/apps/native/src/features/chatbot/components/chat-settings-modal.tsx +162 -0
  374. package/2/apps/native/src/features/chatbot/components/image-preview-list.tsx +116 -0
  375. package/2/apps/native/src/features/chatbot/components/markdown/code-block.tsx +166 -0
  376. package/2/apps/native/src/features/chatbot/components/markdown/index.ts +11 -0
  377. package/2/apps/native/src/features/chatbot/components/markdown/table-renderer.tsx +130 -0
  378. package/2/apps/native/src/features/chatbot/components/message-error-boundary.tsx +79 -0
  379. package/2/apps/native/src/features/chatbot/components/message-list.tsx +174 -0
  380. package/2/apps/native/src/features/chatbot/components/model-selector.tsx +284 -0
  381. package/2/apps/native/src/features/chatbot/components/report-content-modal.tsx +189 -0
  382. package/2/apps/native/src/features/chatbot/components/suggested-messages.tsx +68 -0
  383. package/2/apps/native/src/features/chatbot/constants/models.ts +21 -0
  384. package/2/apps/native/src/features/chatbot/constants/report-reasons.ts +10 -0
  385. package/2/apps/native/src/features/chatbot/hooks/use-attachment-cache.ts +144 -0
  386. package/2/apps/native/src/features/chatbot/hooks/use-chat-config.ts +665 -0
  387. package/2/apps/native/src/features/chatbot/hooks/use-chat-handlers.ts +360 -0
  388. package/2/apps/native/src/features/chatbot/hooks/use-chatbot-settings.ts +90 -0
  389. package/2/apps/native/src/features/chatbot/hooks/use-conversation.ts +80 -0
  390. package/2/apps/native/src/features/chatbot/hooks/use-image-picker.ts +123 -0
  391. package/2/apps/native/src/features/chatbot/hooks/use-keyboard-coordinator.ts +162 -0
  392. package/2/apps/native/src/features/chatbot/hooks/use-smart-scroll-manager.ts +214 -0
  393. package/2/apps/native/src/features/chatbot/models/index.ts +87 -0
  394. package/2/apps/native/src/features/chatbot/models/models.ts +163 -0
  395. package/2/apps/native/src/features/chatbot/models/providers.ts +63 -0
  396. package/2/apps/native/src/features/chatbot/models/types.ts +41 -0
  397. package/2/apps/native/src/features/chatbot/services/file-uploader.ts +239 -0
  398. package/2/apps/native/src/features/chatbot/services/message-handler-service.ts +181 -0
  399. package/2/apps/native/src/features/chatbot/types/index.ts +61 -0
  400. package/2/apps/native/src/features/chatbot/utils/chat-telemetry.ts +92 -0
  401. package/2/apps/native/src/features/image-analyzer/app/analysis-options-screen.tsx +304 -0
  402. package/2/apps/native/src/features/image-analyzer/app/camera.tsx +221 -0
  403. package/2/apps/native/src/features/image-analyzer/app/image-capture-screen.tsx +333 -0
  404. package/2/apps/native/src/features/image-analyzer/app/loading-screen.tsx +217 -0
  405. package/2/apps/native/src/features/image-analyzer/app/loading.tsx +194 -0
  406. package/2/apps/native/src/features/image-analyzer/app/results.tsx +137 -0
  407. package/2/apps/native/src/features/image-analyzer/app/trait-details.tsx +172 -0
  408. package/2/apps/native/src/features/image-analyzer/app/use-analysis-data.ts +143 -0
  409. package/2/apps/native/src/features/image-analyzer/app/use-results-screen.ts +151 -0
  410. package/2/apps/native/src/features/image-analyzer/components/results/achievement-badge.tsx +77 -0
  411. package/2/apps/native/src/features/image-analyzer/components/results/achievement-card.tsx +75 -0
  412. package/2/apps/native/src/features/image-analyzer/components/results/achievement-unlocked-modal.tsx +162 -0
  413. package/2/apps/native/src/features/image-analyzer/components/results/achievements-section.tsx +44 -0
  414. package/2/apps/native/src/features/image-analyzer/components/results/advice-list.tsx +42 -0
  415. package/2/apps/native/src/features/image-analyzer/components/results/circular-progress.tsx +233 -0
  416. package/2/apps/native/src/features/image-analyzer/components/results/content-card.tsx +38 -0
  417. package/2/apps/native/src/features/image-analyzer/components/results/error-state.tsx +42 -0
  418. package/2/apps/native/src/features/image-analyzer/components/results/index.ts +9 -0
  419. package/2/apps/native/src/features/image-analyzer/components/results/loading-state.tsx +26 -0
  420. package/2/apps/native/src/features/image-analyzer/components/results/profile-image.tsx +60 -0
  421. package/2/apps/native/src/features/image-analyzer/components/results/results-header.tsx +62 -0
  422. package/2/apps/native/src/features/image-analyzer/components/results/score-display.tsx +54 -0
  423. package/2/apps/native/src/features/image-analyzer/components/results/share-options-modal.tsx +110 -0
  424. package/2/apps/native/src/features/image-analyzer/components/results/traits-grid.tsx +74 -0
  425. package/2/apps/native/src/features/image-analyzer/config/analysis-config.ts +80 -0
  426. package/2/apps/native/src/features/image-analyzer/config/master-analysis-config.ts +157 -0
  427. package/2/apps/native/src/features/image-analyzer/hooks/index.ts +1 -0
  428. package/2/apps/native/src/features/image-analyzer/hooks/use-analysis.ts +37 -0
  429. package/2/apps/native/src/features/image-analyzer/hooks/use-image-analysis.ts +202 -0
  430. package/2/apps/native/src/features/image-analyzer/services/analysis-service.ts +262 -0
  431. package/2/apps/native/src/features/image-analyzer/services/share-service.ts +176 -0
  432. package/2/apps/native/src/features/image-analyzer/services/trait-details-service.ts +289 -0
  433. package/2/apps/native/src/features/image-generator/app/_layout.tsx +26 -0
  434. package/2/apps/native/src/features/image-generator/app/gallery.tsx +217 -0
  435. package/2/apps/native/src/features/image-generator/app/index.tsx +237 -0
  436. package/2/apps/native/src/features/image-generator/components/gallery-image.tsx +25 -0
  437. package/2/apps/native/src/features/image-generator/components/image-detail-modal.tsx +215 -0
  438. package/2/apps/native/src/features/image-generator/components/image-model-selector.tsx +210 -0
  439. package/2/apps/native/src/features/image-generator/components/image-placeholder.tsx +26 -0
  440. package/2/apps/native/src/features/image-generator/hooks/use-image-gallery.ts +71 -0
  441. package/2/apps/native/src/features/image-generator/hooks/use-image-generator-settings.ts +152 -0
  442. package/2/apps/native/src/features/image-generator/hooks/use-image-generator.ts +93 -0
  443. package/2/apps/native/src/features/image-generator/models/models.ts +66 -0
  444. package/2/apps/native/src/features/image-generator/services/image-gallery-service.ts +98 -0
  445. package/2/apps/native/src/features/image-generator/services/image-save-service.ts +121 -0
  446. package/2/apps/native/src/features/onboarding/analytics/index.ts +9 -0
  447. package/2/apps/native/src/features/onboarding/components/onboarding-with-analytics.tsx +141 -0
  448. package/2/apps/native/src/features/onboarding/components/onboarding.tsx +173 -0
  449. package/2/apps/native/src/features/onboarding/config/onboarding-flow-config.ts +189 -0
  450. package/2/apps/native/src/features/onboarding/demo-one/app/index.tsx +43 -0
  451. package/2/apps/native/src/features/onboarding/demo-one/data.ts +32 -0
  452. package/2/apps/native/src/features/onboarding/hooks/use-onboarding-analytics.ts +323 -0
  453. package/2/apps/native/src/features/onboarding/services/onboarding-analytics.ts +432 -0
  454. package/2/apps/native/src/features/payments/README.md +200 -0
  455. package/2/apps/native/src/features/payments/app/local-paywall.tsx +194 -0
  456. package/2/apps/native/src/features/payments/app/remote-paywall.tsx +79 -0
  457. package/2/apps/native/src/features/payments/components/payment-initializer.tsx +95 -0
  458. package/2/apps/native/src/features/payments/components/paywall-error-state.tsx +60 -0
  459. package/2/apps/native/src/features/payments/components/paywall-local-mode.tsx +116 -0
  460. package/2/apps/native/src/features/payments/components/paywall-product-card.tsx +133 -0
  461. package/2/apps/native/src/features/payments/components/paywall-remote-mode.tsx +146 -0
  462. package/2/apps/native/src/features/payments/hooks/use-entitlement.ts +63 -0
  463. package/2/apps/native/src/features/payments/index.ts +8 -0
  464. package/2/apps/native/src/features/payments/services/revenuecat-adapter.ts +407 -0
  465. package/2/apps/native/src/features/quick-actions/components/quick-actions-demo.tsx +139 -0
  466. package/2/apps/native/src/features/quick-actions/config/default-actions.ts +83 -0
  467. package/2/apps/native/src/features/quick-actions/hooks/use-quick-actions.ts +45 -0
  468. package/2/apps/native/src/features/quick-actions/index.ts +4 -0
  469. package/2/apps/native/src/features/quick-actions/utils/quick-actions-manager.ts +105 -0
  470. package/2/apps/native/src/features/quiz/components/question.tsx +67 -0
  471. package/2/apps/native/src/features/quiz/config.ts +11 -0
  472. package/2/apps/native/src/features/quiz/index.tsx +133 -0
  473. package/2/apps/native/src/features/settings/ui/debug-info.tsx +75 -0
  474. package/2/apps/native/src/features/settings/ui/dev-tools.tsx +1 -0
  475. package/2/apps/native/src/features/settings/ui/item.tsx +45 -0
  476. package/2/apps/native/src/features/settings/ui/items-container.tsx +23 -0
  477. package/2/apps/native/src/features/settings/ui/language-item.tsx +52 -0
  478. package/2/apps/native/src/features/settings/ui/notification-item.tsx +59 -0
  479. package/2/apps/native/src/features/settings/ui/theme-item.tsx +45 -0
  480. package/2/apps/native/src/features/tracker-app/app/index.tsx +108 -0
  481. package/2/apps/native/src/features/tracker-app/components/animated-number.tsx +102 -0
  482. package/2/apps/native/src/features/tracker-app/components/calorie-card.tsx +66 -0
  483. package/2/apps/native/src/features/tracker-app/components/circular-progress.tsx +97 -0
  484. package/2/apps/native/src/features/tracker-app/components/floating-add-button.tsx +27 -0
  485. package/2/apps/native/src/features/tracker-app/components/macro-card.tsx +80 -0
  486. package/2/apps/native/src/features/tracker-app/components/promo-banner.tsx +98 -0
  487. package/2/apps/native/src/features/tracker-app/components/recently-logged.tsx +64 -0
  488. package/2/apps/native/src/features/tracker-app/components/week-calendar.tsx +68 -0
  489. package/2/apps/native/src/features/vibefast-features.ts +42 -0
  490. package/2/apps/native/src/features/voice-bot/README.md +185 -0
  491. package/2/apps/native/src/features/voice-bot/components/conversation-status.tsx +76 -0
  492. package/2/apps/native/src/features/voice-bot/components/index.ts +4 -0
  493. package/2/apps/native/src/features/voice-bot/components/message-input.tsx +98 -0
  494. package/2/apps/native/src/features/voice-bot/components/voice-bot-screen.tsx +173 -0
  495. package/2/apps/native/src/features/voice-bot/components/voice-controls.tsx +73 -0
  496. package/2/apps/native/src/features/voice-bot/index.ts +3 -0
  497. package/2/apps/native/src/features/voice-bot/services/index.ts +1 -0
  498. package/2/apps/native/src/features/voice-bot/services/use-voice-bot.ts +161 -0
  499. package/2/apps/native/src/features/voice-bot/types.ts +29 -0
  500. package/2/apps/native/src/features/wake-word/components/index.ts +1 -0
  501. package/2/apps/native/src/features/wake-word/components/wake-word-indicator.tsx +61 -0
  502. package/2/apps/native/src/features/wake-word/constants.ts +10 -0
  503. package/2/apps/native/src/features/wake-word/hooks/use-wake-word.ts +181 -0
  504. package/2/apps/native/src/features/wake-word/index.ts +22 -0
  505. package/2/apps/native/src/features/wake-word/services/audio-session.ts +40 -0
  506. package/2/apps/native/src/features/wake-word/services/event-bus.ts +31 -0
  507. package/2/apps/native/src/features/wake-word/services/keywords.ts +88 -0
  508. package/2/apps/native/src/features/wake-word/services/wake-word-manager.ts +249 -0
  509. package/2/apps/native/src/features/wake-word/types.ts +22 -0
  510. package/2/apps/native/src/lib/env.js +13 -0
  511. package/2/apps/native/src/lib/hooks/index.tsx +6 -0
  512. package/2/apps/native/src/lib/hooks/use-device-identifier.tsx +80 -0
  513. package/2/apps/native/src/lib/hooks/use-gradual-animation.ts +28 -0
  514. package/2/apps/native/src/lib/hooks/use-is-first-time.tsx +25 -0
  515. package/2/apps/native/src/lib/hooks/use-navigation-analytics.ts +44 -0
  516. package/2/apps/native/src/lib/hooks/use-navigation-options.tsx +87 -0
  517. package/2/apps/native/src/lib/hooks/use-push-notifications.ts +250 -0
  518. package/2/apps/native/src/lib/hooks/use-responsive-size.tsx +37 -0
  519. package/2/apps/native/src/lib/hooks/use-selected-theme.tsx +38 -0
  520. package/2/apps/native/src/lib/hooks/use-viewport-lazy-loading.tsx +124 -0
  521. package/2/apps/native/src/lib/i18n/index.tsx +30 -0
  522. package/2/apps/native/src/lib/i18n/react-i18next.d.ts +9 -0
  523. package/2/apps/native/src/lib/i18n/resources.ts +25 -0
  524. package/2/apps/native/src/lib/i18n/types.ts +23 -0
  525. package/2/apps/native/src/lib/i18n/utils.tsx +112 -0
  526. package/2/apps/native/src/lib/index.tsx +3 -0
  527. package/2/apps/native/src/lib/state/auth-client-slice.ts +34 -0
  528. package/2/apps/native/src/lib/state/index.ts +1 -0
  529. package/2/apps/native/src/lib/storage.tsx +7 -0
  530. package/2/apps/native/src/lib/test-utils.tsx +43 -0
  531. package/2/apps/native/src/lib/use-theme-config.tsx +108 -0
  532. package/2/apps/native/src/lib/utils.ts +29 -0
  533. package/2/apps/native/src/polyfills.ts +61 -0
  534. package/2/apps/native/src/providers/convex-provider.tsx +31 -0
  535. package/2/apps/native/src/providers/index.tsx +6 -0
  536. package/2/apps/native/src/providers/notification-provider.tsx +168 -0
  537. package/2/apps/native/src/providers/posthog-provider.tsx +47 -0
  538. package/2/apps/native/src/providers/root-providers.tsx +46 -0
  539. package/2/apps/native/src/providers/sentry-provider.tsx +62 -0
  540. package/2/apps/native/src/providers/splash-screen-provider.tsx +122 -0
  541. package/2/apps/native/src/providers/theme-provider.tsx +67 -0
  542. package/2/apps/native/src/translations/ar.json +394 -0
  543. package/2/apps/native/src/translations/de.json +394 -0
  544. package/2/apps/native/src/translations/en.json +394 -0
  545. package/2/apps/native/src/translations/es.json +394 -0
  546. package/2/apps/native/src/translations/fr.json +394 -0
  547. package/2/apps/native/src/types/flash-list.d.ts +3 -0
  548. package/2/apps/native/src/types/index.ts +3 -0
  549. package/2/apps/native/src/types/react-native-reanimated.d.ts +5 -0
  550. package/2/apps/native/tailwind.config.js +57 -0
  551. package/2/apps/native/targets/widget/AppIntent.swift +46 -0
  552. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png +0 -0
  553. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png +0 -0
  554. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png +0 -0
  555. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png +0 -0
  556. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png +0 -0
  557. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png +0 -0
  558. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png +0 -0
  559. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png +0 -0
  560. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png +0 -0
  561. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png +0 -0
  562. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png +0 -0
  563. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png +0 -0
  564. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png +0 -0
  565. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png +0 -0
  566. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/Contents.json +122 -0
  567. package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png +0 -0
  568. package/2/apps/native/targets/widget/CalorieTrackerWidget.swift +424 -0
  569. package/2/apps/native/targets/widget/HabitTrackerWidget.swift +305 -0
  570. package/2/apps/native/targets/widget/Info.plist +11 -0
  571. package/2/apps/native/targets/widget/WidgetLiveActivity.swift +75 -0
  572. package/2/apps/native/targets/widget/expo-target.config.js +10 -0
  573. package/2/apps/native/targets/widget/generated.entitlements +5 -0
  574. package/2/apps/native/targets/widget/index.swift +18 -0
  575. package/2/apps/native/targets/widget/widgets.swift +96 -0
  576. package/2/apps/native/tsconfig.json +88 -0
  577. package/2/apps/native/vitest.config.mts +14 -0
  578. package/2/apps/web/README.md +36 -0
  579. package/2/apps/web/app/favicon.ico +0 -0
  580. package/2/apps/web/app/globals.css +122 -0
  581. package/2/apps/web/app/layout.tsx +38 -0
  582. package/2/apps/web/app/page.tsx +35 -0
  583. package/2/apps/web/app/users/page.tsx +301 -0
  584. package/2/apps/web/components/AdminDashboard.tsx +336 -0
  585. package/2/apps/web/components/AppleLogo.tsx +15 -0
  586. package/2/apps/web/components/GitHubLogo.tsx +11 -0
  587. package/2/apps/web/components/GoogleLogo.tsx +23 -0
  588. package/2/apps/web/components/Layout.tsx +77 -0
  589. package/2/apps/web/components/ThemeToggle.tsx +23 -0
  590. package/2/apps/web/components/UserMenu.tsx +66 -0
  591. package/2/apps/web/components/auth/CodeInput.tsx +24 -0
  592. package/2/apps/web/components/auth/ResetPasswordWithEmailCode.tsx +85 -0
  593. package/2/apps/web/components/auth/SignInFormEmailCode.tsx +72 -0
  594. package/2/apps/web/components/auth/SignInFormEmailLink.tsx +81 -0
  595. package/2/apps/web/components/auth/SignInFormPassword.tsx +17 -0
  596. package/2/apps/web/components/auth/SignInFormPasswordAndCustomField.tsx +42 -0
  597. package/2/apps/web/components/auth/SignInFormPasswordAndResetViaCode.tsx +32 -0
  598. package/2/apps/web/components/auth/SignInFormPasswordAndVerifyViaCode.tsx +86 -0
  599. package/2/apps/web/components/auth/SignInFormPhoneCode.tsx +89 -0
  600. package/2/apps/web/components/auth/SignInFormsShowcase.tsx +64 -0
  601. package/2/apps/web/components/auth/SignInMethodDivider.tsx +17 -0
  602. package/2/apps/web/components/auth/SignInWithEmailCode.tsx +49 -0
  603. package/2/apps/web/components/auth/SignInWithOAuth.tsx +16 -0
  604. package/2/apps/web/components/auth/SignInWithPassword.tsx +100 -0
  605. package/2/apps/web/components/auth/oauth/SignInWithApple.tsx +27 -0
  606. package/2/apps/web/components/auth/oauth/SignInWithGitHub.tsx +27 -0
  607. package/2/apps/web/components/auth/oauth/SignInWithGoogle.tsx +27 -0
  608. package/2/apps/web/components/ui/button.tsx +60 -0
  609. package/2/apps/web/components/ui/card.tsx +92 -0
  610. package/2/apps/web/components/ui/dialog.tsx +143 -0
  611. package/2/apps/web/components/ui/dropdown-menu.tsx +257 -0
  612. package/2/apps/web/components/ui/input-otp.tsx +77 -0
  613. package/2/apps/web/components/ui/input.tsx +21 -0
  614. package/2/apps/web/components/ui/skeleton.tsx +13 -0
  615. package/2/apps/web/components/ui/tabs.tsx +66 -0
  616. package/2/apps/web/components/ui/toast.tsx +130 -0
  617. package/2/apps/web/components/ui/toaster.tsx +36 -0
  618. package/2/apps/web/components/ui/toggle-group.tsx +83 -0
  619. package/2/apps/web/components/ui/toggle.tsx +47 -0
  620. package/2/apps/web/components/ui/use-toast.ts +192 -0
  621. package/2/apps/web/components.json +22 -0
  622. package/2/apps/web/eslint.config.mjs +18 -0
  623. package/2/apps/web/lib/convex-provider.tsx +18 -0
  624. package/2/apps/web/lib/utils.ts +6 -0
  625. package/2/apps/web/next.config.ts +7 -0
  626. package/2/apps/web/package.json +46 -0
  627. package/2/apps/web/postcss.config.mjs +7 -0
  628. package/2/apps/web/public/file.svg +1 -0
  629. package/2/apps/web/public/globe.svg +1 -0
  630. package/2/apps/web/public/next.svg +1 -0
  631. package/2/apps/web/public/vercel.svg +1 -0
  632. package/2/apps/web/public/window.svg +1 -0
  633. package/2/apps/web/tsconfig.json +34 -0
  634. package/2/bts.jsonc +21 -0
  635. package/2/commitlint.config.js +1 -0
  636. package/2/eslint.config.mjs +182 -0
  637. package/2/lint-staged.config.js +16 -0
  638. package/2/package.json +64 -0
  639. package/2/packages/backend/.env.example +20 -0
  640. package/2/packages/backend/convex/README.md +90 -0
  641. package/2/packages/backend/convex/_generated/api.d.ts +2599 -0
  642. package/2/packages/backend/convex/_generated/api.js +23 -0
  643. package/2/packages/backend/convex/_generated/dataModel.d.ts +60 -0
  644. package/2/packages/backend/convex/_generated/server.d.ts +149 -0
  645. package/2/packages/backend/convex/_generated/server.js +90 -0
  646. package/2/packages/backend/convex/agents.ts +116 -0
  647. package/2/packages/backend/convex/auth.config.ts +8 -0
  648. package/2/packages/backend/convex/auth.ts +103 -0
  649. package/2/packages/backend/convex/authCustomEmailOtpProvider.ts +175 -0
  650. package/2/packages/backend/convex/authOtp.ts +144 -0
  651. package/2/packages/backend/convex/authPasswordReset.ts +367 -0
  652. package/2/packages/backend/convex/authPasswordResetActions.ts +150 -0
  653. package/2/packages/backend/convex/chatbot/index.ts +30 -0
  654. package/2/packages/backend/convex/chatbotAgent.ts +1085 -0
  655. package/2/packages/backend/convex/chatbotHistory.ts +307 -0
  656. package/2/packages/backend/convex/convex.config.ts +13 -0
  657. package/2/packages/backend/convex/deviceGrants.ts +58 -0
  658. package/2/packages/backend/convex/grantFunctions.ts +444 -0
  659. package/2/packages/backend/convex/http.ts +8 -0
  660. package/2/packages/backend/convex/imageAnalysis/index.ts +18 -0
  661. package/2/packages/backend/convex/imageAnalysisFunctions.ts +325 -0
  662. package/2/packages/backend/convex/imageGeneration/index.ts +12 -0
  663. package/2/packages/backend/convex/imageGeneratorFunctions.ts +290 -0
  664. package/2/packages/backend/convex/lib/ai/analysisConfigs.ts +257 -0
  665. package/2/packages/backend/convex/lib/ai/config.ts +71 -0
  666. package/2/packages/backend/convex/lib/ai/geminiAdapter.ts +43 -0
  667. package/2/packages/backend/convex/lib/ai/imageAnalysisAdapter.ts +200 -0
  668. package/2/packages/backend/convex/lib/ai/openaiAdapter.ts +43 -0
  669. package/2/packages/backend/convex/lib/ai/schemas.ts +79 -0
  670. package/2/packages/backend/convex/lib/config.ts +111 -0
  671. package/2/packages/backend/convex/lib/rateLimit.ts +100 -0
  672. package/2/packages/backend/convex/lib/telemetry.ts +29 -0
  673. package/2/packages/backend/convex/paymentFunctions.ts +119 -0
  674. package/2/packages/backend/convex/payments/index.ts +13 -0
  675. package/2/packages/backend/convex/pushNotificationFunctions.ts +342 -0
  676. package/2/packages/backend/convex/ragKnowledge.ts +714 -0
  677. package/2/packages/backend/convex/rateLimit.ts +13 -0
  678. package/2/packages/backend/convex/recordingFunctions.ts +98 -0
  679. package/2/packages/backend/convex/reportFunctions.ts +344 -0
  680. package/2/packages/backend/convex/reporting/index.ts +9 -0
  681. package/2/packages/backend/convex/router.ts +81 -0
  682. package/2/packages/backend/convex/schema.ts +237 -0
  683. package/2/packages/backend/convex/shared/email.ts +172 -0
  684. package/2/packages/backend/convex/shared/files.ts +96 -0
  685. package/2/packages/backend/convex/shared/index.ts +17 -0
  686. package/2/packages/backend/convex/shared/templates/PasswordResetEmail.tsx +72 -0
  687. package/2/packages/backend/convex/shared/templates/VerificationCodeEmail.tsx +65 -0
  688. package/2/packages/backend/convex/sharedUsers.ts +48 -0
  689. package/2/packages/backend/convex/tools/index.ts +18 -0
  690. package/2/packages/backend/convex/tools/knowledgeRetrieval.ts +92 -0
  691. package/2/packages/backend/convex/tools/tavilySearch.ts +83 -0
  692. package/2/packages/backend/convex/tools/userProfile.ts +72 -0
  693. package/2/packages/backend/convex/tsconfig.json +25 -0
  694. package/2/packages/backend/convex/users.ts +54 -0
  695. package/2/packages/backend/index.ts +20 -0
  696. package/2/packages/backend/package.json +32 -0
  697. package/2/packages/ui/README.md +63 -0
  698. package/2/packages/ui/index.ts +1 -0
  699. package/2/packages/ui/package.json +21 -0
  700. package/2/packages/ui/src/components/SharedButton.tsx +31 -0
  701. package/2/packages/ui/src/components/SharedCard.tsx +48 -0
  702. package/2/packages/ui/src/components/index.ts +2 -0
  703. package/2/packages/ui/tsconfig.json +10 -0
  704. package/2/pnpm-lock.yaml +23292 -0
  705. package/2/pnpm-workspace.yaml +3 -0
  706. package/2/scripts/i18next-syntax-validation.js +1 -0
  707. package/2/tsconfig.json +43 -0
  708. package/2/turbo.json +33 -0
  709. package/2/vercel.json +6 -0
  710. package/2/vf-agent/agent-teams/team-vibefast.yaml +14 -0
  711. package/2/vf-agent/agents/analyst.md +53 -0
  712. package/2/vf-agent/agents/architect.md +105 -0
  713. package/2/vf-agent/agents/dev.md +40 -0
  714. package/2/vf-agent/agents/orchestrator.md +181 -0
  715. package/2/vf-agent/agents/pm.md +48 -0
  716. package/2/vf-agent/agents/po.md +38 -0
  717. package/2/vf-agent/agents/qa.md +30 -0
  718. package/2/vf-agent/agents/sm.md +38 -0
  719. package/2/vf-agent/agents/ux-expert.md +33 -0
  720. package/2/vf-agent/checklists/po-master-checklist.md +73 -0
  721. package/2/vf-agent/checklists/story-dod-checklist.md +37 -0
  722. package/2/vf-agent/core-config.yaml +43 -0
  723. package/2/vf-agent/data/knowledge_base/backend/convex-advanced.md +43 -0
  724. package/2/vf-agent/data/knowledge_base/backend/convex-database.md +53 -0
  725. package/2/vf-agent/data/knowledge_base/backend/convex-main.md +65 -0
  726. package/2/vf-agent/data/knowledge_base/backend/full-guidelines.md +795 -0
  727. package/2/vf-agent/data/knowledge_base/coding-standards.md +253 -0
  728. package/2/vf-agent/data/knowledge_base/frontend/full-guidelines.md +254 -0
  729. package/2/vf-agent/data/knowledge_base/frontend/image-handling.md +48 -0
  730. package/2/vf-agent/data/knowledge_base/frontend/react-native-main.md +24 -0
  731. package/2/vf-agent/data/knowledge_base/frontend/ui-and-styling.md +169 -0
  732. package/2/vf-agent/data/knowledge_base/general-principles.md +26 -0
  733. package/2/vf-agent/data/knowledge_base/master-rulebook.md +42 -0
  734. package/2/vf-agent/data/knowledge_base/starter-docs/audio-recorder-reference.md +98 -0
  735. package/2/vf-agent/data/knowledge_base/starter-docs/authentication-reference.md +155 -0
  736. package/2/vf-agent/data/knowledge_base/starter-docs/charts-reference.md +149 -0
  737. package/2/vf-agent/data/knowledge_base/starter-docs/chatbot-reference.md +123 -0
  738. package/2/vf-agent/data/knowledge_base/starter-docs/feature-reference-index.md +211 -0
  739. package/2/vf-agent/data/knowledge_base/starter-docs/features-overview.md +221 -0
  740. package/2/vf-agent/data/knowledge_base/starter-docs/image-analyzer-reference.md +118 -0
  741. package/2/vf-agent/data/knowledge_base/starter-docs/image-generator-reference.md +110 -0
  742. package/2/vf-agent/data/knowledge_base/starter-docs/index.md +28 -0
  743. package/2/vf-agent/data/knowledge_base/starter-docs/onboarding-reference.md +96 -0
  744. package/2/vf-agent/data/knowledge_base/starter-docs/payments-reference.md +148 -0
  745. package/2/vf-agent/data/knowledge_base/starter-docs/prd.md +82 -0
  746. package/2/vf-agent/data/knowledge_base/starter-docs/push-notifications-reference.md +453 -0
  747. package/2/vf-agent/data/knowledge_base/starter-docs/quick-actions-reference.md +253 -0
  748. package/2/vf-agent/data/knowledge_base/starter-docs/quiz-reference.md +169 -0
  749. package/2/vf-agent/data/knowledge_base/starter-docs/settings-reference.md +146 -0
  750. package/2/vf-agent/data/knowledge_base/starter-docs/tech-stack.md +159 -0
  751. package/2/vf-agent/data/knowledge_base/starter-docs/tracker-app-reference.md +150 -0
  752. package/2/vf-agent/data/knowledge_base/starter-docs/unified-project-structure.md +98 -0
  753. package/2/vf-agent/data/knowledge_base/testing/backend-testing.md +54 -0
  754. package/2/vf-agent/data/knowledge_base/testing/frontend-testing.md +71 -0
  755. package/2/vf-agent/data/knowledge_base/testing/testing-strategy.md +31 -0
  756. package/2/vf-agent/tasks/advanced-elicitation.md +117 -0
  757. package/2/vf-agent/tasks/brownfield-create-epic.md +160 -0
  758. package/2/vf-agent/tasks/create-deep-research-prompt.md +278 -0
  759. package/2/vf-agent/tasks/create-doc.md +42 -0
  760. package/2/vf-agent/tasks/create-story.md +43 -0
  761. package/2/vf-agent/tasks/document-project.md +343 -0
  762. package/2/vf-agent/tasks/facilitate-brainstorming-session.md +136 -0
  763. package/2/vf-agent/tasks/index-docs.md +173 -0
  764. package/2/vf-agent/tasks/kb-mode-interaction.md +75 -0
  765. package/2/vf-agent/tasks/review-story.md +154 -0
  766. package/2/vf-agent/tasks/shard-doc.md +185 -0
  767. package/2/vf-agent/tasks/troubleshoot-issue.md +65 -0
  768. package/2/vf-agent/tasks/validate-next-story.md +47 -0
  769. package/2/vf-agent/templates/brainstorming-output-tmpl.yaml +156 -0
  770. package/2/vf-agent/templates/brownfield-architecture-tmpl.yaml +111 -0
  771. package/2/vf-agent/templates/brownfield-prd-tmpl.yaml +247 -0
  772. package/2/vf-agent/templates/competitor-analysis-tmpl.yaml +293 -0
  773. package/2/vf-agent/templates/market-research-tmpl.yaml +252 -0
  774. package/2/vf-agent/templates/project-brief-tmpl.yaml +221 -0
  775. package/2/vf-agent/templates/story-tmpl.yaml +143 -0
  776. package/BEFORE-AFTER.md +327 -0
  777. package/CHANGELOG.md +73 -0
  778. package/CLI-ROADMAP.md +415 -0
  779. package/COMMAND-REFERENCE.md +341 -0
  780. package/IMPLEMENTATION-STATUS.md +316 -0
  781. package/MANUAL-TEST-CHECKLIST.md +264 -0
  782. package/OPTIONS-GLOSSARY.md +308 -0
  783. package/PHASE-1-2-3-COMPLETE.md +435 -0
  784. package/PHASE-1-2-IMPLEMENTATION.md +280 -0
  785. package/PHASE-1-2-SUMMARY.md +183 -0
  786. package/QUICK-START.md +352 -0
  787. package/RECIPES-GUIDE.md +325 -0
  788. package/RELEASE-CHECKLIST.md +269 -0
  789. package/VF-INIT-FLOW.md +446 -0
  790. package/dist/commands/add.d.ts.map +1 -1
  791. package/dist/commands/add.js +328 -66
  792. package/dist/commands/add.js.map +1 -1
  793. package/dist/commands/checklist.d.ts.map +1 -1
  794. package/dist/commands/checklist.js +69 -5
  795. package/dist/commands/checklist.js.map +1 -1
  796. package/dist/commands/env.d.ts +3 -0
  797. package/dist/commands/env.d.ts.map +1 -0
  798. package/dist/commands/env.js +130 -0
  799. package/dist/commands/env.js.map +1 -0
  800. package/dist/commands/health.d.ts +3 -0
  801. package/dist/commands/health.d.ts.map +1 -0
  802. package/dist/commands/health.js +214 -0
  803. package/dist/commands/health.js.map +1 -0
  804. package/dist/commands/init.d.ts +3 -0
  805. package/dist/commands/init.d.ts.map +1 -0
  806. package/dist/commands/init.js +310 -0
  807. package/dist/commands/init.js.map +1 -0
  808. package/dist/commands/list.d.ts.map +1 -1
  809. package/dist/commands/list.js +36 -16
  810. package/dist/commands/list.js.map +1 -1
  811. package/dist/commands/login.d.ts.map +1 -1
  812. package/dist/commands/login.js +5 -0
  813. package/dist/commands/login.js.map +1 -1
  814. package/dist/commands/remove.d.ts.map +1 -1
  815. package/dist/commands/remove.js +11 -0
  816. package/dist/commands/remove.js.map +1 -1
  817. package/dist/core/__tests__/detect.test.d.ts +2 -0
  818. package/dist/core/__tests__/detect.test.d.ts.map +1 -0
  819. package/dist/core/__tests__/detect.test.js +73 -0
  820. package/dist/core/__tests__/detect.test.js.map +1 -0
  821. package/dist/core/detect.d.ts +10 -0
  822. package/dist/core/detect.d.ts.map +1 -0
  823. package/dist/core/detect.js +58 -0
  824. package/dist/core/detect.js.map +1 -0
  825. package/dist/core/env.d.ts +24 -0
  826. package/dist/core/env.d.ts.map +1 -0
  827. package/dist/core/env.js +83 -0
  828. package/dist/core/env.js.map +1 -0
  829. package/dist/core/errors.d.ts +13 -0
  830. package/dist/core/errors.d.ts.map +1 -0
  831. package/dist/core/errors.js +111 -0
  832. package/dist/core/errors.js.map +1 -0
  833. package/dist/core/prompt.d.ts +46 -2
  834. package/dist/core/prompt.d.ts.map +1 -1
  835. package/dist/core/prompt.js +179 -15
  836. package/dist/core/prompt.js.map +1 -1
  837. package/dist/core/prompts.d.ts +23 -0
  838. package/dist/core/prompts.d.ts.map +1 -0
  839. package/dist/core/prompts.js +85 -0
  840. package/dist/core/prompts.js.map +1 -0
  841. package/dist/core/recipes.d.ts +31 -0
  842. package/dist/core/recipes.d.ts.map +1 -0
  843. package/dist/core/recipes.js +138 -0
  844. package/dist/core/recipes.js.map +1 -0
  845. package/dist/core/spinner.d.ts +20 -0
  846. package/dist/core/spinner.d.ts.map +1 -0
  847. package/dist/core/spinner.js +72 -0
  848. package/dist/core/spinner.js.map +1 -0
  849. package/dist/core/vosk.d.ts +7 -0
  850. package/dist/core/vosk.d.ts.map +1 -0
  851. package/dist/core/vosk.js +94 -0
  852. package/dist/core/vosk.js.map +1 -0
  853. package/dist/index.js +40 -0
  854. package/dist/index.js.map +1 -1
  855. package/package.json +6 -1
  856. package/recipes/README.md +156 -0
  857. package/recipes/chatbot/packages/backend/convex/agents.ts +116 -0
  858. package/recipes/chatbot/packages/backend/convex/chatbotAgent.ts +1085 -0
  859. package/recipes/chatbot/packages/backend/convex/chatbotHistory.ts +307 -0
  860. package/recipes/chatbot/packages/backend/convex/lib/rateLimit.ts +100 -0
  861. package/recipes/chatbot/packages/backend/convex/lib/telemetry.ts +29 -0
  862. package/recipes/chatbot/packages/backend/convex/ragKnowledge.ts +714 -0
  863. package/recipes/chatbot/packages/backend/convex/tools/index.ts +18 -0
  864. package/recipes/chatbot/packages/backend/convex/tools/knowledgeRetrieval.ts +92 -0
  865. package/recipes/chatbot/packages/backend/convex/tools/tavilySearch.ts +83 -0
  866. package/recipes/chatbot/packages/backend/convex/tools/userProfile.ts +72 -0
  867. package/recipes/chatbot/recipe.json +89 -1
  868. package/recipes/chatbot@latest.zip +0 -0
  869. package/recipes/image-analysis/recipe.json +61 -0
  870. package/recipes/image-analysis@latest.zip +0 -0
  871. package/recipes/image-generator/packages/backend/convex/imageGeneration/index.ts +12 -0
  872. package/recipes/image-generator/packages/backend/convex/imageGeneratorFunctions.ts +290 -0
  873. package/recipes/image-generator/recipe.json +36 -1
  874. package/recipes/image-generator@latest.zip +0 -0
  875. package/recipes/posthog.json +46 -0
  876. package/recipes/revenuecat.json +43 -0
  877. package/recipes/sentry.json +46 -0
  878. package/recipes/voice-bot/packages/backend/convex/router.ts +81 -0
  879. package/recipes/voice-bot/recipe.json +51 -1
  880. package/recipes/voice-bot@latest.zip +0 -0
  881. package/recipes/wake-word/apps/native/assets/vosk-model/README.md +103 -0
  882. package/recipes/wake-word/apps/native/src/app/(root)/(protected)/test-wake-word.tsx +216 -0
  883. package/recipes/wake-word/apps/native/src/features/wake-word/components/index.ts +1 -0
  884. package/recipes/wake-word/apps/native/src/features/wake-word/components/wake-word-indicator.tsx +61 -0
  885. package/recipes/wake-word/apps/native/src/features/wake-word/constants.ts +10 -0
  886. package/recipes/wake-word/apps/native/src/features/wake-word/hooks/use-wake-word.ts +181 -0
  887. package/recipes/wake-word/apps/native/src/features/wake-word/index.ts +22 -0
  888. package/recipes/wake-word/apps/native/src/features/wake-word/services/audio-session.ts +40 -0
  889. package/recipes/wake-word/apps/native/src/features/wake-word/services/event-bus.ts +31 -0
  890. package/recipes/wake-word/apps/native/src/features/wake-word/services/keywords.ts +88 -0
  891. package/recipes/wake-word/apps/native/src/features/wake-word/services/wake-word-manager.ts +249 -0
  892. package/recipes/wake-word/apps/native/src/features/wake-word/types.ts +22 -0
  893. package/recipes/wake-word/recipe.json +50 -0
  894. package/recipes/wake-word/scripts/download-vosk-model.mjs +121 -0
  895. package/recipes/wake-word@latest.zip +0 -0
  896. package/scripts/sync-recipes.js +93 -0
  897. package/src/commands/add.ts +401 -68
  898. package/src/commands/checklist.ts +81 -6
  899. package/src/commands/env.ts +163 -0
  900. package/src/commands/health.ts +225 -0
  901. package/src/commands/init.ts +390 -0
  902. package/src/commands/list.ts +42 -16
  903. package/src/commands/login.ts +6 -0
  904. package/src/commands/remove.ts +12 -0
  905. package/src/core/__tests__/detect.test.ts +91 -0
  906. package/src/core/detect.ts +60 -0
  907. package/src/core/env.ts +109 -0
  908. package/src/core/errors.ts +122 -0
  909. package/src/core/prompt.ts +227 -16
  910. package/src/core/prompts.ts +115 -0
  911. package/src/core/recipes.ts +152 -0
  912. package/src/core/spinner.ts +87 -0
  913. package/src/core/vosk.ts +111 -0
  914. package/src/index.ts +50 -0
  915. package/test-locally.sh +145 -0
@@ -0,0 +1,278 @@
1
+ # Create Deep Research Prompt Task
2
+
3
+ This task helps create comprehensive research prompts for various types of deep analysis. It can process inputs from brainstorming sessions, project briefs, market research, or specific research questions to generate targeted prompts for deeper investigation.
4
+
5
+ ## Purpose
6
+
7
+ Generate well-structured research prompts that:
8
+
9
+ - Define clear research objectives and scope
10
+ - Specify appropriate research methodologies
11
+ - Outline expected deliverables and formats
12
+ - Guide systematic investigation of complex topics
13
+ - Ensure actionable insights are captured
14
+
15
+ ## Research Type Selection
16
+
17
+ CRITICAL: First, help the user select the most appropriate research focus based on their needs and any input documents they've provided.
18
+
19
+ ### 1. Research Focus Options
20
+
21
+ Present these numbered options to the user:
22
+
23
+ 1. **Product Validation Research**
24
+ - Validate product hypotheses and market fit
25
+ - Test assumptions about user needs and solutions
26
+ - Assess technical and business feasibility
27
+ - Identify risks and mitigation strategies
28
+
29
+ 2. **Market Opportunity Research**
30
+ - Analyze market size and growth potential
31
+ - Identify market segments and dynamics
32
+ - Assess market entry strategies
33
+ - Evaluate timing and market readiness
34
+
35
+ 3. **User & Customer Research**
36
+ - Deep dive into user personas and behaviors
37
+ - Understand jobs-to-be-done and pain points
38
+ - Map customer journeys and touchpoints
39
+ - Analyze willingness to pay and value perception
40
+
41
+ 4. **Competitive Intelligence Research**
42
+ - Detailed competitor analysis and positioning
43
+ - Feature and capability comparisons
44
+ - Business model and strategy analysis
45
+ - Identify competitive advantages and gaps
46
+
47
+ 5. **Technology & Innovation Research**
48
+ - Assess technology trends and possibilities
49
+ - Evaluate technical approaches and architectures
50
+ - Identify emerging technologies and disruptions
51
+ - Analyze build vs. buy vs. partner options
52
+
53
+ 6. **Industry & Ecosystem Research**
54
+ - Map industry value chains and dynamics
55
+ - Identify key players and relationships
56
+ - Analyze regulatory and compliance factors
57
+ - Understand partnership opportunities
58
+
59
+ 7. **Strategic Options Research**
60
+ - Evaluate different strategic directions
61
+ - Assess business model alternatives
62
+ - Analyze go-to-market strategies
63
+ - Consider expansion and scaling paths
64
+
65
+ 8. **Risk & Feasibility Research**
66
+ - Identify and assess various risk factors
67
+ - Evaluate implementation challenges
68
+ - Analyze resource requirements
69
+ - Consider regulatory and legal implications
70
+
71
+ 9. **Custom Research Focus**
72
+ - User-defined research objectives
73
+ - Specialized domain investigation
74
+ - Cross-functional research needs
75
+
76
+ ### 2. Input Processing
77
+
78
+ **If Project Brief provided:**
79
+
80
+ - Extract key product concepts and goals
81
+ - Identify target users and use cases
82
+ - Note technical constraints and preferences
83
+ - Highlight uncertainties and assumptions
84
+
85
+ **If Brainstorming Results provided:**
86
+
87
+ - Synthesize main ideas and themes
88
+ - Identify areas needing validation
89
+ - Extract hypotheses to test
90
+ - Note creative directions to explore
91
+
92
+ **If Market Research provided:**
93
+
94
+ - Build on identified opportunities
95
+ - Deepen specific market insights
96
+ - Validate initial findings
97
+ - Explore adjacent possibilities
98
+
99
+ **If Starting Fresh:**
100
+
101
+ - Gather essential context through questions
102
+ - Define the problem space
103
+ - Clarify research objectives
104
+ - Establish success criteria
105
+
106
+ ## Process
107
+
108
+ ### 3. Research Prompt Structure
109
+
110
+ CRITICAL: collaboratively develop a comprehensive research prompt with these components.
111
+
112
+ #### A. Research Objectives
113
+
114
+ CRITICAL: collaborate with the user to articulate clear, specific objectives for the research.
115
+
116
+ - Primary research goal and purpose
117
+ - Key decisions the research will inform
118
+ - Success criteria for the research
119
+ - Constraints and boundaries
120
+
121
+ #### B. Research Questions
122
+
123
+ CRITICAL: collaborate with the user to develop specific, actionable research questions organized by theme.
124
+
125
+ **Core Questions:**
126
+
127
+ - Central questions that must be answered
128
+ - Priority ranking of questions
129
+ - Dependencies between questions
130
+
131
+ **Supporting Questions:**
132
+
133
+ - Additional context-building questions
134
+ - Nice-to-have insights
135
+ - Future-looking considerations
136
+
137
+ #### C. Research Methodology
138
+
139
+ **Data Collection Methods:**
140
+
141
+ - Secondary research sources
142
+ - Primary research approaches (if applicable)
143
+ - Data quality requirements
144
+ - Source credibility criteria
145
+
146
+ **Analysis Frameworks:**
147
+
148
+ - Specific frameworks to apply
149
+ - Comparison criteria
150
+ - Evaluation methodologies
151
+ - Synthesis approaches
152
+
153
+ #### D. Output Requirements
154
+
155
+ **Format Specifications:**
156
+
157
+ - Executive summary requirements
158
+ - Detailed findings structure
159
+ - Visual/tabular presentations
160
+ - Supporting documentation
161
+
162
+ **Key Deliverables:**
163
+
164
+ - Must-have sections and insights
165
+ - Decision-support elements
166
+ - Action-oriented recommendations
167
+ - Risk and uncertainty documentation
168
+
169
+ ### 4. Prompt Generation
170
+
171
+ **Research Prompt Template:**
172
+
173
+ ```markdown
174
+ ## Research Objective
175
+
176
+ [Clear statement of what this research aims to achieve]
177
+
178
+ ## Background Context
179
+
180
+ [Relevant information from project brief, brainstorming, or other inputs]
181
+
182
+ ## Research Questions
183
+
184
+ ### Primary Questions (Must Answer)
185
+
186
+ 1. [Specific, actionable question]
187
+ 2. [Specific, actionable question]
188
+ ...
189
+
190
+ ### Secondary Questions (Nice to Have)
191
+
192
+ 1. [Supporting question]
193
+ 2. [Supporting question]
194
+ ...
195
+
196
+ ## Research Methodology
197
+
198
+ ### Information Sources
199
+
200
+ - [Specific source types and priorities]
201
+
202
+ ### Analysis Frameworks
203
+
204
+ - [Specific frameworks to apply]
205
+
206
+ ### Data Requirements
207
+
208
+ - [Quality, recency, credibility needs]
209
+
210
+ ## Expected Deliverables
211
+
212
+ ### Executive Summary
213
+
214
+ - Key findings and insights
215
+ - Critical implications
216
+ - Recommended actions
217
+
218
+ ### Detailed Analysis
219
+
220
+ [Specific sections needed based on research type]
221
+
222
+ ### Supporting Materials
223
+
224
+ - Data tables
225
+ - Comparison matrices
226
+ - Source documentation
227
+
228
+ ## Success Criteria
229
+
230
+ [How to evaluate if research achieved its objectives]
231
+
232
+ ## Timeline and Priority
233
+
234
+ [If applicable, any time constraints or phasing]
235
+ ```
236
+
237
+ ### 5. Review and Refinement
238
+
239
+ 1. **Present Complete Prompt**
240
+ - Show the full research prompt
241
+ - Explain key elements and rationale
242
+ - Highlight any assumptions made
243
+
244
+ 2. **Gather Feedback**
245
+ - Are the objectives clear and correct?
246
+ - Do the questions address all concerns?
247
+ - Is the scope appropriate?
248
+ - Are output requirements sufficient?
249
+
250
+ 3. **Refine as Needed**
251
+ - Incorporate user feedback
252
+ - Adjust scope or focus
253
+ - Add missing elements
254
+ - Clarify ambiguities
255
+
256
+ ### 6. Next Steps Guidance
257
+
258
+ **Execution Options:**
259
+
260
+ 1. **Use with AI Research Assistant**: Provide this prompt to an AI model with research capabilities
261
+ 2. **Guide Human Research**: Use as a framework for manual research efforts
262
+ 3. **Hybrid Approach**: Combine AI and human research using this structure
263
+
264
+ **Integration Points:**
265
+
266
+ - How findings will feed into next phases
267
+ - Which team members should review results
268
+ - How to validate findings
269
+ - When to revisit or expand research
270
+
271
+ ## Important Notes
272
+
273
+ - The quality of the research prompt directly impacts the quality of insights gathered
274
+ - Be specific rather than general in research questions
275
+ - Consider both current state and future implications
276
+ - Balance comprehensiveness with focus
277
+ - Document assumptions and limitations clearly
278
+ - Plan for iterative refinement based on initial findings
@@ -0,0 +1,42 @@
1
+ # Create Document Task
2
+
3
+ ## Purpose
4
+
5
+ Generic document creation task that can be used by any agent to create structured documents using available templates.
6
+
7
+ ## Usage
8
+
9
+ This task helps agents create documents by:
10
+
11
+ 1. Identifying the appropriate template
12
+ 2. Gathering required information
13
+ 3. Generating the document content
14
+ 4. Saving to the specified location
15
+
16
+ ## Parameters
17
+
18
+ - `documentType`: Type of document to create (prd, architecture, story, etc.)
19
+ - `templateName`: Specific template to use (optional, will auto-select if not provided)
20
+ - `outputLocation`: Where to save the document (optional, will use template default or prompt user)
21
+ - `context`: Additional context or requirements for the document
22
+
23
+ ## Process
24
+
25
+ 1. Determine document type and template
26
+ 2. Load appropriate template from `vf-agent/templates/`
27
+ 3. Gather required information through elicitation if needed
28
+ 4. Generate document content
29
+ 5. Save to specified location
30
+ 6. Confirm completion with user
31
+
32
+ ## Templates Available
33
+
34
+ - `brownfield-prd-tmpl.yaml` - Product Requirements Document
35
+ - `brownfield-architecture-tmpl.yaml` - Architecture Document
36
+ - `story-tmpl.yaml` - User Story
37
+ - `project-brief-tmpl.yaml` - Project Brief
38
+ - And others in `vf-agent/templates/`
39
+
40
+ ## Output
41
+
42
+ Structured document saved to file system with confirmation message.
@@ -0,0 +1,43 @@
1
+ # Create VibeFast Story Task
2
+
3
+ ## Purpose
4
+
5
+ To identify the next logical story from the PRD and prepare a comprehensive, self-contained story file perfectly tailored for the `dev` agent. This task implements the "API-First" hybrid model by creating a highly-focused context for either backend or frontend work. From `core-config.yaml` determine if testing_discipline is true or false, if false we'll explicitly write in story telling dev agent to skip writing tests all together unless user explicitly asks you or developer for it.
6
+
7
+ ## Task Execution
8
+
9
+ ### 1. Identify Next Story for Preparation
10
+
11
+ - Locate the highest-numbered story file in `docs/stories/`.
12
+ - Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}".
13
+ - **Determine Story Type:** Ask the user if this story is a **"Backend (API Contract)"** or a **"Frontend (API Consumer)"**. If it's a frontend story, ask for the corresponding backend story number to link the API contract.
14
+
15
+ ### 2. Gather Focused Context
16
+
17
+ - **CRITICAL:** Based on the story type, load a minimal, targeted set of rules.
18
+ - **For Backend Stories:** Load only the rules from `vf-agent/data/knowledge_base/backend/` and if in `core-config.yaml` testing_discipline is true then also load `vf-agent/data/knowledge_base/testing/backend-testing.md`.
19
+ - **For Frontend Stories:** Load only the rules from `vf-agent/data/knowledge_base/frontend/`, `vf-agent/data/knowledge_base/coding-standards.md/`, and if in `core-config.yaml` testing_discipline is true then also load `testing/frontend-testing.md`.
20
+ - Analyze the story requirements and cross-reference with the `starter-docs` to identify reuse opportunities.
21
+
22
+ ### 3. Populate Story Template (`story-tmpl.yaml`)
23
+
24
+ - Create the new story file.
25
+ - Fill in the Story, Acceptance Criteria, Status, and the **Story Type**.
26
+ - **Dev Notes Section (CRITICAL):** Populate this section with the focused context gathered above.
27
+ - **Story Type Context:** At the top, explicitly state: **"This is a [Backend/Frontend] story. Only rules and patterns relevant to the [backend/frontend] apply."**
28
+ - **For Backend Stories:**
29
+ - Provide the required schema definitions for `convex/schema.ts`.
30
+ - List the exact signatures (args, returns) for all new queries, mutations, and actions.
31
+ - Cite relevant rules from `backend/convex-main.md` and `backend/convex-database.md`.
32
+ - **For Frontend Stories:**
33
+ - Reference the completed Backend story (e.g., "This UI consumes the API defined in Story 1.1.").
34
+ - Provide a list of the Convex functions it will call (`api.module.functionName`).
35
+ - Specify which core UI components from `src/components/ui/` should be used.
36
+ - Cite critical rules from `frontend/ui-and-styling.md`.
37
+
38
+ - **Tasks / Subtasks Section:** Generate a detailed list of tasks for either backend or frontend implementation, not both.
39
+
40
+ ### 4. Handoff
41
+
42
+ - Present the newly created story file path to the user.
43
+ - Advise the user to hand it off to the `po` agent for validation.
@@ -0,0 +1,343 @@
1
+ # Document an Existing Project
2
+
3
+ ## Purpose
4
+
5
+ Generate comprehensive documentation for existing projects optimized for AI development agents. This task creates a structured snapshot of a codebase's current state.
6
+
7
+ ## Task Instructions
8
+
9
+ ### 1. Initial Project Analysis
10
+
11
+ **CRITICAL:** First, check if a PRD or requirements document exists in context. If yes, use it to focus your documentation efforts on relevant areas only.
12
+
13
+ **IF PRD EXISTS**:
14
+
15
+ - Review the PRD to understand what enhancement/feature is planned
16
+ - Identify which modules, services, or areas will be affected
17
+ - Focus documentation ONLY on these relevant areas
18
+ - Skip unrelated parts of the codebase to keep docs lean
19
+
20
+ **IF NO PRD EXISTS**:
21
+ Ask the user:
22
+
23
+ "I notice you haven't provided a PRD or requirements document. To create more focused and useful documentation, I recommend one of these options:
24
+
25
+ 1. **Create a PRD first** - Would you like me to help create a brownfield PRD before documenting? This helps focus documentation on relevant areas.
26
+
27
+ 2. **Provide existing requirements** - Do you have a requirements document, epic, or feature description you can share?
28
+
29
+ 3. **Describe the focus** - Can you briefly describe what enhancement or feature you're planning? For example:
30
+ - 'Adding payment processing to the user service'
31
+ - 'Refactoring the authentication module'
32
+ - 'Integrating with a new third-party API'
33
+
34
+ 4. **Document everything** - Or should I proceed with comprehensive documentation of the entire codebase? (Note: This may create excessive documentation for large projects)
35
+
36
+ Please let me know your preference, or I can proceed with full documentation if you prefer."
37
+
38
+ Based on their response:
39
+
40
+ - If they choose option 1-3: Use that context to focus documentation
41
+ - If they choose option 4 or decline: Proceed with comprehensive analysis below
42
+
43
+ Begin by conducting analysis of the existing project. Use available tools to:
44
+
45
+ 1. **Project Structure Discovery**: Examine the root directory structure, identify main folders, and understand the overall organization
46
+ 2. **Technology Stack Identification**: Look for package.json, requirements.txt, Cargo.toml, pom.xml, etc. to identify languages, frameworks, and dependencies
47
+ 3. **Build System Analysis**: Find build scripts, CI/CD configurations, and development commands
48
+ 4. **Existing Documentation Review**: Check for README files, docs folders, and any existing documentation
49
+ 5. **Code Pattern Analysis**: Sample key files to understand coding patterns, naming conventions, and architectural approaches
50
+
51
+ Ask the user these elicitation questions to better understand their needs:
52
+
53
+ - What is the primary purpose of this project?
54
+ - Are there any specific areas of the codebase that are particularly complex or important for agents to understand?
55
+ - What types of tasks do you expect AI agents to perform on this project? (e.g., bug fixes, feature additions, refactoring, testing)
56
+ - Are there any existing documentation standards or formats you prefer?
57
+ - What level of technical detail should the documentation target? (junior developers, senior developers, mixed team)
58
+ - Is there a specific feature or enhancement you're planning? (This helps focus documentation)
59
+
60
+ ### 2. Deep Codebase Analysis
61
+
62
+ CRITICAL: Before generating documentation, conduct extensive analysis of the existing codebase:
63
+
64
+ 1. **Explore Key Areas**:
65
+ - Entry points (main files, index files, app initializers)
66
+ - Configuration files and environment setup
67
+ - Package dependencies and versions
68
+ - Build and deployment configurations
69
+ - Test suites and coverage
70
+
71
+ 2. **Ask Clarifying Questions**:
72
+ - "I see you're using [technology X]. Are there any custom patterns or conventions I should document?"
73
+ - "What are the most critical/complex parts of this system that developers struggle with?"
74
+ - "Are there any undocumented 'tribal knowledge' areas I should capture?"
75
+ - "What technical debt or known issues should I document?"
76
+ - "Which parts of the codebase change most frequently?"
77
+
78
+ 3. **Map the Reality**:
79
+ - Identify ACTUAL patterns used (not theoretical best practices)
80
+ - Find where key business logic lives
81
+ - Locate integration points and external dependencies
82
+ - Document workarounds and technical debt
83
+ - Note areas that differ from standard patterns
84
+
85
+ **IF PRD PROVIDED**: Also analyze what would need to change for the enhancement
86
+
87
+ ### 3. Core Documentation Generation
88
+
89
+ [[LLM: Generate a comprehensive BROWNFIELD architecture document that reflects the ACTUAL state of the codebase.
90
+
91
+ **CRITICAL**: This is NOT an aspirational architecture document. Document what EXISTS, including:
92
+
93
+ - Technical debt and workarounds
94
+ - Inconsistent patterns between different parts
95
+ - Legacy code that can't be changed
96
+ - Integration constraints
97
+ - Performance bottlenecks
98
+
99
+ **Document Structure**:
100
+
101
+ # [Project Name] Brownfield Architecture Document
102
+
103
+ ## Introduction
104
+
105
+ This document captures the CURRENT STATE of the [Project Name] codebase, including technical debt, workarounds, and real-world patterns. It serves as a reference for AI agents working on enhancements.
106
+
107
+ ### Document Scope
108
+
109
+ [If PRD provided: "Focused on areas relevant to: {enhancement description}"]
110
+ [If no PRD: "Comprehensive documentation of entire system"]
111
+
112
+ ### Change Log
113
+
114
+ | Date | Version | Description | Author |
115
+ | ------ | ------- | --------------------------- | --------- |
116
+ | [Date] | 1.0 | Initial brownfield analysis | [Analyst] |
117
+
118
+ ## Quick Reference - Key Files and Entry Points
119
+
120
+ ### Critical Files for Understanding the System
121
+
122
+ - **Main Entry**: `src/index.js` (or actual entry point)
123
+ - **Configuration**: `config/app.config.js`, `.env.example`
124
+ - **Core Business Logic**: `src/services/`, `src/domain/`
125
+ - **API Definitions**: `src/routes/` or link to OpenAPI spec
126
+ - **Database Models**: `src/models/` or link to schema files
127
+ - **Key Algorithms**: [List specific files with complex logic]
128
+
129
+ ### If PRD Provided - Enhancement Impact Areas
130
+
131
+ [Highlight which files/modules will be affected by the planned enhancement]
132
+
133
+ ## High Level Architecture
134
+
135
+ ### Technical Summary
136
+
137
+ ### Actual Tech Stack (from package.json/requirements.txt)
138
+
139
+ | Category | Technology | Version | Notes |
140
+ | --------- | ---------- | ------- | -------------------------- |
141
+ | Runtime | Node.js | 16.x | [Any constraints] |
142
+ | Framework | Express | 4.18.2 | [Custom middleware?] |
143
+ | Database | PostgreSQL | 13 | [Connection pooling setup] |
144
+
145
+ etc...
146
+
147
+ ### Repository Structure Reality Check
148
+
149
+ - Type: [Monorepo/Polyrepo/Hybrid]
150
+ - Package Manager: [npm/yarn/pnpm]
151
+ - Notable: [Any unusual structure decisions]
152
+
153
+ ## Source Tree and Module Organization
154
+
155
+ ### Project Structure (Actual)
156
+
157
+ ```text
158
+ project-root/
159
+ ├── src/
160
+ │ ├── controllers/ # HTTP request handlers
161
+ │ ├── services/ # Business logic (NOTE: inconsistent patterns between user and payment services)
162
+ │ ├── models/ # Database models (Sequelize)
163
+ │ ├── utils/ # Mixed bag - needs refactoring
164
+ │ └── legacy/ # DO NOT MODIFY - old payment system still in use
165
+ ├── tests/ # Jest tests (60% coverage)
166
+ ├── scripts/ # Build and deployment scripts
167
+ └── config/ # Environment configs
168
+ ```
169
+
170
+ ### Key Modules and Their Purpose
171
+
172
+ - **User Management**: `src/services/userService.js` - Handles all user operations
173
+ - **Authentication**: `src/middleware/auth.js` - JWT-based, custom implementation
174
+ - **Payment Processing**: `src/legacy/payment.js` - CRITICAL: Do not refactor, tightly coupled
175
+ - **[List other key modules with their actual files]**
176
+
177
+ ## Data Models and APIs
178
+
179
+ ### Data Models
180
+
181
+ Instead of duplicating, reference actual model files:
182
+
183
+ - **User Model**: See `src/models/User.js`
184
+ - **Order Model**: See `src/models/Order.js`
185
+ - **Related Types**: TypeScript definitions in `src/types/`
186
+
187
+ ### API Specifications
188
+
189
+ - **OpenAPI Spec**: `docs/api/openapi.yaml` (if exists)
190
+ - **Postman Collection**: `docs/api/postman-collection.json`
191
+ - **Manual Endpoints**: [List any undocumented endpoints discovered]
192
+
193
+ ## Technical Debt and Known Issues
194
+
195
+ ### Critical Technical Debt
196
+
197
+ 1. **Payment Service**: Legacy code in `src/legacy/payment.js` - tightly coupled, no tests
198
+ 2. **User Service**: Different pattern than other services, uses callbacks instead of promises
199
+ 3. **Database Migrations**: Manually tracked, no proper migration tool
200
+ 4. **[Other significant debt]**
201
+
202
+ ### Workarounds and Gotchas
203
+
204
+ - **Environment Variables**: Must set `NODE_ENV=production` even for staging (historical reason)
205
+ - **Database Connections**: Connection pool hardcoded to 10, changing breaks payment service
206
+ - **[Other workarounds developers need to know]**
207
+
208
+ ## Integration Points and External Dependencies
209
+
210
+ ### External Services
211
+
212
+ | Service | Purpose | Integration Type | Key Files |
213
+ | -------- | -------- | ---------------- | ------------------------------ |
214
+ | Stripe | Payments | REST API | `src/integrations/stripe/` |
215
+ | SendGrid | Emails | SDK | `src/services/emailService.js` |
216
+
217
+ etc...
218
+
219
+ ### Internal Integration Points
220
+
221
+ - **Frontend Communication**: REST API on port 3000, expects specific headers
222
+ - **Background Jobs**: Redis queue, see `src/workers/`
223
+ - **[Other integrations]**
224
+
225
+ ## Development and Deployment
226
+
227
+ ### Local Development Setup
228
+
229
+ 1. Actual steps that work (not ideal steps)
230
+ 2. Known issues with setup
231
+ 3. Required environment variables (see `.env.example`)
232
+
233
+ ### Build and Deployment Process
234
+
235
+ - **Build Command**: `npm run build` (webpack config in `webpack.config.js`)
236
+ - **Deployment**: Manual deployment via `scripts/deploy.sh`
237
+ - **Environments**: Dev, Staging, Prod (see `config/environments/`)
238
+
239
+ ## Testing Reality
240
+
241
+ ### Current Test Coverage
242
+
243
+ - Unit Tests: 60% coverage (Jest)
244
+ - Integration Tests: Minimal, in `tests/integration/`
245
+ - E2E Tests: None
246
+ - Manual Testing: Primary QA method
247
+
248
+ ### Running Tests
249
+
250
+ ```bash
251
+ npm test # Runs unit tests
252
+ npm run test:integration # Runs integration tests (requires local DB)
253
+ ```
254
+
255
+ ## If Enhancement PRD Provided - Impact Analysis
256
+
257
+ ### Files That Will Need Modification
258
+
259
+ Based on the enhancement requirements, these files will be affected:
260
+
261
+ - `src/services/userService.js` - Add new user fields
262
+ - `src/models/User.js` - Update schema
263
+ - `src/routes/userRoutes.js` - New endpoints
264
+ - [etc...]
265
+
266
+ ### New Files/Modules Needed
267
+
268
+ - `src/services/newFeatureService.js` - New business logic
269
+ - `src/models/NewFeature.js` - New data model
270
+ - [etc...]
271
+
272
+ ### Integration Considerations
273
+
274
+ - Will need to integrate with existing auth middleware
275
+ - Must follow existing response format in `src/utils/responseFormatter.js`
276
+ - [Other integration points]
277
+
278
+ ## Appendix - Useful Commands and Scripts
279
+
280
+ ### Frequently Used Commands
281
+
282
+ ```bash
283
+ npm run dev # Start development server
284
+ npm run build # Production build
285
+ npm run migrate # Run database migrations
286
+ npm run seed # Seed test data
287
+ ```
288
+
289
+ ### Debugging and Troubleshooting
290
+
291
+ - **Logs**: Check `logs/app.log` for application logs
292
+ - **Debug Mode**: Set `DEBUG=app:*` for verbose logging
293
+ - **Common Issues**: See `docs/troubleshooting.md`]]
294
+
295
+ ### 4. Document Delivery
296
+
297
+ 1. **In Web UI (Gemini, ChatGPT, Claude)**:
298
+ - Present the entire document in one response (or multiple if too long)
299
+ - Tell user to copy and save as `docs/brownfield-analysis.md`
300
+ - Mention it can be sharded later in IDE if needed
301
+
302
+ 2. **In IDE Environment**:
303
+ - Create the document as `docs/brownfield-analysis.md`
304
+ - Inform user this single document contains all architectural information
305
+ - Can be sharded later using PO agent if desired
306
+
307
+ The document should be comprehensive enough that future agents can understand:
308
+
309
+ - The actual state of the system (not idealized)
310
+ - Where to find key files and logic
311
+ - What technical debt exists
312
+ - What constraints must be respected
313
+ - If PRD provided: What needs to change for the enhancement]]
314
+
315
+ ### 5. Quality Assurance
316
+
317
+ CRITICAL: Before finalizing the document:
318
+
319
+ 1. **Accuracy Check**: Verify all technical details match the actual codebase
320
+ 2. **Completeness Review**: Ensure all major system components are documented
321
+ 3. **Focus Validation**: If user provided scope, verify relevant areas are emphasized
322
+ 4. **Clarity Assessment**: Check that explanations are clear for AI agents
323
+ 5. **Navigation**: Ensure document has clear section structure for easy reference
324
+
325
+ Apply the advanced elicitation task after major sections to refine based on user feedback.
326
+
327
+ ## Success Criteria
328
+
329
+ - Single comprehensive brownfield architecture document created
330
+ - Document reflects REALITY including technical debt and workarounds
331
+ - Key files and modules are referenced with actual paths
332
+ - Models/APIs reference source files rather than duplicating content
333
+ - If PRD provided: Clear impact analysis showing what needs to change
334
+ - Document enables AI agents to navigate and understand the actual codebase
335
+ - Technical constraints and "gotchas" are clearly documented
336
+
337
+ ## Notes
338
+
339
+ - This task creates ONE document that captures the TRUE state of the system
340
+ - References actual files rather than duplicating content when possible
341
+ - Documents technical debt, workarounds, and constraints honestly
342
+ - For brownfield projects with PRD: Provides clear enhancement impact analysis
343
+ - The goal is PRACTICAL documentation for AI agents doing real work