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
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Platform wrapper: Lemon Squeezy (default payments)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-payments`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://docs.lemonsqueezy.com
|
|
8
|
+
- **Freshness note:** `@lemonsqueezy/lemonsqueezy.js` npm publish is stale (Nov 2024) — no vendor skills.sh repo. Rely on `@vybekiit/payments` adapter + `browser-automation-vybekiit.md`; check https://docs.lemonsqueezy.com/help/changelog before API changes.
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` (LS when `PAYMENTS_PROVIDER` default)
|
|
13
|
+
2. Dashboard provisioning via `@vybekiit/browser-automation` **`ls` target** (codename fresh-squeezy):
|
|
14
|
+
- `vybekiit-automate ls standby` — builder signs in only (`$HOME/.ls-chrome-profile`)
|
|
15
|
+
- `vybekiit-automate ls setup --json --name … --price-cents … --mode test|live --webhook-url …`
|
|
16
|
+
3. Save the CLI JSON: `LEMONSQUEEZY_API_KEY` and webhook secret to `.env`, `LEMONSQUEEZY_STORE_ID` and variant ID to `settings.env`
|
|
17
|
+
4. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
|
|
18
|
+
5. Replace `TODO(vybekiit): … — skill: setup-payments` markers
|
|
19
|
+
|
|
20
|
+
See also `platform-skills/browser-automation-vybekiit.md` for CLI modes (`--json` vs wizard).
|
|
21
|
+
|
|
22
|
+
## Verify-before-advance
|
|
23
|
+
|
|
24
|
+
- Test checkout opens; webhook receives event (test mode OK)
|
|
25
|
+
- Order recorded in database; builder sees success in app
|
|
26
|
+
|
|
27
|
+
## Selector registry
|
|
28
|
+
|
|
29
|
+
LS DOM selectors live in `@vybekiit/browser-automation` `targets/lemon-squeezy/selectors/`. If setup throws
|
|
30
|
+
`SelectorMissingError`, update registry from a recorded session (maintainer pass).
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Platform wrapper: kit MCP tools
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Catalog of every first-party MCP tool VybeKiit ships. Read this file locally or load via MCP `get_skill` / `list_platform_skills` (`mcp-tools-vybekiit` / `use-kit-mcp`).
|
|
4
|
+
|
|
5
|
+
Never name MCP, tool ids, or package paths to the builder. Prefer **search → get** (slim pages, then detail).
|
|
6
|
+
|
|
7
|
+
## Server
|
|
8
|
+
|
|
9
|
+
| Server key | Package | Bin | Purpose |
|
|
10
|
+
|------------|---------|-----|---------|
|
|
11
|
+
| `vybekiit` | `@vybekiit/agent-mcp` | `vybekiit-agent-mcp` | Skills, CLI catalog, doctor tools, doc-fallback, browser automations, mirrored UI catalog |
|
|
12
|
+
|
|
13
|
+
Snippet: `.vybekiit/agent/mcp-agent.json`. Setup: `.vybekiit/agent/mcp-setup.md`.
|
|
14
|
+
Auto-discovered skill: `.agents/skills/use-kit-mcp/SKILL.md`.
|
|
15
|
+
|
|
16
|
+
## Env
|
|
17
|
+
|
|
18
|
+
| Variable | Meaning |
|
|
19
|
+
|----------|---------|
|
|
20
|
+
| `VYBEKIIT_PROJECT_ROOT` | Project root for skill reads + automation cwd (default cwd) |
|
|
21
|
+
| `VYBEKIIT_UI_CATALOG_PATH` | Path to `ui-catalog-index.json` |
|
|
22
|
+
| `VYBEKIIT_AUTOMATE_BIN` | Optional absolute path to `vybekiit-automate` |
|
|
23
|
+
|
|
24
|
+
## Context controls
|
|
25
|
+
|
|
26
|
+
- Cursor pagination: `limit` / `cursor` / response `nextCursor` + `hasMore` + `total`
|
|
27
|
+
- Prefer slim rows; request full detail only when needed (`fields=slim|full` on UI tools)
|
|
28
|
+
- Automations: `run_automation({ dryRun: true })` before a real browser session
|
|
29
|
+
|
|
30
|
+
## Tools
|
|
31
|
+
|
|
32
|
+
| Tool | Description | Required | Optional | When to use |
|
|
33
|
+
|------|-------------|----------|----------|-------------|
|
|
34
|
+
| `search_skills` | Fuzzy-search buyer goals/skills (goal-index SSOT). Paginated slim rows. | query | template, limit, cursor | Before opening skill files; empty query lists all goals for the template. |
|
|
35
|
+
| `get_skill` | Load one skill by goal id or stem (excerpt by default). | id | template, excerptLines | After search_skills picks a row; also loads use-kit-mcp / platform wrappers. |
|
|
36
|
+
| `list_platform_skills` | List/search `.vybekiit/platform-skills/*` wrappers (paginated). | — | query, limit, cursor | Find provider wrappers (stripe, railway, mcp-tools-vybekiit, …). |
|
|
37
|
+
| `search_commands` | Fuzzy-search vybekiit CLI verbs. Returns usage — run via shell, not MCP. | query | limit, cursor | Discover CLI verbs (doctor, create app, automate, …). |
|
|
38
|
+
| `get_command` | Get one CLI command by exact name from the catalog. | name | — | After search_commands when you know the exact verb name. |
|
|
39
|
+
| `search_doctor_tools` | List doctor toolchain entries (`vybekiit doctor --ensure <name>`). Does not run doctor. | query | limit, cursor | Before ensuring CLIs (gh, wrangler, supabase, …). |
|
|
40
|
+
| `search_tech_ids` | Fuzzy-search known tech ids before doc_fallback. | query | limit, cursor | Pick a tech id for official docs after one failed MCP/debug attempt. |
|
|
41
|
+
| `doc_fallback` | Official docs + env key hints. Never name MCP to the builder — use builderMessage. | techId | — | MCP or first debug failed once; same as `vybekiit doc-fallback <tech-id>`. |
|
|
42
|
+
| `search_automations` | Fuzzy-search vybekiit-automate browser verbs (ls, cws, nc, …). Paginated. | query | limit, cursor | Before run_automation; empty query lists the catalog. |
|
|
43
|
+
| `get_automation` | Get one automation by domain (+ command) or id (`ls:setup`). | domain | command | Inspect usage string for a known domain/verb. |
|
|
44
|
+
| `run_automation` | Run vybekiit-automate from any project root (resolves bin). Always --json. Prefer dryRun first. Google redirect_uri_mismatch → domain=google command=oauth with --redirect incl. localhost. | domain, command | args, dryRun, yes, cdp, profile, timeoutMs | Execute browser automations anywhere; OAuth 400 redirect_uri_mismatch; dryRun=true to preview argv only. |
|
|
45
|
+
| `search_ui_components` | Fuzzy-search mirrored UI components. Page envelope; default fields=slim. | query | source, limit, cursor, fields | Find blocks by intent/name; slim first, then get_ui_component. |
|
|
46
|
+
| `get_ui_component` | Get one mirrored component by source namespace + slug. | source, name | — | Full detail after search_ui_components. |
|
|
47
|
+
| `suggest_ui_blend` | Ranked multi-source component suggestions for a natural-language UI intent. | intent | limit | Builder wants a composed look (hero + pricing + marquee, …). |
|
|
48
|
+
| `list_ui_sources` | List mirrored UI source namespaces and component counts. | — | — | See which registries are in the local catalog index. |
|
|
49
|
+
|
|
50
|
+
## Browser automations (from any folder)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
search_automations({ query: "lemon squeezy" })
|
|
54
|
+
run_automation({ domain: "ls", command: "setup", dryRun: true })
|
|
55
|
+
run_automation({ domain: "ls", command: "standby" })
|
|
56
|
+
// Google Error 400 redirect_uri_mismatch / Auth.js localhost — args only, no Console babysitting:
|
|
57
|
+
search_automations({ query: "redirect_uri_mismatch" })
|
|
58
|
+
run_automation({ domain: "google", command: "oauth", args: [
|
|
59
|
+
"--project=my-app", "--app-name=MyApp", "--support-email=you@gmail.com",
|
|
60
|
+
"--app-url=https://example.com",
|
|
61
|
+
"--redirect=https://example.com/api/auth/callback/google",
|
|
62
|
+
"--redirect=http://localhost:3000/api/auth/callback/google",
|
|
63
|
+
]})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Shell equivalent:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
vybekiit-automate catalog --json
|
|
70
|
+
vybekiit-automate ls standby --json --yes
|
|
71
|
+
vybekiit-automate google oauth --project=... --app-name=... --support-email=... --app-url=... --redirect=... --json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Wire-up (agents)
|
|
75
|
+
|
|
76
|
+
1. `vybekiit setup` registers the `vybekiit` server once at Claude user scope and refreshes it on every rerun.
|
|
77
|
+
2. Start a new Claude session after setup so Claude can approve and discover the global tools.
|
|
78
|
+
3. Cursor receives project `.cursor/mcp.json` files because its setup path remains project-scoped.
|
|
79
|
+
4. `create app` still ships `@vybekiit/agent-mcp` and `@vybekiit/browser-automation` under `packages/` for owned tooling and other MCP clients.
|
|
80
|
+
5. Doctor may merge provider-specific third-party MCPs only when the project needs them.
|
|
81
|
+
|
|
82
|
+
## Provider / third-party MCP snippets
|
|
83
|
+
|
|
84
|
+
Not first-party tools — merge only when the builder uses that provider (see `mcp-setup.md`):
|
|
85
|
+
`mcp-supabase`, `mcp-stripe`, `mcp-paypal`, `mcp-neon`, `mcp-firebase`, `mcp-mongodb`, `mcp-railway-*`, `mcp-twilio-*`, `mcp-sentry`, `mcp-posthog`.
|
|
86
|
+
|
|
87
|
+
If any MCP fails once → `doc_fallback` / `vybekiit doc-fallback <tech-id>`; tell the builder only the plain stuck phrase.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Platform wrapper: MongoDB Atlas (agent/maintainer only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Not invoked by buyer `save-data`. Use when `settings.env` already has `DATA_PROVIDER=mongodb`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://www.mongodb.com/docs/
|
|
8
|
+
- Node driver: https://www.mongodb.com/docs/drivers/node/current/
|
|
9
|
+
- Agent skills: https://www.mongodb.com/docs/agent-skills/
|
|
10
|
+
- Skills repo: https://github.com/mongodb/agent-skills
|
|
11
|
+
- MCP overview: https://www.mongodb.com/docs/mcp-server/overview/
|
|
12
|
+
- MCP get started: https://www.mongodb.com/docs/mcp-server/get-started/
|
|
13
|
+
|
|
14
|
+
## Kit wiring
|
|
15
|
+
|
|
16
|
+
1. Set `DATA_PROVIDER=mongodb`, `MONGODB_URI` (Atlas SRV connection string), and `MONGODB_DB` (database name)
|
|
17
|
+
2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct driver calls in UI
|
|
18
|
+
3. Auth: `better-auth` may use Mongo adapter when configured — see `better-auth-vybekiit.md`
|
|
19
|
+
4. Atlas CLI installed by `vybekiit doctor` when `DATA_PROVIDER=mongodb`
|
|
20
|
+
|
|
21
|
+
## MCP
|
|
22
|
+
|
|
23
|
+
Merge `.vybekiit/agent/mcp-mongodb.json` into buyer `.cursor/mcp.json` (see `agent/mcp-setup.md`).
|
|
24
|
+
|
|
25
|
+
1. Copy `MONGODB_URI` from `.env` into `MDB_MCP_CONNECTION_STRING`
|
|
26
|
+
2. Keep `MDB_MCP_READ_ONLY=true` unless a maintainer explicitly needs write tools
|
|
27
|
+
3. Fallback: `npx mongodb-mcp-server@latest setup` — see official get-started guide
|
|
28
|
+
|
|
29
|
+
If MCP fails once, run `vybekiit doc-fallback mongodb`.
|
|
30
|
+
|
|
31
|
+
## Verify-before-advance
|
|
32
|
+
|
|
33
|
+
- `pingDatabase()` from `@vybekiit/db` succeeds
|
|
34
|
+
- MCP lists collections on the dev cluster (read-only)
|
|
35
|
+
- Never connect MCP to production buyer data without read-only mode
|
|
36
|
+
|
|
37
|
+
## Never say to builder
|
|
38
|
+
|
|
39
|
+
MongoDB, NoSQL, collection, document, BSON, Atlas (use plain language from `language.md`)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Platform wrapper: Neon (serverless Postgres)
|
|
2
|
+
|
|
3
|
+
> 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.
|
|
4
|
+
|
|
5
|
+
**Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin`.
|
|
6
|
+
|
|
7
|
+
## Official upstream
|
|
8
|
+
|
|
9
|
+
- Docs index: https://neon.com/docs/llms.txt
|
|
10
|
+
- Quick setup: `npx neonctl@latest init` (maintainer OAuth — not buyer-facing)
|
|
11
|
+
- Agent skills: https://github.com/neondatabase/agent-skills
|
|
12
|
+
|
|
13
|
+
## Kit wiring
|
|
14
|
+
|
|
15
|
+
1. Set `DATA_PROVIDER=neon` and `DATABASE_URL` (Neon pooled connection string)
|
|
16
|
+
2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
|
|
17
|
+
3. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
|
|
18
|
+
4. Migrations via Neon branching in dev only (never production MCP)
|
|
19
|
+
|
|
20
|
+
## MCP
|
|
21
|
+
|
|
22
|
+
Merge `.vybekiit/agent/mcp-neon.json` into buyer `.cursor/mcp.json`. Maintainer adds `Authorization: Bearer $NEON_API_KEY` or uses OAuth via `neonctl init`.
|
|
23
|
+
|
|
24
|
+
Fallback for clients without Streamable HTTP:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx -y @neondatabase/mcp-server-neon start $NEON_API_KEY
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Verify-before-advance
|
|
31
|
+
|
|
32
|
+
- `pingNeonDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
|
|
33
|
+
- Neon MCP is **dev/IDE only** — never connect agents to production databases
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Platform wrapper: Next.js (web template)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by generic coding and layout work — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Official upstream (prefer over training data)
|
|
6
|
+
|
|
7
|
+
- Pinned: `.agents/skills/vercel-react-best-practices`, `vercel-composition-patterns`
|
|
8
|
+
- Docs: https://nextjs.org/docs (App Router, Server Components, Route Handlers)
|
|
9
|
+
|
|
10
|
+
## Kit conventions
|
|
11
|
+
|
|
12
|
+
- App Router under `app/`; API routes under `app/api/`
|
|
13
|
+
- Use logical spacing (`ms-`, `me-`, `ps-`, `pe-`) for RTL — see `language.md`
|
|
14
|
+
- UI primitives live in `src/components` (shadcn) — use `shadcn-vybekiit.md` and `ui-consistency-vybekiit.md`
|
|
15
|
+
- Business logic stays in `@vybekiit/*` packages, not reinvented in routes
|
|
16
|
+
- Logging: `@/lib/logger` · errors: `@/lib/observability` · hygiene: `code-hygiene-vybekiit.md`
|
|
17
|
+
|
|
18
|
+
## Verify-before-advance
|
|
19
|
+
|
|
20
|
+
After structural changes: `pnpm test` + `pnpm build` green before telling the builder it works.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Platform wrapper: observability (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Logging and error tracking wiring — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Structured logging
|
|
6
|
+
|
|
7
|
+
- Import `log` from `src/lib/logger.ts` (wraps `@vybekiit/core` `createLogger`).
|
|
8
|
+
- **Development:** `debug` and `info` print automatically.
|
|
9
|
+
- **Production:** only `warn` and `error` print — no builder configuration needed.
|
|
10
|
+
- Optional override: `LOG_LEVEL` in `settings.env` (agent-only; never ask the builder to set it).
|
|
11
|
+
- API routes: `const routeLog = log.child({ requestId })` when correlating a request.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { log } from '@/lib/logger';
|
|
15
|
+
|
|
16
|
+
log.info('Contact form accepted', { email: parsed.data.email });
|
|
17
|
+
log.error('Checkout failed', err);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Never use bare `console.log` in `app/` or `src/` (tests excluded).
|
|
21
|
+
|
|
22
|
+
## Error tracking
|
|
23
|
+
|
|
24
|
+
- Buyer skill: `track-errors` — wires `@vybekiit/observability`.
|
|
25
|
+
- Server entry: `instrumentation.ts` calls `resolveObservabilityProvider`.
|
|
26
|
+
- App code: `import { observability } from '@/lib/observability'` then `observability.captureException(err)`.
|
|
27
|
+
- Platform wrapper: `sentry-vybekiit.md` for Sentry dashboard steps.
|
|
28
|
+
|
|
29
|
+
## Pre-ship checks
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node scripts/checkNoConsole.mjs
|
|
33
|
+
rg "from '@/lib/logger'" app/api/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
See `check-safety` step 6 (code readiness) and `go-live` pre-flight.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Platform wrapper: PayPal (opt-in payments)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-payments` when `PAYMENTS_PROVIDER=paypal`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://developer.paypal.com/docs
|
|
8
|
+
- PayPal MCP: https://docs.paypal.ai/developer/tools/ai/mcp-quickstart
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Merge `agent/mcp-paypal.json` into buyer MCP config — see `agent/mcp-setup.md` (Cursor, Claude Desktop, Codex)
|
|
13
|
+
2. Builder completes PayPal OAuth once when MCP prompts (sandbox endpoint by default)
|
|
14
|
+
3. Agent provisions products/invoices via PayPal MCP write tools as needed
|
|
15
|
+
4. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` when `PAYMENTS_PROVIDER=paypal`
|
|
16
|
+
5. Set `PAYPAL_CLIENT_SECRET` in `.env`, and `PAYPAL_CLIENT_ID` and webhook id in `settings.env`
|
|
17
|
+
6. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
|
|
18
|
+
7. Replace `TODO(vybekiit): … — skill: setup-payments` markers
|
|
19
|
+
8. Switch MCP URL to production (`https://mcp.paypal.com/http`) only after sandbox checkout verified
|
|
20
|
+
|
|
21
|
+
## Verify-before-advance
|
|
22
|
+
|
|
23
|
+
- MCP connected; sandbox tool call succeeds
|
|
24
|
+
- Test checkout completes in sandbox; webhook fires
|
|
25
|
+
- Order recorded; builder sees success in app
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# planning-vybekiit.md — agent-only planning mechanics
|
|
2
|
+
|
|
3
|
+
Used by `plan-my-idea.md`. The builder never sees this file or its vocabulary.
|
|
4
|
+
|
|
5
|
+
## CONTEXT.md format
|
|
6
|
+
|
|
7
|
+
Single context at repo root (`CONTEXT.md`). Create lazily when the first term resolves.
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# {App name or domain}
|
|
11
|
+
|
|
12
|
+
{One or two sentences: what this app is and who it's for.}
|
|
13
|
+
|
|
14
|
+
## Language
|
|
15
|
+
|
|
16
|
+
**{Canonical term}**:
|
|
17
|
+
{A one or two sentence definition of what it IS, not what it does.}
|
|
18
|
+
_Avoid_: alias1, alias2
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Rules
|
|
22
|
+
|
|
23
|
+
- **Be opinionated.** Pick one canonical word; list alternatives under `_Avoid_`.
|
|
24
|
+
- **Keep definitions tight.** One or two sentences max.
|
|
25
|
+
- **App-specific only.** No general programming terms (API, timeout, cache, component).
|
|
26
|
+
- **Group under subheadings** when clusters emerge (e.g. `## People`, `## Money`).
|
|
27
|
+
- **Update inline** during the session — never batch at the end.
|
|
28
|
+
- **No implementation details** in `CONTEXT.md` — glossary only, not a spec.
|
|
29
|
+
|
|
30
|
+
### No ADRs for buyers
|
|
31
|
+
|
|
32
|
+
Do not create `docs/adr/` or decision-record files. Capture agreed language in `CONTEXT.md` only.
|
|
33
|
+
|
|
34
|
+
## During a planning session
|
|
35
|
+
|
|
36
|
+
### Challenge against the glossary
|
|
37
|
+
|
|
38
|
+
When the builder uses a term that conflicts with `CONTEXT.md`, reconcile immediately: *"Last time we
|
|
39
|
+
said X means … — is that still right?"*
|
|
40
|
+
|
|
41
|
+
### Sharpen fuzzy language
|
|
42
|
+
|
|
43
|
+
When they say "account", "user", "order", "save" without precision, propose a canonical term and ask
|
|
44
|
+
which they mean.
|
|
45
|
+
|
|
46
|
+
### Cross-reference with code
|
|
47
|
+
|
|
48
|
+
When they state how something works, check the code. If it contradicts them, surface it plainly and
|
|
49
|
+
ask which is right before continuing.
|
|
50
|
+
|
|
51
|
+
### Concrete scenarios
|
|
52
|
+
|
|
53
|
+
Once the shape emerges, invent one realistic edge-case scenario (*"Sarah tries to… what happens?"*) to
|
|
54
|
+
expose gaps before building.
|
|
55
|
+
|
|
56
|
+
## After planning
|
|
57
|
+
|
|
58
|
+
Reference `CONTEXT.md` during later feature work so wording stays consistent. Do not overwrite buyer
|
|
59
|
+
entries during `update-kit` sync — `CONTEXT.md` is buyer-owned.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Platform wrapper: Playwright UI tests (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Walk through the app like a visitor — the builder hears *"I checked it on screen"*, not Playwright.
|
|
4
|
+
|
|
5
|
+
## When
|
|
6
|
+
|
|
7
|
+
Before calling a page done (web/extension with UI); in pre-push when `PLAYWRIGHT_ENABLED=true`; on CI (ubuntu job).
|
|
8
|
+
|
|
9
|
+
## Configure (`.env`)
|
|
10
|
+
|
|
11
|
+
```env
|
|
12
|
+
PLAYWRIGHT_ENABLED="true" # turn on locally
|
|
13
|
+
PLAYWRIGHT_HEADLESS="true" # false to watch the browser
|
|
14
|
+
PLAYWRIGHT_BASE_URL="http://localhost:3000"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Install browsers (once per machine)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pnpm exec playwright install chromium
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Doctor/onboarding: agent runs this silently when enabling UI walkthrough tests.
|
|
24
|
+
|
|
25
|
+
## Run
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pnpm test:e2e
|
|
29
|
+
# or: PLAYWRIGHT_ENABLED=true pnpm test:e2e
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Pre-push runs `pnpm test:e2e` automatically when `PLAYWRIGHT_ENABLED=true`.
|
|
33
|
+
|
|
34
|
+
## Rules
|
|
35
|
+
|
|
36
|
+
1. Never say "Playwright", "E2E", or "headless" to the builder — use `language.md`.
|
|
37
|
+
2. Fix failing walkthrough tests before telling the builder the page works.
|
|
38
|
+
3. Keep smoke tests short — one happy path per critical screen.
|
|
39
|
+
|
|
40
|
+
## Verify
|
|
41
|
+
|
|
42
|
+
`pnpm test:e2e` green with dev server reachable at `PLAYWRIGHT_BASE_URL`.
|
package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Platform wrapper: Railway Postgres (coupled stack data)
|
|
2
|
+
|
|
3
|
+
> 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.
|
|
4
|
+
|
|
5
|
+
**Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin` when `DATA_PROVIDER=railway`.
|
|
6
|
+
|
|
7
|
+
## Official upstream
|
|
8
|
+
|
|
9
|
+
- Docs: https://docs.railway.com/databases/postgresql
|
|
10
|
+
- Agent skill: `use-railway` in `.agents/skills/`
|
|
11
|
+
- MCP: `mcp-railway-local.json` (variables, provisioning) or `mcp-railway-remote.json` (OAuth)
|
|
12
|
+
|
|
13
|
+
## Kit wiring
|
|
14
|
+
|
|
15
|
+
1. Set `DATA_PROVIDER=railway` with `HOSTING_PROVIDER=railway` (coupled stack — same Railway project)
|
|
16
|
+
2. Provision Postgres plugin in the linked Railway project via MCP or CLI
|
|
17
|
+
3. Pull `DATABASE_URL` from Railway variables into `.env`
|
|
18
|
+
4. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
|
|
19
|
+
5. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
|
|
20
|
+
|
|
21
|
+
## Verify-before-advance
|
|
22
|
+
|
|
23
|
+
- `pingRailwayDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
|
|
24
|
+
- Railway MCP connected for variable reads in dev/IDE only
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Platform wrapper: React patterns (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Kit primitives and soft limits — the builder never hears "props" limits or "split the component."
|
|
4
|
+
|
|
5
|
+
## Kit primitives (required)
|
|
6
|
+
|
|
7
|
+
| Concern | Use | Never |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Server / API data | TanStack Query via `@vybekiit/client-state` (`useQuery`, `useMutation`) | Raw `fetch` + `useState` for server records |
|
|
10
|
+
| Async UI state | `useAsync` from `@/hooks/use-async` | Hand-rolled fetch for data that belongs in query cache |
|
|
11
|
+
| User / session | `useUser` from `@/hooks/use-user` | Duplicate session logic in pages |
|
|
12
|
+
| Client-only prefs | `useStorage` from `@/hooks/use-storage` | Zustand/MMKV for server data |
|
|
13
|
+
| Toasts | `useToast` from `@/hooks/use-toast` | `alert()` or ad-hoc snackbars |
|
|
14
|
+
| Forms | `FormField` + zod at submit boundary | Inline validation scattered in JSX |
|
|
15
|
+
|
|
16
|
+
Read `client-state-vybekiit.md` and `src/hooks/README.md` before adding hooks.
|
|
17
|
+
|
|
18
|
+
## Soft limits (agent + Biome warn)
|
|
19
|
+
|
|
20
|
+
| Rule | Target | Enforcement |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Function body length | ~5 lines ideal; split if longer | Agent convention + Biome warn |
|
|
23
|
+
| Component props | ~5 max; use composition or a small options object | Agent convention |
|
|
24
|
+
| Folders | See `src/README.md` | Required |
|
|
25
|
+
|
|
26
|
+
## Forms
|
|
27
|
+
|
|
28
|
+
- Use `FormField` for labels, errors, and inputs.
|
|
29
|
+
- Validate with zod **once** at submit — not on every keystroke unless UX requires it.
|
|
30
|
+
- API routes validate again with zod at the boundary.
|
|
31
|
+
|
|
32
|
+
## Folders
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
app/ routes + API (Next.js App Router)
|
|
36
|
+
src/components/ui/ kit primitives — do not duplicate
|
|
37
|
+
src/components/ app-specific composed UI
|
|
38
|
+
src/hooks/ shared React hooks (see README)
|
|
39
|
+
src/lib/ headless clients + utils (see README)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Verify
|
|
43
|
+
|
|
44
|
+
- New screens use kit hooks · forms use `FormField` · no duplicate helpers in `src/lib/`
|
|
45
|
+
- `pnpm test` green after changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Platform wrapper: registrar credential setup
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Browser automation for Namecheap and GoDaddy API key onboarding when the builder's domain is at that registrar and nameserver automation is desired.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
During `buy-domain`, if Namecheap or GoDaddy secret settings are missing and the builder registered their domain there, run credential setup before Cloudflare nameserver delegation.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
Chrome with CDP on port 9222 and the target profile (see `browser-automation-vybekiit.md`).
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Namecheap — Profile → Tools → API Access
|
|
15
|
+
vybekiit-automate nc standby --json
|
|
16
|
+
vybekiit-automate nc setup --json
|
|
17
|
+
vybekiit-automate nc setup --json --sandbox # sandbox API
|
|
18
|
+
|
|
19
|
+
# GoDaddy — developer.godaddy.com/keys (OTE by default)
|
|
20
|
+
vybekiit-automate gd standby --json
|
|
21
|
+
vybekiit-automate gd setup --json
|
|
22
|
+
vybekiit-automate gd setup --json --production
|
|
23
|
+
vybekiit-automate gd setup --json --name=vybekiit
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
On success, write the returned `env` keys to `.env`, then run `vybekiit doctor` to confirm.
|
|
27
|
+
|
|
28
|
+
## Rules
|
|
29
|
+
|
|
30
|
+
- Builder **signs in only**; agent runs setup and verification.
|
|
31
|
+
- Never say "Namecheap API", "GoDaddy Developer", or "whitelist IP" to the builder — use plain language from `language.md`.
|
|
32
|
+
- Nameserver updates use `@vybekiit/deploy` REST after credentials exist — not browser automation.
|
|
33
|
+
|
|
34
|
+
## Package
|
|
35
|
+
|
|
36
|
+
`@vybekiit/browser-automation`.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Platform wrapper: Resend (opt-in email)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-email` when `EMAIL_PROVIDER=resend`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://resend.com/docs
|
|
8
|
+
- Pinned skills: `.agents/skills/resend/SKILL.md`, `.agents/skills/email-best-practices/SKILL.md`
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Email via `@vybekiit/email` → `resolveEmailProvider()` when `EMAIL_PROVIDER=resend`
|
|
13
|
+
2. Set `RESEND_API_KEY` and verified sender in `.env`
|
|
14
|
+
3. Wire sending through the provider interface; hook into sign-in codes, welcome, receipts as needed
|
|
15
|
+
4. Replace any `TODO(vybekiit): … — skill: setup-email` markers
|
|
16
|
+
|
|
17
|
+
## Verify-before-advance
|
|
18
|
+
|
|
19
|
+
- Send test email to builder; confirm arrival (check spam)
|
|
20
|
+
- Connected flow sends in the skill's target moment
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Platform wrapper: responsive layout (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Mobile-first web layout — the builder hears "looks good on phone and desktop," not breakpoints.
|
|
4
|
+
|
|
5
|
+
## Mobile-first
|
|
6
|
+
|
|
7
|
+
- Base styles = phone (narrow). Scale up with `sm:` / `md:` / `lg:`.
|
|
8
|
+
- Default page padding: `px-4 md:px-6`
|
|
9
|
+
- Max content width: `max-w-lg mx-auto` (forms/auth) or `max-w-6xl` (marketing/dashboard)
|
|
10
|
+
- Touch targets: kit `Button` sizes `default` or `lg` — never tiny custom tap areas
|
|
11
|
+
|
|
12
|
+
## RTL
|
|
13
|
+
|
|
14
|
+
Complements logical properties in `AGENTS.md` — use `ms-`/`me-`/`ps-`/`pe-`/`start-`/`end-`, not `left`/`right`.
|
|
15
|
+
|
|
16
|
+
## Before calling a page done
|
|
17
|
+
|
|
18
|
+
Preview at **375px** width in dev tools. Fix overflow, cramped buttons, and unreadable text before showing the builder.
|
|
19
|
+
|
|
20
|
+
## Also read
|
|
21
|
+
|
|
22
|
+
- `ui-consistency-vybekiit.md` — primitives and spacing tokens
|
|
23
|
+
- `shadcn-vybekiit.md` — layout blocks from the UI catalog
|
|
24
|
+
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
Page usable at 375px and desktop without horizontal scroll on main content.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Platform wrapper: Sentry (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `track-errors` — not a buyer-facing name.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://docs.sentry.io/platforms/javascript/guides/nextjs/
|
|
8
|
+
- Package: `@vybekiit/observability` (Sentry adapter via `@sentry/core`)
|
|
9
|
+
- Pinned skills: `.agents/skills/sentry-sdk-setup/SKILL.md`, `.agents/skills/sentry-workflow/SKILL.md`
|
|
10
|
+
|
|
11
|
+
## Kit wiring
|
|
12
|
+
|
|
13
|
+
1. Set in `settings.env`:
|
|
14
|
+
- `OBSERVABILITY_PROVIDER="sentry"`
|
|
15
|
+
- `SENTRY_DSN="<from Sentry dashboard>"`
|
|
16
|
+
2. Confirm `instrumentation.ts` exists (calls `resolveObservabilityProvider`).
|
|
17
|
+
3. Confirm `src/lib/observability.ts` exports the provider.
|
|
18
|
+
4. Add a dev-only test route or button that throws once; verify alert in Sentry dashboard.
|
|
19
|
+
5. Wire `app/global-error.tsx` or route error boundaries to call `observability.captureException`.
|
|
20
|
+
|
|
21
|
+
## Builder manual step (one at a time)
|
|
22
|
+
|
|
23
|
+
1. Open the Sentry project the agent created (or have them sign up at sentry.io).
|
|
24
|
+
2. Copy the **DSN** from Project Settings → Client Keys.
|
|
25
|
+
3. Paste when the agent asks — never paste into chat.
|
|
26
|
+
|
|
27
|
+
## Verify-before-advance
|
|
28
|
+
|
|
29
|
+
Trigger test error → Sentry shows the event → tell builder "You'll get an email when something breaks."
|
|
30
|
+
|
|
31
|
+
## Mobile
|
|
32
|
+
|
|
33
|
+
Same `@vybekiit/observability` interface; Expo uses Sentry React Native SDK when the mobile track-errors skill runs — follow Expo Sentry docs for native init if needed beyond the headless provider.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# seo-vybekiit
|
|
2
|
+
|
|
3
|
+
Use `resolveSeoProvider()` from `@vybekiit/seo` — see package README.
|
|
4
|
+
|
|
5
|
+
## Buyer app wiring
|
|
6
|
+
|
|
7
|
+
| Surface | Location |
|
|
8
|
+
|---|---|
|
|
9
|
+
| Metadata + OG | `src/lib/seo.ts` → `buildPageMetadata()`, `buildBlogGeo()` |
|
|
10
|
+
| JSON-LD | `src/components/vybe-json-ld.tsx` + `buildJsonLdBlogPosting()` / `buildJsonLdFaq()` |
|
|
11
|
+
| llms.txt | `app/llms.txt/route.ts` → `buildLlmsTxt()` |
|
|
12
|
+
| Sitemap | `app/sitemap.ts` — static paths + CMS blog slugs |
|
|
13
|
+
| Internal links | `suggestInternalLinks(hub, spokes)` — hub `/blog`, spokes per post |
|
|
14
|
+
|
|
15
|
+
## GEO / answer-engine optimization
|
|
16
|
+
|
|
17
|
+
Structure pages so ChatGPT, Perplexity, Claude, and Google AI Mode can cite them:
|
|
18
|
+
|
|
19
|
+
1. **Answer-first** — direct answer in the first 100–150 words before elaboration.
|
|
20
|
+
2. **FAQ blocks** — natural-language H3 questions; emit `FAQPage` JSON-LD via `buildJsonLdFaq()`.
|
|
21
|
+
3. **Article posts** — `type: 'article'` metadata + `BlogPosting` JSON-LD on `/blog/[slug]`.
|
|
22
|
+
4. **llms.txt** — curated page list at `/llms.txt`; pointer to `/llms-full.txt` for extended docs.
|
|
23
|
+
5. **Hub-spoke links** — blog index links to every post with keyword-rich anchors (not "click here").
|
|
24
|
+
6. **Open Graph** — `buildOpenGraph()` + `toNextMetadata()` for share cards and crawler context.
|
|
25
|
+
|
|
26
|
+
## Maintainer landing only (not buyer template)
|
|
27
|
+
|
|
28
|
+
- Bing / Brave Webmaster submission — manual, Wave B.
|
|
29
|
+
- Neutral competitor `/compare` spoke pages — marketing content on `apps/landing`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Platform wrapper: AWS SES (opt-in email)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-email` when `EMAIL_PROVIDER=ses`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://docs.aws.amazon.com/ses/
|
|
8
|
+
|
|
9
|
+
## Kit wiring
|
|
10
|
+
|
|
11
|
+
1. Email via `@vybekiit/email` → `resolveEmailProvider()` when `EMAIL_PROVIDER=ses`
|
|
12
|
+
2. Set AWS credentials and verified sender domain/address in `.env`
|
|
13
|
+
3. Wire sending through the provider interface; hook into sign-in codes, welcome, receipts as needed
|
|
14
|
+
4. Replace any `TODO(vybekiit): … — skill: setup-email` markers
|
|
15
|
+
|
|
16
|
+
## Verify-before-advance
|
|
17
|
+
|
|
18
|
+
- Send test email to builder; confirm arrival (check spam)
|
|
19
|
+
- Sender domain verified in the provider console before go-live
|