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,348 @@
|
|
|
1
|
+
# language.md — how to talk to the vibe coder
|
|
2
|
+
|
|
3
|
+
The vibe coder is **non-technical**. Every word you say to them comes from the plain column, never the
|
|
4
|
+
jargon column. This is a hard rule (see `AGENTS.md` → the contract).
|
|
5
|
+
|
|
6
|
+
How to use this file: when you're about to type a jargon term, find it below and say the **plain
|
|
7
|
+
phrase** instead. The *why it matters* column (where present) is for *you* — use it to decide what
|
|
8
|
+
the vibe coder actually needs to know, then say only that in plain words. Keep it skimmable; never read
|
|
9
|
+
a definition aloud.
|
|
10
|
+
|
|
11
|
+
## Core (the terms that come up most)
|
|
12
|
+
|
|
13
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| environment variable / env var | secret setting | the private values the backend needs (not in the add-on) |
|
|
16
|
+
| `.env` file | your secret settings file (on the backend) | secrets live on the web app, not in the browser add-on |
|
|
17
|
+
| backend / API | your web app / your app's online brain | where sign-in, data, and payments actually happen |
|
|
18
|
+
| deploy / deployment | put your app online / make it live | the web app must be live before the add-on can talk to it |
|
|
19
|
+
| database | where your app remembers things | nothing is saved without the backend |
|
|
20
|
+
| webhook | an automatic message between services | how a payment tells the app "they paid" |
|
|
21
|
+
| repository / repo / git | your project's folder | the folder that holds everything they're building |
|
|
22
|
+
| commit | save a checkpoint | a point they can always come back to |
|
|
23
|
+
| push | upload your saved work | sends their checkpoints somewhere safe |
|
|
24
|
+
| API key / token | an access key / a password for a service | proves the backend is allowed to use a service |
|
|
25
|
+
| authentication / auth | letting people sign in | so users have their own accounts |
|
|
26
|
+
| dependency / package | a building block I'm adding | a ready-made piece so we don't rebuild it |
|
|
27
|
+
|
|
28
|
+
## The browser add-on
|
|
29
|
+
|
|
30
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| Chrome extension / browser extension | the browser add-on | what people install in their browser |
|
|
33
|
+
| manifest | the add-on's ID card | tells the browser what the add-on can do |
|
|
34
|
+
| permissions | what the add-on is allowed to touch | you explain each in plain words before asking |
|
|
35
|
+
| popup | the little window when they click the icon | the main screen of the add-on |
|
|
36
|
+
| side panel | the panel that slides in from the side | another way to show the add-on's UI |
|
|
37
|
+
| content script | the part that runs on web pages | lets the add-on read or change a page when needed |
|
|
38
|
+
| background / service worker | the part that runs in the background | keeps the add-on working even when closed |
|
|
39
|
+
| unpacked / load unpacked | preview / try it locally | load the add-on on their computer for testing |
|
|
40
|
+
| extension store / Chrome Web Store | the extension store | where people find and install add-ons |
|
|
41
|
+
| developer registration | your extension-store account | the account required to publish (the agent handles setup) |
|
|
42
|
+
| MV3 / Manifest V3 | (don't say — use "browser add-on") | internal version label — invisible to the vibe coder |
|
|
43
|
+
|
|
44
|
+
## Accounts & sign-in
|
|
45
|
+
|
|
46
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| OAuth | sign in with Google / GitHub | one-tap sign-in, no new password |
|
|
49
|
+
| OTP / one-time code | the code we email you | proves it's really them |
|
|
50
|
+
| session | being signed in | why they stay logged in between visits |
|
|
51
|
+
| token (auth) | their sign-in pass | what keeps them signed in safely |
|
|
52
|
+
|
|
53
|
+
## Money
|
|
54
|
+
|
|
55
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| checkout | the payment page | where the customer actually pays (on the backend) |
|
|
58
|
+
| hosted checkout | the secure payment page we open in the browser | the simplest, safest way to take money |
|
|
59
|
+
| Merchant of Record / MoR | the service that handles tax for you | removes VAT/sales-tax fear |
|
|
60
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | they never need to file tax themselves on the default path |
|
|
61
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | they pick a price; you wire the id |
|
|
62
|
+
| subscription | recurring charge | money that repeats on a schedule |
|
|
63
|
+
| refund / chargeback | money returned / disputed charge | when a customer gets money back or disputes a charge |
|
|
64
|
+
|
|
65
|
+
## Data & files (on the backend)
|
|
66
|
+
|
|
67
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| table / schema | how your app organizes what it remembers | the shape of their saved info |
|
|
70
|
+
| query | looking something up in your app's memory | how the app finds a saved thing |
|
|
71
|
+
| cache | a quick-access copy | makes repeat actions feel instant |
|
|
72
|
+
| bucket / object storage | a place to keep uploaded files | where photos and attachments go |
|
|
73
|
+
| transactional email | the emails your app sends automatically | receipts, sign-in codes, confirmations |
|
|
74
|
+
|
|
75
|
+
## Building blocks (rarely needed, but translate if it slips out)
|
|
76
|
+
|
|
77
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| SDK | a service's official toolkit | the proper way I connect to a service |
|
|
80
|
+
| framework | the foundation your add-on is built on | the base I build everything on top of |
|
|
81
|
+
| build | getting your add-on ready to preview | packaging their work so the browser can load it |
|
|
82
|
+
| build error / stack trace | something needs fixing — here's the one thing to do | one clear next step, never a wall of red |
|
|
83
|
+
| CI | the automatic checker | catches problems before users ever see them |
|
|
84
|
+
| endpoint | one address your backend can talk to | one specific thing the web app can do |
|
|
85
|
+
| client | the add-on running in someone's browser | what the user actually sees and clicks |
|
|
86
|
+
| frontend | the part people see and click | the popup, panel, and pages |
|
|
87
|
+
| server | the always-on backend running your web app | where data and sign-in live |
|
|
88
|
+
|
|
89
|
+
## Planning together (before big builds)
|
|
90
|
+
|
|
91
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| grill / grill-me / design session | think it through together | sounds collaborative, not interrogative |
|
|
94
|
+
| CONTEXT.md / glossary | your app's word list / the words we agreed on | they never need to open the file |
|
|
95
|
+
| ADR / decision record | *(agent-internal — never say)* | agent-internal — never say |
|
|
96
|
+
| decision tree / trade-off | the choices we need to nail down | plain framing for alignment |
|
|
97
|
+
| skill / slash command | *(agent-internal — never say)* | agent-internal — never say |
|
|
98
|
+
|
|
99
|
+
## Setting up (first run)
|
|
100
|
+
|
|
101
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| GitHub invite / repo access | unlocking your copy of the kit | the one-time access that turns their purchase into a real project |
|
|
104
|
+
| `npx vybekiit` / scaffold / generate the project | setting up your add-on's starting point | the moment a blank folder becomes their add-on |
|
|
105
|
+
| clone / mirror | copying the starter into your project | how the starting point lands on their computer |
|
|
106
|
+
| `pnpm install` / dependencies download | getting the building blocks ready | a one-time wait while the ready-made pieces arrive |
|
|
107
|
+
| version bump / update the kit | getting the latest improvements (safe, nothing you built changes) | reassure them updates never touch their own work |
|
|
108
|
+
|
|
109
|
+
## Practice mode (before a real backend is wired)
|
|
110
|
+
|
|
111
|
+
> A freshly set-up project runs straight away on practice data — no accounts, no setup needed. The
|
|
112
|
+
> practice data lives on the web app behind the add-on, the same place a real one will later.
|
|
113
|
+
|
|
114
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
115
|
+
|---|---|---|
|
|
116
|
+
| local / in-memory data | practice data on your computer | temporary info so things work the moment it's set up — it resets, and that's expected while building |
|
|
117
|
+
| dev user / fake session | a starter sign-in just for you while we build | they're "signed in" without a real account yet, so they can see the signed-in screens |
|
|
118
|
+
| resets on restart | the practice info clears when we restart | reassure them nothing is broken — practice data is meant to come and go |
|
|
119
|
+
| "wire a real backend" | now your app remembers things for real / for your customers | the upgrade from practice to a permanent home for their data |
|
|
120
|
+
|
|
121
|
+
## Your app's real storage (when we set it up for real)
|
|
122
|
+
|
|
123
|
+
> This lives on the web app behind the add-on (the add-on never holds secrets — see "Core" above).
|
|
124
|
+
|
|
125
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
126
|
+
|---|---|---|
|
|
127
|
+
| provision / project create | creating your app's real storage | the step that gives their data a permanent home |
|
|
128
|
+
| region | where your app's data lives (closest to your customers) | a one-question choice so things feel fast for the people who use it |
|
|
129
|
+
| service-role key | the master key (kept secret, server-only) | the powerful key only the web app's behind-the-scenes part may ever hold |
|
|
130
|
+
| anon / public key | the public key | the safe-to-share key the add-on's screens use |
|
|
131
|
+
| RLS / row-level security | the rule that keeps each customer's data private to them | so one customer can never see another's information |
|
|
132
|
+
| connection string | the private address your app uses to reach its storage | the secret address that points the web app at its real storage |
|
|
133
|
+
|
|
134
|
+
## Safety & sign-in
|
|
135
|
+
|
|
136
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| chrome.identity | Chrome handles your Google login | the browser's built-in sign-in |
|
|
139
|
+
| Continue with Google | sign in or sign up with Google | one tap from the extension |
|
|
140
|
+
| rate limit | protection on your backend | the extension talks to a protected server |
|
|
141
|
+
|
|
142
|
+
## Settings & places
|
|
143
|
+
|
|
144
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| env file / `.env.example` | your secret settings file (and its template) | on the backend project, not in the add-on |
|
|
147
|
+
| locale | the user's language and region | so the add-on speaks each person's language |
|
|
148
|
+
| RTL / right-to-left | apps that read right-to-left (Hebrew, Arabic) | the layout flips automatically for them |
|
|
149
|
+
|
|
150
|
+
## Service names — never speak these
|
|
151
|
+
|
|
152
|
+
The kit can run on different services under the hood. **Never name the underlying service to the
|
|
153
|
+
builder.** They chose a goal, not a technology — you pick the service and keep it invisible.
|
|
154
|
+
|
|
155
|
+
- Never say **Chrome, WXT, MV3, Google, Supabase, MongoDB, AWS, Cloudflare, Vercel, Wrangler,
|
|
156
|
+
Stripe, PayPal, Lemon Squeezy, Better Auth, Resend, GitHub** (or any other provider name). Say
|
|
157
|
+
**"the browser add-on"**, **"the extension store"**, **"your web app"**, **"your database"**,
|
|
158
|
+
**"your email"**, **"your payment service"** instead.
|
|
159
|
+
- This holds even when a provider's own screen is open in front of the vibe coder — guide them by what
|
|
160
|
+
they see and click ("the blue Authorize button"), not by the service's name.
|
|
161
|
+
|
|
162
|
+
## Right-to-left languages
|
|
163
|
+
|
|
164
|
+
If the vibe coder writes to you in Hebrew or Arabic, reply in their language. Their add-on already
|
|
165
|
+
mirrors its layout automatically for RTL users — you don't need to do anything special for that.
|
|
166
|
+
|
|
167
|
+
<!-- vybekiit:generated:start tone -->
|
|
168
|
+
## Tone
|
|
169
|
+
|
|
170
|
+
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync -->
|
|
171
|
+
|
|
172
|
+
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
173
|
+
- Give the buyer one manual step at a time. Continue work you can do yourself.
|
|
174
|
+
- Always end a manual step by telling them **exactly** what to click/copy and what you'll do next.
|
|
175
|
+
- Celebrate verified wins. Vocabulary describes actions; it never proves completion. Inspect before saying work is saved, connected, checked, or online.
|
|
176
|
+
- **No em dashes (`—`).** They read like AI filler. In chat and body copy, use a period, comma, colon, or parentheses instead. **UI titles, nav labels, and section headings:** short phrases only; no em dash and no trailing period, comma, or ellipsis. Split into two lines or two i18n keys instead. Hyphens in compound words (`build-time`) are fine.
|
|
177
|
+
<!-- vybekiit:generated:end tone -->
|
|
178
|
+
|
|
179
|
+
<!-- vybekiit:generated:start sdlc-vocabulary -->
|
|
180
|
+
## Quality and saving your work
|
|
181
|
+
|
|
182
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
183
|
+
|---|---|---|
|
|
184
|
+
| test / unit test | check that it works | reassures them without test-suite vocabulary |
|
|
185
|
+
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
186
|
+
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
187
|
+
| quality smoke / typecheck | check the app for problems | onboarding and pre-ship reassurance |
|
|
188
|
+
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
189
|
+
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
190
|
+
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
191
|
+
| Playwright / E2E / headless browser | check the app like a visitor would | UI walkthrough without tool names |
|
|
192
|
+
| back up / save progress online | save a copy online | never say GitHub — stays in service ban list |
|
|
193
|
+
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
194
|
+
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
195
|
+
<!-- vybekiit:generated:end sdlc-vocabulary -->
|
|
196
|
+
|
|
197
|
+
<!-- vybekiit:generated:start ui-vocabulary -->
|
|
198
|
+
## UI building blocks
|
|
199
|
+
|
|
200
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
201
|
+
|---|---|---|
|
|
202
|
+
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
203
|
+
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
204
|
+
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
205
|
+
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
206
|
+
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
207
|
+
| SEO | how search engines find you | discoverability in plain words |
|
|
208
|
+
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
209
|
+
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
210
|
+
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
211
|
+
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
212
|
+
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
213
|
+
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
214
|
+
<!-- vybekiit:generated:end ui-vocabulary -->
|
|
215
|
+
|
|
216
|
+
<!-- vybekiit:generated:start tool-vocabulary -->
|
|
217
|
+
## Your assistant (never name the tool)
|
|
218
|
+
|
|
219
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
220
|
+
|---|---|---|
|
|
221
|
+
| Claude Code / Codex / Cursor | your assistant | they picked an outcome, not a tool — naming the product breaks the "I just talk to one helper" feel |
|
|
222
|
+
| the CLI / the terminal / the command line | the part I work in (you don't need to touch it) | the black text screen is mine to drive; surfacing it invites them to poke and get stuck |
|
|
223
|
+
| the IDE / the editor | where your app is being built | the window they have open — call it by what it does, not its product name |
|
|
224
|
+
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
225
|
+
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
226
|
+
| context window | how much I can keep in mind at once | why I sometimes recap or ask them to confirm where we are — not a setting they manage |
|
|
227
|
+
| rules file / AGENTS.md / .cursor/rules | my instructions for your project | the file that tells me how to behave here — they never need to open or edit it |
|
|
228
|
+
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
229
|
+
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
230
|
+
| pnpm / npm / package manager | getting the building blocks ready | one-time install wait — never name the package manager |
|
|
231
|
+
| Terminal app (when they must open it) | the Terminal app: the window where you paste the one line I give you | only for a one-time setup step; give the exact line to paste and what they should see after |
|
|
232
|
+
| JSON / .json file | a settings file | plain text the app reads; they never edit it by hand |
|
|
233
|
+
| API / endpoint / REST | the connection to [service] | how the app talks to another service; name what it does, not the plumbing |
|
|
234
|
+
| GitHub / repo / repository | your online copy of the code | where their work is saved online; the service name stays invisible |
|
|
235
|
+
| Chrome profile / debugging port / Chromium | your Chrome browser | the browser they already use; the setup details stay invisible |
|
|
236
|
+
| browser automation / CDP / headless browser | the browser helper: I open Chrome and copy the keys for you | they only sign in when asked; keys go straight into the app settings and are never shown |
|
|
237
|
+
| GitHub Copilot / Copilot | your assistant | deliberately out of scope — collapse like other assistant products if it slips out |
|
|
238
|
+
<!-- vybekiit:generated:end tool-vocabulary -->
|
|
239
|
+
|
|
240
|
+
<!-- vybekiit:generated:start failure-vocabulary -->
|
|
241
|
+
## When something goes wrong
|
|
242
|
+
|
|
243
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
244
|
+
|---|---|---|
|
|
245
|
+
| bug | something isn't working right | plain framing before the fix |
|
|
246
|
+
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
247
|
+
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
248
|
+
| MCP connection failed / tool error | I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment. | never say MCP; run vybekiit doc-fallback then follow official docs |
|
|
249
|
+
| 400 / bad input / bad request | something's missing or mistyped — I'll fix the form or the data we're sending | client-side fix framing without HTTP jargon |
|
|
250
|
+
| 401 / unauthorized / not signed in | you'll need to sign in first — I'll walk you through it | routes to add-signin without status codes |
|
|
251
|
+
| 403 / forbidden | that action isn't allowed from here — I'll fix the setup | origin or permission block in plain words |
|
|
252
|
+
| 404 / not found | I couldn't find that — I'll check the link or data | missing resource without HTTP jargon |
|
|
253
|
+
| 409 / conflict | that already exists — I'll adjust what we're saving | duplicate or version clash |
|
|
254
|
+
| 422 / validation error | something in the form needs a quick fix — I'll point at it | field-level validation without schema jargon |
|
|
255
|
+
| 429 / too many requests / rate limit | too many tries too fast — wait a moment and I'll retry | rate limit without Retry-After jargon |
|
|
256
|
+
| 500 / server error | something went wrong on our side — I'll fix it and try again | server fault without stack traces |
|
|
257
|
+
| 502 / upstream failed | the payment service hiccuped — I'll retry or switch to practice mode | provider outage with a next step |
|
|
258
|
+
| 503 / service unavailable | that service is briefly down — I'll retry in a moment | temporary outage without availability jargon |
|
|
259
|
+
<!-- vybekiit:generated:end failure-vocabulary -->
|
|
260
|
+
|
|
261
|
+
<!-- vybekiit:generated:start payments-vocabulary -->
|
|
262
|
+
## Payments & tax
|
|
263
|
+
|
|
264
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
265
|
+
|---|---|---|
|
|
266
|
+
| Merchant of Record / MoR | the service that handles tax for you | LS is default because it removes VAT/sales-tax fear |
|
|
267
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | |
|
|
268
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | |
|
|
269
|
+
| subscription | recurring charge | |
|
|
270
|
+
| refund / chargeback | money returned / disputed charge | |
|
|
271
|
+
<!-- vybekiit:generated:end payments-vocabulary -->
|
|
272
|
+
|
|
273
|
+
<!-- vybekiit:generated:start people-vocabulary -->
|
|
274
|
+
## Who you are talking to
|
|
275
|
+
|
|
276
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
277
|
+
|---|---|---|
|
|
278
|
+
| builder (legacy) | you / the vibe coder | builder is deprecated — vibe coder is the canonical identity |
|
|
279
|
+
| buyer (commerce) | you | purchase/legal identity only — never narrate commerce jargon to the vibe coder |
|
|
280
|
+
| vibe coder | you | canonical buyer-facing identity when addressing them directly |
|
|
281
|
+
| developer / engineer / programmer / coder | *(agent-internal — never say)* | never frame the vibe coder as a developer — describe product outcomes instead |
|
|
282
|
+
| software engineer | *(agent-internal — never say)* | competitor framing — VybeKiit serves vibe coders, not engineers |
|
|
283
|
+
<!-- vybekiit:generated:end people-vocabulary -->
|
|
284
|
+
|
|
285
|
+
<!-- vybekiit:generated:start agent-runtime-vocabulary -->
|
|
286
|
+
## Your assistant at work (runtime)
|
|
287
|
+
|
|
288
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
289
|
+
|---|---|---|
|
|
290
|
+
| subagent / background agent / Task | I'm looking into that part now | never say parallel/background — outcome-only |
|
|
291
|
+
| thinking / extended thinking | give me a moment to figure this out | visible reasoning stays invisible |
|
|
292
|
+
| plan mode | let me map this out before we build | only if they ask why you are not coding yet |
|
|
293
|
+
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
294
|
+
| tool call / function calling | I'm checking something for you | mechanism stays invisible |
|
|
295
|
+
| approve / permission / allow once | your assistant needs you to click **Allow** — that's normal | the one moment we name the UI button, not the mechanism |
|
|
296
|
+
| compaction / summarizing context | I'm catching up on where we are | if they notice a pause after a long session |
|
|
297
|
+
| memory / memories | *(agent-internal — never say)* | agent-internal — never say |
|
|
298
|
+
| Composer | your assistant | Cursor product name — collapse like Claude Code |
|
|
299
|
+
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
300
|
+
| sandbox | *(agent-internal — never say)* | agent-internal — no useful plain phrase |
|
|
301
|
+
<!-- vybekiit:generated:end agent-runtime-vocabulary -->
|
|
302
|
+
|
|
303
|
+
<!-- vybekiit:generated:start code-edit-vocabulary -->
|
|
304
|
+
## When you change their app (outcome-only)
|
|
305
|
+
|
|
306
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
307
|
+
|---|---|---|
|
|
308
|
+
| diff / patch / edit | I'm updating [the sign-in page / how payments work] | describe the user-visible outcome, never the codebase change |
|
|
309
|
+
| refactor | I'm cleaning up how that part works | outcome-only — never say refactor even with a translation |
|
|
310
|
+
| type error / compile error | something needs a small fix first | one clear next step before they see red in the IDE |
|
|
311
|
+
| file path / src/... | *(agent-internal — never say)* | never say — use UI vocabulary screen/feature names instead |
|
|
312
|
+
| component / hook / props / state | the [button / sign-in screen / form] | name what they see on screen, not React internals |
|
|
313
|
+
| import / module | adding a building block | complements dependency/package in Core section |
|
|
314
|
+
| schema / zod / validation | the rules for what data is allowed | plain framing for data shape rules |
|
|
315
|
+
| API route / server action | the behind-the-scenes part that handles [X] | outcome-only — never name route files |
|
|
316
|
+
| TypeScript / JavaScript | *(agent-internal — never say)* | agent-internal — never say |
|
|
317
|
+
| monorepo / workspace / turbo | *(agent-internal — never say)* | agent-internal — never say |
|
|
318
|
+
<!-- vybekiit:generated:end code-edit-vocabulary -->
|
|
319
|
+
|
|
320
|
+
<!-- vybekiit:generated:start vybekiit-layer-vocabulary -->
|
|
321
|
+
## How the kit works (invisible to them)
|
|
322
|
+
|
|
323
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
324
|
+
|---|---|---|
|
|
325
|
+
| skill / buyer skill / goal skill | the steps for this goal / what we're doing right now | invisible operations — never narrate skill architecture |
|
|
326
|
+
| update-kit / sync-agent-layer / npx skills update | getting the latest improvements | three-channel update collapsed to one plain phrase |
|
|
327
|
+
| verify-before-advance | making sure it worked before we move on | contract rule in plain words |
|
|
328
|
+
| production checklist | your go-live checklist | they may hear the filename concept — plain name only |
|
|
329
|
+
| decision log | what we decided and why | append-only section they never need to open |
|
|
330
|
+
| doc-fallback / official source fallback | I'm checking the official setup guide | pairs with failure vocabulary MCP row |
|
|
331
|
+
| adapter / provider / interface | the service your app uses | never name the adapter pattern — outcome only |
|
|
332
|
+
| platform skill / goal-index / orchestration | *(agent-internal — never say)* | agent-internal — never narrate Layer B architecture |
|
|
333
|
+
| feature readiness / extension skill / skill gap | *(agent-internal — never say)* | agent-internal — never narrate gap-fill mechanics |
|
|
334
|
+
| session bootstrap / agentic toolchain | *(agent-internal — never say)* | agent-internal — never narrate agent read order |
|
|
335
|
+
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
336
|
+
<!-- vybekiit:generated:end vybekiit-layer-vocabulary -->
|
|
337
|
+
|
|
338
|
+
<!-- vybekiit:generated:start agent-internal-vocabulary -->
|
|
339
|
+
## Agent-internal — never say
|
|
340
|
+
|
|
341
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
342
|
+
|---|---|---|
|
|
343
|
+
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
344
|
+
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
345
|
+
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
346
|
+
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" or "location in code" in the handoff only |
|
|
347
|
+
| JWT / JWKS | *(agent-internal — never say)* | agent-internal — never say |
|
|
348
|
+
<!-- vybekiit:generated:end agent-internal-vocabulary -->
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Platform skills — extension template (agent-only)
|
|
2
|
+
|
|
3
|
+
Layer B execution knowledge. Chrome Extension API docs are source of truth — no custom WXT skill yet.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Chrome Extension APIs: https://developer.chrome.com/docs/extensions
|
|
8
|
+
- Manifest V3: https://developer.chrome.com/docs/extensions/mv3/intro/
|
|
9
|
+
- Chrome Web Store: https://developer.chrome.com/docs/webstore
|
|
10
|
+
- WXT (framework): https://wxt.dev — reference only in wrapper until official skills exist
|
|
11
|
+
- Publish automation: `@vybekiit/browser-automation` (`extension` / `cws` domain)
|
|
12
|
+
|
|
13
|
+
## Wrapper index
|
|
14
|
+
|
|
15
|
+
| Wrapper | Invoked by buyer skill |
|
|
16
|
+
|---|---|
|
|
17
|
+
| `chrome-extension-vybekiit.md` | all extension work + `publish-extension` |
|
|
18
|
+
| `code-hygiene-vybekiit.md` | generic coding (invisible) |
|
|
19
|
+
| `planning-vybekiit.md` | `plan-my-idea` |
|
|
20
|
+
| `observability-vybekiit.md` | generic coding + `track-errors` |
|
|
21
|
+
| `sentry-vybekiit.md` | `track-errors` |
|
|
22
|
+
| `ui-consistency-vybekiit.md` | generic UI work |
|
|
23
|
+
| `testing-vybekiit.md` | generic coding (invisible) |
|
|
24
|
+
| `format-lint-vybekiit.md` | generic coding (invisible) |
|
|
25
|
+
| `react-patterns-vybekiit.md` | generic coding (invisible) |
|
|
26
|
+
| `responsive-vybekiit.md` | popup / options UI layouts |
|
|
27
|
+
| `github-vybekiit.md` | `back-up-my-code` |
|
|
28
|
+
| `playwright-vybekiit.md` | UI walkthrough (when scaffold ships) |
|
|
29
|
+
| `ci-vybekiit.md` | push / PR flow (invisible) |
|
|
30
|
+
| `ship-via-pr-vybekiit.md` | save progress |
|
|
31
|
+
| `i18n-vybekiit.md` | generic UI / `add-language` | Chrome `_locales/` + `lib/i18n.ts` |
|
|
32
|
+
| `env-secrets-vybekiit.md` | secret handling |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Platform wrapper: browser automation
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Dashboard Playwright CLI for providers without API or MCP coverage.
|
|
4
|
+
|
|
5
|
+
## Package
|
|
6
|
+
|
|
7
|
+
`@vybekiit/browser-automation` — bin: **`vybekiit-automate`**
|
|
8
|
+
|
|
9
|
+
| Target | Profile | Purpose |
|
|
10
|
+
|--------|---------|---------|
|
|
11
|
+
| `ls` | `$HOME/.ls-chrome-profile` | Lemon Squeezy (fresh-squeezy) |
|
|
12
|
+
| `cws` | `$HOME/.cws-chrome-profile` | Chrome Web Store extension publish |
|
|
13
|
+
| `cf` | `$HOME/.cf-chrome-profile` | Cloudflare access key |
|
|
14
|
+
| `db` | `$HOME/.supabase-chrome-profile` | Supabase project keys (reads them with the `supabase` CLI) |
|
|
15
|
+
| `google` | `$HOME/.google-chrome-profile` | Google sign-in client (`google oauth`) |
|
|
16
|
+
|
|
17
|
+
Key-paste helpers (no browser): `openai`, `anthropic`, `resend`, `sentry` (`setup`), and `github` (reads the `gh` token).
|
|
18
|
+
The paste ones need the builder: ask them to run `vybekiit-automate <name> setup` in their own terminal.
|
|
19
|
+
It asks for the key with hidden typing. With `--json` and no key it stops and says so.
|
|
20
|
+
|
|
21
|
+
## CLI modes
|
|
22
|
+
|
|
23
|
+
**Agent mode** — non-interactive, structured stdout:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
vybekiit-automate ls setup --json --name "Pro" --price-cents 2900 --mode test --webhook-url "https://…"
|
|
27
|
+
vybekiit-automate ls standby --json
|
|
28
|
+
vybekiit-automate cws publish --json # CWS verbs also exported programmatically
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Flags: `--json` (never prompt), `--yes` (skip confirms), `CI=1` or non-TTY requires all flags.
|
|
32
|
+
|
|
33
|
+
**Wizard mode** — TTY + missing flags → `@clack/prompts` interactive flow.
|
|
34
|
+
|
|
35
|
+
## Rules
|
|
36
|
+
|
|
37
|
+
- Every `setup` saves keys straight into the app `.env` (nearest folder with `package.json`) and prints only the key names. Never print, read back or paste key values into chat.
|
|
38
|
+
- **Blind navigation only** — selectors/DOM; never send dashboard screenshots to the model
|
|
39
|
+
- Chrome starts on its own in the right profile. The builder **only signs in** (LS, Cloudflare, Google); the agent runs all other steps
|
|
40
|
+
- Never say "Playwright", "DOM", "browser automation", or "fresh-squeezy" to the builder
|
|
41
|
+
|
|
42
|
+
## Legacy
|
|
43
|
+
|
|
44
|
+
None — `@vybekiit/browser-automation` is the sole SSOT.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Platform wrapper: Chrome extension (WXT + MV3)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Follow for all extension implementation and `publish-extension` buyer skill steps.
|
|
4
|
+
|
|
5
|
+
## Official upstream (source of truth — prefer over training data)
|
|
6
|
+
|
|
7
|
+
- Extension platform: https://developer.chrome.com/docs/extensions
|
|
8
|
+
- Manifest V3: https://developer.chrome.com/docs/extensions/mv3/intro/
|
|
9
|
+
- Permissions: https://developer.chrome.com/docs/extensions/mv3/declare_permissions/ — **least privilege**
|
|
10
|
+
- Messaging: https://developer.chrome.com/docs/extensions/mv3/messaging/
|
|
11
|
+
- Chrome Web Store publish: https://developer.chrome.com/docs/webstore/publish/
|
|
12
|
+
- WXT framework docs: https://wxt.dev (scaffold/build only — API facts from Chrome docs)
|
|
13
|
+
|
|
14
|
+
## Kit wiring
|
|
15
|
+
|
|
16
|
+
1. Template uses **WXT + shadcn** (shared with web); UI reads `@vybekiit/tokens`
|
|
17
|
+
2. Request **minimum host permissions** — default template uses narrow patterns only
|
|
18
|
+
3. Sign-in, data, payments: extension calls the builder's **backend web app** (same as mobile) — no secrets in the extension bundle
|
|
19
|
+
4. **Google sign-in:** use [`chrome.identity`](https://developer.chrome.com/docs/extensions/reference/api/identity) — `getAuthToken` or `launchWebAuthFlow`. OAuth client id in manifest [`oauth2`](https://developer.chrome.com/docs/extensions/mv3/manifest/oauth2/) — never secrets in code
|
|
20
|
+
5. Store publish: `@vybekiit/browser-automation` + `vybekiit-automate extension …` + listing SSOT in `.vybekiit/store/extension/cws-listing.ts`
|
|
21
|
+
6. Re-sync live store: `vybekiit-automate extension import --json` after setting `chromeWebStoreId` in `.vybekiit/store/extension/cws.json`
|
|
22
|
+
7. Capabilities: run `configure-capabilities` skill when adding features — least privilege, invisible to builder
|
|
23
|
+
|
|
24
|
+
## Verify-before-advance
|
|
25
|
+
|
|
26
|
+
- Extension loads unpacked in Chrome without console errors
|
|
27
|
+
- Permissions match declared manifest only
|
|
28
|
+
- After publish verb: listing visible in CWS developer dashboard
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Platform wrapper: online checker / CI (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** The buyer repo's GitHub Actions workflow — builder hears *"the automatic checker online"*.
|
|
4
|
+
|
|
5
|
+
## What runs
|
|
6
|
+
|
|
7
|
+
File: `.github/workflows/ci.yml`
|
|
8
|
+
|
|
9
|
+
- **Matrix:** ubuntu-latest, macos-latest, windows-latest
|
|
10
|
+
- **Steps:** `pnpm install --frozen-lockfile` → `pnpm verify` (same as local pre-push)
|
|
11
|
+
- **Playwright:** ubuntu job only, when the template ships UI walkthrough tests
|
|
12
|
+
- **Cache:** `setup-node` with `cache: pnpm` — key includes lockfile hash automatically
|
|
13
|
+
|
|
14
|
+
## Agent responsibilities
|
|
15
|
+
|
|
16
|
+
1. Fix red CI before merging a PR — never tell the builder to read workflow logs; translate to one plain fix.
|
|
17
|
+
2. When opening PRs (`ship-via-pr-vybekiit.md`), wait for all three OS jobs green before `gh pr merge`.
|
|
18
|
+
3. Optional: enable branch protection requiring CI pass — use `gh` if the builder's account allows.
|
|
19
|
+
|
|
20
|
+
## Pre-push alignment
|
|
21
|
+
|
|
22
|
+
Local `.husky/pre-push` runs the same `pnpm verify` (+ optional e2e) so pushes rarely fail CI.
|
|
23
|
+
|
|
24
|
+
## Verify
|
|
25
|
+
|
|
26
|
+
All matrix jobs green on the PR before merge.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Platform wrapper: client state (agent-only)
|
|
2
|
+
|
|
3
|
+
**Templates use `@vybekiit/client-state` for all server-backed reads/writes on the client.**
|
|
4
|
+
|
|
5
|
+
## Surfaces
|
|
6
|
+
|
|
7
|
+
| Surface | API cache | UI-only prefs |
|
|
8
|
+
|---------|-----------|---------------|
|
|
9
|
+
| web | TanStack Query | Zustand via `createUiStore()` |
|
|
10
|
+
| mobile | TanStack Query + optional MMKV persist | MMKV via `useStorage` |
|
|
11
|
+
| extension | TanStack Query | Zustand / localStorage |
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
- **Do:** `useQuery` / `useMutation` for API data; `useStorage` for wizard step, sidebar, drafts
|
|
16
|
+
- **Don't:** raw `fetch` + `useState` for server records; Zustand/MMKV for server data
|
|
17
|
+
- **Don't:** Redis or server-side cache for buyers — client cache handles UX
|
|
18
|
+
|
|
19
|
+
## Config (agent-only)
|
|
20
|
+
|
|
21
|
+
`CLIENT_STATE_PERSIST=on|off`, `CLIENT_STATE_QUERY_STALE_SECONDS` — read silently from `.env`.
|
|
22
|
+
|
|
23
|
+
## Bootstrap
|
|
24
|
+
|
|
25
|
+
Each template wraps root layout with `ClientStateProvider` from `src/lib/client-state.tsx`.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Platform wrapper: code hygiene (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invisible guardrails for every coding task — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Before you write code
|
|
6
|
+
|
|
7
|
+
1. **Check before create** — search `src/lib/` and `@vybekiit/*` before adding a helper; extend existing code if ≥80% overlap.
|
|
8
|
+
2. **One home per concern** — auth → `auth-client.ts`, billing → `billing-client.ts`, HTTP → `fetch-json.ts`, logging → `logger.ts`. Never add `utils-foo.ts`.
|
|
9
|
+
3. **Use the kit logger** — `import { log } from '@/lib/logger'` (web) or `@/lib/logger` (mobile). Never `console.log` in app/API code (tests may use console).
|
|
10
|
+
4. **KISS** — no one-off wrappers around kit packages; validate API bodies with zod at the route boundary only.
|
|
11
|
+
5. **SSOT** — secrets in `.env` only; business constants in one file per domain (e.g. `plans.ts`).
|
|
12
|
+
|
|
13
|
+
Read `src/lib/README.md` for the utility registry.
|
|
14
|
+
|
|
15
|
+
## Duplicate detection
|
|
16
|
+
|
|
17
|
+
Before adding a function:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
rg "function <name>" src/lib/ app/
|
|
21
|
+
rg "export (async )?function" src/lib/
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Flag and merge when the same name or a 10+ line block appears twice. Consolidate validation into shared zod schemas, not copy-pasted checks in routes.
|
|
25
|
+
|
|
26
|
+
## Forbidden
|
|
27
|
+
|
|
28
|
+
- Second auth/billing/fetch wrapper
|
|
29
|
+
- Inline date/currency formatters in components (add to an existing lib file)
|
|
30
|
+
- Raw SQL or string-built queries (use `@vybekiit/db`)
|
|
31
|
+
|
|
32
|
+
## React-specific
|
|
33
|
+
|
|
34
|
+
Follow pinned `vercel-react-best-practices` for event-listener dedup, RSC prop dedup, and effect placement.
|
|
35
|
+
|
|
36
|
+
## Verify
|
|
37
|
+
|
|
38
|
+
After refactors: tests green · `node scripts/checkNoConsole.mjs` (web) · no duplicate function names in `src/lib/`.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Platform wrapper: data modeling (agent-only)
|
|
2
|
+
|
|
3
|
+
**Invoked by:** `design-my-data` buyer skill · inline from `save-data` for trivial cases.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
| Situation | Action |
|
|
8
|
+
|-----------|--------|
|
|
9
|
+
| Multiple entities or relationships | Run `design-my-data` first |
|
|
10
|
+
| Single simple list/table | Inline `planDataModel()` in `save-data` |
|
|
11
|
+
| Builder already agreed on shape | Jump to `save-data` |
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Infer entities from product language (customers, orders, posts, etc.)
|
|
16
|
+
2. `planDataModel(entities, DATA_PROVIDER)` — PK/FK stay in agent output only
|
|
17
|
+
3. Read `buyerSummary` to builder; confirm
|
|
18
|
+
4. `save-data` provisions via MCP path for active provider (merge via `agent/mcp-setup.md`):
|
|
19
|
+
- Supabase → `mcp-supabase.json` + Supabase CLI
|
|
20
|
+
- Neon → `mcp-neon.json`
|
|
21
|
+
- Firebase → `mcp-firebase.json`
|
|
22
|
+
|
|
23
|
+
## Never say to builder
|
|
24
|
+
|
|
25
|
+
primary key, foreign key, migration, schema, normalization, SQL, NoSQL
|
|
26
|
+
|
|
27
|
+
## MCP tier
|
|
28
|
+
|
|
29
|
+
Document login-once paths in `onboarding.md`. MongoDB and AWS are advanced (maintainer docs only).
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Platform wrapper: secret settings / `.env` (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Keep secret values invisible — the builder never hears key names as passwords in chat.
|
|
4
|
+
|
|
5
|
+
## Hard rules
|
|
6
|
+
|
|
7
|
+
1. **Never read `.env` aloud** or paste its values into chat, commits, or PR descriptions.
|
|
8
|
+
2. **Reference keys from `.env.example` only** — say *"the payment key in your secret settings file"* using the plain label from `.env.example` comments, not the raw value.
|
|
9
|
+
3. **If the builder pastes a secret in chat**, warn once: *"Don't paste secrets here — paste it into your secret settings file on your machine instead."* Then guide them to open `.env` locally.
|
|
10
|
+
4. **Doctor must pass** `.cursorignore` listing `.env` — run `vybekiit doctor` if unsure.
|
|
11
|
+
5. **Settings vs secrets.** `settings.env` holds settings that are not secret (which services the app uses, public ids, web addresses) and is saved with the code. A key listed there is set there. Never put a secret in `settings.env`; secrets and private values stay in `.env`.
|
|
12
|
+
|
|
13
|
+
## What agents can see
|
|
14
|
+
|
|
15
|
+
Cursor, Claude Code, and Codex may still read `.env` if ignore rules fail — treat every value as redacted even when visible. Never reproduce secret strings; use `••••••` or *"already set"* when confirming.
|
|
16
|
+
|
|
17
|
+
## Verify
|
|
18
|
+
|
|
19
|
+
- `.cursorignore` includes `.env`
|
|
20
|
+
- `.gitignore` includes `.env`
|
|
21
|
+
- `git status` never shows `.env` staged
|