@digilogiclabs/create-saas-app 1.0.1

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 (830) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +891 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/cli/commands/add.d.ts +6 -0
  5. package/dist/cli/commands/add.d.ts.map +1 -0
  6. package/dist/cli/commands/add.js +39 -0
  7. package/dist/cli/commands/add.js.map +1 -0
  8. package/dist/cli/commands/create.d.ts +35 -0
  9. package/dist/cli/commands/create.d.ts.map +1 -0
  10. package/dist/cli/commands/create.js +165 -0
  11. package/dist/cli/commands/create.js.map +1 -0
  12. package/dist/cli/commands/index.d.ts +4 -0
  13. package/dist/cli/commands/index.d.ts.map +1 -0
  14. package/dist/cli/commands/index.js +20 -0
  15. package/dist/cli/commands/index.js.map +1 -0
  16. package/dist/cli/commands/update.d.ts +6 -0
  17. package/dist/cli/commands/update.d.ts.map +1 -0
  18. package/dist/cli/commands/update.js +68 -0
  19. package/dist/cli/commands/update.js.map +1 -0
  20. package/dist/cli/index.d.ts +4 -0
  21. package/dist/cli/index.d.ts.map +1 -0
  22. package/dist/cli/index.js +61 -0
  23. package/dist/cli/index.js.map +1 -0
  24. package/dist/cli/prompts/index.d.ts +2 -0
  25. package/dist/cli/prompts/index.d.ts.map +1 -0
  26. package/dist/cli/prompts/index.js +18 -0
  27. package/dist/cli/prompts/index.js.map +1 -0
  28. package/dist/cli/prompts/project-setup.d.ts +5 -0
  29. package/dist/cli/prompts/project-setup.d.ts.map +1 -0
  30. package/dist/cli/prompts/project-setup.js +288 -0
  31. package/dist/cli/prompts/project-setup.js.map +1 -0
  32. package/dist/cli/utils/git.d.ts +9 -0
  33. package/dist/cli/utils/git.d.ts.map +1 -0
  34. package/dist/cli/utils/git.js +77 -0
  35. package/dist/cli/utils/git.js.map +1 -0
  36. package/dist/cli/utils/index.d.ts +5 -0
  37. package/dist/cli/utils/index.d.ts.map +1 -0
  38. package/dist/cli/utils/index.js +21 -0
  39. package/dist/cli/utils/index.js.map +1 -0
  40. package/dist/cli/utils/logger.d.ts +16 -0
  41. package/dist/cli/utils/logger.d.ts.map +1 -0
  42. package/dist/cli/utils/logger.js +55 -0
  43. package/dist/cli/utils/logger.js.map +1 -0
  44. package/dist/cli/utils/package-manager.d.ts +8 -0
  45. package/dist/cli/utils/package-manager.d.ts.map +1 -0
  46. package/dist/cli/utils/package-manager.js +92 -0
  47. package/dist/cli/utils/package-manager.js.map +1 -0
  48. package/dist/cli/utils/spinner.d.ts +7 -0
  49. package/dist/cli/utils/spinner.d.ts.map +1 -0
  50. package/dist/cli/utils/spinner.js +48 -0
  51. package/dist/cli/utils/spinner.js.map +1 -0
  52. package/dist/cli/validators/dependencies.d.ts +15 -0
  53. package/dist/cli/validators/dependencies.d.ts.map +1 -0
  54. package/dist/cli/validators/dependencies.js +108 -0
  55. package/dist/cli/validators/dependencies.js.map +1 -0
  56. package/dist/cli/validators/index.d.ts +3 -0
  57. package/dist/cli/validators/index.d.ts.map +1 -0
  58. package/dist/cli/validators/index.js +19 -0
  59. package/dist/cli/validators/index.js.map +1 -0
  60. package/dist/cli/validators/project-name.d.ts +5 -0
  61. package/dist/cli/validators/project-name.d.ts.map +1 -0
  62. package/dist/cli/validators/project-name.js +151 -0
  63. package/dist/cli/validators/project-name.js.map +1 -0
  64. package/dist/generators/file-processor.d.ts +28 -0
  65. package/dist/generators/file-processor.d.ts.map +1 -0
  66. package/dist/generators/file-processor.js +224 -0
  67. package/dist/generators/file-processor.js.map +1 -0
  68. package/dist/generators/index.d.ts +4 -0
  69. package/dist/generators/index.d.ts.map +1 -0
  70. package/dist/generators/index.js +20 -0
  71. package/dist/generators/index.js.map +1 -0
  72. package/dist/generators/package-installer.d.ts +29 -0
  73. package/dist/generators/package-installer.d.ts.map +1 -0
  74. package/dist/generators/package-installer.js +177 -0
  75. package/dist/generators/package-installer.js.map +1 -0
  76. package/dist/generators/template-generator.d.ts +61 -0
  77. package/dist/generators/template-generator.d.ts.map +1 -0
  78. package/dist/generators/template-generator.js +457 -0
  79. package/dist/generators/template-generator.js.map +1 -0
  80. package/dist/templates/mobile/base/template/.env.example +15 -0
  81. package/dist/templates/mobile/base/template/App.tsx +186 -0
  82. package/dist/templates/mobile/base/template/app/(auth)/login.tsx +44 -0
  83. package/dist/templates/mobile/base/template/app/(auth)/signup.tsx +43 -0
  84. package/dist/templates/mobile/base/template/app/checkout.tsx +20 -0
  85. package/dist/templates/mobile/base/template/app.json +44 -0
  86. package/dist/templates/mobile/base/template/babel.config.js +6 -0
  87. package/dist/templates/mobile/base/template/eas.json +19 -0
  88. package/dist/templates/mobile/base/template/package.json +54 -0
  89. package/dist/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  90. package/dist/templates/mobile/ui-auth-payments/template/README.md +218 -0
  91. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  92. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  93. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  94. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +757 -0
  95. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  96. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  97. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +134 -0
  98. package/dist/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  99. package/dist/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  100. package/dist/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  101. package/dist/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  102. package/dist/templates/mobile/ui-auth-payments/template/app.json +94 -0
  103. package/dist/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  104. package/dist/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  105. package/dist/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  106. package/dist/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  107. package/dist/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  108. package/dist/templates/mobile/ui-auth-payments/template/package.json +117 -0
  109. package/dist/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  110. package/dist/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  111. package/dist/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  112. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  113. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  114. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  115. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  116. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  117. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  118. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  119. package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +134 -0
  120. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  121. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  122. package/dist/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  123. package/dist/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  124. package/dist/templates/mobile/ui-auth-payments-ai/template/app.json +94 -0
  125. package/dist/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  126. package/dist/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  127. package/dist/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  128. package/dist/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  129. package/dist/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  130. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +119 -0
  131. package/dist/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  132. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  133. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  134. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
  135. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  136. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  137. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  138. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  139. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  140. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  141. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  142. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  143. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  144. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +124 -0
  145. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  146. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  147. package/dist/templates/shared/auth/firebase/web/config.ts +23 -0
  148. package/dist/templates/shared/auth/supabase/web/config.ts +8 -0
  149. package/dist/templates/web/base/template/.env.example +15 -0
  150. package/dist/templates/web/base/template/.eslintrc.js +8 -0
  151. package/dist/templates/web/base/template/README.md +68 -0
  152. package/dist/templates/web/base/template/next.config.js +15 -0
  153. package/dist/templates/web/base/template/package.json +59 -0
  154. package/dist/templates/web/base/template/postcss.config.js +7 -0
  155. package/dist/templates/web/base/template/src/app/auth/callback/route.ts +18 -0
  156. package/dist/templates/web/base/template/src/app/checkout/page.tsx +119 -0
  157. package/dist/templates/web/base/template/src/app/dashboard/page.tsx +366 -0
  158. package/dist/templates/web/base/template/src/app/error.tsx +97 -0
  159. package/dist/templates/web/base/template/src/app/globals.css +157 -0
  160. package/dist/templates/web/base/template/src/app/layout.tsx +35 -0
  161. package/dist/templates/web/base/template/src/app/loading.tsx +52 -0
  162. package/dist/templates/web/base/template/src/app/login/page.tsx +67 -0
  163. package/dist/templates/web/base/template/src/app/page.tsx +193 -0
  164. package/dist/templates/web/base/template/src/app/signup/page.tsx +67 -0
  165. package/dist/templates/web/base/template/src/components/__tests__/example.test.tsx +49 -0
  166. package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +35 -0
  167. package/dist/templates/web/base/template/src/components/providers/theme-provider.tsx +94 -0
  168. package/dist/templates/web/base/template/src/components/shared/footer.tsx +36 -0
  169. package/dist/templates/web/base/template/src/components/shared/header.tsx +63 -0
  170. package/dist/templates/web/base/template/src/components/ui/badge.tsx +36 -0
  171. package/dist/templates/web/base/template/src/components/ui/button.tsx +56 -0
  172. package/dist/templates/web/base/template/src/components/ui/card.tsx +71 -0
  173. package/dist/templates/web/base/template/src/components/ui/theme-toggle.tsx +34 -0
  174. package/dist/templates/web/base/template/src/lib/auth-server.ts +177 -0
  175. package/dist/templates/web/base/template/src/lib/env.ts +46 -0
  176. package/dist/templates/web/base/template/src/lib/platform.ts +146 -0
  177. package/dist/templates/web/base/template/src/lib/utils.ts +140 -0
  178. package/dist/templates/web/base/template/src/test/setup.ts +79 -0
  179. package/dist/templates/web/base/template/tailwind.config.js +77 -0
  180. package/dist/templates/web/base/template/tsconfig.json +33 -0
  181. package/dist/templates/web/base/template/vitest.config.ts +17 -0
  182. package/dist/templates/web/base/template.backup/.env.example +15 -0
  183. package/dist/templates/web/base/template.backup.20250817/.env.example +15 -0
  184. package/dist/templates/web/ui-auth/template/.claude +21 -0
  185. package/dist/templates/web/ui-auth/template/.env.example +15 -0
  186. package/dist/templates/web/ui-auth/template/.eslintrc.js +8 -0
  187. package/dist/templates/web/ui-auth/template/README.md +68 -0
  188. package/dist/templates/web/ui-auth/template/context.md +105 -0
  189. package/dist/templates/web/ui-auth/template/next.config.js +12 -0
  190. package/dist/templates/web/ui-auth/template/package.json +51 -0
  191. package/dist/templates/web/ui-auth/template/postcss.config.js +7 -0
  192. package/dist/templates/web/ui-auth/template/src/app/auth/callback/route.ts +12 -0
  193. package/dist/templates/web/ui-auth/template/src/app/checkout/page.tsx +25 -0
  194. package/dist/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +801 -0
  195. package/dist/templates/web/ui-auth/template/src/app/error.tsx +67 -0
  196. package/dist/templates/web/ui-auth/template/src/app/globals.css +95 -0
  197. package/dist/templates/web/ui-auth/template/src/app/layout.tsx +33 -0
  198. package/dist/templates/web/ui-auth/template/src/app/loading.tsx +38 -0
  199. package/dist/templates/web/ui-auth/template/src/app/login/page.tsx +109 -0
  200. package/dist/templates/web/ui-auth/template/src/app/page.tsx +305 -0
  201. package/dist/templates/web/ui-auth/template/src/app/setup/page.tsx +403 -0
  202. package/dist/templates/web/ui-auth/template/src/app/signup/page.tsx +128 -0
  203. package/dist/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +49 -0
  204. package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +31 -0
  205. package/dist/templates/web/ui-auth/template/src/components/providers/theme-provider.tsx +94 -0
  206. package/dist/templates/web/ui-auth/template/src/components/shared/footer.tsx +36 -0
  207. package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +94 -0
  208. package/dist/templates/web/ui-auth/template/src/components/ui/badge.tsx +36 -0
  209. package/dist/templates/web/ui-auth/template/src/components/ui/theme-toggle.tsx +34 -0
  210. package/dist/templates/web/ui-auth/template/src/lib/env.ts +49 -0
  211. package/dist/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
  212. package/dist/templates/web/ui-auth/template/src/lib/utils.ts +140 -0
  213. package/dist/templates/web/ui-auth/template/src/test/setup.ts +79 -0
  214. package/dist/templates/web/ui-auth/template/tailwind.config.js +77 -0
  215. package/dist/templates/web/ui-auth/template/tsconfig.json +33 -0
  216. package/dist/templates/web/ui-auth/template/vitest.config.ts +17 -0
  217. package/dist/templates/web/ui-auth/template.backup/.env.example +15 -0
  218. package/dist/templates/web/ui-auth/template.backup.20250817/.env.example +15 -0
  219. package/dist/templates/web/ui-auth-ai/template/.env.example +18 -0
  220. package/dist/templates/web/ui-auth-ai/template/README.md +170 -0
  221. package/dist/templates/web/ui-auth-ai/template/next.config.js +13 -0
  222. package/dist/templates/web/ui-auth-ai/template/package.json +39 -0
  223. package/dist/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
  224. package/dist/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
  225. package/dist/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
  226. package/dist/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
  227. package/dist/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
  228. package/dist/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
  229. package/dist/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
  230. package/dist/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
  231. package/dist/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
  232. package/dist/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
  233. package/dist/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
  234. package/dist/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
  235. package/dist/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
  236. package/dist/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
  237. package/dist/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
  238. package/dist/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
  239. package/dist/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
  240. package/dist/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
  241. package/dist/templates/web/ui-auth-payments/template/.env.example +51 -0
  242. package/dist/templates/web/ui-auth-payments/template/README.md +165 -0
  243. package/dist/templates/web/ui-auth-payments/template/middleware.ts +68 -0
  244. package/dist/templates/web/ui-auth-payments/template/next.config.js +12 -0
  245. package/dist/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  246. package/dist/templates/web/ui-auth-payments/template/package.json +55 -0
  247. package/dist/templates/web/ui-auth-payments/template/postcss.config.js +7 -0
  248. package/dist/templates/web/ui-auth-payments/template/src/app/auth/callback/route.ts +12 -0
  249. package/dist/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +211 -0
  250. package/dist/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +318 -0
  251. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/layout.tsx +22 -0
  252. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +235 -0
  253. package/dist/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +801 -0
  254. package/dist/templates/web/ui-auth-payments/template/src/app/error.tsx +67 -0
  255. package/dist/templates/web/ui-auth-payments/template/src/app/globals.css +211 -0
  256. package/dist/templates/web/ui-auth-payments/template/src/app/layout.tsx +33 -0
  257. package/dist/templates/web/ui-auth-payments/template/src/app/loading.tsx +20 -0
  258. package/dist/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +38 -0
  259. package/dist/templates/web/ui-auth-payments/template/src/app/login/page.tsx +109 -0
  260. package/dist/templates/web/ui-auth-payments/template/src/app/page.tsx +350 -0
  261. package/dist/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +507 -0
  262. package/dist/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +50 -0
  263. package/dist/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +128 -0
  264. package/dist/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +49 -0
  265. package/dist/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +52 -0
  266. package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +144 -0
  267. package/dist/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +68 -0
  268. package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +185 -0
  269. package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +34 -0
  270. package/dist/templates/web/ui-auth-payments/template/src/components/providers/theme-provider.tsx +94 -0
  271. package/dist/templates/web/ui-auth-payments/template/src/components/shared/footer.tsx +36 -0
  272. package/dist/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +230 -0
  273. package/dist/templates/web/ui-auth-payments/template/src/components/ui/badge.tsx +36 -0
  274. package/dist/templates/web/ui-auth-payments/template/src/components/ui/theme-toggle.tsx +34 -0
  275. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +246 -0
  276. package/dist/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +340 -0
  277. package/dist/templates/web/ui-auth-payments/template/src/lib/auth-server.ts +177 -0
  278. package/dist/templates/web/ui-auth-payments/template/src/lib/env.ts +49 -0
  279. package/dist/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
  280. package/dist/templates/web/ui-auth-payments/template/src/lib/utils.ts +140 -0
  281. package/dist/templates/web/ui-auth-payments/template/src/test/setup.ts +79 -0
  282. package/dist/templates/web/ui-auth-payments/template/tailwind.config.js +77 -0
  283. package/dist/templates/web/ui-auth-payments/template/tsconfig.json +33 -0
  284. package/dist/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  285. package/dist/templates/web/ui-auth-payments/template/vitest.config.ts +17 -0
  286. package/dist/templates/web/ui-auth-payments-ai/template/.claude +21 -0
  287. package/dist/templates/web/ui-auth-payments-ai/template/.env.example +60 -0
  288. package/dist/templates/web/ui-auth-payments-ai/template/README.md +207 -0
  289. package/dist/templates/web/ui-auth-payments-ai/template/context.md +169 -0
  290. package/dist/templates/web/ui-auth-payments-ai/template/middleware.ts +68 -0
  291. package/dist/templates/web/ui-auth-payments-ai/template/next.config.js +12 -0
  292. package/dist/templates/web/ui-auth-payments-ai/template/package-lock.json +12241 -0
  293. package/dist/templates/web/ui-auth-payments-ai/template/package.json +58 -0
  294. package/dist/templates/web/ui-auth-payments-ai/template/postcss.config.js +7 -0
  295. package/dist/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +310 -0
  296. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/audio/route.ts +56 -0
  297. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/chat/route.ts +49 -0
  298. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/text/route.ts +64 -0
  299. package/dist/templates/web/ui-auth-payments-ai/template/src/app/api/ai/video/route.ts +73 -0
  300. package/dist/templates/web/ui-auth-payments-ai/template/src/app/auth/callback/route.ts +12 -0
  301. package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +422 -0
  302. package/dist/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +142 -0
  303. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/layout.tsx +22 -0
  304. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +236 -0
  305. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +801 -0
  306. package/dist/templates/web/ui-auth-payments-ai/template/src/app/error.tsx +67 -0
  307. package/dist/templates/web/ui-auth-payments-ai/template/src/app/globals.css +96 -0
  308. package/dist/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +35 -0
  309. package/dist/templates/web/ui-auth-payments-ai/template/src/app/loading.tsx +20 -0
  310. package/dist/templates/web/ui-auth-payments-ai/template/src/app/login/page.tsx +6 -0
  311. package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  312. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +394 -0
  313. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.backup +391 -0
  314. package/dist/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.bak +391 -0
  315. package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  316. package/dist/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +645 -0
  317. package/dist/templates/web/ui-auth-payments-ai/template/src/app/signup/page.tsx +6 -0
  318. package/dist/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +49 -0
  319. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +52 -0
  320. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +163 -0
  321. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +201 -0
  322. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +38 -0
  323. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/theme-provider.tsx +96 -0
  324. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/footer.tsx +36 -0
  325. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +252 -0
  326. package/dist/templates/web/ui-auth-payments-ai/template/src/components/ui/badge.tsx +36 -0
  327. package/dist/templates/web/ui-auth-payments-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  328. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +246 -0
  329. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/actions/index.ts +14 -0
  330. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/auth-server.ts +177 -0
  331. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/env.ts +49 -0
  332. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
  333. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/supabase/server.ts +72 -0
  334. package/dist/templates/web/ui-auth-payments-ai/template/src/lib/utils.ts +140 -0
  335. package/dist/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +79 -0
  336. package/dist/templates/web/ui-auth-payments-ai/template/tailwind.config.js +77 -0
  337. package/dist/templates/web/ui-auth-payments-ai/template/tsconfig.json +33 -0
  338. package/dist/templates/web/ui-auth-payments-ai/template/tsconfig.tsbuildinfo +1 -0
  339. package/dist/templates/web/ui-auth-payments-ai/template/vitest.config.ts +17 -0
  340. package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  341. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  342. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  343. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  344. package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  345. package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  346. package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  347. package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +76 -0
  348. package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  349. package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  350. package/dist/templates/web/ui-auth-payments-audio/template/.env.example +15 -0
  351. package/dist/templates/web/ui-auth-payments-audio/template/README.md +207 -0
  352. package/dist/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  353. package/dist/templates/web/ui-auth-payments-audio/template/next.config.js +12 -0
  354. package/dist/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  355. package/dist/templates/web/ui-auth-payments-audio/template/package.json +55 -0
  356. package/dist/templates/web/ui-auth-payments-audio/template/postcss.config.js +7 -0
  357. package/dist/templates/web/ui-auth-payments-audio/template/src/app/auth/callback/route.ts +12 -0
  358. package/dist/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +211 -0
  359. package/dist/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +142 -0
  360. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  361. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +237 -0
  362. package/dist/templates/web/ui-auth-payments-audio/template/src/app/error.tsx +67 -0
  363. package/dist/templates/web/ui-auth-payments-audio/template/src/app/globals.css +96 -0
  364. package/dist/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +35 -0
  365. package/dist/templates/web/ui-auth-payments-audio/template/src/app/loading.tsx +20 -0
  366. package/dist/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +6 -0
  367. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +403 -0
  368. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.backup +391 -0
  369. package/dist/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.bak +391 -0
  370. package/dist/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +345 -0
  371. package/dist/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +6 -0
  372. package/dist/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +49 -0
  373. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  374. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  375. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  376. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +38 -0
  377. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/theme-provider.tsx +96 -0
  378. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/footer.tsx +36 -0
  379. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +252 -0
  380. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/badge.tsx +36 -0
  381. package/dist/templates/web/ui-auth-payments-audio/template/src/components/ui/theme-toggle.tsx +34 -0
  382. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  383. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  384. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  385. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/env.ts +49 -0
  386. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/utils.ts +140 -0
  387. package/dist/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +79 -0
  388. package/dist/templates/web/ui-auth-payments-audio/template/tailwind.config.js +77 -0
  389. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.json +33 -0
  390. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  391. package/dist/templates/web/ui-auth-payments-audio/template/vitest.config.ts +17 -0
  392. package/dist/templates/web/ui-auth-payments-video/template/.env.example +15 -0
  393. package/dist/templates/web/ui-auth-payments-video/template/README.md +190 -0
  394. package/dist/templates/web/ui-auth-payments-video/template/next.config.js +12 -0
  395. package/dist/templates/web/ui-auth-payments-video/template/package.json +55 -0
  396. package/dist/templates/web/ui-auth-payments-video/template/postcss.config.js +7 -0
  397. package/dist/templates/web/ui-auth-payments-video/template/src/app/auth/callback/route.ts +12 -0
  398. package/dist/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +211 -0
  399. package/dist/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +142 -0
  400. package/dist/templates/web/ui-auth-payments-video/template/src/app/error.tsx +67 -0
  401. package/dist/templates/web/ui-auth-payments-video/template/src/app/globals.css +228 -0
  402. package/dist/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +33 -0
  403. package/dist/templates/web/ui-auth-payments-video/template/src/app/loading.tsx +20 -0
  404. package/dist/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +109 -0
  405. package/dist/templates/web/ui-auth-payments-video/template/src/app/page.tsx +395 -0
  406. package/dist/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +351 -0
  407. package/dist/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +128 -0
  408. package/dist/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +49 -0
  409. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +34 -0
  410. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/theme-provider.tsx +94 -0
  411. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/footer.tsx +36 -0
  412. package/dist/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +246 -0
  413. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/badge.tsx +36 -0
  414. package/dist/templates/web/ui-auth-payments-video/template/src/components/ui/theme-toggle.tsx +34 -0
  415. package/dist/templates/web/ui-auth-payments-video/template/src/lib/env.ts +49 -0
  416. package/dist/templates/web/ui-auth-payments-video/template/src/lib/utils.ts +140 -0
  417. package/dist/templates/web/ui-auth-payments-video/template/src/test/setup.ts +79 -0
  418. package/dist/templates/web/ui-auth-payments-video/template/tailwind.config.js +77 -0
  419. package/dist/templates/web/ui-auth-payments-video/template/tsconfig.json +33 -0
  420. package/dist/templates/web/ui-auth-payments-video/template/vitest.config.ts +17 -0
  421. package/dist/templates/web/ui-only/template/.env.example +15 -0
  422. package/dist/templates/web/ui-only/template/.eslintrc.js +8 -0
  423. package/dist/templates/web/ui-only/template/README.md +68 -0
  424. package/dist/templates/web/ui-only/template/next.config.js +12 -0
  425. package/dist/templates/web/ui-only/template/package.json +49 -0
  426. package/dist/templates/web/ui-only/template/postcss.config.js +7 -0
  427. package/dist/templates/web/ui-only/template/src/app/auth/callback/route.ts +12 -0
  428. package/dist/templates/web/ui-only/template/src/app/checkout/page.tsx +25 -0
  429. package/dist/templates/web/ui-only/template/src/app/error.tsx +67 -0
  430. package/dist/templates/web/ui-only/template/src/app/globals.css +42 -0
  431. package/dist/templates/web/ui-only/template/src/app/layout.tsx +33 -0
  432. package/dist/templates/web/ui-only/template/src/app/loading.tsx +20 -0
  433. package/dist/templates/web/ui-only/template/src/app/login/page.tsx +63 -0
  434. package/dist/templates/web/ui-only/template/src/app/page.tsx +91 -0
  435. package/dist/templates/web/ui-only/template/src/app/signup/page.tsx +79 -0
  436. package/dist/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +49 -0
  437. package/dist/templates/web/ui-only/template/src/components/providers/app-providers.tsx +26 -0
  438. package/dist/templates/web/ui-only/template/src/components/providers/theme-provider.tsx +94 -0
  439. package/dist/templates/web/ui-only/template/src/components/shared/footer.tsx +36 -0
  440. package/dist/templates/web/ui-only/template/src/components/shared/header.tsx +53 -0
  441. package/dist/templates/web/ui-only/template/src/components/ui/badge.tsx +36 -0
  442. package/dist/templates/web/ui-only/template/src/components/ui/theme-toggle.tsx +34 -0
  443. package/dist/templates/web/ui-only/template/src/lib/env.ts +49 -0
  444. package/dist/templates/web/ui-only/template/src/lib/utils.ts +140 -0
  445. package/dist/templates/web/ui-only/template/src/test/setup.ts +79 -0
  446. package/dist/templates/web/ui-only/template/tailwind.config.js +77 -0
  447. package/dist/templates/web/ui-only/template/tsconfig.json +33 -0
  448. package/dist/templates/web/ui-only/template/vitest.config.ts +17 -0
  449. package/dist/templates/web/ui-only/template.backup/.env.example +15 -0
  450. package/dist/templates/web/ui-only/template.backup.20250817/.env.example +15 -0
  451. package/dist/templates/web/ui-package-test/template/next-env.d.ts +5 -0
  452. package/dist/templates/web/ui-package-test/template/package.json +42 -0
  453. package/dist/templates/web/ui-package-test/template/src/app/page.tsx +106 -0
  454. package/dist/templates/web/ui-package-test/template/tsconfig.json +41 -0
  455. package/package.json +106 -0
  456. package/src/templates/mobile/base/template/.env.example +15 -0
  457. package/src/templates/mobile/base/template/App.tsx +186 -0
  458. package/src/templates/mobile/base/template/app/(auth)/login.tsx +44 -0
  459. package/src/templates/mobile/base/template/app/(auth)/signup.tsx +43 -0
  460. package/src/templates/mobile/base/template/app/checkout.tsx +20 -0
  461. package/src/templates/mobile/base/template/app.json +44 -0
  462. package/src/templates/mobile/base/template/babel.config.js +6 -0
  463. package/src/templates/mobile/base/template/eas.json +19 -0
  464. package/src/templates/mobile/base/template/package.json +54 -0
  465. package/src/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  466. package/src/templates/mobile/ui-auth-payments/template/README.md +218 -0
  467. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  468. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  469. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  470. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +757 -0
  471. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  472. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  473. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +134 -0
  474. package/src/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  475. package/src/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  476. package/src/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  477. package/src/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  478. package/src/templates/mobile/ui-auth-payments/template/app.json +94 -0
  479. package/src/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  480. package/src/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  481. package/src/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  482. package/src/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  483. package/src/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  484. package/src/templates/mobile/ui-auth-payments/template/package.json +117 -0
  485. package/src/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  486. package/src/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  487. package/src/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  488. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  489. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  490. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  491. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  492. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  493. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  494. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  495. package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +134 -0
  496. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  497. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  498. package/src/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  499. package/src/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  500. package/src/templates/mobile/ui-auth-payments-ai/template/app.json +94 -0
  501. package/src/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  502. package/src/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  503. package/src/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  504. package/src/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  505. package/src/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  506. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +119 -0
  507. package/src/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  508. package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  509. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  510. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/_layout.tsx +134 -0
  511. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app.json +74 -0
  512. package/src/templates/mobile/ui-auth-payments-ai-rag/template/babel.config.js +25 -0
  513. package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  514. package/src/templates/mobile/ui-auth-payments-ai-rag/template/eas.json +25 -0
  515. package/src/templates/mobile/ui-auth-payments-ai-rag/template/expo-env.d.ts +3 -0
  516. package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  517. package/src/templates/mobile/ui-auth-payments-ai-rag/template/jest-setup.ts +37 -0
  518. package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  519. package/src/templates/mobile/ui-auth-payments-ai-rag/template/metro.config.js +11 -0
  520. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +124 -0
  521. package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  522. package/src/templates/mobile/ui-auth-payments-ai-rag/template/tsconfig.json +32 -0
  523. package/src/templates/shared/auth/firebase/web/config.ts +23 -0
  524. package/src/templates/shared/auth/supabase/web/config.ts +8 -0
  525. package/src/templates/web/base/template/.env.example +15 -0
  526. package/src/templates/web/base/template/.eslintrc.js +8 -0
  527. package/src/templates/web/base/template/README.md +68 -0
  528. package/src/templates/web/base/template/next.config.js +15 -0
  529. package/src/templates/web/base/template/package.json +59 -0
  530. package/src/templates/web/base/template/postcss.config.js +7 -0
  531. package/src/templates/web/base/template/src/app/auth/callback/route.ts +18 -0
  532. package/src/templates/web/base/template/src/app/checkout/page.tsx +119 -0
  533. package/src/templates/web/base/template/src/app/dashboard/page.tsx +366 -0
  534. package/src/templates/web/base/template/src/app/error.tsx +97 -0
  535. package/src/templates/web/base/template/src/app/globals.css +157 -0
  536. package/src/templates/web/base/template/src/app/layout.tsx +35 -0
  537. package/src/templates/web/base/template/src/app/loading.tsx +52 -0
  538. package/src/templates/web/base/template/src/app/login/page.tsx +67 -0
  539. package/src/templates/web/base/template/src/app/page.tsx +193 -0
  540. package/src/templates/web/base/template/src/app/signup/page.tsx +67 -0
  541. package/src/templates/web/base/template/src/components/__tests__/example.test.tsx +49 -0
  542. package/src/templates/web/base/template/src/components/providers/app-providers.tsx +35 -0
  543. package/src/templates/web/base/template/src/components/providers/theme-provider.tsx +94 -0
  544. package/src/templates/web/base/template/src/components/shared/footer.tsx +36 -0
  545. package/src/templates/web/base/template/src/components/shared/header.tsx +63 -0
  546. package/src/templates/web/base/template/src/components/ui/badge.tsx +36 -0
  547. package/src/templates/web/base/template/src/components/ui/button.tsx +56 -0
  548. package/src/templates/web/base/template/src/components/ui/card.tsx +71 -0
  549. package/src/templates/web/base/template/src/components/ui/theme-toggle.tsx +34 -0
  550. package/src/templates/web/base/template/src/lib/auth-server.ts +177 -0
  551. package/src/templates/web/base/template/src/lib/env.ts +46 -0
  552. package/src/templates/web/base/template/src/lib/platform.ts +146 -0
  553. package/src/templates/web/base/template/src/lib/utils.ts +140 -0
  554. package/src/templates/web/base/template/src/test/setup.ts +79 -0
  555. package/src/templates/web/base/template/tailwind.config.js +77 -0
  556. package/src/templates/web/base/template/tsconfig.json +33 -0
  557. package/src/templates/web/base/template/vitest.config.ts +17 -0
  558. package/src/templates/web/base/template.backup/.env.example +15 -0
  559. package/src/templates/web/base/template.backup.20250817/.env.example +15 -0
  560. package/src/templates/web/ui-auth/template/.claude +21 -0
  561. package/src/templates/web/ui-auth/template/.env.example +15 -0
  562. package/src/templates/web/ui-auth/template/.eslintrc.js +8 -0
  563. package/src/templates/web/ui-auth/template/README.md +68 -0
  564. package/src/templates/web/ui-auth/template/context.md +105 -0
  565. package/src/templates/web/ui-auth/template/next.config.js +12 -0
  566. package/src/templates/web/ui-auth/template/package.json +51 -0
  567. package/src/templates/web/ui-auth/template/postcss.config.js +7 -0
  568. package/src/templates/web/ui-auth/template/src/app/auth/callback/route.ts +12 -0
  569. package/src/templates/web/ui-auth/template/src/app/checkout/page.tsx +25 -0
  570. package/src/templates/web/ui-auth/template/src/app/dev-setup/page.tsx +801 -0
  571. package/src/templates/web/ui-auth/template/src/app/error.tsx +67 -0
  572. package/src/templates/web/ui-auth/template/src/app/globals.css +95 -0
  573. package/src/templates/web/ui-auth/template/src/app/layout.tsx +33 -0
  574. package/src/templates/web/ui-auth/template/src/app/loading.tsx +38 -0
  575. package/src/templates/web/ui-auth/template/src/app/login/page.tsx +109 -0
  576. package/src/templates/web/ui-auth/template/src/app/page.tsx +305 -0
  577. package/src/templates/web/ui-auth/template/src/app/setup/page.tsx +403 -0
  578. package/src/templates/web/ui-auth/template/src/app/signup/page.tsx +128 -0
  579. package/src/templates/web/ui-auth/template/src/components/__tests__/example.test.tsx +49 -0
  580. package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +31 -0
  581. package/src/templates/web/ui-auth/template/src/components/providers/theme-provider.tsx +94 -0
  582. package/src/templates/web/ui-auth/template/src/components/shared/footer.tsx +36 -0
  583. package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +94 -0
  584. package/src/templates/web/ui-auth/template/src/components/ui/badge.tsx +36 -0
  585. package/src/templates/web/ui-auth/template/src/components/ui/theme-toggle.tsx +34 -0
  586. package/src/templates/web/ui-auth/template/src/lib/env.ts +49 -0
  587. package/src/templates/web/ui-auth/template/src/lib/platform.ts +137 -0
  588. package/src/templates/web/ui-auth/template/src/lib/utils.ts +140 -0
  589. package/src/templates/web/ui-auth/template/src/test/setup.ts +79 -0
  590. package/src/templates/web/ui-auth/template/tailwind.config.js +77 -0
  591. package/src/templates/web/ui-auth/template/tsconfig.json +33 -0
  592. package/src/templates/web/ui-auth/template/vitest.config.ts +17 -0
  593. package/src/templates/web/ui-auth/template.backup/.env.example +15 -0
  594. package/src/templates/web/ui-auth/template.backup.20250817/.env.example +15 -0
  595. package/src/templates/web/ui-auth-ai/template/.env.example +18 -0
  596. package/src/templates/web/ui-auth-ai/template/README.md +170 -0
  597. package/src/templates/web/ui-auth-ai/template/next.config.js +13 -0
  598. package/src/templates/web/ui-auth-ai/template/package.json +39 -0
  599. package/src/templates/web/ui-auth-ai/template/postcss.config.js +6 -0
  600. package/src/templates/web/ui-auth-ai/template/src/app/globals.css +40 -0
  601. package/src/templates/web/ui-auth-ai/template/src/app/layout.tsx +41 -0
  602. package/src/templates/web/ui-auth-ai/template/src/app/page.tsx +193 -0
  603. package/src/templates/web/ui-auth-ai/template/src/components/ai/audio-generator.tsx +141 -0
  604. package/src/templates/web/ui-auth-ai/template/src/components/ai/video-generator.tsx +158 -0
  605. package/src/templates/web/ui-auth-ai/template/src/components/auth/login-form.tsx +106 -0
  606. package/src/templates/web/ui-auth-ai/template/src/components/ui/button.tsx +44 -0
  607. package/src/templates/web/ui-auth-ai/template/src/components/ui/input.tsx +24 -0
  608. package/src/templates/web/ui-auth-ai/template/src/components/ui/label.tsx +21 -0
  609. package/src/templates/web/ui-auth-ai/template/src/components/ui/select.tsx +37 -0
  610. package/src/templates/web/ui-auth-ai/template/src/components/ui/textarea.tsx +23 -0
  611. package/src/templates/web/ui-auth-ai/template/src/hooks/useAuth.ts +1 -0
  612. package/src/templates/web/ui-auth-ai/template/src/lib/supabase.ts +8 -0
  613. package/src/templates/web/ui-auth-ai/template/src/lib/utils.ts +5 -0
  614. package/src/templates/web/ui-auth-ai/template/src/providers/auth-provider.tsx +55 -0
  615. package/src/templates/web/ui-auth-ai/template/tailwind.config.js +22 -0
  616. package/src/templates/web/ui-auth-ai/template/tsconfig.json +28 -0
  617. package/src/templates/web/ui-auth-payments/template/.env.example +51 -0
  618. package/src/templates/web/ui-auth-payments/template/README.md +165 -0
  619. package/src/templates/web/ui-auth-payments/template/middleware.ts +68 -0
  620. package/src/templates/web/ui-auth-payments/template/next.config.js +12 -0
  621. package/src/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  622. package/src/templates/web/ui-auth-payments/template/package.json +55 -0
  623. package/src/templates/web/ui-auth-payments/template/postcss.config.js +7 -0
  624. package/src/templates/web/ui-auth-payments/template/src/app/auth/callback/route.ts +12 -0
  625. package/src/templates/web/ui-auth-payments/template/src/app/billing/page.tsx +211 -0
  626. package/src/templates/web/ui-auth-payments/template/src/app/checkout/page.tsx +318 -0
  627. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/layout.tsx +22 -0
  628. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +235 -0
  629. package/src/templates/web/ui-auth-payments/template/src/app/dev-setup/page.tsx +801 -0
  630. package/src/templates/web/ui-auth-payments/template/src/app/error.tsx +67 -0
  631. package/src/templates/web/ui-auth-payments/template/src/app/globals.css +211 -0
  632. package/src/templates/web/ui-auth-payments/template/src/app/layout.tsx +33 -0
  633. package/src/templates/web/ui-auth-payments/template/src/app/loading.tsx +20 -0
  634. package/src/templates/web/ui-auth-payments/template/src/app/login/loading.tsx +38 -0
  635. package/src/templates/web/ui-auth-payments/template/src/app/login/page.tsx +109 -0
  636. package/src/templates/web/ui-auth-payments/template/src/app/page.tsx +350 -0
  637. package/src/templates/web/ui-auth-payments/template/src/app/setup/page.tsx +507 -0
  638. package/src/templates/web/ui-auth-payments/template/src/app/signup/loading.tsx +50 -0
  639. package/src/templates/web/ui-auth-payments/template/src/app/signup/page.tsx +128 -0
  640. package/src/templates/web/ui-auth-payments/template/src/components/__tests__/example.test.tsx +49 -0
  641. package/src/templates/web/ui-auth-payments/template/src/components/client/auth-status.tsx +52 -0
  642. package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +144 -0
  643. package/src/templates/web/ui-auth-payments/template/src/components/client/newsletter-signup.tsx +68 -0
  644. package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +185 -0
  645. package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +34 -0
  646. package/src/templates/web/ui-auth-payments/template/src/components/providers/theme-provider.tsx +94 -0
  647. package/src/templates/web/ui-auth-payments/template/src/components/shared/footer.tsx +36 -0
  648. package/src/templates/web/ui-auth-payments/template/src/components/shared/header.tsx +230 -0
  649. package/src/templates/web/ui-auth-payments/template/src/components/ui/badge.tsx +36 -0
  650. package/src/templates/web/ui-auth-payments/template/src/components/ui/theme-toggle.tsx +34 -0
  651. package/src/templates/web/ui-auth-payments/template/src/lib/actions/auth.ts +246 -0
  652. package/src/templates/web/ui-auth-payments/template/src/lib/actions/index.ts +340 -0
  653. package/src/templates/web/ui-auth-payments/template/src/lib/auth-server.ts +177 -0
  654. package/src/templates/web/ui-auth-payments/template/src/lib/env.ts +49 -0
  655. package/src/templates/web/ui-auth-payments/template/src/lib/platform.ts +146 -0
  656. package/src/templates/web/ui-auth-payments/template/src/lib/utils.ts +140 -0
  657. package/src/templates/web/ui-auth-payments/template/src/test/setup.ts +79 -0
  658. package/src/templates/web/ui-auth-payments/template/tailwind.config.js +77 -0
  659. package/src/templates/web/ui-auth-payments/template/tsconfig.json +33 -0
  660. package/src/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  661. package/src/templates/web/ui-auth-payments/template/vitest.config.ts +17 -0
  662. package/src/templates/web/ui-auth-payments-ai/template/.claude +21 -0
  663. package/src/templates/web/ui-auth-payments-ai/template/.env.example +60 -0
  664. package/src/templates/web/ui-auth-payments-ai/template/README.md +207 -0
  665. package/src/templates/web/ui-auth-payments-ai/template/context.md +169 -0
  666. package/src/templates/web/ui-auth-payments-ai/template/middleware.ts +68 -0
  667. package/src/templates/web/ui-auth-payments-ai/template/next.config.js +12 -0
  668. package/src/templates/web/ui-auth-payments-ai/template/package-lock.json +12241 -0
  669. package/src/templates/web/ui-auth-payments-ai/template/package.json +58 -0
  670. package/src/templates/web/ui-auth-payments-ai/template/postcss.config.js +7 -0
  671. package/src/templates/web/ui-auth-payments-ai/template/src/app/ai/page.tsx +310 -0
  672. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/audio/route.ts +56 -0
  673. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/chat/route.ts +49 -0
  674. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/text/route.ts +64 -0
  675. package/src/templates/web/ui-auth-payments-ai/template/src/app/api/ai/video/route.ts +73 -0
  676. package/src/templates/web/ui-auth-payments-ai/template/src/app/auth/callback/route.ts +12 -0
  677. package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +422 -0
  678. package/src/templates/web/ui-auth-payments-ai/template/src/app/checkout/page.tsx +142 -0
  679. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/layout.tsx +22 -0
  680. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +236 -0
  681. package/src/templates/web/ui-auth-payments-ai/template/src/app/dev-setup/page.tsx +801 -0
  682. package/src/templates/web/ui-auth-payments-ai/template/src/app/error.tsx +67 -0
  683. package/src/templates/web/ui-auth-payments-ai/template/src/app/globals.css +96 -0
  684. package/src/templates/web/ui-auth-payments-ai/template/src/app/layout.tsx +35 -0
  685. package/src/templates/web/ui-auth-payments-ai/template/src/app/loading.tsx +20 -0
  686. package/src/templates/web/ui-auth-payments-ai/template/src/app/login/page.tsx +6 -0
  687. package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  688. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx +394 -0
  689. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.backup +391 -0
  690. package/src/templates/web/ui-auth-payments-ai/template/src/app/page.tsx.bak +391 -0
  691. package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  692. package/src/templates/web/ui-auth-payments-ai/template/src/app/setup/page.tsx +645 -0
  693. package/src/templates/web/ui-auth-payments-ai/template/src/app/signup/page.tsx +6 -0
  694. package/src/templates/web/ui-auth-payments-ai/template/src/components/__tests__/example.test.tsx +49 -0
  695. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/auth-status.tsx +52 -0
  696. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +163 -0
  697. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +201 -0
  698. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +38 -0
  699. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/theme-provider.tsx +96 -0
  700. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/footer.tsx +36 -0
  701. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +252 -0
  702. package/src/templates/web/ui-auth-payments-ai/template/src/components/ui/badge.tsx +36 -0
  703. package/src/templates/web/ui-auth-payments-ai/template/src/components/ui/theme-toggle.tsx +34 -0
  704. package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/auth.ts +246 -0
  705. package/src/templates/web/ui-auth-payments-ai/template/src/lib/actions/index.ts +14 -0
  706. package/src/templates/web/ui-auth-payments-ai/template/src/lib/auth-server.ts +177 -0
  707. package/src/templates/web/ui-auth-payments-ai/template/src/lib/env.ts +49 -0
  708. package/src/templates/web/ui-auth-payments-ai/template/src/lib/platform.ts +155 -0
  709. package/src/templates/web/ui-auth-payments-ai/template/src/lib/supabase/server.ts +72 -0
  710. package/src/templates/web/ui-auth-payments-ai/template/src/lib/utils.ts +140 -0
  711. package/src/templates/web/ui-auth-payments-ai/template/src/test/setup.ts +79 -0
  712. package/src/templates/web/ui-auth-payments-ai/template/tailwind.config.js +77 -0
  713. package/src/templates/web/ui-auth-payments-ai/template/tsconfig.json +33 -0
  714. package/src/templates/web/ui-auth-payments-ai/template/tsconfig.tsbuildinfo +1 -0
  715. package/src/templates/web/ui-auth-payments-ai/template/vitest.config.ts +17 -0
  716. package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  717. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  718. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  719. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  720. package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  721. package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  722. package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  723. package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +76 -0
  724. package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  725. package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  726. package/src/templates/web/ui-auth-payments-audio/template/.env.example +15 -0
  727. package/src/templates/web/ui-auth-payments-audio/template/README.md +207 -0
  728. package/src/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  729. package/src/templates/web/ui-auth-payments-audio/template/next.config.js +12 -0
  730. package/src/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  731. package/src/templates/web/ui-auth-payments-audio/template/package.json +55 -0
  732. package/src/templates/web/ui-auth-payments-audio/template/postcss.config.js +7 -0
  733. package/src/templates/web/ui-auth-payments-audio/template/src/app/auth/callback/route.ts +12 -0
  734. package/src/templates/web/ui-auth-payments-audio/template/src/app/billing/page.tsx +211 -0
  735. package/src/templates/web/ui-auth-payments-audio/template/src/app/checkout/page.tsx +142 -0
  736. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  737. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +237 -0
  738. package/src/templates/web/ui-auth-payments-audio/template/src/app/error.tsx +67 -0
  739. package/src/templates/web/ui-auth-payments-audio/template/src/app/globals.css +96 -0
  740. package/src/templates/web/ui-auth-payments-audio/template/src/app/layout.tsx +35 -0
  741. package/src/templates/web/ui-auth-payments-audio/template/src/app/loading.tsx +20 -0
  742. package/src/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +6 -0
  743. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx +403 -0
  744. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.backup +391 -0
  745. package/src/templates/web/ui-auth-payments-audio/template/src/app/page.tsx.bak +391 -0
  746. package/src/templates/web/ui-auth-payments-audio/template/src/app/setup/page.tsx +345 -0
  747. package/src/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +6 -0
  748. package/src/templates/web/ui-auth-payments-audio/template/src/components/__tests__/example.test.tsx +49 -0
  749. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  750. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  751. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  752. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +38 -0
  753. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/theme-provider.tsx +96 -0
  754. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/footer.tsx +36 -0
  755. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +252 -0
  756. package/src/templates/web/ui-auth-payments-audio/template/src/components/ui/badge.tsx +36 -0
  757. package/src/templates/web/ui-auth-payments-audio/template/src/components/ui/theme-toggle.tsx +34 -0
  758. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  759. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  760. package/src/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  761. package/src/templates/web/ui-auth-payments-audio/template/src/lib/env.ts +49 -0
  762. package/src/templates/web/ui-auth-payments-audio/template/src/lib/utils.ts +140 -0
  763. package/src/templates/web/ui-auth-payments-audio/template/src/test/setup.ts +79 -0
  764. package/src/templates/web/ui-auth-payments-audio/template/tailwind.config.js +77 -0
  765. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.json +33 -0
  766. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  767. package/src/templates/web/ui-auth-payments-audio/template/vitest.config.ts +17 -0
  768. package/src/templates/web/ui-auth-payments-video/template/.env.example +15 -0
  769. package/src/templates/web/ui-auth-payments-video/template/README.md +190 -0
  770. package/src/templates/web/ui-auth-payments-video/template/next.config.js +12 -0
  771. package/src/templates/web/ui-auth-payments-video/template/package.json +55 -0
  772. package/src/templates/web/ui-auth-payments-video/template/postcss.config.js +7 -0
  773. package/src/templates/web/ui-auth-payments-video/template/src/app/auth/callback/route.ts +12 -0
  774. package/src/templates/web/ui-auth-payments-video/template/src/app/billing/page.tsx +211 -0
  775. package/src/templates/web/ui-auth-payments-video/template/src/app/checkout/page.tsx +142 -0
  776. package/src/templates/web/ui-auth-payments-video/template/src/app/error.tsx +67 -0
  777. package/src/templates/web/ui-auth-payments-video/template/src/app/globals.css +228 -0
  778. package/src/templates/web/ui-auth-payments-video/template/src/app/layout.tsx +33 -0
  779. package/src/templates/web/ui-auth-payments-video/template/src/app/loading.tsx +20 -0
  780. package/src/templates/web/ui-auth-payments-video/template/src/app/login/page.tsx +109 -0
  781. package/src/templates/web/ui-auth-payments-video/template/src/app/page.tsx +395 -0
  782. package/src/templates/web/ui-auth-payments-video/template/src/app/setup/page.tsx +351 -0
  783. package/src/templates/web/ui-auth-payments-video/template/src/app/signup/page.tsx +128 -0
  784. package/src/templates/web/ui-auth-payments-video/template/src/components/__tests__/example.test.tsx +49 -0
  785. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +34 -0
  786. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/theme-provider.tsx +94 -0
  787. package/src/templates/web/ui-auth-payments-video/template/src/components/shared/footer.tsx +36 -0
  788. package/src/templates/web/ui-auth-payments-video/template/src/components/shared/header.tsx +246 -0
  789. package/src/templates/web/ui-auth-payments-video/template/src/components/ui/badge.tsx +36 -0
  790. package/src/templates/web/ui-auth-payments-video/template/src/components/ui/theme-toggle.tsx +34 -0
  791. package/src/templates/web/ui-auth-payments-video/template/src/lib/env.ts +49 -0
  792. package/src/templates/web/ui-auth-payments-video/template/src/lib/utils.ts +140 -0
  793. package/src/templates/web/ui-auth-payments-video/template/src/test/setup.ts +79 -0
  794. package/src/templates/web/ui-auth-payments-video/template/tailwind.config.js +77 -0
  795. package/src/templates/web/ui-auth-payments-video/template/tsconfig.json +33 -0
  796. package/src/templates/web/ui-auth-payments-video/template/vitest.config.ts +17 -0
  797. package/src/templates/web/ui-only/template/.env.example +15 -0
  798. package/src/templates/web/ui-only/template/.eslintrc.js +8 -0
  799. package/src/templates/web/ui-only/template/README.md +68 -0
  800. package/src/templates/web/ui-only/template/next.config.js +12 -0
  801. package/src/templates/web/ui-only/template/package.json +49 -0
  802. package/src/templates/web/ui-only/template/postcss.config.js +7 -0
  803. package/src/templates/web/ui-only/template/src/app/auth/callback/route.ts +12 -0
  804. package/src/templates/web/ui-only/template/src/app/checkout/page.tsx +25 -0
  805. package/src/templates/web/ui-only/template/src/app/error.tsx +67 -0
  806. package/src/templates/web/ui-only/template/src/app/globals.css +42 -0
  807. package/src/templates/web/ui-only/template/src/app/layout.tsx +33 -0
  808. package/src/templates/web/ui-only/template/src/app/loading.tsx +20 -0
  809. package/src/templates/web/ui-only/template/src/app/login/page.tsx +63 -0
  810. package/src/templates/web/ui-only/template/src/app/page.tsx +91 -0
  811. package/src/templates/web/ui-only/template/src/app/signup/page.tsx +79 -0
  812. package/src/templates/web/ui-only/template/src/components/__tests__/example.test.tsx +49 -0
  813. package/src/templates/web/ui-only/template/src/components/providers/app-providers.tsx +26 -0
  814. package/src/templates/web/ui-only/template/src/components/providers/theme-provider.tsx +94 -0
  815. package/src/templates/web/ui-only/template/src/components/shared/footer.tsx +36 -0
  816. package/src/templates/web/ui-only/template/src/components/shared/header.tsx +53 -0
  817. package/src/templates/web/ui-only/template/src/components/ui/badge.tsx +36 -0
  818. package/src/templates/web/ui-only/template/src/components/ui/theme-toggle.tsx +34 -0
  819. package/src/templates/web/ui-only/template/src/lib/env.ts +49 -0
  820. package/src/templates/web/ui-only/template/src/lib/utils.ts +140 -0
  821. package/src/templates/web/ui-only/template/src/test/setup.ts +79 -0
  822. package/src/templates/web/ui-only/template/tailwind.config.js +77 -0
  823. package/src/templates/web/ui-only/template/tsconfig.json +33 -0
  824. package/src/templates/web/ui-only/template/vitest.config.ts +17 -0
  825. package/src/templates/web/ui-only/template.backup/.env.example +15 -0
  826. package/src/templates/web/ui-only/template.backup.20250817/.env.example +15 -0
  827. package/src/templates/web/ui-package-test/template/next-env.d.ts +5 -0
  828. package/src/templates/web/ui-package-test/template/package.json +42 -0
  829. package/src/templates/web/ui-package-test/template/src/app/page.tsx +106 -0
  830. package/src/templates/web/ui-package-test/template/tsconfig.json +41 -0
@@ -0,0 +1,25 @@
1
+ {
2
+ "cli": {
3
+ "version": ">= 5.7.0"
4
+ },
5
+ "build": {
6
+ "development": {
7
+ "developmentClient": true,
8
+ "distribution": "internal"
9
+ },
10
+ "preview": {
11
+ "distribution": "internal",
12
+ "ios": {
13
+ "resourceClass": "m-medium"
14
+ }
15
+ },
16
+ "production": {
17
+ "ios": {
18
+ "resourceClass": "m-medium"
19
+ }
20
+ }
21
+ },
22
+ "submit": {
23
+ "production": {}
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="expo/types" />
2
+
3
+ // NOTE: This file should not be edited and should be in your git ignore
@@ -0,0 +1,346 @@
1
+ import { useState, useEffect, useCallback, useRef } from 'react';
2
+ import { AppState } from 'react-native';
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
4
+ import NetInfo from '@react-native-community/netinfo';
5
+ import { RAGSystem } from '@digilogiclabs/saas-factory-ai';
6
+ import type {
7
+ RAGQuery,
8
+ RAGResponse,
9
+ RAGDocument,
10
+ RAGSearchResult,
11
+ RAGDocumentSchema
12
+ } from '@digilogiclabs/saas-factory-ai-types';
13
+ import { getRAGConfigForDomain, mobileRAGOptions } from '../lib/rag/config';
14
+
15
+ interface UseRAGSystemOptions {
16
+ domain?: string;
17
+ enableOffline?: boolean;
18
+ autoSync?: boolean;
19
+ cacheResults?: boolean;
20
+ }
21
+
22
+ interface RAGState {
23
+ isInitialized: boolean;
24
+ isOnline: boolean;
25
+ isLoading: boolean;
26
+ lastSyncAt: Date | null;
27
+ cachedQueries: number;
28
+ error: string | null;
29
+ }
30
+
31
+ export function useRAGSystem<TSchema extends RAGDocumentSchema>(
32
+ options: UseRAGSystemOptions = {}
33
+ ) {
34
+ const {
35
+ domain = 'generic',
36
+ enableOffline = true,
37
+ autoSync = true,
38
+ cacheResults = true
39
+ } = options;
40
+
41
+ const [ragSystem, setRAGSystem] = useState<RAGSystem<TSchema> | null>(null);
42
+ const [state, setState] = useState<RAGState>({
43
+ isInitialized: false,
44
+ isOnline: true,
45
+ isLoading: false,
46
+ lastSyncAt: null,
47
+ cachedQueries: 0,
48
+ error: null
49
+ });
50
+
51
+ const [recentQueries, setRecentQueries] = useState<RAGQuery[]>([]);
52
+ const [cachedResponses, setCachedResponses] = useState<Map<string, RAGResponse>>(new Map());
53
+ const offlineQueueRef = useRef<RAGQuery[]>([]);
54
+
55
+ // Initialize RAG system
56
+ useEffect(() => {
57
+ const initRAG = async () => {
58
+ try {
59
+ setState(prev => ({ ...prev, isLoading: true, error: null }));
60
+
61
+ const config = getRAGConfigForDomain(domain);
62
+ const system = new RAGSystem<TSchema>(config);
63
+
64
+ await system.initialize();
65
+ setRAGSystem(system);
66
+
67
+ // Load cached data
68
+ if (enableOffline) {
69
+ await loadCachedData();
70
+ }
71
+
72
+ setState(prev => ({
73
+ ...prev,
74
+ isInitialized: true,
75
+ isLoading: false,
76
+ lastSyncAt: new Date()
77
+ }));
78
+
79
+ } catch (error) {
80
+ console.error('RAG initialization error:', error);
81
+ setState(prev => ({
82
+ ...prev,
83
+ error: error instanceof Error ? error.message : 'Initialization failed',
84
+ isLoading: false
85
+ }));
86
+ }
87
+ };
88
+
89
+ initRAG();
90
+ }, [domain, enableOffline]);
91
+
92
+ // Network state monitoring
93
+ useEffect(() => {
94
+ const unsubscribe = NetInfo.addEventListener(state => {
95
+ setState(prev => ({ ...prev, isOnline: state.isConnected ?? false }));
96
+
97
+ // Process offline queue when back online
98
+ if (state.isConnected && offlineQueueRef.current.length > 0) {
99
+ processOfflineQueue();
100
+ }
101
+ });
102
+
103
+ return unsubscribe;
104
+ }, []);
105
+
106
+ // App state handling for sync
107
+ useEffect(() => {
108
+ if (!autoSync) return;
109
+
110
+ const handleAppStateChange = (nextAppState: string) => {
111
+ if (nextAppState === 'active' && ragSystem && state.isOnline) {
112
+ syncKnowledgeBase();
113
+ }
114
+ };
115
+
116
+ const subscription = AppState.addEventListener('change', handleAppStateChange);
117
+ return () => subscription?.remove();
118
+ }, [ragSystem, state.isOnline, autoSync]);
119
+
120
+ // Query function with caching and offline support
121
+ const query = useCallback(async (queryText: string, options?: {
122
+ category?: string;
123
+ maxResults?: number;
124
+ includeMetadata?: boolean;
125
+ }): Promise<RAGResponse> => {
126
+ if (!ragSystem) {
127
+ throw new Error('RAG system not initialized');
128
+ }
129
+
130
+ const ragQuery: RAGQuery = {
131
+ query: queryText,
132
+ category: options?.category,
133
+ maxResults: options?.maxResults || 5,
134
+ includeMetadata: options?.includeMetadata ?? true,
135
+ timestamp: new Date()
136
+ };
137
+
138
+ // Check cache first
139
+ const cacheKey = getCacheKey(ragQuery);
140
+ if (cacheResults && cachedResponses.has(cacheKey)) {
141
+ const cached = cachedResponses.get(cacheKey)!;
142
+ return { ...cached, fromCache: true };
143
+ }
144
+
145
+ // Handle offline mode
146
+ if (!state.isOnline && enableOffline) {
147
+ return handleOfflineQuery(ragQuery);
148
+ }
149
+
150
+ try {
151
+ setState(prev => ({ ...prev, isLoading: true }));
152
+
153
+ const response = await ragSystem.query(ragQuery);
154
+
155
+ // Cache successful responses
156
+ if (cacheResults && response.confidence > 0.5) {
157
+ const newCache = new Map(cachedResponses);
158
+ newCache.set(cacheKey, response);
159
+ setCachedResponses(newCache);
160
+
161
+ // Persist to local storage
162
+ await cacheResponseLocally(cacheKey, response);
163
+ }
164
+
165
+ // Update recent queries
166
+ setRecentQueries(prev => [ragQuery, ...prev.slice(0, 9)]);
167
+
168
+ setState(prev => ({ ...prev, isLoading: false }));
169
+ return response;
170
+
171
+ } catch (error) {
172
+ setState(prev => ({ ...prev, isLoading: false }));
173
+
174
+ if (enableOffline) {
175
+ return handleOfflineQuery(ragQuery);
176
+ }
177
+
178
+ throw error;
179
+ }
180
+ }, [ragSystem, state.isOnline, cacheResults, enableOffline, cachedResponses]);
181
+
182
+ // Search knowledge base
183
+ const searchKnowledge = useCallback(async (
184
+ searchText: string,
185
+ filters?: { category?: string; limit?: number }
186
+ ): Promise<RAGSearchResult[]> => {
187
+ if (!ragSystem) return [];
188
+
189
+ try {
190
+ return await ragSystem.searchDocuments(searchText, filters);
191
+ } catch (error) {
192
+ console.error('Knowledge search error:', error);
193
+ return [];
194
+ }
195
+ }, [ragSystem]);
196
+
197
+ // Add document to knowledge base
198
+ const addKnowledge = useCallback(async (
199
+ document: Omit<RAGDocument<TSchema>, 'id' | 'createdAt' | 'updatedAt'>
200
+ ): Promise<string | null> => {
201
+ if (!ragSystem || !state.isOnline) return null;
202
+
203
+ try {
204
+ return await ragSystem.addDocument(document as RAGDocument<TSchema>);
205
+ } catch (error) {
206
+ console.error('Add knowledge error:', error);
207
+ return null;
208
+ }
209
+ }, [ragSystem, state.isOnline]);
210
+
211
+ // Update document
212
+ const updateKnowledge = useCallback(async (
213
+ id: string,
214
+ updates: Partial<RAGDocument<TSchema>>
215
+ ): Promise<boolean> => {
216
+ if (!ragSystem || !state.isOnline) return false;
217
+
218
+ try {
219
+ await ragSystem.updateDocument(id, updates);
220
+ return true;
221
+ } catch (error) {
222
+ console.error('Update knowledge error:', error);
223
+ return false;
224
+ }
225
+ }, [ragSystem, state.isOnline]);
226
+
227
+ // Sync knowledge base
228
+ const syncKnowledgeBase = useCallback(async (): Promise<void> => {
229
+ if (!ragSystem || !state.isOnline) return;
230
+
231
+ try {
232
+ setState(prev => ({ ...prev, isLoading: true }));
233
+
234
+ // Implement incremental sync based on lastSyncAt
235
+ await ragSystem.sync(state.lastSyncAt);
236
+
237
+ setState(prev => ({
238
+ ...prev,
239
+ lastSyncAt: new Date(),
240
+ isLoading: false
241
+ }));
242
+ } catch (error) {
243
+ console.error('Sync error:', error);
244
+ setState(prev => ({ ...prev, isLoading: false }));
245
+ }
246
+ }, [ragSystem, state.isOnline, state.lastSyncAt]);
247
+
248
+ // Clear cache
249
+ const clearCache = useCallback(async () => {
250
+ setCachedResponses(new Map());
251
+ setRecentQueries([]);
252
+ await AsyncStorage.multiRemove(['rag_cache', 'rag_recent_queries']);
253
+ setState(prev => ({ ...prev, cachedQueries: 0 }));
254
+ }, []);
255
+
256
+ // Helper functions
257
+ const getCacheKey = (query: RAGQuery): string => {
258
+ return `${query.query}:${query.category || 'all'}:${query.maxResults}`;
259
+ };
260
+
261
+ const handleOfflineQuery = async (query: RAGQuery): Promise<RAGResponse> => {
262
+ // Add to offline queue
263
+ offlineQueueRef.current.push(query);
264
+
265
+ // Return fallback response
266
+ return {
267
+ query: query.query,
268
+ response: "I'm currently offline. Your query has been saved and I'll respond when connection is restored.",
269
+ sources: [],
270
+ confidence: 0,
271
+ metadata: { offline: true },
272
+ timestamp: new Date()
273
+ };
274
+ };
275
+
276
+ const processOfflineQueue = async () => {
277
+ if (!ragSystem || offlineQueueRef.current.length === 0) return;
278
+
279
+ const queue = [...offlineQueueRef.current];
280
+ offlineQueueRef.current = [];
281
+
282
+ for (const query of queue) {
283
+ try {
284
+ await ragSystem.query(query);
285
+ } catch (error) {
286
+ console.error('Offline queue processing error:', error);
287
+ // Re-add failed queries to queue
288
+ offlineQueueRef.current.push(query);
289
+ }
290
+ }
291
+ };
292
+
293
+ const loadCachedData = async () => {
294
+ try {
295
+ const [cacheData, recentData] = await AsyncStorage.multiGet([
296
+ 'rag_cache',
297
+ 'rag_recent_queries'
298
+ ]);
299
+
300
+ if (cacheData[1]) {
301
+ const cache = JSON.parse(cacheData[1]);
302
+ setCachedResponses(new Map(cache));
303
+ setState(prev => ({ ...prev, cachedQueries: cache.length }));
304
+ }
305
+
306
+ if (recentData[1]) {
307
+ const recent = JSON.parse(recentData[1]);
308
+ setRecentQueries(recent);
309
+ }
310
+ } catch (error) {
311
+ console.error('Cache loading error:', error);
312
+ }
313
+ };
314
+
315
+ const cacheResponseLocally = async (key: string, response: RAGResponse) => {
316
+ try {
317
+ const current = await AsyncStorage.getItem('rag_cache');
318
+ const cache = current ? JSON.parse(current) : {};
319
+ cache[key] = response;
320
+
321
+ await AsyncStorage.setItem('rag_cache', JSON.stringify(cache));
322
+ } catch (error) {
323
+ console.error('Cache storage error:', error);
324
+ }
325
+ };
326
+
327
+ return {
328
+ // State
329
+ ...state,
330
+ ragSystem,
331
+ recentQueries,
332
+ offlineQueueSize: offlineQueueRef.current.length,
333
+
334
+ // Actions
335
+ query,
336
+ searchKnowledge,
337
+ addKnowledge,
338
+ updateKnowledge,
339
+ syncKnowledgeBase,
340
+ clearCache,
341
+
342
+ // Utilities
343
+ isReady: state.isInitialized && !state.isLoading,
344
+ canQuery: state.isInitialized && (state.isOnline || enableOffline),
345
+ };
346
+ }
@@ -0,0 +1,37 @@
1
+ import '@testing-library/jest-native/extend-expect';
2
+
3
+ // Mock react-native-reanimated
4
+ jest.mock('react-native-reanimated', () => {
5
+ const Reanimated = require('react-native-reanimated/mock');
6
+ Reanimated.default.call = () => {};
7
+ return Reanimated;
8
+ });
9
+
10
+ // Mock expo modules
11
+ jest.mock('expo-constants', () => ({
12
+ default: {
13
+ expoConfig: {
14
+ extra: {}
15
+ }
16
+ }
17
+ }));
18
+
19
+ jest.mock('expo-status-bar', () => ({
20
+ StatusBar: 'StatusBar'
21
+ }));
22
+
23
+ jest.mock('expo-router', () => ({
24
+ router: {
25
+ push: jest.fn(),
26
+ replace: jest.fn(),
27
+ back: jest.fn(),
28
+ },
29
+ Link: 'Link',
30
+ useRouter: () => ({
31
+ push: jest.fn(),
32
+ replace: jest.fn(),
33
+ back: jest.fn(),
34
+ }),
35
+ usePathname: () => '/',
36
+ useLocalSearchParams: () => ({}),
37
+ }));
@@ -0,0 +1,180 @@
1
+ import {
2
+ createGenericRAGConfig,
3
+ createPlantCareRAGConfig,
4
+ createEcommerceRAGConfig,
5
+ createEducationRAGConfig
6
+ } from '@digilogiclabs/saas-factory-ai';
7
+ import type {
8
+ RAGConfig,
9
+ GenericRAGDocumentSchema,
10
+ PlantKnowledgeSchema,
11
+ EcommerceKnowledgeSchema,
12
+ EducationKnowledgeSchema
13
+ } from '@digilogiclabs/saas-factory-ai-types';
14
+ import Constants from 'expo-constants';
15
+
16
+ // Environment configuration
17
+ const supabaseConfig = {
18
+ url: Constants.expoConfig?.extra?.supabaseUrl || process.env.EXPO_PUBLIC_SUPABASE_URL,
19
+ anonKey: Constants.expoConfig?.extra?.supabaseAnonKey || process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY,
20
+ serviceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY, // Server-only for embeddings
21
+ };
22
+
23
+ const openAIKey = Constants.expoConfig?.extra?.openaiApiKey || process.env.EXPO_PUBLIC_OPENAI_API_KEY;
24
+
25
+ // RAG Configuration Templates
26
+ export const createRAGConfigs = () => {
27
+ const baseNamespace = '{{packageName}}';
28
+
29
+ return {
30
+ // Generic AI Assistant
31
+ generic: createGenericRAGConfig<GenericRAGDocumentSchema>(
32
+ baseNamespace,
33
+ supabaseConfig,
34
+ openAIKey,
35
+ {
36
+ retrieval: {
37
+ topK: 5,
38
+ confidenceThreshold: 0.75,
39
+ hybridSearchWeight: { vector: 0.7, text: 0.3 }
40
+ },
41
+ generation: {
42
+ systemPrompt: `You are an intelligent AI assistant for the ${baseNamespace} app.
43
+ Use the provided knowledge base to give accurate, helpful responses.
44
+ If information isn't in the knowledge base, say so clearly and provide general guidance.
45
+ Keep responses concise and actionable for mobile users.`,
46
+ temperature: 0.3,
47
+ maxTokens: 500,
48
+ },
49
+ mobile: {
50
+ caching: true,
51
+ offlineMode: true,
52
+ syncStrategy: 'incremental'
53
+ }
54
+ }
55
+ ),
56
+
57
+ // Plant Care Assistant
58
+ plantCare: createPlantCareRAGConfig(
59
+ `${baseNamespace}-plants`,
60
+ supabaseConfig,
61
+ openAIKey,
62
+ {
63
+ retrieval: {
64
+ topK: 4,
65
+ confidenceThreshold: 0.8,
66
+ hybridSearchWeight: { vector: 0.8, text: 0.2 }
67
+ },
68
+ generation: {
69
+ systemPrompt: `You are a botanical expert assistant helping users care for their plants.
70
+ Use the plant knowledge base to provide specific care instructions, diagnose issues, and suggest solutions.
71
+ Always consider the user's location, season, and plant type when giving advice.
72
+ Focus on practical, actionable guidance.`,
73
+ temperature: 0.2,
74
+ maxTokens: 400,
75
+ }
76
+ }
77
+ ),
78
+
79
+ // E-commerce Assistant
80
+ ecommerce: createEcommerceRAGConfig(
81
+ `${baseNamespace}-store`,
82
+ supabaseConfig,
83
+ openAIKey,
84
+ {
85
+ retrieval: {
86
+ topK: 6,
87
+ confidenceThreshold: 0.7,
88
+ hybridSearchWeight: { vector: 0.6, text: 0.4 }
89
+ },
90
+ generation: {
91
+ systemPrompt: `You are a helpful shopping assistant for the ${baseNamespace} store.
92
+ Help users find products, answer questions about specifications, pricing, and availability.
93
+ Provide personalized recommendations based on their needs and preferences.
94
+ Always mention stock status and current promotions if available.`,
95
+ temperature: 0.4,
96
+ maxTokens: 350,
97
+ }
98
+ }
99
+ ),
100
+
101
+ // Education Assistant
102
+ education: createEducationRAGConfig(
103
+ `${baseNamespace}-learning`,
104
+ supabaseConfig,
105
+ openAIKey,
106
+ {
107
+ retrieval: {
108
+ topK: 5,
109
+ confidenceThreshold: 0.8,
110
+ hybridSearchWeight: { vector: 0.75, text: 0.25 }
111
+ },
112
+ generation: {
113
+ systemPrompt: `You are an educational tutor assistant for the ${baseNamespace} learning platform.
114
+ Help students understand concepts, answer questions, and provide study guidance.
115
+ Adapt your explanations to the appropriate grade level and learning style.
116
+ Encourage critical thinking and provide examples when helpful.`,
117
+ temperature: 0.3,
118
+ maxTokens: 600,
119
+ }
120
+ }
121
+ )
122
+ };
123
+ };
124
+
125
+ // Default configuration selector
126
+ export const getRAGConfigForDomain = (domain: string): RAGConfig<any> => {
127
+ const configs = createRAGConfigs();
128
+
129
+ switch (domain.toLowerCase()) {
130
+ case 'plants':
131
+ case 'plant-care':
132
+ case 'gardening':
133
+ return configs.plantCare;
134
+
135
+ case 'store':
136
+ case 'shop':
137
+ case 'ecommerce':
138
+ case 'products':
139
+ return configs.ecommerce;
140
+
141
+ case 'education':
142
+ case 'learning':
143
+ case 'courses':
144
+ case 'study':
145
+ return configs.education;
146
+
147
+ default:
148
+ return configs.generic;
149
+ }
150
+ };
151
+
152
+ // Mobile-specific optimizations
153
+ export const mobileRAGOptions = {
154
+ // Cache frequently accessed documents locally
155
+ enableLocalCache: true,
156
+ maxCacheSize: 100, // Max cached documents
157
+
158
+ // Offline mode settings
159
+ offlineMode: {
160
+ enabled: true,
161
+ fallbackResponses: true,
162
+ queueQueries: true,
163
+ },
164
+
165
+ // Performance settings
166
+ performance: {
167
+ debounceMs: 300, // Debounce search queries
168
+ maxConcurrentRequests: 2,
169
+ timeout: 10000, // 10 second timeout
170
+ },
171
+
172
+ // Mobile UX settings
173
+ ui: {
174
+ showTypingIndicator: true,
175
+ showConfidenceScores: false, // Hide on mobile for simplicity
176
+ showSources: true,
177
+ maxDisplaySources: 3,
178
+ compactMode: true,
179
+ }
180
+ };
@@ -0,0 +1,11 @@
1
+ const { getDefaultConfig } = require('expo/metro-config');
2
+ const { withNativeWind } = require('nativewind/metro');
3
+
4
+ const config = getDefaultConfig(__dirname);
5
+
6
+ // Configure SVG support
7
+ config.transformer.babelTransformerPath = require.resolve('react-native-svg-transformer');
8
+ config.resolver.assetExts = config.resolver.assetExts.filter((ext) => ext !== 'svg');
9
+ config.resolver.sourceExts = [...config.resolver.sourceExts, 'svg'];
10
+
11
+ module.exports = withNativeWind(config, { input: './global.css' });