vybekiit 0.7.28 โ 0.7.32
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/bin.js +17286 -17351
- package/dist/global-guidance/language.md +13 -108
- package/dist/global-skills/add-ai/SKILL.md +13 -8
- package/dist/global-skills/add-analytics/SKILL.md +10 -7
- package/dist/global-skills/add-app-clip/SKILL.md +1 -0
- package/dist/global-skills/add-blog/SKILL.md +10 -7
- package/dist/global-skills/add-crud/SKILL.md +8 -0
- package/dist/global-skills/add-files/SKILL.md +10 -7
- package/dist/global-skills/add-images/SKILL.md +10 -7
- package/dist/global-skills/add-language/SKILL.md +11 -8
- package/dist/global-skills/add-notifications/SKILL.md +10 -7
- package/dist/global-skills/add-realtime/SKILL.md +10 -7
- package/dist/global-skills/add-route/SKILL.md +6 -0
- package/dist/global-skills/add-search/SKILL.md +10 -7
- package/dist/global-skills/add-signin/SKILL.md +10 -8
- package/dist/global-skills/add-teams/SKILL.md +14 -10
- package/dist/global-skills/add-upload/SKILL.md +6 -0
- package/dist/global-skills/aws-cdk/SKILL.md +1 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
- package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
- package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
- package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
- package/dist/global-skills/building-native-ui/SKILL.md +1 -0
- package/dist/global-skills/buy-domain/SKILL.md +10 -7
- package/dist/global-skills/check-safety/SKILL.md +11 -8
- package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +7 -1
- package/dist/global-skills/connect-account/SKILL.md +7 -1
- package/dist/global-skills/connect-account-backend/SKILL.md +6 -0
- package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
- package/dist/global-skills/design-my-data/SKILL.md +12 -5
- package/dist/global-skills/doctor/SKILL.md +17 -10
- package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-hosting/SKILL.md +2 -1
- package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-observe/SKILL.md +2 -1
- package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/SKILL.md +9 -1
- package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
- package/dist/global-skills/eas-update/SKILL.md +2 -1
- package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
- package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-workflows/SKILL.md +2 -1
- package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
- package/dist/global-skills/email-best-practices/SKILL.md +1 -0
- package/dist/global-skills/expo-animation/SKILL.md +2 -1
- package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
- package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
- package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
- package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
- package/dist/global-skills/expo-deployment/SKILL.md +1 -0
- package/dist/global-skills/expo-design-system/SKILL.md +2 -1
- package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
- package/dist/global-skills/expo-dom/SKILL.md +2 -1
- package/dist/global-skills/expo-examples/SKILL.md +2 -1
- package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
- package/dist/global-skills/expo-module/SKILL.md +2 -1
- package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-observe/SKILL.md +1 -0
- package/dist/global-skills/expo-overview/SKILL.md +2 -1
- package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
- package/dist/global-skills/expo-router/SKILL.md +2 -1
- package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
- package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
- package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
- package/dist/global-skills/expo-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
- package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
- package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
- package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
- package/dist/global-skills/firebase-basics/SKILL.md +2 -0
- package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
- package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
- package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
- package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
- package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
- package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
- package/dist/global-skills/go-live/SKILL.md +13 -7
- package/dist/global-skills/harden/SKILL.md +15 -10
- package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
- package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
- package/dist/global-skills/manifest.json +5 -1
- package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
- package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
- package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
- package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
- package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
- package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
- package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
- package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
- package/dist/global-skills/neon/SKILL.md +18 -5
- package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
- package/dist/global-skills/neon-auth/SKILL.md +1 -0
- package/dist/global-skills/neon-functions/SKILL.md +12 -0
- package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
- package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
- package/dist/global-skills/onboarding/SKILL.md +46 -29
- package/dist/global-skills/plan-my-idea/SKILL.md +7 -1
- package/dist/global-skills/publish-app/SKILL.md +7 -1
- package/dist/global-skills/publish-extension/SKILL.md +7 -1
- package/dist/global-skills/resend/SKILL.md +2 -1
- package/dist/global-skills/resend/references/webhooks.md +2 -0
- package/dist/global-skills/reset-password/SKILL.md +10 -6
- package/dist/global-skills/save-data/SKILL.md +51 -16
- package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
- package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
- package/dist/global-skills/setup-email/SKILL.md +13 -8
- package/dist/global-skills/setup-payments/SKILL.md +19 -15
- package/dist/global-skills/setup-sms/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +10 -6
- package/dist/global-skills/sign-in-with-google/SKILL.md +20 -13
- package/dist/global-skills/sign-in-with-phone/SKILL.md +11 -7
- package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
- package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
- package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
- package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
- package/dist/global-skills/supabase/CHANGELOG.md +19 -0
- package/dist/global-skills/supabase/SKILL.md +1 -0
- package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
- package/dist/global-skills/track-errors/SKILL.md +18 -13
- package/dist/global-skills/update-kit/SKILL.md +7 -1
- package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
- package/dist/global-skills/use-dom/SKILL.md +1 -0
- package/dist/global-skills/use-railway/SKILL.md +6 -5
- package/dist/global-skills/use-railway/references/configure.md +34 -1
- package/dist/global-skills/use-railway/references/iac.md +2 -0
- package/dist/global-skills/use-railway/references/tracing.md +89 -44
- package/dist/global-skills/validate-my-idea/SKILL.md +6 -0
- package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
- package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
- package/dist/global-skills/vybekiit-feedback/SKILL.md +6 -0
- package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +50 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +140 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/backend/language.md +345 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +88 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +111 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/language.md +348 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +44 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +475 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +112 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/language.md +352 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +91 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +63 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +63 -0
- package/dist/global-skills/vybekiitReferences/spa/language.md +217 -0
- package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/AGENTS.md +138 -0
- package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
- package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +174 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
- package/dist/global-skills/vybekiitReferences/web/language.md +348 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +48 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
- package/dist/global-skills/watch-my-app/SKILL.md +6 -0
- package/dist/global-skills/web-to-native/SKILL.md +1 -0
- package/dist/global-skills/wire-auth/SKILL.md +6 -0
- package/dist/global-skills/wire-database/SKILL.md +15 -1
- package/dist/global-skills/wire-email/SKILL.md +6 -0
- package/dist/global-skills/wire-payments/SKILL.md +6 -0
- package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
- package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
- package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
- package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
- package/dist/global-skills/wrangler/SKILL.md +27 -24
- package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
- package/package.json +12 -9
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: onboarding
|
|
3
|
-
description: "take the
|
|
3
|
+
description: "take the builder from \"I just bought this\" to their app running and visible in front of them in this one session. Use when the vibe coder says something like: set up my app; let's start; get me going; just bought; hi; help."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: onboarding
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
> Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
|
|
19
|
+
|
|
20
|
+
**Goal:** take the builder from "I just bought this" to **their app running and visible in front of
|
|
13
21
|
them** in this one session. This is the keystone โ the moment that proves the purchase was worth it.
|
|
14
22
|
|
|
15
23
|
**Contract:** one action at a time ยท verify-before-advance ยท plain language (`language.md`) ยท
|
|
@@ -18,30 +26,31 @@ translate every error ยท celebrate. Decide all technical choices yourself.
|
|
|
18
26
|
## Steps
|
|
19
27
|
|
|
20
28
|
<!-- vybekiit:page-recipe-install -->
|
|
21
|
-
0. **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
0. **Add the first-run wizard page when the vibe coder wants one for their users.** Run
|
|
30
|
+
`vybekiit add page-recipe onboarding`. It adds the page at `/onboarding`. Keep every `TODO:` in the
|
|
31
|
+
page and fill each one in. Skip this step when the vibe coder only needs their own kit setup
|
|
32
|
+
(steps 1-5 below).
|
|
33
|
+
**Verify:** if added, `/onboarding` opens and shows practice content.
|
|
34
|
+
|
|
35
|
+
1. **Welcome, say what VybeKiit is, then ask the one thing that matters.**
|
|
36
|
+
Greet warmly in plain text with no emojis, then tell them in a few short sentences what they have, in plain words:
|
|
37
|
+
*"VybeKiit is a ready-made web app with the hard parts already working. It comes with sign-in, payments, a database that remembers your customers' information, emails your app sends, file uploads, visitor stats, alerts when something breaks, more languages, and putting your app online. While we build, you can turn on Report mode and point at anything on screen that looks wrong, and I fix it. You own all of it, and I do the technical work."*
|
|
38
|
+
Then stop talking about the kit and move on to their idea.
|
|
39
|
+
If the vibe coder already described their app, use that description. Otherwise ask:
|
|
31
40
|
*"In one sentence, what do you want to build?"* Use their answer to tailor the starter page later.
|
|
32
41
|
Keep the conversation about their idea.
|
|
33
42
|
|
|
34
|
-
1b. **
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- **Yes** โ run `plan-my-idea.md` with their one-sentence answer as seed; when done, continue to
|
|
38
|
-
step 2.
|
|
39
|
-
- **No** โ continue to step 2.
|
|
40
|
-
Create `.vybekiit/state/planning-intro-seen` (any content) so this offer never repeats.
|
|
43
|
+
1b. **Keep the requested goal.** If the builder asked for working behavior, carry that goal
|
|
44
|
+
through setup and implement it. Offer planning only when they ask to plan or a missing product
|
|
45
|
+
decision would change the work. Do not replace a booking flow with a personalized headline.
|
|
41
46
|
|
|
42
47
|
2. **Set up the tools, then get the preview running.**
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
In an empty folder, use `vybekiit create app --web <destination>` before running project
|
|
49
|
+
checks. If setup has already written files such as `.env`, preserve them and choose an empty
|
|
50
|
+
child folder for the scaffold. Do not delete existing files to make the command accept a path.
|
|
51
|
+
Inspect an existing app and reuse its setup instead of scaffolding over it.
|
|
52
|
+
Then run `vybekiit doctor` โ it installs the tools the app will need (for the database and for
|
|
53
|
+
putting the app online) so the builder never configures anything. It may say a tool "isn't signed
|
|
45
54
|
in yet" โ that's fine for now; sign-in happens later, only when a step needs it (one browser click
|
|
46
55
|
each). Then install the project's building blocks. Check the URL printed by setup and the
|
|
47
56
|
project's running processes. Reuse a preview only after confirming it serves this app.
|
|
@@ -56,7 +65,7 @@ translate every error ยท celebrate. Decide all technical choices yourself.
|
|
|
56
65
|
**Verify:** the dev server is up with no errors. If it fails โ run `doctor`.
|
|
57
66
|
|
|
58
67
|
> (Agent-only) **Database MCP tier:** Supabase, Neon, and Firebase use login-once MCP configs
|
|
59
|
-
> (`mcp-supabase.json`, `mcp-neon.json`, `mcp-firebase.json`) โ merge via
|
|
68
|
+
> (`mcp-supabase.json`, `mcp-neon.json`, `mcp-firebase.json`) โ merge via `.vybekiit/agent/mcp-setup.md`
|
|
60
69
|
> (Cursor, Claude Desktop, Codex). MongoDB and AWS are advanced only.
|
|
61
70
|
>
|
|
62
71
|
> **Payment MCP tier:** Stripe and PayPal use `mcp-stripe.json` / `mcp-paypal.json` when
|
|
@@ -64,17 +73,24 @@ translate every error ยท celebrate. Decide all technical choices yourself.
|
|
|
64
73
|
|
|
65
74
|
3. **Show them their app.**
|
|
66
75
|
Give them the verified preview link from this run and tell them what they'll see.
|
|
67
|
-
**Verify:**
|
|
68
|
-
|
|
76
|
+
**Verify:** open the page in a browser yourself. Continue the requested work; ask the builder only if you cannot verify what they see.
|
|
77
|
+
*Celebrate* โ their app is alive.
|
|
69
78
|
Mention Report mode once: *"If something looks wrong, press Option+Shift+R (Alt+Shift+R on
|
|
70
79
|
Windows), click it, tell me what's off โ I'll get the details automatically."*
|
|
71
80
|
|
|
72
81
|
4. **Make it theirs.**
|
|
73
|
-
|
|
74
|
-
|
|
82
|
+
Implement the requested behavior from step 1 using the existing app. A class-booking request needs a class list and a working booking flow, not only a headline.
|
|
83
|
+
Necessary capabilities are part of the original request: apply `save-data` for shared information
|
|
84
|
+
and the matching access skill when needed. Do not offer these as optional next goals while the
|
|
85
|
+
requested behavior depends on them. Reuse existing authorized connections before asking for access.
|
|
86
|
+
**Verify:** exercise the requested behavior in the browser, including saved changes after reload
|
|
87
|
+
and from a second browser when people share information. Test allowed and denied actions and
|
|
88
|
+
business limits. A successful page load or unrelated passing tests do not prove the feature.
|
|
89
|
+
Success messages must describe completed actions; do not promise an email without sending one.
|
|
90
|
+
Explain any actual access blocker and the part still incomplete.
|
|
75
91
|
|
|
76
92
|
5. **Offer the next goal.**
|
|
77
|
-
|
|
93
|
+
Only after the original requested behavior passes its checks, ask what they want next and route via `goal-index.md`:
|
|
78
94
|
- take money โ `setup-payments`
|
|
79
95
|
- put it online for real โ `go-live`
|
|
80
96
|
- let people sign in โ `add-signin`
|
|
@@ -87,8 +103,9 @@ Stop the steps and run `doctor`. Never show a raw error โ say what happened an
|
|
|
87
103
|
|
|
88
104
|
## Definition of done
|
|
89
105
|
|
|
90
|
-
The
|
|
91
|
-
|
|
106
|
+
The requested behavior works and has passed its browser and behavior checks, or the exact blocked
|
|
107
|
+
part is recorded as incomplete. A personalized preview alone completes only a preview request.
|
|
108
|
+
Record progress locally. Claim an online backup only after verifying the remote commit.
|
|
92
109
|
|
|
93
110
|
## After completing this skill
|
|
94
111
|
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-my-idea
|
|
3
|
-
description: "help the builder figure out exactly what they want
|
|
3
|
+
description: "help the builder figure out exactly what they want before you build โ so the first version matches their idea instead of your guess. Use when the vibe coder says something like: help me plan; figure out my idea; think it through; marketplace; like airbnb."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: plan-my-idea
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: publish-app
|
|
3
|
-
description: "the builder's app is
|
|
3
|
+
description: "the builder's app is in the App Store and Google Play for anyone to download. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy; publish app."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/mobile/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: publish-app
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: publish-extension
|
|
3
|
-
description: "the builder's extension is
|
|
3
|
+
description: "the builder's extension is listed in the Chrome Web Store for anyone to install. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy; chrome store."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/extension/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: publish-extension
|
|
@@ -4,7 +4,7 @@ description: Use when working with the Resend email API โ sending transactiona
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: resend
|
|
7
|
-
version: "3.
|
|
7
|
+
version: "3.13.0"
|
|
8
8
|
homepage: https://resend.com/agent-skills
|
|
9
9
|
source: https://github.com/resend/resend-skills
|
|
10
10
|
openclaw:
|
|
@@ -47,6 +47,7 @@ references:
|
|
|
47
47
|
- usage.md
|
|
48
48
|
- installation.md
|
|
49
49
|
- fetch-all-templates.mjs
|
|
50
|
+
disable-model-invocation: true
|
|
50
51
|
---
|
|
51
52
|
|
|
52
53
|
# Resend
|
|
@@ -65,7 +65,9 @@ The `email.received` payload contains metadata only (sender, recipient, subject,
|
|
|
65
65
|
|-------|---------|
|
|
66
66
|
| `domain.created` / `updated` / `deleted` | Domain configuration changes |
|
|
67
67
|
| `contact.created` / `updated` / `deleted` | Contact list changes (not from CSV imports) |
|
|
68
|
+
| `contact.topics.updated` | Contact's topic subscriptions change |
|
|
68
69
|
| `suppression.added` / `removed` | Email address added to or removed from the suppression list |
|
|
70
|
+
| `topic.created` / `updated` / `deleted` | Topic created, updated, or deleted |
|
|
69
71
|
|
|
70
72
|
## Setup
|
|
71
73
|
|
|
@@ -5,6 +5,12 @@ metadata:
|
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: reset-password
|
|
@@ -20,12 +26,10 @@ translate every error ยท celebrate.
|
|
|
20
26
|
## Steps
|
|
21
27
|
|
|
22
28
|
<!-- vybekiit:page-recipe-install -->
|
|
23
|
-
0. **
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('reset-password')` / page-recipe-manifest.json.
|
|
28
|
-
**Verify:** route builds with practice security UI before provider wiring.
|
|
29
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe account-security`. It adds the page
|
|
30
|
+
at `/settings/security` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
31
|
+
each one in as you connect the real service.
|
|
32
|
+
**Verify:** `/settings/security` opens and shows practice content.
|
|
29
33
|
|
|
30
34
|
1. **Confirm sign-in is wired.** Run `add-signin` first if accounts are not set up yet.
|
|
31
35
|
**Verify:** existing sign-in works.
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: save-data
|
|
3
|
-
description: "the app can remember things โ save information and read it back later. Use when the vibe coder says something like: save my data; remember this; store info; add a database."
|
|
3
|
+
description: "the app can remember things โ save information and read it back later. Use when the vibe coder says something like: save my data; remember this; store info; add a database; book my classes; yoga booking."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: save-data
|
|
11
17
|
|
|
18
|
+
> Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
|
|
19
|
+
|
|
12
20
|
**Goal:** the app can remember things โ save information and read it back later.
|
|
13
21
|
|
|
14
22
|
**Contract:** one action at a time ยท verify-before-advance ยท plain language (`language.md`) ยท
|
|
15
|
-
translate every error ยท celebrate.
|
|
16
|
-
|
|
23
|
+
translate every error ยท celebrate. Continue authorized work independently. Infer what needs saving
|
|
24
|
+
from the builder's request; ask only when a missing product decision changes the behavior.
|
|
17
25
|
|
|
18
26
|
> (Under the hood โ agent-only) Use `@vybekiit/db`'s `resolveDataProvider()` for every read/write.
|
|
19
27
|
> Follow the platform wrapper for the active `DATA_PROVIDER`:
|
|
@@ -23,29 +31,55 @@ or describes, in plain words, what the app should remember.
|
|
|
23
31
|
> - `firebase` โ `platform-skills/firebase-vybekiit.md`
|
|
24
32
|
> - `mongodb` / `aws` โ advanced; maintainer docs only
|
|
25
33
|
|
|
34
|
+
## Reuse before implementation
|
|
35
|
+
|
|
36
|
+
For bookings, class schedules, appointments, and cancellations, discover `booking` through
|
|
37
|
+
`vybekiit list-presets`, then apply its prerequisites and migration. Use its atomic reservation and
|
|
38
|
+
cancellation functions through verified server sessions. Add only missing app-specific fields and
|
|
39
|
+
permissions. Do not substitute selling class packs for a request to book classes.
|
|
40
|
+
The business owner is the app admin: authorize schedule changes with `checkAdminAccess` from
|
|
41
|
+
`@/lib/adminAccess` (sign-in emails in `ADMIN_EMAILS`) plus any staff permissions you add. Never
|
|
42
|
+
create an organization for each account that signs in.
|
|
43
|
+
For other requests, select matching presets from the catalog before authoring an extension.
|
|
44
|
+
|
|
26
45
|
## Steps
|
|
27
46
|
|
|
28
47
|
1. **Make sure the database is ready.** Run the database tool via `vybekiit doctor`. For MCP-tier providers
|
|
29
48
|
(Supabase, Neon, Firebase), merge the matching `agent/mcp-*.json` via `agent/mcp-setup.md` and use
|
|
30
49
|
login-once onboarding. If MCP fails once, run `vybekiit doc-fallback supabase` (or `neon` /
|
|
31
50
|
`firebase`) and tell the builder you're checking the official setup guide (plain phrase only).
|
|
32
|
-
|
|
51
|
+
Inspect the selected service's existing CLI or MCP login and exact project before requesting
|
|
52
|
+
access. Reuse authorized connections and preserve existing projects. Never delete a project to
|
|
53
|
+
free capacity. Request one manual action only when an actual access blocker remains.
|
|
54
|
+
Supabase keys: after `supabase login`, run `vybekiit-automate db setup --json --project-ref=<ref>`.
|
|
55
|
+
It saves `SUPABASE_URL` and `SUPABASE_ANON_KEY` to `settings.env`, `SUPABASE_SERVICE_ROLE_KEY` to `.env`, and prints
|
|
56
|
+
only their names.
|
|
33
57
|
**Verify:** the database is reachable (`@vybekiit/db`'s `pingDatabase`).
|
|
34
58
|
|
|
35
|
-
2. **
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
**Verify:**
|
|
59
|
+
2. **Decide what to remember from the request.** Reuse existing data shapes and ownership rules.
|
|
60
|
+
Use `design-my-data` only when the relationships need further design. Summarize the choice in
|
|
61
|
+
one sentence and continue unless a missing product decision blocks it.
|
|
62
|
+
**Verify:** the stored information supports the requested actions and access boundaries.
|
|
63
|
+
|
|
64
|
+
3. **Write behavior tests before the implementation.** Cover saving and reading, unauthorized
|
|
65
|
+
access, duplicates, and concurrent writes where business limits apply. Enforce limits at the
|
|
66
|
+
database or server boundary; a separate count followed by an insert can race.
|
|
39
67
|
|
|
40
|
-
|
|
41
|
-
remove.
|
|
68
|
+
4. **Wire saving and reading.** Use `resolveDataProvider()` for insert / get / query / update /
|
|
69
|
+
remove. Insert new rows with `id: ''` so the adapter generates the key; preset tables use UUID
|
|
70
|
+
keys. Replace the dashboard's placeholder stats marker (`TODO(vybekiit): โฆ โ skill: save-data`;
|
|
42
71
|
grep them) with a real read.
|
|
43
72
|
**Verify:** the code builds with no errors.
|
|
44
73
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
74
|
+
5. **Try it for real.** A build, type check, or mocked test is not this step. Install missing
|
|
75
|
+
dependencies, start the app in the background (`pnpm dev --port 3100 > /tmp/app.log 2>&1 &`),
|
|
76
|
+
and wait until `curl -s localhost:3100` answers. Sign up two accounts, each with its own cookie
|
|
77
|
+
jar; use an `ADMIN_EMAILS` address for the owner when the feature has owner-only actions:
|
|
78
|
+
`curl -c owner.jar -H 'content-type: application/json' -d '{"email":"โฆ","password":"โฆ"}' localhost:3100/api/auth/signup`.
|
|
79
|
+
Save through your own routes with `-b owner.jar`, read it back with the other jar, and send one
|
|
80
|
+
request each account must be refused. Stop the server afterwards.
|
|
81
|
+
**Verify:** what was saved comes back exactly, refused requests get 401 or 403, and your summary
|
|
82
|
+
quotes the status codes you saw. Browser-only storage does not complete a shared-data request.
|
|
49
83
|
๐ *Celebrate* โ the app remembers things now.
|
|
50
84
|
|
|
51
85
|
## If anything breaks
|
|
@@ -60,8 +94,9 @@ them, don't explain the internals.
|
|
|
60
94
|
|
|
61
95
|
## Definition of done
|
|
62
96
|
|
|
63
|
-
The app saves and reads back real data
|
|
64
|
-
(re-grep
|
|
97
|
+
The running app saves and reads back real data and refuses unauthorized requests, your summary
|
|
98
|
+
quotes those responses, a passing test covers it, and no save-data markers remain (re-grep
|
|
99
|
+
`TODO(vybekiit)`). Tests against mocked data alone do not complete this skill.
|
|
65
100
|
|
|
66
101
|
## After completing this skill
|
|
67
102
|
|
|
@@ -3,6 +3,7 @@ name: sentry-sdk-setup
|
|
|
3
3
|
description: Set up Sentry in any language or framework. Detects the user's platform and loads the right SDK skill. Use when asked to add Sentry, install an SDK, or set up error monitoring in a project.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
role: router
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
> [All Skills](../../SKILL_TREE.md)
|
|
@@ -3,6 +3,7 @@ name: sentry-workflow
|
|
|
3
3
|
description: Keep Sentry SDKs up to date. Use when asked to upgrade the Sentry SDK across major versions, migrate SDK versions, or fix deprecated APIs.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
role: router
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
> [All Skills](../../SKILL_TREE.md)
|
|
@@ -5,6 +5,12 @@ metadata:
|
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: setup-email
|
|
@@ -25,17 +31,16 @@ when asked.
|
|
|
25
31
|
## Steps
|
|
26
32
|
|
|
27
33
|
<!-- vybekiit:page-recipe-install -->
|
|
28
|
-
0. **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('setup-email')` / page-recipe-manifest.json.
|
|
33
|
-
**Verify:** route builds and shows practice UI before provider wiring.
|
|
34
|
-
|
|
34
|
+
0. **Add the ready-made page first.** Run `vybekiit add page-recipe email-notifications`. It adds the page
|
|
35
|
+
at `/settings/notifications` and lists any data setup to run next. Keep every `TODO:` in the page and fill
|
|
36
|
+
each one in as you connect the real service.
|
|
37
|
+
**Verify:** `/settings/notifications` opens and shows practice content.
|
|
35
38
|
|
|
36
39
|
1. **Confirm the one sending detail.** Ask for (or guide them to set up) a verified sender address โ
|
|
37
40
|
the "from" address their app's emails come from. Tell them exactly where to confirm it, then save
|
|
38
|
-
it to the secret settings file.
|
|
41
|
+
it to the secret settings file. For the sending key (Resend by default), ask the builder to run
|
|
42
|
+
`vybekiit-automate resend setup` in their own terminal. It asks for the key with hidden typing,
|
|
43
|
+
checks it, and saves `RESEND_API_KEY` to `.env`. Never ask for the key in chat.
|
|
39
44
|
**Verify:** the sender address is set and confirmed.
|
|
40
45
|
|
|
41
46
|
2. **Wire sending.** Connect the app's email sending to `resolveEmailProvider()` (see wrapper for
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-payments
|
|
3
|
-
description: "the
|
|
3
|
+
description: "the requested purchase flow works in practice. Use when the vibe coder says something like: add payments; take money; sell something; charge people."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: setup-payments
|
|
11
17
|
|
|
12
|
-
**Goal:** the
|
|
18
|
+
**Goal:** the requested purchase flow works in practice. A test purchase succeeds end-to-end; accepting real money requires separately verified live setup.
|
|
13
19
|
|
|
14
20
|
**Contract:** one action at a time ยท verify-before-advance ยท plain language (`language.md`) ยท
|
|
15
21
|
translate every error ยท celebrate. You wire all the code; the builder only signs in once when asked.
|
|
@@ -26,14 +32,11 @@ translate every error ยท celebrate. You wire all the code; the builder only sign
|
|
|
26
32
|
## Steps
|
|
27
33
|
|
|
28
34
|
<!-- vybekiit:page-recipe-install -->
|
|
29
|
-
0. **
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Keep every `TODO:` in the
|
|
33
|
-
|
|
34
|
-
`commerce-products`, `commerce-cart`, `commerce-checkout` via `getPageRecipeInstall`.
|
|
35
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('setup-payments')` / page-recipe-manifest.json.
|
|
36
|
-
**Verify:** `/pricing` builds and shows practice plans before provider wiring.
|
|
35
|
+
0. **Add the ready-made pricing page first.** Run `vybekiit add page-recipe pricing`. It adds the page
|
|
36
|
+
at `/pricing` and lists any data setup to run next (run that after the payment keys are saved).
|
|
37
|
+
Selling products, not only plans? Also run `vybekiit add page-recipe product-grid`, then `cart` and
|
|
38
|
+
`checkout` the same way. Keep every `TODO:` in the pages and fill each one in as you connect payments.
|
|
39
|
+
**Verify:** `/pricing` opens and shows practice plans.
|
|
37
40
|
|
|
38
41
|
1. **Explain the plan in one line.** *"I'll connect a payment service so you can charge people. I'll do
|
|
39
42
|
the setup โ you'll sign in once when I ask."* (Never name Lemon Squeezy, Stripe, or PayPal.)
|
|
@@ -42,15 +45,16 @@ translate every error ยท celebrate. You wire all the code; the builder only sign
|
|
|
42
45
|
- Run `vybekiit-automate ls setup --json โฆ` (or wizard mode without `--json`).
|
|
43
46
|
- If Lemon Squeezy shows a sign-in screen, the automation **waits** until the builder completes login in the browser, then continues โ no separate standby step required.
|
|
44
47
|
- Optional pre-check: `vybekiit-automate ls standby` opens the dashboard and waits the same way.
|
|
45
|
-
-
|
|
46
|
-
|
|
48
|
+
- The command saves the store, product and key settings straight into the app's `.env` and prints only
|
|
49
|
+
their names. Never copy key values into the chat.
|
|
50
|
+
**Verify:** the command lists the saved names; product exists in test mode.
|
|
47
51
|
|
|
48
52
|
3. **Stripe (opt-in).** Merge `mcp-stripe.json` via `agent/mcp-setup.md`; builder OAuth once.
|
|
49
53
|
Agent creates product/price via Stripe MCP; write restricted API key to `.env`.
|
|
50
54
|
**Verify:** test mode product visible in Stripe dashboard.
|
|
51
55
|
|
|
52
56
|
4. **PayPal (opt-in).** Merge `mcp-paypal.json` via `agent/mcp-setup.md`; builder OAuth once (sandbox).
|
|
53
|
-
Agent provisions via PayPal MCP; write client
|
|
57
|
+
Agent provisions via PayPal MCP; write the client secret to `.env`, the client id and webhook id to `settings.env`.
|
|
54
58
|
**Verify:** sandbox checkout completes.
|
|
55
59
|
|
|
56
60
|
5. **Connect the automatic payment message (webhook).** Webhook URL is `/api/webhook` on the deployed app
|
|
@@ -61,9 +65,9 @@ translate every error ยท celebrate. You wire all the code; the builder only sign
|
|
|
61
65
|
**Verify:** provider shows webhook connected.
|
|
62
66
|
|
|
63
67
|
6. **Test a purchase.** Use test mode for a fake purchase.
|
|
64
|
-
**Verify:** order
|
|
68
|
+
**Verify:** the provider confirms a test payment, its signed payment message is verified, and the matching order is stored with the expected purchase effect. A local pretend checkout or a configured connection alone does not pass. Celebrate with "The practice payment worked." Never charge real money during testing.
|
|
65
69
|
|
|
66
|
-
7. **
|
|
70
|
+
7. **Preserve the requested purchase effect.** Use what the builder already said, such as confirming a class booking. Ask only if the intended effect is still unknown. Implement in
|
|
67
71
|
`src/lib/fulfillment.ts`. Write a quick test and keep it green.
|
|
68
72
|
|
|
69
73
|
## If anything breaks
|
|
@@ -5,6 +5,12 @@ metadata:
|
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: setup-sms
|
|
@@ -21,7 +27,7 @@ metadata:
|
|
|
21
27
|
1. **Collect Twilio secret settings** through doctor (never ask the builder to type SIDs by hand):
|
|
22
28
|
`TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN`, `TWILIO_FROM_NUMBER`. Optional:
|
|
23
29
|
`TWILIO_VERIFY_SERVICE_SID`, `TWILIO_WHATSAPP_FROM`.
|
|
24
|
-
**Verify:** values saved to `.env`.
|
|
30
|
+
**Verify:** values saved to `settings.env` and `.env`.
|
|
25
31
|
|
|
26
32
|
2. **Set `NOTIFICATIONS_PROVIDER=twilio`.**
|
|
27
33
|
**Verify:** `resolveNotificationsProvider()` does not throw.
|
|
@@ -5,6 +5,12 @@ metadata:
|
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: sign-in-with-email-link
|
|
@@ -18,12 +24,10 @@ metadata:
|
|
|
18
24
|
## Steps
|
|
19
25
|
|
|
20
26
|
<!-- vybekiit:page-recipe-install -->
|
|
21
|
-
0. **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('sign-in-with-email-link')` / page-recipe-manifest.json.
|
|
26
|
-
**Verify:** `/login` shows a practice magic-link entry before provider wiring.
|
|
27
|
+
0. **Add the ready-made sign-in page first.** Run `vybekiit add page-recipe auth`. It adds the page
|
|
28
|
+
at `/login` (if the app already has a sign-in page, it is kept). Then add an "Email me a link" option to it.
|
|
29
|
+
Keep every `TODO:` in the page and fill each one in as you connect the real service.
|
|
30
|
+
**Verify:** `/login` opens and shows an "Email me a link" option with practice content.
|
|
27
31
|
|
|
28
32
|
1. **Confirm sign-in + email are wired** (`add-signin`, `setup-email` when going live).
|
|
29
33
|
**Verify:** email OTP or password sign-in already works.
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sign-in-with-google
|
|
3
|
-
description: "people can tap
|
|
3
|
+
description: "people can tap Continue with Google โ one button that signs them in or creates their account. Use when the vibe coder says something like: sign in with google; continue with google."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
Prefer the current project instructions and matching project skill when inside a kit app.
|
|
9
|
+
Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
|
|
10
|
+
That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
|
|
11
|
+
Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
|
|
12
|
+
Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
|
|
13
|
+
|
|
8
14
|
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
15
|
|
|
10
16
|
# Skill: sign-in-with-google
|
|
@@ -22,14 +28,12 @@ needs it.
|
|
|
22
28
|
## Steps
|
|
23
29
|
|
|
24
30
|
<!-- vybekiit:page-recipe-install -->
|
|
25
|
-
0. **
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Also reference `packages/agentKit` `getPageRecipeInstall('sign-in-with-google')` / page-recipe-manifest.json.
|
|
32
|
-
**Verify:** `/login` shows practice Google button before provider wiring.
|
|
31
|
+
0. **Add the ready-made sign-in page first.** Run `vybekiit add page-recipe auth`. It adds the page
|
|
32
|
+
at `/login` (if the app already has a sign-in page, it is kept). Then add a "Continue with Google" button to it.
|
|
33
|
+
Keep every `TODO:` in the page and fill each one in as you connect the real service.
|
|
34
|
+
Need terms and privacy pages for Google? Run `vybekiit add page-recipe terms-of-service` and
|
|
35
|
+
`vybekiit add page-recipe privacy-policy` (they add `/terms` and `/privacy`).
|
|
36
|
+
**Verify:** `/login` opens and shows a practice "Continue with Google" button.
|
|
33
37
|
|
|
34
38
|
1. **Make sure the basics exist.** Database (`save-data`) and base sign-in (`add-signin`) must work
|
|
35
39
|
first โ Google builds on top.
|
|
@@ -39,10 +43,13 @@ needs it.
|
|
|
39
43
|
If it says "not signed in yet," walk the builder through the one command it prints.
|
|
40
44
|
**Verify:** doctor reports gcloud ready.
|
|
41
45
|
|
|
42
|
-
3. **Create the Google login for your app.**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
3. **Create the Google login for your app.** Run `vybekiit-automate google oauth --json` with
|
|
47
|
+
`--project=<gcloud-project-id>`, `--app-name=<app-name>`, `--support-email=<builder-email>`,
|
|
48
|
+
`--app-url=<app-url>` and `--redirect=<app-url>/api/auth/callback/google`. It creates (or fixes) the
|
|
49
|
+
Web login client and saves `GOOGLE_OAUTH_CLIENT_ID` to `settings.env` and
|
|
50
|
+
`GOOGLE_OAUTH_CLIENT_SECRET` to `.env`, printing only their names. If Google asks to sign in, the builder signs in once in the
|
|
51
|
+
browser it opens. Never ask the builder to open the Google Cloud console.
|
|
52
|
+
**Verify:** both names are listed as saved and are non-empty.
|
|
46
53
|
|
|
47
54
|
4. **Enable Google on the sign-in handler.** Follow `platform-skills/better-auth-vybekiit.md` โ add
|
|
48
55
|
the Google social provider to the auth route. One flow handles sign-in and sign-up.
|