vibefast-cli 0.7.0 → 0.7.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.
- package/dist/__tests__/recipes.test.js +5 -5
- package/dist/__tests__/recipes.test.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +136 -48
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +106 -89
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/remove.js +1 -1
- package/dist/commands/remove.js.map +1 -1
- package/dist/core/__tests__/fsx.test.js +3 -1
- package/dist/core/__tests__/fsx.test.js.map +1 -1
- package/dist/core/__tests__/prompt.test.js +12 -12
- package/dist/core/__tests__/prompt.test.js.map +1 -1
- package/dist/core/__tests__/validate.test.js +4 -3
- package/dist/core/__tests__/validate.test.js.map +1 -1
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +8 -0
- package/dist/core/auth.js.map +1 -1
- package/dist/core/codemod.d.ts +13 -0
- package/dist/core/codemod.d.ts.map +1 -1
- package/dist/core/codemod.js +50 -0
- package/dist/core/codemod.js.map +1 -1
- package/dist/core/errors.js +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/fsx.js.map +1 -1
- package/dist/core/recipes.d.ts.map +1 -1
- package/dist/core/recipes.js +65 -10
- package/dist/core/recipes.js.map +1 -1
- package/package.json +1 -1
- package/recipes/animated-chip/recipe.json +15 -0
- package/recipes/animated-chip@latest.zip +0 -0
- package/recipes/animated-switch/recipe.json +15 -0
- package/recipes/animated-switch@latest.zip +0 -0
- package/recipes/audio-recorder@latest.zip +0 -0
- package/recipes/charts/apps/native/src/features/charts/components/doughnut-chart.tsx +29 -18
- package/recipes/charts@latest.zip +0 -0
- package/recipes/chatbot/apps/native/src/features/chatbot/components/message-list.tsx +1 -1
- package/recipes/chatbot/apps/native/src/features/chatbot/hooks/use-smart-scroll-manager.ts +6 -0
- package/recipes/chatbot/recipe.json +21 -5
- package/recipes/chatbot@latest.zip +0 -0
- package/recipes/glowing-button@latest.zip +0 -0
- package/recipes/image-analysis/recipe.json +36 -19
- package/recipes/image-analysis@latest.zip +0 -0
- package/recipes/image-generator/apps/native/src/features/image-generator/app/_layout.tsx +1 -0
- package/recipes/image-generator/apps/native/src/features/image-generator/app/gallery.tsx +1 -1
- package/recipes/image-generator/apps/native/src/features/image-generator/components/gallery-image.tsx +2 -3
- package/recipes/image-generator/recipe.json +5 -3
- package/recipes/image-generator@latest.zip +0 -0
- package/recipes/ios-widget/recipe.json +24 -0
- package/recipes/ios-widget@latest.zip +0 -0
- package/recipes/number-stepper/recipe.json +15 -0
- package/recipes/number-stepper@latest.zip +0 -0
- package/recipes/payments/recipe.json +30 -0
- package/recipes/payments@latest.zip +0 -0
- package/recipes/posthog.json +2 -1
- package/recipes/progress-circle/recipe.json +15 -0
- package/recipes/progress-circle@latest.zip +0 -0
- package/recipes/quiz@latest.zip +0 -0
- package/recipes/sentry.json +2 -1
- package/recipes/swipe-slider/recipe.json +15 -0
- package/recipes/swipe-slider@latest.zip +0 -0
- package/recipes/{0 → timeline}/recipe.json +3 -6
- package/recipes/timeline@latest.zip +0 -0
- package/recipes/tracker-app@latest.zip +0 -0
- package/recipes/upload-all.sh +13 -2
- package/recipes/voice-bot/recipe.json +15 -2
- package/recipes/voice-bot@latest.zip +0 -0
- package/recipes/wake-word/apps/native/src/app/(root)/(protected)/test-wake-word.tsx +0 -2
- package/recipes/wake-word/recipe.json +2 -2
- package/recipes/wake-word@latest.zip +0 -0
- package/src/__tests__/recipes.test.ts +5 -5
- package/src/commands/add.ts +230 -54
- package/src/commands/init.ts +118 -102
- package/src/commands/remove.ts +1 -1
- package/src/core/__tests__/fsx.test.ts +3 -1
- package/src/core/__tests__/prompt.test.ts +12 -12
- package/src/core/__tests__/validate.test.ts +4 -3
- package/src/core/auth.ts +8 -0
- package/src/core/codemod.ts +66 -0
- package/src/core/errors.ts +1 -1
- package/src/core/fsx.ts +1 -1
- package/src/core/recipes.ts +67 -11
- package/2/.claude/agents/architect.md +0 -74
- package/2/.claude/agents/convex-reviewer.md +0 -267
- package/2/.claude/agents/debug-detective.md +0 -62
- package/2/.claude/agents/learner.md +0 -64
- package/2/.claude/agents/perf-optimizer.md +0 -71
- package/2/.claude/agents/security-researcher.md +0 -42
- package/2/.claude/agents/tech-researcher.md +0 -46
- package/2/.claude/agents/ux-designer.md +0 -45
- package/2/.claude/commands/create-app-design.md +0 -279
- package/2/.claude/commands/create-prd-interactive.md +0 -113
- package/2/.claude/commands/create-prd.md +0 -111
- package/2/.claude/commands/create-tech-stack.md +0 -345
- package/2/.claude/commands/update-app-design.md +0 -298
- package/2/.claude/commands/update-project-structure.md +0 -14
- package/2/.claude/commands/update-tech-stack.md +0 -325
- package/2/.claude/docs/CONVEX_FEATURES_PLAN.md +0 -249
- package/2/.claude/docs/app-design-document.md +0 -0
- package/2/.claude/docs/project-status.md +0 -25
- package/2/.claude/docs/project-structure.md +0 -7
- package/2/.claude/docs/tech-stack.md +0 -157
- package/2/.claude/scripts/tree.sh +0 -70
- package/2/.claude/settings.json +0 -30
- package/2/.cursor/commands/code-review-high.md +0 -190
- package/2/.cursorignore +0 -3
- package/2/.github/ISSUE_TEMPLATE.md +0 -13
- package/2/.github/PULL_REQUEST_TEMPLATE.md +0 -23
- package/2/.github/actions/eas-build/action.yml +0 -85
- package/2/.github/actions/setup-jdk-generate-apk/action.yml +0 -48
- package/2/.github/actions/setup-node-pnpm-install/action.yml +0 -29
- package/2/.github/scripts/expo-doctor.sh +0 -26
- package/2/.github/workflows/compress-images.yml +0 -48
- package/2/.github/workflows/e2e-android-eas-build.yml +0 -111
- package/2/.github/workflows/e2e-android-maestro.yml +0 -52
- package/2/.github/workflows/e2e-android.yml +0 -119
- package/2/.github/workflows/eas-build-prod.yml +0 -43
- package/2/.github/workflows/eas-build-qa.yml +0 -47
- package/2/.github/workflows/expo-doctor.yml +0 -61
- package/2/.github/workflows/lint-ts.yml +0 -49
- package/2/.github/workflows/new-app-version.yml +0 -65
- package/2/.github/workflows/new-github-release.yml +0 -34
- package/2/.github/workflows/stale.yml +0 -24
- package/2/.github/workflows/test.yml +0 -50
- package/2/.github/workflows/type-check.yml +0 -54
- package/2/.husky/commit-msg +0 -1
- package/2/.husky/common.sh +0 -8
- package/2/.husky/post-merge +0 -18
- package/2/.husky/pre-commit +0 -24
- package/2/.prettierignore +0 -14
- package/2/.prettierrc.json +0 -10
- package/2/.vibefast/README.md +0 -59
- package/2/.vibefast/config.json +0 -4
- package/2/.vibefast/journal.json +0 -234
- package/2/.vibefast/starter.json +0 -5
- package/2/AGENTS.md +0 -48
- package/2/LICENSE +0 -21
- package/2/README.md +0 -127
- package/2/apps/native/__mocks__/bottom-sheet.js +0 -6
- package/2/apps/native/__mocks__/expo-router.js +0 -16
- package/2/apps/native/__mocks__/react-native-gesture-handler.ts +0 -17
- package/2/apps/native/app-env.d.ts +0 -2
- package/2/apps/native/app.config.ts +0 -167
- package/2/apps/native/assets/adaptive-icon.png +0 -0
- package/2/apps/native/assets/favicon.png +0 -0
- package/2/apps/native/assets/fonts/Inter.ttf +0 -0
- package/2/apps/native/assets/fonts/SF-Pro-Display-Bold.otf +0 -0
- package/2/apps/native/assets/fonts/SF-Pro-Display-Medium.otf +0 -0
- package/2/apps/native/assets/fonts/SF-Pro-Display-Regular.otf +0 -0
- package/2/apps/native/assets/fonts/SF-Pro-Display-Semibold.otf +0 -0
- package/2/apps/native/assets/fonts/SpaceMono-Regular.ttf +0 -0
- package/2/apps/native/assets/icon.png +0 -0
- package/2/apps/native/assets/images/cover-image.png +0 -0
- package/2/apps/native/assets/lottie-animations/onboarding-1.json +0 -6504
- package/2/apps/native/assets/lottie-animations/onboarding-2.json +0 -1993
- package/2/apps/native/assets/lottie-animations/onboarding-3.json +0 -50159
- package/2/apps/native/assets/lottie-animations/onboarding-4.json +0 -735
- package/2/apps/native/assets/lottie-animations/onboarding-6.json +0 -2167
- package/2/apps/native/assets/splash-icon.png +0 -0
- package/2/apps/native/babel.config.js +0 -39
- package/2/apps/native/eas.json +0 -75
- package/2/apps/native/env.js +0 -196
- package/2/apps/native/global.css +0 -51
- package/2/apps/native/index.ts +0 -5
- package/2/apps/native/jest-setup.ts +0 -7
- package/2/apps/native/jest.config.js +0 -72
- package/2/apps/native/metro.config.js +0 -85
- package/2/apps/native/nativewind-env.d.ts +0 -1
- package/2/apps/native/package.json +0 -232
- package/2/apps/native/scripts/DRY_RUN_REPORT.md +0 -0
- package/2/apps/native/scripts/QUICK_START.md +0 -76
- package/2/apps/native/scripts/README.md +0 -187
- package/2/apps/native/scripts/convex-setup.js +0 -48
- package/2/apps/native/scripts/genrate-apk-and-install +0 -39
- package/2/apps/native/scripts/i18next-syntax-validation.js +0 -23
- package/2/apps/native/scripts/starter-setup.mjs +0 -246
- package/2/apps/native/src/api-client/auth.ts +0 -68
- package/2/apps/native/src/api-client/chatbot.ts +0 -83
- package/2/apps/native/src/api-client/client.ts +0 -4
- package/2/apps/native/src/api-client/image-generator.ts +0 -34
- package/2/apps/native/src/api-client/index.ts +0 -27
- package/2/apps/native/src/api-client/payments.ts +0 -44
- package/2/apps/native/src/api-client/reporting.ts +0 -29
- package/2/apps/native/src/api-client/shared.ts +0 -43
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/_layout.tsx +0 -166
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/index.tsx +0 -174
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/profile.tsx +0 -320
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/settings.tsx +0 -344
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/_layout.tsx +0 -198
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/accordion.tsx +0 -60
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/advanced.tsx +0 -24
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/avatar.tsx +0 -154
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/badge-chips-toggle.tsx +0 -81
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/buttons.tsx +0 -24
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/charts.tsx +0 -3
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/date-picker.tsx +0 -120
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/file-picker.tsx +0 -133
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/gallery-video.tsx +0 -119
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/index.tsx +0 -69
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/inputs-stepper.tsx +0 -78
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/picker-dropdown.tsx +0 -56
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/popover-bottomsheet.tsx +0 -229
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/progress.tsx +0 -38
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/searchbar.tsx +0 -70
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/sliders.tsx +0 -93
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/spinner.tsx +0 -80
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/switch.tsx +0 -47
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/table.tsx +0 -352
- package/2/apps/native/src/app/(root)/(protected)/(tabs)/style/tabs-timeline.tsx +0 -122
- package/2/apps/native/src/app/(root)/(protected)/_layout.tsx +0 -143
- package/2/apps/native/src/app/(root)/(protected)/audio-recorder/index.tsx +0 -5
- package/2/apps/native/src/app/(root)/(protected)/charts/index.tsx +0 -6
- package/2/apps/native/src/app/(root)/(protected)/chatbot/index.tsx +0 -2
- package/2/apps/native/src/app/(root)/(protected)/image-generator/gallery.tsx +0 -3
- package/2/apps/native/src/app/(root)/(protected)/image-generator/index.tsx +0 -3
- package/2/apps/native/src/app/(root)/(protected)/paywall/index.tsx +0 -74
- package/2/apps/native/src/app/(root)/(protected)/paywall/local.tsx +0 -25
- package/2/apps/native/src/app/(root)/(protected)/paywall/remote.tsx +0 -23
- package/2/apps/native/src/app/(root)/(protected)/quick-actions-demo/index.tsx +0 -32
- package/2/apps/native/src/app/(root)/(protected)/quiz/index.tsx +0 -47
- package/2/apps/native/src/app/(root)/(protected)/test-wake-word.tsx +0 -214
- package/2/apps/native/src/app/(root)/(protected)/tracker-app/index.tsx +0 -1
- package/2/apps/native/src/app/(root)/(protected)/voice-bot/index.tsx +0 -27
- package/2/apps/native/src/app/(root)/(public)/(auth)/_layout.tsx +0 -44
- package/2/apps/native/src/app/(root)/(public)/(auth)/forgot-password.tsx +0 -185
- package/2/apps/native/src/app/(root)/(public)/(auth)/login.tsx +0 -219
- package/2/apps/native/src/app/(root)/(public)/(auth)/otp-verification.tsx +0 -369
- package/2/apps/native/src/app/(root)/(public)/(auth)/reset-password.tsx +0 -247
- package/2/apps/native/src/app/(root)/(public)/(auth)/signup.tsx +0 -207
- package/2/apps/native/src/app/(root)/(public)/_layout.tsx +0 -60
- package/2/apps/native/src/app/(root)/(public)/onboarding/demo-one.tsx +0 -5
- package/2/apps/native/src/app/(root)/(public)/onboarding/demo-two.tsx +0 -52
- package/2/apps/native/src/app/(root)/(public)/onboarding/index.tsx +0 -82
- package/2/apps/native/src/app/(root)/_layout.tsx +0 -30
- package/2/apps/native/src/app/+html.tsx +0 -46
- package/2/apps/native/src/app/[...messing].tsx +0 -24
- package/2/apps/native/src/app/_layout.tsx +0 -56
- package/2/apps/native/src/app/tsconfig.json +0 -3
- package/2/apps/native/src/components/advanced-ui/buttons/glowing-button.tsx +0 -366
- package/2/apps/native/src/components/analytics/navigation-tracker.tsx +0 -10
- package/2/apps/native/src/components/demo/advanced-ui-components.tsx +0 -46
- package/2/apps/native/src/components/demo/buttons-demo.tsx +0 -56
- package/2/apps/native/src/components/demo/colors-demo.tsx +0 -52
- package/2/apps/native/src/components/demo/dropdown-picker-demo.tsx +0 -274
- package/2/apps/native/src/components/demo/inputs-demo.tsx +0 -99
- package/2/apps/native/src/components/demo/notification-demo.tsx +0 -434
- package/2/apps/native/src/components/demo/title-demo.tsx +0 -16
- package/2/apps/native/src/components/demo/toast-demo.tsx +0 -81
- package/2/apps/native/src/components/demo/typography-demo.tsx +0 -28
- package/2/apps/native/src/components/performance/render-performance-monitor.tsx +0 -36
- package/2/apps/native/src/components/ui/accordion.tsx +0 -138
- package/2/apps/native/src/components/ui/avatar.tsx +0 -66
- package/2/apps/native/src/components/ui/badge.tsx +0 -68
- package/2/apps/native/src/components/ui/bottom-sheet.tsx +0 -61
- package/2/apps/native/src/components/ui/colors.js +0 -290
- package/2/apps/native/src/components/ui/core/button.tsx +0 -317
- package/2/apps/native/src/components/ui/core/card.tsx +0 -40
- package/2/apps/native/src/components/ui/core/checkbox.tsx +0 -264
- package/2/apps/native/src/components/ui/core/feature-button.tsx +0 -162
- package/2/apps/native/src/components/ui/core/focus-aware-status-bar.tsx +0 -21
- package/2/apps/native/src/components/ui/core/image.tsx +0 -30
- package/2/apps/native/src/components/ui/core/inputs/floating-text-input.tsx +0 -369
- package/2/apps/native/src/components/ui/core/inputs/input-otp.tsx +0 -304
- package/2/apps/native/src/components/ui/core/inputs/input.tsx +0 -373
- package/2/apps/native/src/components/ui/core/list.tsx +0 -60
- package/2/apps/native/src/components/ui/core/navigation/animated-header.tsx +0 -87
- package/2/apps/native/src/components/ui/core/navigation/screen-footer.tsx +0 -67
- package/2/apps/native/src/components/ui/core/overlays/dropdown.tsx +0 -290
- package/2/apps/native/src/components/ui/core/overlays/full-screen-loading.tsx +0 -15
- package/2/apps/native/src/components/ui/core/overlays/modal-keyboard-aware-scroll-view.tsx +0 -46
- package/2/apps/native/src/components/ui/core/overlays/modal.tsx +0 -247
- package/2/apps/native/src/components/ui/core/pagination-dots.tsx +0 -231
- package/2/apps/native/src/components/ui/core/pressable.tsx +0 -48
- package/2/apps/native/src/components/ui/core/progress-bar.tsx +0 -47
- package/2/apps/native/src/components/ui/core/progress.tsx +0 -149
- package/2/apps/native/src/components/ui/core/select.tsx +0 -261
- package/2/apps/native/src/components/ui/core/spinner.tsx +0 -387
- package/2/apps/native/src/components/ui/core/text.tsx +0 -45
- package/2/apps/native/src/components/ui/core/toast.tsx +0 -190
- package/2/apps/native/src/components/ui/custom-switch.tsx +0 -90
- package/2/apps/native/src/components/ui/date-time-picker.tsx +0 -268
- package/2/apps/native/src/components/ui/debug.ts +0 -2
- package/2/apps/native/src/components/ui/extras/debug-credit-tester.tsx +0 -107
- package/2/apps/native/src/components/ui/extras/debug-mmkv-state.tsx +0 -53
- package/2/apps/native/src/components/ui/extras/handle-error.ts +0 -191
- package/2/apps/native/src/components/ui/extras/hello-wave.tsx +0 -70
- package/2/apps/native/src/components/ui/extras/icon.tsx +0 -36
- package/2/apps/native/src/components/ui/extras/network-connectivity-wrapper.tsx +0 -36
- package/2/apps/native/src/components/ui/extras/offline-indicator.tsx +0 -55
- package/2/apps/native/src/components/ui/extras/social-login-buttons.tsx +0 -296
- package/2/apps/native/src/components/ui/file-picker.tsx +0 -177
- package/2/apps/native/src/components/ui/gallery.tsx +0 -79
- package/2/apps/native/src/components/ui/icons/apple.tsx +0 -19
- package/2/apps/native/src/components/ui/icons/arrow-right.tsx +0 -26
- package/2/apps/native/src/components/ui/icons/camera.tsx +0 -26
- package/2/apps/native/src/components/ui/icons/caret-down.tsx +0 -20
- package/2/apps/native/src/components/ui/icons/chevron-up.tsx +0 -21
- package/2/apps/native/src/components/ui/icons/claude.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/copy.tsx +0 -27
- package/2/apps/native/src/components/ui/icons/deepseek.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/download.tsx +0 -32
- package/2/apps/native/src/components/ui/icons/feed.tsx +0 -12
- package/2/apps/native/src/components/ui/icons/gemini.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/github.tsx +0 -30
- package/2/apps/native/src/components/ui/icons/google.tsx +0 -24
- package/2/apps/native/src/components/ui/icons/groq.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/home.tsx +0 -19
- package/2/apps/native/src/components/ui/icons/index.tsx +0 -26
- package/2/apps/native/src/components/ui/icons/language.tsx +0 -33
- package/2/apps/native/src/components/ui/icons/llama.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/microphone.tsx +0 -20
- package/2/apps/native/src/components/ui/icons/mistral.tsx +0 -22
- package/2/apps/native/src/components/ui/icons/nutrition.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/openai.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/perplexity.tsx +0 -22
- package/2/apps/native/src/components/ui/icons/qwen.tsx +0 -15
- package/2/apps/native/src/components/ui/icons/rate.tsx +0 -24
- package/2/apps/native/src/components/ui/icons/report.tsx +0 -20
- package/2/apps/native/src/components/ui/icons/send-horizontal.tsx +0 -26
- package/2/apps/native/src/components/ui/icons/settings.tsx +0 -12
- package/2/apps/native/src/components/ui/icons/share.tsx +0 -16
- package/2/apps/native/src/components/ui/icons/square.tsx +0 -9
- package/2/apps/native/src/components/ui/icons/style.tsx +0 -22
- package/2/apps/native/src/components/ui/icons/support.tsx +0 -27
- package/2/apps/native/src/components/ui/icons/trash2.tsx +0 -42
- package/2/apps/native/src/components/ui/icons/user.tsx +0 -12
- package/2/apps/native/src/components/ui/icons/website.tsx +0 -28
- package/2/apps/native/src/components/ui/icons/wifi-off.tsx +0 -17
- package/2/apps/native/src/components/ui/index.tsx +0 -14
- package/2/apps/native/src/components/ui/nav-item.tsx +0 -42
- package/2/apps/native/src/components/ui/patterns/index.ts +0 -16
- package/2/apps/native/src/components/ui/picker.tsx +0 -244
- package/2/apps/native/src/components/ui/popover.tsx +0 -313
- package/2/apps/native/src/components/ui/primitives/index.ts +0 -38
- package/2/apps/native/src/components/ui/radio-group.tsx +0 -47
- package/2/apps/native/src/components/ui/searchbar.tsx +0 -118
- package/2/apps/native/src/components/ui/sheet.tsx +0 -93
- package/2/apps/native/src/components/ui/switch.tsx +0 -37
- package/2/apps/native/src/components/ui/table.tsx +0 -296
- package/2/apps/native/src/components/ui/tabs.tsx +0 -115
- package/2/apps/native/src/components/ui/toggle.tsx +0 -50
- package/2/apps/native/src/components/ui/utils.tsx +0 -34
- package/2/apps/native/src/components/ui/video.tsx +0 -39
- package/2/apps/native/src/core/analytics/analytics-service.ts +0 -94
- package/2/apps/native/src/core/analytics/index.ts +0 -2
- package/2/apps/native/src/core/analytics/posthog-analytics-adapter.ts +0 -192
- package/2/apps/native/src/core/auth/auth-service.ts +0 -33
- package/2/apps/native/src/core/auth/index.ts +0 -1
- package/2/apps/native/src/core/cache/__tests__/cache-service.test.ts +0 -599
- package/2/apps/native/src/core/cache/cache-service.ts +0 -89
- package/2/apps/native/src/core/cache/index.ts +0 -45
- package/2/apps/native/src/core/config/config.service.ts +0 -153
- package/2/apps/native/src/core/config/index.ts +0 -2
- package/2/apps/native/src/core/config/telemetry.ts +0 -38
- package/2/apps/native/src/core/local-notifications/local-notification-manager.ts +0 -409
- package/2/apps/native/src/core/logging/custom-transports.ts +0 -126
- package/2/apps/native/src/core/logging/index.ts +0 -1
- package/2/apps/native/src/core/logging/logger.ts +0 -182
- package/2/apps/native/src/core/navigation/deep-link-handler.ts +0 -295
- package/2/apps/native/src/core/navigation/navigation-types.ts +0 -53
- package/2/apps/native/src/core/payments/index.ts +0 -1
- package/2/apps/native/src/core/payments/payment-service.ts +0 -32
- package/2/apps/native/src/core/quick-actions/index.ts +0 -2
- package/2/apps/native/src/core/quick-actions/quick-actions-adapter.ts +0 -54
- package/2/apps/native/src/core/quick-actions/types.ts +0 -29
- package/2/apps/native/src/core/storage/index.ts +0 -1
- package/2/apps/native/src/core/storage/mmkv.ts +0 -62
- package/2/apps/native/src/core/storage/notification-storage.ts +0 -312
- package/2/apps/native/src/core/types/common.ts +0 -0
- package/2/apps/native/src/core/utils/convex-http-api.ts +0 -30
- package/2/apps/native/src/features/audio-recorder/components/audio-player.tsx +0 -301
- package/2/apps/native/src/features/audio-recorder/components/audio-recorder.tsx +0 -373
- package/2/apps/native/src/features/audio-recorder/components/audio-waveform.tsx +0 -270
- package/2/apps/native/src/features/audio-recorder/components/index.ts +0 -4
- package/2/apps/native/src/features/audio-recorder/components/recording-list.tsx +0 -89
- package/2/apps/native/src/features/audio-recorder/demo/audio-player-demo.tsx +0 -66
- package/2/apps/native/src/features/audio-recorder/demo/audio-recorder-cloud.tsx +0 -68
- package/2/apps/native/src/features/audio-recorder/demo/audio-recorder-interview.tsx +0 -102
- package/2/apps/native/src/features/audio-recorder/demo/basic.tsx +0 -27
- package/2/apps/native/src/features/audio-recorder/demo/index.ts +0 -5
- package/2/apps/native/src/features/audio-recorder/demo/with-recording-list-demo.tsx +0 -82
- package/2/apps/native/src/features/authentication/components/auth-watcher.tsx +0 -115
- package/2/apps/native/src/features/authentication/components/login-form.tsx +0 -85
- package/2/apps/native/src/features/authentication/services/__tests__/convex-auth.adapter.test.ts +0 -399
- package/2/apps/native/src/features/authentication/services/convex-auth.adapter.ts +0 -497
- package/2/apps/native/src/features/authentication/services/index.ts +0 -2
- package/2/apps/native/src/features/charts/README.md +0 -185
- package/2/apps/native/src/features/charts/app/preview.tsx +0 -226
- package/2/apps/native/src/features/charts/components/area-chart.tsx +0 -43
- package/2/apps/native/src/features/charts/components/bar-chart.tsx +0 -146
- package/2/apps/native/src/features/charts/components/candlestick-chart.tsx +0 -199
- package/2/apps/native/src/features/charts/components/chart-card.tsx +0 -68
- package/2/apps/native/src/features/charts/components/column-chart.tsx +0 -146
- package/2/apps/native/src/features/charts/components/doughnut-chart.tsx +0 -260
- package/2/apps/native/src/features/charts/components/index.ts +0 -13
- package/2/apps/native/src/features/charts/components/line-chart.tsx +0 -311
- package/2/apps/native/src/features/charts/components/radar-chart.tsx +0 -183
- package/2/apps/native/src/features/charts/components/radial-bar-chart.tsx +0 -191
- package/2/apps/native/src/features/charts/components/stacked-area-chart.tsx +0 -268
- package/2/apps/native/src/features/charts/components/stacked-bar-chart.tsx +0 -325
- package/2/apps/native/src/features/charts/data/mock-data.ts +0 -186
- package/2/apps/native/src/features/charts/types/index.ts +0 -69
- package/2/apps/native/src/features/chatbot/app/index.tsx +0 -303
- package/2/apps/native/src/features/chatbot/components/chat-header-buttons.tsx +0 -60
- package/2/apps/native/src/features/chatbot/components/chat-input-bar.tsx +0 -470
- package/2/apps/native/src/features/chatbot/components/chat-markdown.tsx +0 -576
- package/2/apps/native/src/features/chatbot/components/chat-message-bubble.tsx +0 -247
- package/2/apps/native/src/features/chatbot/components/chat-settings-modal.tsx +0 -162
- package/2/apps/native/src/features/chatbot/components/image-preview-list.tsx +0 -116
- package/2/apps/native/src/features/chatbot/components/markdown/code-block.tsx +0 -166
- package/2/apps/native/src/features/chatbot/components/markdown/index.ts +0 -11
- package/2/apps/native/src/features/chatbot/components/markdown/table-renderer.tsx +0 -130
- package/2/apps/native/src/features/chatbot/components/message-error-boundary.tsx +0 -79
- package/2/apps/native/src/features/chatbot/components/message-list.tsx +0 -174
- package/2/apps/native/src/features/chatbot/components/model-selector.tsx +0 -284
- package/2/apps/native/src/features/chatbot/components/report-content-modal.tsx +0 -189
- package/2/apps/native/src/features/chatbot/components/suggested-messages.tsx +0 -68
- package/2/apps/native/src/features/chatbot/constants/models.ts +0 -21
- package/2/apps/native/src/features/chatbot/constants/report-reasons.ts +0 -10
- package/2/apps/native/src/features/chatbot/hooks/use-attachment-cache.ts +0 -144
- package/2/apps/native/src/features/chatbot/hooks/use-chat-config.ts +0 -665
- package/2/apps/native/src/features/chatbot/hooks/use-chat-handlers.ts +0 -360
- package/2/apps/native/src/features/chatbot/hooks/use-chatbot-settings.ts +0 -90
- package/2/apps/native/src/features/chatbot/hooks/use-conversation.ts +0 -80
- package/2/apps/native/src/features/chatbot/hooks/use-image-picker.ts +0 -123
- package/2/apps/native/src/features/chatbot/hooks/use-keyboard-coordinator.ts +0 -162
- package/2/apps/native/src/features/chatbot/hooks/use-smart-scroll-manager.ts +0 -214
- package/2/apps/native/src/features/chatbot/models/index.ts +0 -87
- package/2/apps/native/src/features/chatbot/models/models.ts +0 -163
- package/2/apps/native/src/features/chatbot/models/providers.ts +0 -63
- package/2/apps/native/src/features/chatbot/models/types.ts +0 -41
- package/2/apps/native/src/features/chatbot/services/file-uploader.ts +0 -239
- package/2/apps/native/src/features/chatbot/services/message-handler-service.ts +0 -181
- package/2/apps/native/src/features/chatbot/types/index.ts +0 -61
- package/2/apps/native/src/features/chatbot/utils/chat-telemetry.ts +0 -92
- package/2/apps/native/src/features/image-generator/app/_layout.tsx +0 -26
- package/2/apps/native/src/features/image-generator/app/gallery.tsx +0 -217
- package/2/apps/native/src/features/image-generator/app/index.tsx +0 -237
- package/2/apps/native/src/features/image-generator/components/gallery-image.tsx +0 -25
- package/2/apps/native/src/features/image-generator/components/image-detail-modal.tsx +0 -215
- package/2/apps/native/src/features/image-generator/components/image-model-selector.tsx +0 -210
- package/2/apps/native/src/features/image-generator/components/image-placeholder.tsx +0 -26
- package/2/apps/native/src/features/image-generator/hooks/use-image-gallery.ts +0 -71
- package/2/apps/native/src/features/image-generator/hooks/use-image-generator-settings.ts +0 -152
- package/2/apps/native/src/features/image-generator/hooks/use-image-generator.ts +0 -93
- package/2/apps/native/src/features/image-generator/models/models.ts +0 -66
- package/2/apps/native/src/features/image-generator/services/image-gallery-service.ts +0 -98
- package/2/apps/native/src/features/image-generator/services/image-save-service.ts +0 -121
- package/2/apps/native/src/features/onboarding/analytics/index.ts +0 -9
- package/2/apps/native/src/features/onboarding/components/onboarding-with-analytics.tsx +0 -141
- package/2/apps/native/src/features/onboarding/components/onboarding.tsx +0 -173
- package/2/apps/native/src/features/onboarding/config/onboarding-flow-config.ts +0 -189
- package/2/apps/native/src/features/onboarding/demo-one/app/index.tsx +0 -43
- package/2/apps/native/src/features/onboarding/demo-one/data.ts +0 -32
- package/2/apps/native/src/features/onboarding/hooks/use-onboarding-analytics.ts +0 -323
- package/2/apps/native/src/features/onboarding/services/onboarding-analytics.ts +0 -432
- package/2/apps/native/src/features/payments/README.md +0 -200
- package/2/apps/native/src/features/payments/app/local-paywall.tsx +0 -194
- package/2/apps/native/src/features/payments/app/remote-paywall.tsx +0 -79
- package/2/apps/native/src/features/payments/components/payment-initializer.tsx +0 -95
- package/2/apps/native/src/features/payments/components/paywall-error-state.tsx +0 -60
- package/2/apps/native/src/features/payments/components/paywall-local-mode.tsx +0 -116
- package/2/apps/native/src/features/payments/components/paywall-product-card.tsx +0 -133
- package/2/apps/native/src/features/payments/components/paywall-remote-mode.tsx +0 -146
- package/2/apps/native/src/features/payments/hooks/use-entitlement.ts +0 -63
- package/2/apps/native/src/features/payments/index.ts +0 -8
- package/2/apps/native/src/features/payments/services/revenuecat-adapter.ts +0 -407
- package/2/apps/native/src/features/quick-actions/components/quick-actions-demo.tsx +0 -139
- package/2/apps/native/src/features/quick-actions/config/default-actions.ts +0 -83
- package/2/apps/native/src/features/quick-actions/hooks/use-quick-actions.ts +0 -45
- package/2/apps/native/src/features/quick-actions/index.ts +0 -4
- package/2/apps/native/src/features/quick-actions/utils/quick-actions-manager.ts +0 -105
- package/2/apps/native/src/features/quiz/components/question.tsx +0 -67
- package/2/apps/native/src/features/quiz/config.ts +0 -11
- package/2/apps/native/src/features/quiz/index.tsx +0 -133
- package/2/apps/native/src/features/settings/ui/debug-info.tsx +0 -75
- package/2/apps/native/src/features/settings/ui/dev-tools.tsx +0 -1
- package/2/apps/native/src/features/settings/ui/item.tsx +0 -45
- package/2/apps/native/src/features/settings/ui/items-container.tsx +0 -23
- package/2/apps/native/src/features/settings/ui/language-item.tsx +0 -52
- package/2/apps/native/src/features/settings/ui/notification-item.tsx +0 -59
- package/2/apps/native/src/features/settings/ui/theme-item.tsx +0 -45
- package/2/apps/native/src/features/tracker-app/app/index.tsx +0 -108
- package/2/apps/native/src/features/tracker-app/components/animated-number.tsx +0 -102
- package/2/apps/native/src/features/tracker-app/components/calorie-card.tsx +0 -66
- package/2/apps/native/src/features/tracker-app/components/circular-progress.tsx +0 -97
- package/2/apps/native/src/features/tracker-app/components/floating-add-button.tsx +0 -27
- package/2/apps/native/src/features/tracker-app/components/macro-card.tsx +0 -80
- package/2/apps/native/src/features/tracker-app/components/promo-banner.tsx +0 -98
- package/2/apps/native/src/features/tracker-app/components/recently-logged.tsx +0 -64
- package/2/apps/native/src/features/tracker-app/components/week-calendar.tsx +0 -68
- package/2/apps/native/src/features/vibefast-features.ts +0 -42
- package/2/apps/native/src/features/voice-bot/README.md +0 -185
- package/2/apps/native/src/features/voice-bot/components/conversation-status.tsx +0 -76
- package/2/apps/native/src/features/voice-bot/components/index.ts +0 -4
- package/2/apps/native/src/features/voice-bot/components/message-input.tsx +0 -98
- package/2/apps/native/src/features/voice-bot/components/voice-bot-screen.tsx +0 -173
- package/2/apps/native/src/features/voice-bot/components/voice-controls.tsx +0 -73
- package/2/apps/native/src/features/voice-bot/index.ts +0 -3
- package/2/apps/native/src/features/voice-bot/services/index.ts +0 -1
- package/2/apps/native/src/features/voice-bot/services/use-voice-bot.ts +0 -161
- package/2/apps/native/src/features/voice-bot/types.ts +0 -29
- package/2/apps/native/src/features/wake-word/components/index.ts +0 -1
- package/2/apps/native/src/features/wake-word/components/wake-word-indicator.tsx +0 -61
- package/2/apps/native/src/features/wake-word/constants.ts +0 -10
- package/2/apps/native/src/features/wake-word/hooks/use-wake-word.ts +0 -181
- package/2/apps/native/src/features/wake-word/index.ts +0 -22
- package/2/apps/native/src/features/wake-word/services/audio-session.ts +0 -40
- package/2/apps/native/src/features/wake-word/services/event-bus.ts +0 -31
- package/2/apps/native/src/features/wake-word/services/keywords.ts +0 -88
- package/2/apps/native/src/features/wake-word/services/wake-word-manager.ts +0 -249
- package/2/apps/native/src/features/wake-word/types.ts +0 -22
- package/2/apps/native/src/lib/env.js +0 -13
- package/2/apps/native/src/lib/hooks/index.tsx +0 -6
- package/2/apps/native/src/lib/hooks/use-device-identifier.tsx +0 -80
- package/2/apps/native/src/lib/hooks/use-gradual-animation.ts +0 -28
- package/2/apps/native/src/lib/hooks/use-is-first-time.tsx +0 -25
- package/2/apps/native/src/lib/hooks/use-navigation-analytics.ts +0 -44
- package/2/apps/native/src/lib/hooks/use-navigation-options.tsx +0 -87
- package/2/apps/native/src/lib/hooks/use-push-notifications.ts +0 -250
- package/2/apps/native/src/lib/hooks/use-responsive-size.tsx +0 -37
- package/2/apps/native/src/lib/hooks/use-selected-theme.tsx +0 -38
- package/2/apps/native/src/lib/hooks/use-viewport-lazy-loading.tsx +0 -124
- package/2/apps/native/src/lib/i18n/index.tsx +0 -30
- package/2/apps/native/src/lib/i18n/react-i18next.d.ts +0 -9
- package/2/apps/native/src/lib/i18n/resources.ts +0 -25
- package/2/apps/native/src/lib/i18n/types.ts +0 -23
- package/2/apps/native/src/lib/i18n/utils.tsx +0 -112
- package/2/apps/native/src/lib/index.tsx +0 -3
- package/2/apps/native/src/lib/state/auth-client-slice.ts +0 -34
- package/2/apps/native/src/lib/state/index.ts +0 -1
- package/2/apps/native/src/lib/storage.tsx +0 -7
- package/2/apps/native/src/lib/test-utils.tsx +0 -43
- package/2/apps/native/src/lib/use-theme-config.tsx +0 -108
- package/2/apps/native/src/lib/utils.ts +0 -29
- package/2/apps/native/src/polyfills.ts +0 -61
- package/2/apps/native/src/providers/convex-provider.tsx +0 -31
- package/2/apps/native/src/providers/index.tsx +0 -6
- package/2/apps/native/src/providers/notification-provider.tsx +0 -168
- package/2/apps/native/src/providers/posthog-provider.tsx +0 -47
- package/2/apps/native/src/providers/root-providers.tsx +0 -46
- package/2/apps/native/src/providers/sentry-provider.tsx +0 -62
- package/2/apps/native/src/providers/splash-screen-provider.tsx +0 -122
- package/2/apps/native/src/providers/theme-provider.tsx +0 -67
- package/2/apps/native/src/translations/ar.json +0 -394
- package/2/apps/native/src/translations/de.json +0 -394
- package/2/apps/native/src/translations/en.json +0 -394
- package/2/apps/native/src/translations/es.json +0 -394
- package/2/apps/native/src/translations/fr.json +0 -394
- package/2/apps/native/src/types/flash-list.d.ts +0 -3
- package/2/apps/native/src/types/index.ts +0 -3
- package/2/apps/native/src/types/react-native-reanimated.d.ts +0 -5
- package/2/apps/native/tailwind.config.js +0 -57
- package/2/apps/native/targets/widget/AppIntent.swift +0 -46
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png +0 -0
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -122
- package/2/apps/native/targets/widget/Assets.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png +0 -0
- package/2/apps/native/targets/widget/CalorieTrackerWidget.swift +0 -424
- package/2/apps/native/targets/widget/HabitTrackerWidget.swift +0 -305
- package/2/apps/native/targets/widget/Info.plist +0 -11
- package/2/apps/native/targets/widget/WidgetLiveActivity.swift +0 -75
- package/2/apps/native/targets/widget/expo-target.config.js +0 -10
- package/2/apps/native/targets/widget/generated.entitlements +0 -5
- package/2/apps/native/targets/widget/index.swift +0 -18
- package/2/apps/native/targets/widget/widgets.swift +0 -96
- package/2/apps/native/tsconfig.json +0 -88
- package/2/apps/native/vitest.config.mts +0 -14
- package/2/apps/web/README.md +0 -36
- package/2/apps/web/app/favicon.ico +0 -0
- package/2/apps/web/app/globals.css +0 -122
- package/2/apps/web/app/layout.tsx +0 -38
- package/2/apps/web/app/page.tsx +0 -35
- package/2/apps/web/app/users/page.tsx +0 -301
- package/2/apps/web/components/AdminDashboard.tsx +0 -336
- package/2/apps/web/components/AppleLogo.tsx +0 -15
- package/2/apps/web/components/GitHubLogo.tsx +0 -11
- package/2/apps/web/components/GoogleLogo.tsx +0 -23
- package/2/apps/web/components/Layout.tsx +0 -77
- package/2/apps/web/components/ThemeToggle.tsx +0 -23
- package/2/apps/web/components/UserMenu.tsx +0 -66
- package/2/apps/web/components/auth/CodeInput.tsx +0 -24
- package/2/apps/web/components/auth/ResetPasswordWithEmailCode.tsx +0 -85
- package/2/apps/web/components/auth/SignInFormEmailCode.tsx +0 -72
- package/2/apps/web/components/auth/SignInFormEmailLink.tsx +0 -81
- package/2/apps/web/components/auth/SignInFormPassword.tsx +0 -17
- package/2/apps/web/components/auth/SignInFormPasswordAndCustomField.tsx +0 -42
- package/2/apps/web/components/auth/SignInFormPasswordAndResetViaCode.tsx +0 -32
- package/2/apps/web/components/auth/SignInFormPasswordAndVerifyViaCode.tsx +0 -86
- package/2/apps/web/components/auth/SignInFormPhoneCode.tsx +0 -89
- package/2/apps/web/components/auth/SignInFormsShowcase.tsx +0 -64
- package/2/apps/web/components/auth/SignInMethodDivider.tsx +0 -17
- package/2/apps/web/components/auth/SignInWithEmailCode.tsx +0 -49
- package/2/apps/web/components/auth/SignInWithOAuth.tsx +0 -16
- package/2/apps/web/components/auth/SignInWithPassword.tsx +0 -100
- package/2/apps/web/components/auth/oauth/SignInWithApple.tsx +0 -27
- package/2/apps/web/components/auth/oauth/SignInWithGitHub.tsx +0 -27
- package/2/apps/web/components/auth/oauth/SignInWithGoogle.tsx +0 -27
- package/2/apps/web/components/ui/button.tsx +0 -60
- package/2/apps/web/components/ui/card.tsx +0 -92
- package/2/apps/web/components/ui/dialog.tsx +0 -143
- package/2/apps/web/components/ui/dropdown-menu.tsx +0 -257
- package/2/apps/web/components/ui/input-otp.tsx +0 -77
- package/2/apps/web/components/ui/input.tsx +0 -21
- package/2/apps/web/components/ui/skeleton.tsx +0 -13
- package/2/apps/web/components/ui/tabs.tsx +0 -66
- package/2/apps/web/components/ui/toast.tsx +0 -130
- package/2/apps/web/components/ui/toaster.tsx +0 -36
- package/2/apps/web/components/ui/toggle-group.tsx +0 -83
- package/2/apps/web/components/ui/toggle.tsx +0 -47
- package/2/apps/web/components/ui/use-toast.ts +0 -192
- package/2/apps/web/components.json +0 -22
- package/2/apps/web/eslint.config.mjs +0 -18
- package/2/apps/web/lib/convex-provider.tsx +0 -18
- package/2/apps/web/lib/utils.ts +0 -6
- package/2/apps/web/next.config.ts +0 -7
- package/2/apps/web/package.json +0 -46
- package/2/apps/web/postcss.config.mjs +0 -7
- package/2/apps/web/public/file.svg +0 -1
- package/2/apps/web/public/globe.svg +0 -1
- package/2/apps/web/public/next.svg +0 -1
- package/2/apps/web/public/vercel.svg +0 -1
- package/2/apps/web/public/window.svg +0 -1
- package/2/apps/web/tsconfig.json +0 -34
- package/2/bts.jsonc +0 -21
- package/2/commitlint.config.js +0 -1
- package/2/eslint.config.mjs +0 -182
- package/2/lint-staged.config.js +0 -16
- package/2/package.json +0 -64
- package/2/packages/backend/.env.example +0 -20
- package/2/packages/backend/convex/README.md +0 -90
- package/2/packages/backend/convex/_generated/api.d.ts +0 -2599
- package/2/packages/backend/convex/_generated/api.js +0 -23
- package/2/packages/backend/convex/_generated/dataModel.d.ts +0 -60
- package/2/packages/backend/convex/_generated/server.d.ts +0 -149
- package/2/packages/backend/convex/_generated/server.js +0 -90
- package/2/packages/backend/convex/agents.ts +0 -116
- package/2/packages/backend/convex/auth.config.ts +0 -8
- package/2/packages/backend/convex/auth.ts +0 -103
- package/2/packages/backend/convex/authCustomEmailOtpProvider.ts +0 -175
- package/2/packages/backend/convex/authOtp.ts +0 -144
- package/2/packages/backend/convex/authPasswordReset.ts +0 -367
- package/2/packages/backend/convex/authPasswordResetActions.ts +0 -150
- package/2/packages/backend/convex/chatbot/index.ts +0 -30
- package/2/packages/backend/convex/chatbotAgent.ts +0 -1085
- package/2/packages/backend/convex/chatbotHistory.ts +0 -307
- package/2/packages/backend/convex/convex.config.ts +0 -13
- package/2/packages/backend/convex/deviceGrants.ts +0 -58
- package/2/packages/backend/convex/grantFunctions.ts +0 -444
- package/2/packages/backend/convex/http.ts +0 -8
- package/2/packages/backend/convex/imageGeneration/index.ts +0 -12
- package/2/packages/backend/convex/imageGeneratorFunctions.ts +0 -290
- package/2/packages/backend/convex/lib/ai/analysisConfigs.ts +0 -257
- package/2/packages/backend/convex/lib/ai/config.ts +0 -71
- package/2/packages/backend/convex/lib/ai/geminiAdapter.ts +0 -43
- package/2/packages/backend/convex/lib/ai/openaiAdapter.ts +0 -43
- package/2/packages/backend/convex/lib/ai/schemas.ts +0 -79
- package/2/packages/backend/convex/lib/config.ts +0 -111
- package/2/packages/backend/convex/lib/rateLimit.ts +0 -100
- package/2/packages/backend/convex/lib/telemetry.ts +0 -29
- package/2/packages/backend/convex/paymentFunctions.ts +0 -119
- package/2/packages/backend/convex/payments/index.ts +0 -13
- package/2/packages/backend/convex/pushNotificationFunctions.ts +0 -342
- package/2/packages/backend/convex/ragKnowledge.ts +0 -714
- package/2/packages/backend/convex/rateLimit.ts +0 -13
- package/2/packages/backend/convex/recordingFunctions.ts +0 -98
- package/2/packages/backend/convex/reportFunctions.ts +0 -344
- package/2/packages/backend/convex/reporting/index.ts +0 -9
- package/2/packages/backend/convex/router.ts +0 -81
- package/2/packages/backend/convex/schema.ts +0 -237
- package/2/packages/backend/convex/shared/email.ts +0 -172
- package/2/packages/backend/convex/shared/files.ts +0 -96
- package/2/packages/backend/convex/shared/index.ts +0 -17
- package/2/packages/backend/convex/shared/templates/PasswordResetEmail.tsx +0 -72
- package/2/packages/backend/convex/shared/templates/VerificationCodeEmail.tsx +0 -65
- package/2/packages/backend/convex/sharedUsers.ts +0 -48
- package/2/packages/backend/convex/tools/index.ts +0 -18
- package/2/packages/backend/convex/tools/knowledgeRetrieval.ts +0 -92
- package/2/packages/backend/convex/tools/tavilySearch.ts +0 -83
- package/2/packages/backend/convex/tools/userProfile.ts +0 -72
- package/2/packages/backend/convex/tsconfig.json +0 -25
- package/2/packages/backend/convex/users.ts +0 -54
- package/2/packages/backend/index.ts +0 -20
- package/2/packages/backend/package.json +0 -32
- package/2/packages/ui/README.md +0 -63
- package/2/packages/ui/index.ts +0 -1
- package/2/packages/ui/package.json +0 -21
- package/2/packages/ui/src/components/SharedButton.tsx +0 -31
- package/2/packages/ui/src/components/SharedCard.tsx +0 -48
- package/2/packages/ui/src/components/index.ts +0 -2
- package/2/packages/ui/tsconfig.json +0 -10
- package/2/pnpm-lock.yaml +0 -23292
- package/2/pnpm-workspace.yaml +0 -3
- package/2/scripts/i18next-syntax-validation.js +0 -1
- package/2/tsconfig.json +0 -43
- package/2/turbo.json +0 -33
- package/2/vercel.json +0 -6
- package/2/vf-agent/agent-teams/team-vibefast.yaml +0 -14
- package/2/vf-agent/agents/analyst.md +0 -53
- package/2/vf-agent/agents/architect.md +0 -105
- package/2/vf-agent/agents/dev.md +0 -40
- package/2/vf-agent/agents/orchestrator.md +0 -181
- package/2/vf-agent/agents/pm.md +0 -48
- package/2/vf-agent/agents/po.md +0 -38
- package/2/vf-agent/agents/qa.md +0 -30
- package/2/vf-agent/agents/sm.md +0 -38
- package/2/vf-agent/agents/ux-expert.md +0 -33
- package/2/vf-agent/checklists/po-master-checklist.md +0 -73
- package/2/vf-agent/checklists/story-dod-checklist.md +0 -37
- package/2/vf-agent/core-config.yaml +0 -43
- package/2/vf-agent/data/knowledge_base/backend/convex-advanced.md +0 -43
- package/2/vf-agent/data/knowledge_base/backend/convex-database.md +0 -53
- package/2/vf-agent/data/knowledge_base/backend/convex-main.md +0 -65
- package/2/vf-agent/data/knowledge_base/backend/full-guidelines.md +0 -795
- package/2/vf-agent/data/knowledge_base/coding-standards.md +0 -253
- package/2/vf-agent/data/knowledge_base/frontend/full-guidelines.md +0 -254
- package/2/vf-agent/data/knowledge_base/frontend/image-handling.md +0 -48
- package/2/vf-agent/data/knowledge_base/frontend/react-native-main.md +0 -24
- package/2/vf-agent/data/knowledge_base/frontend/ui-and-styling.md +0 -169
- package/2/vf-agent/data/knowledge_base/general-principles.md +0 -26
- package/2/vf-agent/data/knowledge_base/master-rulebook.md +0 -42
- package/2/vf-agent/data/knowledge_base/starter-docs/audio-recorder-reference.md +0 -98
- package/2/vf-agent/data/knowledge_base/starter-docs/authentication-reference.md +0 -155
- package/2/vf-agent/data/knowledge_base/starter-docs/charts-reference.md +0 -149
- package/2/vf-agent/data/knowledge_base/starter-docs/chatbot-reference.md +0 -123
- package/2/vf-agent/data/knowledge_base/starter-docs/feature-reference-index.md +0 -211
- package/2/vf-agent/data/knowledge_base/starter-docs/features-overview.md +0 -221
- package/2/vf-agent/data/knowledge_base/starter-docs/image-analyzer-reference.md +0 -118
- package/2/vf-agent/data/knowledge_base/starter-docs/image-generator-reference.md +0 -110
- package/2/vf-agent/data/knowledge_base/starter-docs/index.md +0 -28
- package/2/vf-agent/data/knowledge_base/starter-docs/onboarding-reference.md +0 -96
- package/2/vf-agent/data/knowledge_base/starter-docs/payments-reference.md +0 -148
- package/2/vf-agent/data/knowledge_base/starter-docs/prd.md +0 -82
- package/2/vf-agent/data/knowledge_base/starter-docs/push-notifications-reference.md +0 -453
- package/2/vf-agent/data/knowledge_base/starter-docs/quick-actions-reference.md +0 -253
- package/2/vf-agent/data/knowledge_base/starter-docs/quiz-reference.md +0 -169
- package/2/vf-agent/data/knowledge_base/starter-docs/settings-reference.md +0 -146
- package/2/vf-agent/data/knowledge_base/starter-docs/tech-stack.md +0 -159
- package/2/vf-agent/data/knowledge_base/starter-docs/tracker-app-reference.md +0 -150
- package/2/vf-agent/data/knowledge_base/starter-docs/unified-project-structure.md +0 -98
- package/2/vf-agent/data/knowledge_base/testing/backend-testing.md +0 -54
- package/2/vf-agent/data/knowledge_base/testing/frontend-testing.md +0 -71
- package/2/vf-agent/data/knowledge_base/testing/testing-strategy.md +0 -31
- package/2/vf-agent/tasks/advanced-elicitation.md +0 -117
- package/2/vf-agent/tasks/brownfield-create-epic.md +0 -160
- package/2/vf-agent/tasks/create-deep-research-prompt.md +0 -278
- package/2/vf-agent/tasks/create-doc.md +0 -42
- package/2/vf-agent/tasks/create-story.md +0 -43
- package/2/vf-agent/tasks/document-project.md +0 -343
- package/2/vf-agent/tasks/facilitate-brainstorming-session.md +0 -136
- package/2/vf-agent/tasks/index-docs.md +0 -173
- package/2/vf-agent/tasks/kb-mode-interaction.md +0 -75
- package/2/vf-agent/tasks/review-story.md +0 -154
- package/2/vf-agent/tasks/shard-doc.md +0 -185
- package/2/vf-agent/tasks/troubleshoot-issue.md +0 -65
- package/2/vf-agent/tasks/validate-next-story.md +0 -47
- package/2/vf-agent/templates/brainstorming-output-tmpl.yaml +0 -156
- package/2/vf-agent/templates/brownfield-architecture-tmpl.yaml +0 -111
- package/2/vf-agent/templates/brownfield-prd-tmpl.yaml +0 -247
- package/2/vf-agent/templates/competitor-analysis-tmpl.yaml +0 -293
- package/2/vf-agent/templates/market-research-tmpl.yaml +0 -252
- package/2/vf-agent/templates/project-brief-tmpl.yaml +0 -221
- package/2/vf-agent/templates/story-tmpl.yaml +0 -143
- package/recipes/0/apps/native/src/components/advanced-ui/timeline/demo.tsx +0 -444
- package/recipes/0/apps/native/src/components/advanced-ui/timeline/timeline-view.tsx +0 -355
- package/recipes/0/apps/native/src/components/advanced-ui/timeline/types.ts +0 -31
- package/recipes/wake-word/scripts/download-vosk-model.mjs +0 -121
- /package/{2 → recipes/animated-chip}/apps/native/src/components/advanced-ui/chip/animated-chip.tsx +0 -0
- /package/{2 → recipes/animated-chip}/apps/native/src/components/advanced-ui/chip/chip.tsx +0 -0
- /package/{2 → recipes/animated-chip}/apps/native/src/components/advanced-ui/chip/demo.tsx +0 -0
- /package/{2 → recipes/animated-chip}/apps/native/src/components/advanced-ui/chip/types.ts +0 -0
- /package/{2 → recipes/animated-switch}/apps/native/src/components/advanced-ui/switch/animated-switch.tsx +0 -0
- /package/{2 → recipes/animated-switch}/apps/native/src/components/advanced-ui/switch/demo.tsx +0 -0
- /package/{2 → recipes/animated-switch}/apps/native/src/components/advanced-ui/switch/types.ts +0 -0
- /package/{2 → recipes/glowing-button}/apps/native/src/components/advanced-ui/buttons/demo.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/assets/features/image-analyzer/front.jpg +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/assets/features/image-analyzer/side.jpg +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/assets/features/image-analyzer/threeQuarter.jpg +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/api-client/image-analyzer.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/_layout.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/analysis-options.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/camera.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/index.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/loading.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/results.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/app/(root)/(protected)/analysis/[type]/trait-details.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/analysis-options-screen.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/camera.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/image-capture-screen.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/loading-screen.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/loading.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/results.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/trait-details.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/use-analysis-data.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/app/use-results-screen.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/achievement-badge.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/achievement-card.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/achievement-unlocked-modal.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/achievements-section.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/advice-list.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/circular-progress.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/content-card.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/error-state.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/index.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/loading-state.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/profile-image.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/results-header.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/score-display.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/share-options-modal.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/components/results/traits-grid.tsx +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/config/analysis-config.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/config/master-analysis-config.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/hooks/index.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/hooks/use-analysis.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/hooks/use-image-analysis.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/services/analysis-service.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/services/share-service.ts +0 -0
- /package/{2 → recipes/image-analysis}/apps/native/src/features/image-analyzer/services/trait-details-service.ts +0 -0
- /package/{2 → recipes/image-analysis}/packages/backend/convex/imageAnalysis/index.ts +0 -0
- /package/{2 → recipes/image-analysis}/packages/backend/convex/imageAnalysisFunctions.ts +0 -0
- /package/{2 → recipes/image-analysis}/packages/backend/convex/lib/ai/imageAnalysisAdapter.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/button/stepper-button.tsx +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/button/types.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/content/stepper-content.tsx +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/content/types.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/value/stepper-value.tsx +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/children/value/types.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/context/stepper-context.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/context/types.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/demo.tsx +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/index.ts +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/stepper.tsx +0 -0
- /package/{2 → recipes/number-stepper}/apps/native/src/components/advanced-ui/stepper/types.ts +0 -0
- /package/{2 → recipes/progress-circle}/apps/native/src/components/advanced-ui/progress-bars/animated-progress-bar.tsx +0 -0
- /package/{2 → recipes/progress-circle}/apps/native/src/components/advanced-ui/progress-bars/dropdown-picker-page.tsx +0 -0
- /package/{2 → recipes/progress-circle}/apps/native/src/components/advanced-ui/progress-bars/progress-circle-page.tsx +0 -0
- /package/{2 → recipes/progress-circle}/apps/native/src/components/advanced-ui/progress-bars/progress-circle.tsx +0 -0
- /package/{2 → recipes/swipe-slider}/apps/native/src/components/advanced-ui/sliders/swipe-slider-page.tsx +0 -0
- /package/{2 → recipes/swipe-slider}/apps/native/src/components/advanced-ui/sliders/swipe-slider.tsx +0 -0
- /package/{2 → recipes/timeline}/apps/native/src/components/advanced-ui/timeline/demo.tsx +0 -0
- /package/{2 → recipes/timeline}/apps/native/src/components/advanced-ui/timeline/timeline-view.tsx +0 -0
- /package/{2 → recipes/timeline}/apps/native/src/components/advanced-ui/timeline/types.ts +0 -0
- /package/{2 → recipes/wake-word}/apps/native/scripts/download-vosk-model.mjs +0 -0
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
# Tech Stack Documentation
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Next.js application with Convex backend, Better Auth authentication, and Tailwind CSS v4 styling. Built with TypeScript and React 19.
|
|
6
|
-
|
|
7
|
-
## Programming Language & Runtime
|
|
8
|
-
|
|
9
|
-
- **TypeScript**: 5.x
|
|
10
|
-
- **Node.js**: v18.20.8
|
|
11
|
-
- **Package Manager**: pnpm
|
|
12
|
-
|
|
13
|
-
## Frontend
|
|
14
|
-
|
|
15
|
-
### UI Framework
|
|
16
|
-
|
|
17
|
-
- **React**: 19.1.0
|
|
18
|
-
- **React DOM**: 19.1.0
|
|
19
|
-
- **Next.js**: 15.4.4 (App Router)
|
|
20
|
-
|
|
21
|
-
### Styling
|
|
22
|
-
|
|
23
|
-
- **Tailwind CSS**: v4
|
|
24
|
-
- **PostCSS**: @tailwindcss/postcss
|
|
25
|
-
- **tw-animate-css**: 1.3.6
|
|
26
|
-
- **Fonts**: Geist Sans, Geist Mono (Google Fonts)
|
|
27
|
-
|
|
28
|
-
### Component Libraries
|
|
29
|
-
|
|
30
|
-
- **Radix UI**: Full suite of primitives (accordion, alert-dialog, avatar, checkbox, dialog, dropdown-menu, etc.)
|
|
31
|
-
- **shadcn/ui components**: Built on Radix UI
|
|
32
|
-
- **class-variance-authority**: 0.7.1
|
|
33
|
-
- **clsx**: 2.1.1
|
|
34
|
-
- **tailwind-merge**: 3.3.1
|
|
35
|
-
|
|
36
|
-
### State Management
|
|
37
|
-
|
|
38
|
-
- **jotai-x**: 2.3.3
|
|
39
|
-
- **React Hook Form**: 7.61.1
|
|
40
|
-
- **@hookform/resolvers**: 5.2.0
|
|
41
|
-
|
|
42
|
-
### Data Fetching
|
|
43
|
-
|
|
44
|
-
- **@tanstack/react-query**: 5.83.0
|
|
45
|
-
- **@convex-dev/react-query**: 0.0.0-alpha.11
|
|
46
|
-
|
|
47
|
-
### UI Components
|
|
48
|
-
|
|
49
|
-
- **cmdk**: 1.1.1 (Command palette)
|
|
50
|
-
- **date-fns**: 4.1.0 (Date utilities)
|
|
51
|
-
- **embla-carousel-react**: 8.6.0
|
|
52
|
-
- **input-otp**: 1.4.2
|
|
53
|
-
- **lucide-react**: 0.526.0 (Icons)
|
|
54
|
-
- **react-day-picker**: 9.8.1
|
|
55
|
-
- **react-resizable-panels**: 3.0.3
|
|
56
|
-
- **recharts**: 2.15.4 (Charts)
|
|
57
|
-
- **sonner**: 2.0.6 (Toast notifications)
|
|
58
|
-
- **vaul**: 1.1.2 (Drawer component)
|
|
59
|
-
|
|
60
|
-
### Utilities
|
|
61
|
-
|
|
62
|
-
- **next-themes**: 0.4.6 (Theme management)
|
|
63
|
-
- **nuqs**: 2.4.1 (URL state management)
|
|
64
|
-
- **ts-essentials**: 10.1.1
|
|
65
|
-
|
|
66
|
-
## Backend
|
|
67
|
-
|
|
68
|
-
### Backend Framework
|
|
69
|
-
|
|
70
|
-
- **Convex**: 1.25.2
|
|
71
|
-
- **convex-ents**: 0.15.0 (Entity system)
|
|
72
|
-
- **convex-helpers**: 0.1.99
|
|
73
|
-
|
|
74
|
-
### Authentication
|
|
75
|
-
|
|
76
|
-
- **better-auth**: 1.3.4
|
|
77
|
-
- **@convex-dev/better-auth**: 0.7.0 (Convex adapter)
|
|
78
|
-
|
|
79
|
-
### Backend Components
|
|
80
|
-
|
|
81
|
-
- **@convex-dev/aggregate**: 0.1.21
|
|
82
|
-
- **@convex-dev/rate-limiter**: 0.2.10
|
|
83
|
-
|
|
84
|
-
### Validation
|
|
85
|
-
|
|
86
|
-
- **zod**: 3.25.76
|
|
87
|
-
|
|
88
|
-
## Database & Storage
|
|
89
|
-
|
|
90
|
-
- **Convex Database**: Built-in reactive database
|
|
91
|
-
- **Schema**: Defined using convex-ents with users table
|
|
92
|
-
|
|
93
|
-
## Development Tools & Workflow
|
|
94
|
-
|
|
95
|
-
### Build Tools
|
|
96
|
-
|
|
97
|
-
- **Next.js Turbopack**: Development server
|
|
98
|
-
- **TypeScript**: Compiler with custom tsconfig
|
|
99
|
-
|
|
100
|
-
### Scripts
|
|
101
|
-
|
|
102
|
-
```json
|
|
103
|
-
{
|
|
104
|
-
"build": "next build",
|
|
105
|
-
"dev": "concurrently 'pnpm dev:app' 'pnpm dev:backend'",
|
|
106
|
-
"dev:app": "next dev --turbopack",
|
|
107
|
-
"dev:backend": "convex dev",
|
|
108
|
-
"lint": "next lint",
|
|
109
|
-
"lint:fix": "next lint --fix",
|
|
110
|
-
"typecheck": "tsc --noEmit",
|
|
111
|
-
"typecheck:watch": "pnpm typecheck --watch",
|
|
112
|
-
"seed": "convex run seed:seed",
|
|
113
|
-
"studio": "pnpm convex dashboard"
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Development Dependencies
|
|
118
|
-
|
|
119
|
-
- **ESLint**: v9 with Next.js config
|
|
120
|
-
- **@types/node**: v20
|
|
121
|
-
- **@types/react**: v19
|
|
122
|
-
- **@types/react-dom**: v19
|
|
123
|
-
- **concurrently**: 9.2.0
|
|
124
|
-
|
|
125
|
-
### Environment Configuration
|
|
126
|
-
|
|
127
|
-
- **@t3-oss/env-nextjs**: 0.13.8
|
|
128
|
-
|
|
129
|
-
## TypeScript Configuration
|
|
130
|
-
|
|
131
|
-
```json
|
|
132
|
-
{
|
|
133
|
-
"strict": false,
|
|
134
|
-
"strictNullChecks": true,
|
|
135
|
-
"target": "es2022",
|
|
136
|
-
"module": "esnext",
|
|
137
|
-
"moduleResolution": "bundler",
|
|
138
|
-
"jsx": "preserve",
|
|
139
|
-
"paths": {
|
|
140
|
-
"@/*": ["./src/*"],
|
|
141
|
-
"@convex/*": ["./convex/*"]
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## Path Aliases
|
|
147
|
-
|
|
148
|
-
- `@/*` � `./src/*`
|
|
149
|
-
- `@convex/*` � `./convex/*`
|
|
150
|
-
|
|
151
|
-
## Convex Configuration
|
|
152
|
-
|
|
153
|
-
- Better Auth integration
|
|
154
|
-
- Rate limiting
|
|
155
|
-
- User aggregation
|
|
156
|
-
- Custom authentication with email verification
|
|
157
|
-
- Session management (30-day expiry, 15-day update age)
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Custom folders to ignore (in addition to .gitignore)
|
|
4
|
-
CUSTOM_IGNORE="@trunk|skill-tree|@skill-tree|public|migrations|tracingDir|eslint.tsconfig.mjs|tooling|sentry*|.github"
|
|
5
|
-
|
|
6
|
-
# Parse tsconfig.json exclude patterns
|
|
7
|
-
TSCONFIG_IGNORE=""
|
|
8
|
-
if [ -f "tsconfig.json" ]; then
|
|
9
|
-
# Extract exclude patterns from tsconfig.json
|
|
10
|
-
# Parse the JSON properly and handle wildcards
|
|
11
|
-
TSCONFIG_PATTERNS=$(node -e "
|
|
12
|
-
const fs = require('fs');
|
|
13
|
-
const tsconfig = JSON.parse(fs.readFileSync('tsconfig.json', 'utf8'));
|
|
14
|
-
if (tsconfig.exclude) {
|
|
15
|
-
const patterns = tsconfig.exclude.map(p => {
|
|
16
|
-
// Remove leading **/ and trailing /*
|
|
17
|
-
return p.replace(/^\*\*\//, '').replace(/\/\*$/, '').replace(/^\*\*/, '');
|
|
18
|
-
}).filter(p => p && !p.includes('*'));
|
|
19
|
-
console.info(patterns.join('|'));
|
|
20
|
-
}
|
|
21
|
-
" 2>/dev/null || echo "")
|
|
22
|
-
|
|
23
|
-
if [ -n "$TSCONFIG_PATTERNS" ]; then
|
|
24
|
-
TSCONFIG_IGNORE="|$TSCONFIG_PATTERNS"
|
|
25
|
-
fi
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Combine all ignore patterns
|
|
29
|
-
FULL_IGNORE=".git|*.bak|$CUSTOM_IGNORE$TSCONFIG_IGNORE"
|
|
30
|
-
|
|
31
|
-
# Output file
|
|
32
|
-
OUTPUT=".claude/docs/project-structure.md"
|
|
33
|
-
|
|
34
|
-
# Create directory if it doesn't exist
|
|
35
|
-
mkdir -p .claude/docs
|
|
36
|
-
|
|
37
|
-
# Header
|
|
38
|
-
cat > "$OUTPUT" << 'EOF'
|
|
39
|
-
# Project Structure
|
|
40
|
-
|
|
41
|
-
EOF
|
|
42
|
-
|
|
43
|
-
echo "_Last Updated: $(date +%Y-%m-%d)_" >> "$OUTPUT"
|
|
44
|
-
echo "" >> "$OUTPUT"
|
|
45
|
-
echo '```' >> "$OUTPUT"
|
|
46
|
-
|
|
47
|
-
# Backup original .gitignore
|
|
48
|
-
cp .gitignore .gitignore.bak
|
|
49
|
-
|
|
50
|
-
# Remove !.* line temporarily (both commented and uncommented versions)
|
|
51
|
-
grep -v '^!\.\*' .gitignore | grep -v '^# !\.\*' > .gitignore.tmp && mv .gitignore.tmp .gitignore
|
|
52
|
-
|
|
53
|
-
# Use tree with gitignore (now without !.* line)
|
|
54
|
-
tree --gitignore \
|
|
55
|
-
-a \
|
|
56
|
-
-I "$FULL_IGNORE" \
|
|
57
|
-
--dirsfirst \
|
|
58
|
-
>> "$OUTPUT"
|
|
59
|
-
|
|
60
|
-
# Restore original .gitignore
|
|
61
|
-
mv .gitignore.bak .gitignore
|
|
62
|
-
|
|
63
|
-
# Close code block
|
|
64
|
-
echo '```' >> "$OUTPUT"
|
|
65
|
-
echo "" >> "$OUTPUT"
|
|
66
|
-
|
|
67
|
-
echo "Project structure written to $OUTPUT"
|
|
68
|
-
|
|
69
|
-
# Output the contents to stdout as well
|
|
70
|
-
cat "$OUTPUT"
|
package/2/.claude/settings.json
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": ["Bash", "Edit", "mcp__task_master_ai__*"]
|
|
4
|
-
},
|
|
5
|
-
"enableAllProjectMcpServers": true,
|
|
6
|
-
"hooks": {
|
|
7
|
-
"Stop": [
|
|
8
|
-
{
|
|
9
|
-
"matcher": "",
|
|
10
|
-
"hooks": [
|
|
11
|
-
{
|
|
12
|
-
"type": "command",
|
|
13
|
-
"command": "DATA=$(cat); TRANSCRIPT=$(echo \"$DATA\" | jq -r '.transcript_path'); TITLE=$(grep -m1 '\"type\":\"summary\"' \"$TRANSCRIPT\" 2>/dev/null | jq -r '.summary' 2>/dev/null || echo \"Claude Code\"); terminal-notifier -message \"Claude finished responding\" -title \"$TITLE\" -sound Ping"
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"PreCompact": [
|
|
19
|
-
{
|
|
20
|
-
"matcher": "",
|
|
21
|
-
"hooks": [
|
|
22
|
-
{
|
|
23
|
-
"type": "command",
|
|
24
|
-
"command": "DATA=$(cat); TRANSCRIPT=$(echo \"$DATA\" | jq -r '.transcript_path'); TITLE=$(grep -m1 '\"type\":\"summary\"' \"$TRANSCRIPT\" 2>/dev/null | jq -r '.summary' 2>/dev/null || echo \"Claude Code\"); terminal-notifier -message \"Compacting conversation...\" -title \"$TITLE\" -sound Bottle"
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
<task>
|
|
2
|
-
$1
|
|
3
|
-
</task>
|
|
4
|
-
|
|
5
|
-
<role>
|
|
6
|
-
You are a senior software engineer, security reviewer, and performance specialist. Review the provided change with a focus on correctness, security, performance, integration, test quality, and long-term maintainability. Be precise, cite file paths and line ranges, and prioritize risks that could impact users, data, uptime, or developer velocity.
|
|
7
|
-
</role>
|
|
8
|
-
|
|
9
|
-
<objectives>
|
|
10
|
-
- Identify correctness defects, code smells, and anti-patterns.
|
|
11
|
-
- Surface exploitable security issues and data-protection risks.
|
|
12
|
-
- Spot performance/regression risks and complexity hotspots.
|
|
13
|
-
- Check integration points (APIs, events, DB, configs, CI/CD, infra) for compatibility and rollout safety.
|
|
14
|
-
- Assess tests for sufficiency, signal, reliability, and coverage.
|
|
15
|
-
- Recommend minimal, safe, high-leverage improvements and monitoring.
|
|
16
|
-
</objectives>
|
|
17
|
-
|
|
18
|
-
<severity_rubric>
|
|
19
|
-
|
|
20
|
-
- BLOCKER: Exploitable security flaw, data loss risk, broken build/deploy, user-impacting crash, irreversible migration risk, leaked secrets.
|
|
21
|
-
- HIGH: Likely prod incident or major regression; authz/auth gaps; significant perf degradation; schema incompatibility.
|
|
22
|
-
- MEDIUM: Correctness edge cases; non-exploitable but risky pattern; moderate perf concerns; flaky tests.
|
|
23
|
-
- LOW: Maintainability, readability, style, minor test gaps; suggestions.
|
|
24
|
-
- NIT: Optional polish.
|
|
25
|
-
</severity_rubric>
|
|
26
|
-
|
|
27
|
-
<tasks>
|
|
28
|
-
- Scope & Impact: Map all affected files/modules and why each is implicated. Note transitive and runtime impact (build, deploy, config, data).
|
|
29
|
-
- Root Cause / Risk Analysis: Explain the change intent, risks introduced, and any hidden assumptions or environmental dependencies.
|
|
30
|
-
- Security Review: Use the checklist below; escalate any secret exposure, injection, auth/authz flaws, SSRF/XXE/path traversal, insecure deserialization, command execution, mass assignment, CSRF/XSS, prototype pollution, weak crypto, missing TLS verification, permissive CORS, logging of secrets/PII, dependency vulns, or IaC/container misconfigurations.
|
|
31
|
-
- Performance Review: Identify complexity issues, N+1 queries, unbounded loops, memory churn/leaks, blocking I/O on hot paths, missing indexes, cache misuse, chatty network calls, unnecessary allocations/boxing, and concurrency contention.
|
|
32
|
-
- Integration Review: Validate API schema changes, versioning, backward/forward compatibility, idempotency, retries/timeouts/circuit breakers, feature-flag rollout, DB migrations (order/locking/rollback), message/event contracts, and config drift.
|
|
33
|
-
- Testing Review: Evaluate unit/integration/e2e tests, coverage, negative/property-based cases, concurrency/time-dependent tests, fixture health, determinism, and flakiness risk. Propose a targeted test plan.
|
|
34
|
-
- Observability & Operations: Check log levels, PII in logs, correlation/trace IDs, metrics and alerts, runbooks. Recommend what to monitor post-merge.
|
|
35
|
-
- Documentation & DX: Flag missing or outdated README/CHANGELOG/ADRs/API docs/config comments/schema diagrams. Note onboarding and maintenance friction.
|
|
36
|
-
- Minimal, Safe Fix: Propose the smallest viable change to eliminate blockers/high risks. Include tests and rollout/rollback steps.
|
|
37
|
-
</tasks>
|
|
38
|
-
|
|
39
|
-
<detailed_checklist>
|
|
40
|
-
<category name="Correctness & Code Smells">
|
|
41
|
-
|
|
42
|
-
- Duplicate code / long methods / large classes / deep nesting.
|
|
43
|
-
- Leaky abstractions, tight coupling, poor cohesion, improper layering.
|
|
44
|
-
- Dead code, unused variables/imports, TODOs that should be addressed now.
|
|
45
|
-
- Non-idempotent operations where idempotency is required.
|
|
46
|
-
- Edge cases: null/empty/NaN/overflow/encoding/timezone/locale.
|
|
47
|
-
- Concurrency: shared state, race conditions, improper locking, async misuse.
|
|
48
|
-
</category>
|
|
49
|
-
|
|
50
|
-
<category name="Security">
|
|
51
|
-
|
|
52
|
-
- Secrets in code/logs/env/examples; credential handling, key rotation, KMS/secret manager usage.
|
|
53
|
-
- Input validation & output encoding; SQL/NoSQL/LDAP/OS injection; XSS (reflected/stored/DOM); CSRF.
|
|
54
|
-
- AuthN/AuthZ: broken access control, least privilege, multi-tenant boundaries, insecure direct object references.
|
|
55
|
-
- SSRF/XXE/path traversal/file upload validation; sandboxing for untrusted inputs.
|
|
56
|
-
- Crypto: algorithms, modes, IVs, nonces, randomness, key sizes, cert pinning/TLS verification.
|
|
57
|
-
- CORS/security headers (CSP/HSTS/X-Frame-Options/SameSite), cookie flags.
|
|
58
|
-
- Dependency & supply chain: pinned versions, known CVEs, pre/post-install scripts, integrity checks.
|
|
59
|
-
- IaC/Containers: public buckets, open security groups (0.0.0.0/0), missing encryption, root containers, mutable latest tags.
|
|
60
|
-
- Data protection & privacy: PII/PHI handling, minimization, retention, encryption at rest/in transit.
|
|
61
|
-
</category>
|
|
62
|
-
|
|
63
|
-
<category name="Performance">
|
|
64
|
-
|
|
65
|
-
- Time/space complexity, hot-path allocations, unnecessary synchronization.
|
|
66
|
-
- N+1 queries, missing DB indexes, inefficient joins, full scans, pagination vs. streaming.
|
|
67
|
-
- Caching: invalidation, eviction, key design, stampedes.
|
|
68
|
-
- Network patterns: chattiness, batching, compression, timeouts, backoff.
|
|
69
|
-
- Client-side perf (if UI): bundle size/regressions, critical path, images/fonts.
|
|
70
|
-
</category>
|
|
71
|
-
|
|
72
|
-
<category name="Integration & Rollout Safety">
|
|
73
|
-
|
|
74
|
-
- Backward/forward compatibility; versioned contracts; consumer-producer alignment.
|
|
75
|
-
- DB migrations: zero-downtime (expand/migrate/contract), locks, data backfills, rollback plan.
|
|
76
|
-
- Feature flags: default off, kill switch, gradual rollout, owner/expiry.
|
|
77
|
-
- Resilience: retries with jitter, timeouts, circuit breakers, idempotency keys.
|
|
78
|
-
- Config changes: validation, defaults, environment parity, secrets not in plain text.
|
|
79
|
-
- CI/CD: reproducibility, cache safety, test gates, artifact signing.
|
|
80
|
-
</category>
|
|
81
|
-
|
|
82
|
-
<category name="Testing & Quality Signals">
|
|
83
|
-
|
|
84
|
-
- Tests exist for new behavior and regressions; meaningful assertions.
|
|
85
|
-
- Coverage on critical branches/edge cases; mutation score (if available).
|
|
86
|
-
- Isolation: minimal mocking vs. over-mocking; flaky patterns (sleep-based timing, order reliance).
|
|
87
|
-
- Property-based/fuzz tests for parsers/validators/serializers.
|
|
88
|
-
- Load/soak tests where perf risk exists; snapshot tests stability (if UI).
|
|
89
|
-
</category>
|
|
90
|
-
|
|
91
|
-
<category name="Docs, Observability, Accessibility, i18n">
|
|
92
|
-
|
|
93
|
-
- README/CHANGELOG/ADR/API docs updated; code comments for non-obvious logic.
|
|
94
|
-
- Logs/metrics/traces with actionable context; PII redaction; alert thresholds.
|
|
95
|
-
- Accessibility (if UI): semantics, focus order, labels, contrast, keyboard nav, ARIA use.
|
|
96
|
-
- i18n/l10n: hard-coded strings, pluralization, date/time/number formats.
|
|
97
|
-
</category>
|
|
98
|
-
</detailed_checklist>
|
|
99
|
-
|
|
100
|
-
<output_requirements>
|
|
101
|
-
<instructions>
|
|
102
|
-
|
|
103
|
-
- Produce a concise but comprehensive report.
|
|
104
|
-
- Group findings by category and severity.
|
|
105
|
-
- Reference exact file paths and line ranges (e.g., src/foo/bar.py:120–147).
|
|
106
|
-
- Include brief code excerpts only as necessary (≤20 lines per finding).
|
|
107
|
-
- Prefer specific, minimal fixes and tests that maximize risk reduction.
|
|
108
|
-
- If information is missing, state the assumption and its impact.
|
|
109
|
-
</instructions>
|
|
110
|
-
</output_requirements>
|
|
111
|
-
|
|
112
|
-
<report_skeleton>
|
|
113
|
-
|
|
114
|
-
- Summary:
|
|
115
|
-
- What changed: <concise overview>
|
|
116
|
-
- Top risks: <1-3 bullets>
|
|
117
|
-
- Approval: <approve|comment|request_changes|blocker>
|
|
118
|
-
|
|
119
|
-
- Affected files:
|
|
120
|
-
- <path> — <reason> (<added|modified|deleted>)
|
|
121
|
-
|
|
122
|
-
- Root cause & assumptions:
|
|
123
|
-
- <analysis>
|
|
124
|
-
- Assumptions: <items>
|
|
125
|
-
|
|
126
|
-
- Findings (repeat per finding):
|
|
127
|
-
- [<severity>] [<category>] <short title>
|
|
128
|
-
- Where: <file:line-range>
|
|
129
|
-
- Evidence: <brief snippet_trace>
|
|
130
|
-
- Impact: <what breaks_who is affected>
|
|
131
|
-
- Standards: <CWE/OWASP/Policy refs>
|
|
132
|
-
- Repro: <steps>
|
|
133
|
-
- Recommendation: <minimal fix>
|
|
134
|
-
- Tests: <tests to add_update>
|
|
135
|
-
|
|
136
|
-
- Performance:
|
|
137
|
-
- Hotspots: <items>
|
|
138
|
-
- Complexity notes: <items>
|
|
139
|
-
- Bench/Monitoring plan: <how to measure & watch>
|
|
140
|
-
|
|
141
|
-
- Integration:
|
|
142
|
-
- API/contracts: <compat/versioning/idempotency>
|
|
143
|
-
- DB migrations: <expand-migrate-contract, locks, rollback>
|
|
144
|
-
- Feature flags & rollout: <plan/kill switch_owner>
|
|
145
|
-
- Resilience: <timeouts/retries/circuits>
|
|
146
|
-
- Rollback plan: <how to revert safely>
|
|
147
|
-
|
|
148
|
-
- Testing:
|
|
149
|
-
- Coverage: <statements_branches_critical_paths>
|
|
150
|
-
- Gaps: <cases>
|
|
151
|
-
- Flakiness risks: <items>
|
|
152
|
-
- Targeted test plan: <Given_When_Then bullets>
|
|
153
|
-
|
|
154
|
-
- Docs & Observability:
|
|
155
|
-
- Docs to update/create: <paths/sections>
|
|
156
|
-
- Logs/Metrics/Traces/Alerts: <plan>
|
|
157
|
-
- Runbook: <updates>
|
|
158
|
-
|
|
159
|
-
- Open questions:
|
|
160
|
-
- <items>
|
|
161
|
-
|
|
162
|
-
- Final recommendation:
|
|
163
|
-
- Decision: <approve|comment|request_changes|blocker>
|
|
164
|
-
- Must-fix before merge: <items>
|
|
165
|
-
- Nice-to-have post-merge: <items>
|
|
166
|
-
- Confidence: <low|medium|high>
|
|
167
|
-
</report_skeleton>
|
|
168
|
-
|
|
169
|
-
<process_notes>
|
|
170
|
-
|
|
171
|
-
- Prioritize BLOCKER/HIGH issues. If any are found, set approval to “blocker” or “request_changes”.
|
|
172
|
-
- Favor minimal, safe changes and targeted tests over broad refactors (unless safety demands it).
|
|
173
|
-
- If diff is very large, focus on high-risk/new code paths, public interfaces, security-critical modules, and hot paths.
|
|
174
|
-
- Reference concrete files/lines. Keep code excerpts minimal (≤20 lines). Do not rewrite large code blocks.
|
|
175
|
-
- If required inputs are missing (e.g., DB migration script or API schema), flag as a risk and propose what is needed.
|
|
176
|
-
</process_notes>
|
|
177
|
-
|
|
178
|
-
<constraints>
|
|
179
|
-
- DO NOT write or generate full code implementations in this review. Provide patch outlines, pseudocode, or stepwise instructions only.
|
|
180
|
-
- Maintain confidentiality: if a secret or sensitive data appears, describe it without reproducing it verbatim.
|
|
181
|
-
</constraints>
|
|
182
|
-
|
|
183
|
-
<success_criteria>
|
|
184
|
-
|
|
185
|
-
- Findings are specific, actionable, and ordered by severity and blast radius.
|
|
186
|
-
- Every high-risk change has a minimal fix and a concrete test/monitoring plan.
|
|
187
|
-
- Output follows the provided report skeleton (markdown text only).
|
|
188
|
-
</success_criteria>
|
|
189
|
-
|
|
190
|
-
<reminder>DON'T CODE YET.</reminder>
|
package/2/.cursorignore
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
## What does this do?
|
|
2
|
-
|
|
3
|
-
<!---
|
|
4
|
-
_Describe what your changes **do**; did you add a $COOL_FEATURE? Write about it here._
|
|
5
|
-
-->
|
|
6
|
-
|
|
7
|
-
## Why did you do this?
|
|
8
|
-
|
|
9
|
-
<!---
|
|
10
|
-
_**Why** did you make these changes? This is your opportunity to provide the rationale that drove the design of your solution._
|
|
11
|
-
-->
|
|
12
|
-
|
|
13
|
-
## Who/what does this impact?
|
|
14
|
-
|
|
15
|
-
<!---
|
|
16
|
-
_Does your code affect something downstream? Are there side effects people should know about? Tag any developers that should be kept abreast of this change._
|
|
17
|
-
-->
|
|
18
|
-
|
|
19
|
-
## How did you test this?
|
|
20
|
-
|
|
21
|
-
<!---
|
|
22
|
-
_How did you test your change? Document it here._
|
|
23
|
-
-->
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# 🔗 Links:
|
|
2
|
-
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/eas-build/action.yml
|
|
3
|
-
# EAS Build docs: https://docs.expo.dev/eas-update/github-actions/
|
|
4
|
-
|
|
5
|
-
# ✍️ Description:
|
|
6
|
-
# This is a composite action, which means it can be used in other actions.
|
|
7
|
-
# This action is used to trigger an EAS Build for a specific environment (local, staging, production).
|
|
8
|
-
# This action accepts those inputs:
|
|
9
|
-
# `APP_ENV`, which is used to generate an APK for a specific environment (local, staging, production). We use staging by default.
|
|
10
|
-
# `AUTO_SUBMIT`, false by default, set to true if you want to automatically submit your build to stores.
|
|
11
|
-
# `EXPO_TOKEN`, required, access token for your Expo account. https://expo.dev/settings/access-tokens
|
|
12
|
-
# `VERSION`, required, version of the app to build. used as the build message.
|
|
13
|
-
# `ANDROID`, true by default, set to true if you don't want to trigger build for Android.
|
|
14
|
-
# `IOS`, false by default, set to true if you want to trigger build for IOS.
|
|
15
|
-
|
|
16
|
-
# Before triggering the build, we run a pre-build script to generate the necessary native folders based on the APP_ENV.
|
|
17
|
-
# Based on the ANDROID and IOS inputs, we trigger the build for the corresponding platform with the corresponding flags.
|
|
18
|
-
|
|
19
|
-
# 👀 Example usage:
|
|
20
|
-
# - name: ⏱️ EAS Build
|
|
21
|
-
# uses: ./.github/actions/eas-build
|
|
22
|
-
# with:
|
|
23
|
-
# APP_ENV: staging
|
|
24
|
-
# EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
|
|
25
|
-
# VERSION: ${{ github.event.release.tag_name }}
|
|
26
|
-
# IOS: false
|
|
27
|
-
|
|
28
|
-
name: 'Setup EAS Build + Trigger Build'
|
|
29
|
-
description: 'Setup EAS Build + Trigger Build'
|
|
30
|
-
inputs:
|
|
31
|
-
APP_ENV:
|
|
32
|
-
description: 'APP_ENV (one of): local, staging, production'
|
|
33
|
-
required: true
|
|
34
|
-
default: 'staging'
|
|
35
|
-
AUTO_SUBMIT: ## TODO: we need to handle this too
|
|
36
|
-
description: 'AUTO_SUBMIT (one of): true, false'
|
|
37
|
-
required: true
|
|
38
|
-
default: 'false'
|
|
39
|
-
ANDROID:
|
|
40
|
-
description: 'run for ANDROID (one of): true, false'
|
|
41
|
-
required: true
|
|
42
|
-
default: 'true'
|
|
43
|
-
VERSION:
|
|
44
|
-
description: 'VERSION'
|
|
45
|
-
required: true
|
|
46
|
-
default: '0.0.0'
|
|
47
|
-
IOS:
|
|
48
|
-
description: 'run for IOS (one of): true, false'
|
|
49
|
-
required: true
|
|
50
|
-
default: 'false'
|
|
51
|
-
EXPO_TOKEN:
|
|
52
|
-
description: 'EXPO_TOKEN'
|
|
53
|
-
required: true
|
|
54
|
-
default: 'false'
|
|
55
|
-
|
|
56
|
-
runs:
|
|
57
|
-
using: 'composite'
|
|
58
|
-
steps:
|
|
59
|
-
- name: 💯 Check for EXPO_TOKEN
|
|
60
|
-
run: |
|
|
61
|
-
if [ -z "${{ inputs.EXPO_TOKEN }}" ]; then
|
|
62
|
-
echo "You must provide an EXPO_TOKEN secret linked to this project's Expo account in this repo's secrets. Learn more: https://docs.expo.dev/eas-update/github-actions"
|
|
63
|
-
exit 1
|
|
64
|
-
fi
|
|
65
|
-
shell: bash
|
|
66
|
-
|
|
67
|
-
- name: 📦 Setup Expo and EAS
|
|
68
|
-
uses: expo/expo-github-action@v8
|
|
69
|
-
with:
|
|
70
|
-
eas-version: latest
|
|
71
|
-
token: ${{ inputs.EXPO_TOKEN }}
|
|
72
|
-
|
|
73
|
-
- name: ⚙️ Run Prebuild
|
|
74
|
-
run: pnpm prebuild:${{ inputs.APP_ENV }}
|
|
75
|
-
shell: bash
|
|
76
|
-
|
|
77
|
-
- name: 📱 Run Android Build
|
|
78
|
-
if: ${{ inputs.ANDROID == 'true' }}
|
|
79
|
-
run: pnpm build:${{ inputs.APP_ENV }}:android --non-interactive --no-wait --message "Build ${{ inputs.APP_ENV }} ${{ inputs.VERSION }}"
|
|
80
|
-
shell: bash
|
|
81
|
-
|
|
82
|
-
- name: 📱 Run IOS Build
|
|
83
|
-
if: ${{ inputs.IOS == 'true' }}
|
|
84
|
-
run: pnpm build:${{ inputs.APP_ENV }}:ios --non-interactive --no-wait --message "Build ${{ inputs.APP_ENV }} ${{ inputs.VERSION }}"
|
|
85
|
-
shell: bash
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# 🔗 Links:
|
|
2
|
-
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/setup-jdk-generate-apk/action.yml
|
|
3
|
-
# Composite actions docs: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
|
|
4
|
-
|
|
5
|
-
# ✍️ Description:
|
|
6
|
-
# This is a composite action, which means it can be used in other actions.
|
|
7
|
-
# This action is used to set up the JDK environment and generate an Android APK for testing.
|
|
8
|
-
# This action accepts one input: `APP_ENV`, which is used to generate an APK for a specific environment (local, staging, production). We use staging by default.
|
|
9
|
-
# Before generating the APK, we run a pre-build script to generate the necessary native folders based on the APP_ENV.
|
|
10
|
-
# On success, the APK is generated at `./android/app/build/outputs/apk/release/app-release.apk`.
|
|
11
|
-
|
|
12
|
-
# 👀 Example usage:
|
|
13
|
-
# - name : 📦 Set Up JDK + Generate Test APK
|
|
14
|
-
# uses: ./.github/actions/setup-jdk-generate-apk
|
|
15
|
-
# with:
|
|
16
|
-
# APP_ENV: 'staging'
|
|
17
|
-
|
|
18
|
-
name: 'Setup JDK + GRADLE + Generate APK'
|
|
19
|
-
description: 'Setup JDK + GRADLE + Generate APK'
|
|
20
|
-
inputs:
|
|
21
|
-
APP_ENV:
|
|
22
|
-
description: 'APP_ENV (one of): local, staging, production'
|
|
23
|
-
required: true
|
|
24
|
-
default: 'staging'
|
|
25
|
-
|
|
26
|
-
runs:
|
|
27
|
-
using: 'composite'
|
|
28
|
-
steps:
|
|
29
|
-
- name: Set Up JDK
|
|
30
|
-
uses: actions/setup-java@v3
|
|
31
|
-
with:
|
|
32
|
-
distribution: 'zulu' # See 'Supported distributions' for available options
|
|
33
|
-
java-version: '17'
|
|
34
|
-
- name: Setup Gradle
|
|
35
|
-
uses: gradle/gradle-build-action@v2
|
|
36
|
-
|
|
37
|
-
- name: Generate Test APK
|
|
38
|
-
run: |
|
|
39
|
-
pnpm prebuild:${{ inputs.APP_ENV }}
|
|
40
|
-
cd android
|
|
41
|
-
chmod +x ./gradlew
|
|
42
|
-
./gradlew assembleRelease --no-daemon
|
|
43
|
-
cd ..
|
|
44
|
-
shell: bash
|
|
45
|
-
env:
|
|
46
|
-
EXPO_NO_DOTENV: '1'
|
|
47
|
-
APP_ENV: ${{ inputs.APP_ENV }}
|
|
48
|
-
CI: 'true'
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# 🔗 Links:
|
|
2
|
-
# Source file: https://github.com/obytes/react-native-template-obytes/blob/master/.github/actions/setup-node-pnpm-install/action.yml
|
|
3
|
-
# Composite actions docs: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
|
|
4
|
-
|
|
5
|
-
# ✍️ Description:
|
|
6
|
-
# This is a composite action, which means it can be used in other actions.
|
|
7
|
-
# It is used in almost all workflows to set up the environment and install dependencies.
|
|
8
|
-
# Updating the package manager or Node version here will be reflected in all workflows.
|
|
9
|
-
|
|
10
|
-
# 👀 Example usage:
|
|
11
|
-
# - name : 📦 Setup Node + PNPM + install deps
|
|
12
|
-
# uses: ./.github/actions/setup-node-pnpm-install
|
|
13
|
-
|
|
14
|
-
name: 'Setup Node + PNPM + Install Dependencies'
|
|
15
|
-
description: 'Setup Node + PNPM + Install Dependencies'
|
|
16
|
-
runs:
|
|
17
|
-
using: 'composite'
|
|
18
|
-
steps:
|
|
19
|
-
- uses: pnpm/action-setup@v4
|
|
20
|
-
with:
|
|
21
|
-
run_install: false
|
|
22
|
-
- uses: actions/setup-node@v4
|
|
23
|
-
with:
|
|
24
|
-
node-version: 20
|
|
25
|
-
cache: 'pnpm'
|
|
26
|
-
|
|
27
|
-
- name: 📦 Install Project Dependencies
|
|
28
|
-
run: pnpm install --frozen-lockfile
|
|
29
|
-
shell: bash
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Run expo-doctor and capture output and exit code
|
|
4
|
-
output=$(npx expo-doctor@latest 2>&1)
|
|
5
|
-
exit_code=$?
|
|
6
|
-
|
|
7
|
-
# Output file location
|
|
8
|
-
output_file=".expo/expo-doctor.md"
|
|
9
|
-
{
|
|
10
|
-
# Add summary based on exit code
|
|
11
|
-
if [ $exit_code -eq 0 ]; then
|
|
12
|
-
echo "✅ **Good news!** We ran Expo Doctor for this PR and everything looks good, Great job!" > "$output_file"
|
|
13
|
-
else
|
|
14
|
-
echo "❌ **Action Required:** We ran Expo Doctor for this PR and found some issues that need to be addressed. Please review the complete report below 👇" > "$output_file"
|
|
15
|
-
echo >> "$output_file" # Add blank line
|
|
16
|
-
echo "\`\`\`shell" >> "$output_file"
|
|
17
|
-
echo "$output" >> "$output_file"
|
|
18
|
-
echo "\`\`\`" >> "$output_file"
|
|
19
|
-
fi
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
# Show original output in terminal
|
|
23
|
-
echo "$output"
|
|
24
|
-
|
|
25
|
-
# Return the original exit code
|
|
26
|
-
exit $exit_code
|