vybekiit 0.4.0 → 0.6.0
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 +840 -296
- package/dist/global-skills/add-ai/SKILL.md +53 -0
- package/dist/global-skills/add-analytics/SKILL.md +65 -0
- package/dist/global-skills/add-app-clip/SKILL.md +280 -0
- package/dist/global-skills/add-app-clip/agents/openai.yaml +4 -0
- package/dist/global-skills/add-app-clip/references/native-module.md +96 -0
- package/dist/global-skills/add-blog/SKILL.md +49 -0
- package/dist/global-skills/add-crud/SKILL.md +28 -0
- package/dist/global-skills/add-files/SKILL.md +65 -0
- package/dist/global-skills/add-images/SKILL.md +64 -0
- package/dist/global-skills/add-language/SKILL.md +44 -0
- package/dist/global-skills/add-notifications/SKILL.md +61 -0
- package/dist/global-skills/add-realtime/SKILL.md +49 -0
- package/dist/global-skills/add-route/SKILL.md +28 -0
- package/dist/global-skills/add-search/SKILL.md +43 -0
- package/dist/global-skills/add-signin/SKILL.md +78 -0
- package/dist/global-skills/add-teams/SKILL.md +64 -0
- package/dist/global-skills/add-upload/SKILL.md +27 -0
- package/dist/global-skills/aws-cdk/SKILL.md +72 -0
- package/dist/global-skills/aws-cdk/references/bootstrap-and-project-setup.md +257 -0
- package/dist/global-skills/aws-cdk/references/compliance-and-drift.md +193 -0
- package/dist/global-skills/aws-cdk/references/construct-patterns.md +315 -0
- package/dist/global-skills/aws-cdk/references/import-and-migrate.md +184 -0
- package/dist/global-skills/aws-cdk/references/refactor-and-prevent-replacement.md +198 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-credentials.md +183 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-deployment.md +293 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-synth.md +274 -0
- package/dist/global-skills/aws-cdk/references/v1-to-v2-migration.md +119 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +88 -0
- package/dist/global-skills/aws-cloudformation/references/author-cloudformation-best-practices.script.md +179 -0
- package/dist/global-skills/aws-cloudformation/references/check-cloudformation-template-compliance.script.md +159 -0
- package/dist/global-skills/aws-cloudformation/references/cloudformation-pre-deploy-validation.script.md +217 -0
- package/dist/global-skills/aws-cloudformation/references/deploy-with-express-mode.script.md +271 -0
- package/dist/global-skills/aws-cloudformation/references/lookup-resource-properties.script.md +130 -0
- package/dist/global-skills/aws-cloudformation/references/troubleshoot-deployment.script.md +200 -0
- package/dist/global-skills/aws-cloudformation/references/validate-cloudformation-template.script.md +135 -0
- package/dist/global-skills/aws-serverless/SKILL.md +51 -0
- package/dist/global-skills/aws-serverless/assets/powertools-handler.py +49 -0
- package/dist/global-skills/aws-serverless/references/api-gateway.md +553 -0
- package/dist/global-skills/aws-serverless/references/architecture.md +262 -0
- package/dist/global-skills/aws-serverless/references/concurrency.md +200 -0
- package/dist/global-skills/aws-serverless/references/deployment.md +94 -0
- package/dist/global-skills/aws-serverless/references/event-sources.md +484 -0
- package/dist/global-skills/aws-serverless/references/lambda.md +548 -0
- package/dist/global-skills/aws-serverless/references/orchestration.md +449 -0
- package/dist/global-skills/aws-serverless/references/production.md +493 -0
- package/dist/global-skills/aws-serverless/references/troubleshooting.md +711 -0
- package/dist/global-skills/back-up-my-code/SKILL.md +48 -0
- package/dist/global-skills/better-auth-best-practices/SKILL.md +182 -0
- package/dist/global-skills/better-auth-security-best-practices/SKILL.md +432 -0
- package/dist/global-skills/building-native-ui/SKILL.md +377 -0
- package/dist/global-skills/building-native-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/building-native-ui/references/animations.md +220 -0
- package/dist/global-skills/building-native-ui/references/controls.md +270 -0
- package/dist/global-skills/building-native-ui/references/form-sheet.md +253 -0
- package/dist/global-skills/building-native-ui/references/gradients.md +106 -0
- package/dist/global-skills/building-native-ui/references/icons.md +213 -0
- package/dist/global-skills/building-native-ui/references/media.md +198 -0
- package/dist/global-skills/building-native-ui/references/route-structure.md +229 -0
- package/dist/global-skills/building-native-ui/references/search.md +248 -0
- package/dist/global-skills/building-native-ui/references/storage.md +121 -0
- package/dist/global-skills/building-native-ui/references/tabs.md +433 -0
- package/dist/global-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/dist/global-skills/building-native-ui/references/visual-effects.md +197 -0
- package/dist/global-skills/building-native-ui/references/webgpu-three.md +605 -0
- package/dist/global-skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/dist/global-skills/buy-domain/SKILL.md +64 -0
- package/dist/global-skills/check-safety/SKILL.md +94 -0
- package/dist/global-skills/claimable-postgres/SKILL.md +249 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +38 -0
- package/dist/global-skills/connect-account/SKILL.md +64 -0
- package/dist/global-skills/connect-account-backend/SKILL.md +41 -0
- package/dist/global-skills/create-auth-skill/SKILL.md +321 -0
- package/dist/global-skills/design-my-data/SKILL.md +48 -0
- package/dist/global-skills/doctor/SKILL.md +84 -0
- package/dist/global-skills/eas-app-stores/SKILL.md +152 -0
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/dist/global-skills/eas-app-stores/references/ios-app-store.md +371 -0
- package/dist/global-skills/eas-app-stores/references/play-store.md +246 -0
- package/dist/global-skills/eas-app-stores/references/testflight.md +58 -0
- package/dist/global-skills/eas-app-stores/references/workflows.md +120 -0
- package/dist/global-skills/eas-hosting/SKILL.md +423 -0
- package/dist/global-skills/eas-hosting/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-observe/SKILL.md +32 -0
- package/dist/global-skills/eas-observe/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-observe/references/metrics.md +47 -0
- package/dist/global-skills/eas-observe/references/queries.md +342 -0
- package/dist/global-skills/eas-observe/references/setup.md +317 -0
- package/dist/global-skills/eas-simulator/SKILL.md +156 -0
- package/dist/global-skills/eas-simulator/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-simulator/references/controllers.md +67 -0
- package/dist/global-skills/eas-simulator/references/run-your-app.md +185 -0
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +38 -0
- package/dist/global-skills/eas-update-insights/SKILL.md +230 -0
- package/dist/global-skills/eas-update-insights/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
- package/dist/global-skills/eas-update-insights/references/update-insights-schema.md +69 -0
- package/dist/global-skills/eas-workflows/SKILL.md +94 -0
- package/dist/global-skills/eas-workflows/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-workflows/scripts/fetch.js +109 -0
- package/dist/global-skills/eas-workflows/scripts/package.json +11 -0
- package/dist/global-skills/eas-workflows/scripts/validate.js +84 -0
- package/dist/global-skills/email-best-practices/SKILL.md +73 -0
- package/dist/global-skills/expo-api-routes/SKILL.md +368 -0
- package/dist/global-skills/expo-api-routes/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-app-clip/SKILL.md +282 -0
- package/dist/global-skills/expo-app-clip/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-app-clip/references/native-module.md +96 -0
- package/dist/global-skills/expo-brownfield/SKILL.md +54 -0
- package/dist/global-skills/expo-brownfield/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
- package/dist/global-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
- package/dist/global-skills/expo-brownfield/references/comparison.md +63 -0
- package/dist/global-skills/expo-brownfield/references/troubleshooting.md +88 -0
- package/dist/global-skills/expo-cicd-workflows/SKILL.md +92 -0
- package/dist/global-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/package.json +11 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/validate.js +84 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +449 -0
- package/dist/global-skills/expo-data-fetching/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-data-fetching/references/expo-router-loaders.md +341 -0
- package/dist/global-skills/expo-data-fetching/references/offline-and-cancellation.md +68 -0
- package/dist/global-skills/expo-deployment/SKILL.md +167 -0
- package/dist/global-skills/expo-deployment/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-deployment/references/app-store-metadata.md +497 -0
- package/dist/global-skills/expo-deployment/references/ios-app-store.md +371 -0
- package/dist/global-skills/expo-deployment/references/play-store.md +246 -0
- package/dist/global-skills/expo-deployment/references/testflight.md +58 -0
- package/dist/global-skills/expo-deployment/references/workflows.md +160 -0
- package/dist/global-skills/expo-dev-client/SKILL.md +174 -0
- package/dist/global-skills/expo-dev-client/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-dom/SKILL.md +417 -0
- package/dist/global-skills/expo-dom/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-examples/SKILL.md +99 -0
- package/dist/global-skills/expo-examples/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-examples/references/catalog.md +105 -0
- package/dist/global-skills/expo-module/SKILL.md +141 -0
- package/dist/global-skills/expo-module/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-module/references/config-plugin.md +90 -0
- package/dist/global-skills/expo-module/references/create-expo-module.md +206 -0
- package/dist/global-skills/expo-module/references/lifecycle.md +127 -0
- package/dist/global-skills/expo-module/references/module-config.md +48 -0
- package/dist/global-skills/expo-module/references/native-module.md +286 -0
- package/dist/global-skills/expo-module/references/native-view.md +171 -0
- package/dist/global-skills/expo-native-ui/SKILL.md +181 -0
- package/dist/global-skills/expo-native-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-native-ui/references/animations.md +220 -0
- package/dist/global-skills/expo-native-ui/references/controls.md +270 -0
- package/dist/global-skills/expo-native-ui/references/gradients.md +106 -0
- package/dist/global-skills/expo-native-ui/references/icons.md +213 -0
- package/dist/global-skills/expo-native-ui/references/media.md +198 -0
- package/dist/global-skills/expo-native-ui/references/storage.md +121 -0
- package/dist/global-skills/expo-native-ui/references/visual-effects.md +197 -0
- package/dist/global-skills/expo-native-ui/references/webgpu-three.md +605 -0
- package/dist/global-skills/expo-observe/SKILL.md +30 -0
- package/dist/global-skills/expo-observe/references/metrics.md +47 -0
- package/dist/global-skills/expo-observe/references/queries.md +342 -0
- package/dist/global-skills/expo-observe/references/setup.md +317 -0
- package/dist/global-skills/expo-router/SKILL.md +230 -0
- package/dist/global-skills/expo-router/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-router/references/form-sheet.md +253 -0
- package/dist/global-skills/expo-router/references/route-structure.md +229 -0
- package/dist/global-skills/expo-router/references/search.md +248 -0
- package/dist/global-skills/expo-router/references/tabs.md +433 -0
- package/dist/global-skills/expo-router/references/toolbar-and-headers.md +284 -0
- package/dist/global-skills/expo-router/references/zoom-transitions.md +158 -0
- package/dist/global-skills/expo-skill-eval/SKILL.md +314 -0
- package/dist/global-skills/expo-skill-eval/agents/visual-grader.md +52 -0
- package/dist/global-skills/expo-skill-eval/references/design-rubric.md +45 -0
- package/dist/global-skills/expo-skill-eval/references/runtime-matrix.md +34 -0
- package/dist/global-skills/expo-skill-eval/scripts/check-static.sh +64 -0
- package/dist/global-skills/expo-skill-eval/scripts/clean-fixture.sh +56 -0
- package/dist/global-skills/expo-skill-eval/scripts/generate_viewer.py +450 -0
- package/dist/global-skills/expo-skill-eval/scripts/latest-sdk.sh +46 -0
- package/dist/global-skills/expo-skill-eval/scripts/make-fixture.sh +95 -0
- package/dist/global-skills/expo-skill-eval/scripts/make-workspace.sh +31 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-android.sh +284 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-ios.sh +132 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-web.sh +61 -0
- package/dist/global-skills/expo-skill-feedback/SKILL.md +54 -0
- package/dist/global-skills/expo-skill-feedback/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-skill-feedback/scripts/skill-event.cjs +180 -0
- package/dist/global-skills/expo-skill-feedback/scripts/skill-feedback.cjs +118 -0
- package/dist/global-skills/expo-skill-feedback/scripts/telemetry.cjs +65 -0
- package/dist/global-skills/expo-skill-feedback/scripts/telemetry_common.cjs +171 -0
- package/dist/global-skills/expo-tailwind-setup/SKILL.md +480 -0
- package/dist/global-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-ui/SKILL.md +47 -0
- package/dist/global-skills/expo-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-ui/references/drop-in-replacements.md +27 -0
- package/dist/global-skills/expo-ui/references/jetpack-compose.md +73 -0
- package/dist/global-skills/expo-ui/references/swift-ui.md +73 -0
- package/dist/global-skills/expo-ui/references/universal.md +73 -0
- package/dist/global-skills/expo-ui/scripts/list-components.js +193 -0
- package/dist/global-skills/expo-upgrade/SKILL.md +134 -0
- package/dist/global-skills/expo-upgrade/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-upgrade/references/expo-av-to-audio.md +132 -0
- package/dist/global-skills/expo-upgrade/references/expo-av-to-video.md +160 -0
- package/dist/global-skills/expo-upgrade/references/native-tabs.md +124 -0
- package/dist/global-skills/expo-upgrade/references/new-architecture.md +79 -0
- package/dist/global-skills/expo-upgrade/references/react-19.md +79 -0
- package/dist/global-skills/expo-upgrade/references/react-compiler.md +59 -0
- package/dist/global-skills/expo-upgrade/references/react-navigation-to-expo-router.md +61 -0
- package/dist/global-skills/expo-web-to-native/SKILL.md +83 -0
- package/dist/global-skills/expo-web-to-native/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-web-to-native/references/false-friends.md +119 -0
- package/dist/global-skills/expo-web-to-native/references/native-patterns.md +39 -0
- package/dist/global-skills/expo-web-to-native/references/run-as-goal.md +48 -0
- package/dist/global-skills/expo-web-to-native/references/verify-on-device.md +45 -0
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +165 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/flutter_setup.md +95 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +156 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +157 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +186 -0
- package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +73 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/cli_commands.md +85 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/configuration.md +59 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/emulation.md +59 -0
- package/dist/global-skills/firebase-auth-basics/SKILL.md +118 -0
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +160 -0
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +301 -0
- package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +149 -0
- package/dist/global-skills/firebase-auth-basics/references/ios_setup.md +87 -0
- package/dist/global-skills/firebase-auth-basics/references/security_rules.md +49 -0
- package/dist/global-skills/firebase-basics/SKILL.md +148 -0
- package/dist/global-skills/firebase-basics/references/android_setup.md +41 -0
- package/dist/global-skills/firebase-basics/references/firebase-cli-guide.md +18 -0
- package/dist/global-skills/firebase-basics/references/firebase-service-init.md +20 -0
- package/dist/global-skills/firebase-basics/references/flutter_setup.md +143 -0
- package/dist/global-skills/firebase-basics/references/ios_setup.md +113 -0
- package/dist/global-skills/firebase-basics/references/local-env-setup.md +80 -0
- package/dist/global-skills/firebase-basics/references/refresh/android_studio.md +41 -0
- package/dist/global-skills/firebase-basics/references/refresh/antigravity.md +64 -0
- package/dist/global-skills/firebase-basics/references/refresh/claude.md +12 -0
- package/dist/global-skills/firebase-basics/references/refresh/gemini-cli.md +13 -0
- package/dist/global-skills/firebase-basics/references/refresh/other-agents.md +67 -0
- package/dist/global-skills/firebase-basics/references/setup/android_studio.md +23 -0
- package/dist/global-skills/firebase-basics/references/setup/antigravity.md +98 -0
- package/dist/global-skills/firebase-basics/references/setup/claude_code.md +45 -0
- package/dist/global-skills/firebase-basics/references/setup/cursor.md +93 -0
- package/dist/global-skills/firebase-basics/references/setup/gemini_cli.md +53 -0
- package/dist/global-skills/firebase-basics/references/setup/github_copilot.md +104 -0
- package/dist/global-skills/firebase-basics/references/setup/other_agents.md +99 -0
- package/dist/global-skills/firebase-basics/references/web_setup.md +77 -0
- package/dist/global-skills/firebase-crashlytics/SKILL.md +42 -0
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +152 -0
- package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +115 -0
- package/dist/global-skills/firebase-data-connect/SKILL.md +191 -0
- package/dist/global-skills/firebase-data-connect/examples.md +638 -0
- package/dist/global-skills/firebase-data-connect/reference/cloud_functions.md +184 -0
- package/dist/global-skills/firebase-data-connect/reference/config.md +271 -0
- package/dist/global-skills/firebase-data-connect/reference/data_seeding.md +185 -0
- package/dist/global-skills/firebase-data-connect/reference/native_sql.md +170 -0
- package/dist/global-skills/firebase-data-connect/reference/operations.md +385 -0
- package/dist/global-skills/firebase-data-connect/reference/realtime.md +210 -0
- package/dist/global-skills/firebase-data-connect/reference/schema.md +290 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_admin_node.md +141 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +126 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_flutter.md +134 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_ios.md +157 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +146 -0
- package/dist/global-skills/firebase-data-connect/reference/search.md +264 -0
- package/dist/global-skills/firebase-data-connect/reference/security.md +295 -0
- package/dist/global-skills/firebase-data-connect/templates.md +318 -0
- package/dist/global-skills/firebase-firestore/SKILL.md +89 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +230 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/data_model.md +66 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/flutter_setup.md +180 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +135 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/ios_setup.md +189 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/provisioning.md +118 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/python_sdk_usage.md +138 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/security_rules.md +577 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/web_sdk_usage.md +127 -0
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +193 -0
- package/dist/global-skills/firebase-firestore/references/standard/flutter_setup.md +176 -0
- package/dist/global-skills/firebase-firestore/references/standard/indexes.md +113 -0
- package/dist/global-skills/firebase-firestore/references/standard/ios_setup.md +174 -0
- package/dist/global-skills/firebase-firestore/references/standard/provisioning.md +110 -0
- package/dist/global-skills/firebase-firestore/references/standard/security_rules.md +577 -0
- package/dist/global-skills/firebase-firestore/references/standard/web_sdk_usage.md +192 -0
- package/dist/global-skills/firebase-hosting-basics/SKILL.md +64 -0
- package/dist/global-skills/firebase-hosting-basics/references/configuration.md +115 -0
- package/dist/global-skills/firebase-hosting-basics/references/deploying.md +48 -0
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +124 -0
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +91 -0
- package/dist/global-skills/firebase-remote-config-basics/references/ios_setup.md +89 -0
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +70 -0
- package/dist/global-skills/go-live/SKILL.md +90 -0
- package/dist/global-skills/harden/SKILL.md +101 -0
- package/dist/global-skills/instrument-feature-flags/SKILL.md +88 -0
- package/dist/global-skills/instrument-feature-flags/references/adding-feature-flag-code.md +3578 -0
- package/dist/global-skills/instrument-feature-flags/references/android.md +146 -0
- package/dist/global-skills/instrument-feature-flags/references/api.md +194 -0
- package/dist/global-skills/instrument-feature-flags/references/best-practices.md +231 -0
- package/dist/global-skills/instrument-feature-flags/references/django.md +263 -0
- package/dist/global-skills/instrument-feature-flags/references/dotnet.md +763 -0
- package/dist/global-skills/instrument-feature-flags/references/elixir.md +47 -0
- package/dist/global-skills/instrument-feature-flags/references/flask.md +131 -0
- package/dist/global-skills/instrument-feature-flags/references/flutter.md +212 -0
- package/dist/global-skills/instrument-feature-flags/references/go.md +208 -0
- package/dist/global-skills/instrument-feature-flags/references/ios.md +146 -0
- package/dist/global-skills/instrument-feature-flags/references/java.md +94 -0
- package/dist/global-skills/instrument-feature-flags/references/laravel.md +170 -0
- package/dist/global-skills/instrument-feature-flags/references/next-js.md +383 -0
- package/dist/global-skills/instrument-feature-flags/references/nodejs.md +216 -0
- package/dist/global-skills/instrument-feature-flags/references/php.md +187 -0
- package/dist/global-skills/instrument-feature-flags/references/python.md +191 -0
- package/dist/global-skills/instrument-feature-flags/references/react-native.md +166 -0
- package/dist/global-skills/instrument-feature-flags/references/react.md +302 -0
- package/dist/global-skills/instrument-feature-flags/references/ruby-on-rails.md +604 -0
- package/dist/global-skills/instrument-feature-flags/references/ruby.md +200 -0
- package/dist/global-skills/instrument-feature-flags/references/rust.md +222 -0
- package/dist/global-skills/instrument-feature-flags/references/usage.md +600 -0
- package/dist/global-skills/instrument-feature-flags/references/web.md +193 -0
- package/dist/global-skills/instrument-product-analytics/SKILL.md +139 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-android.md +1639 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-angular.md +944 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-hybrid.md +1001 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-ssr.md +1004 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-static.md +720 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-view-transitions.md +810 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-django.md +1167 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-expo.md +1412 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-fastapi.md +1585 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-flask.md +1208 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-laravel.md +2267 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-next-app-router.md +712 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-next-pages-router.md +767 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-nuxt-3-6.md +939 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-nuxt-4.md +1078 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-php.md +527 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-python.md +481 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-native.md +1823 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-6.md +582 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-data.md +892 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-declarative.md +649 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-framework.md +1218 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-tanstack-router-code-based.md +793 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-tanstack-router-file-based.md +780 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby-on-rails.md +1320 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby.md +452 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-sveltekit.md +854 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-swift.md +665 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-tanstack-start.md +1199 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-vue-3.md +910 -0
- package/dist/global-skills/instrument-product-analytics/references/android.md +811 -0
- package/dist/global-skills/instrument-product-analytics/references/angular.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/astro.md +165 -0
- package/dist/global-skills/instrument-product-analytics/references/configuration.md +299 -0
- package/dist/global-skills/instrument-product-analytics/references/django.md +263 -0
- package/dist/global-skills/instrument-product-analytics/references/dotnet.md +763 -0
- package/dist/global-skills/instrument-product-analytics/references/elixir.md +414 -0
- package/dist/global-skills/instrument-product-analytics/references/flask.md +131 -0
- package/dist/global-skills/instrument-product-analytics/references/flutter.md +845 -0
- package/dist/global-skills/instrument-product-analytics/references/go.md +567 -0
- package/dist/global-skills/instrument-product-analytics/references/identify-users.md +272 -0
- package/dist/global-skills/instrument-product-analytics/references/ios.md +154 -0
- package/dist/global-skills/instrument-product-analytics/references/laravel.md +170 -0
- package/dist/global-skills/instrument-product-analytics/references/next-js.md +383 -0
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js-3-6.md +244 -0
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js.md +253 -0
- package/dist/global-skills/instrument-product-analytics/references/php.md +646 -0
- package/dist/global-skills/instrument-product-analytics/references/posthog-python.md +1675 -0
- package/dist/global-skills/instrument-product-analytics/references/python.md +898 -0
- package/dist/global-skills/instrument-product-analytics/references/react-native.md +1338 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v6.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-data-mode.md +364 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-declarative-mode.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-framework-mode.md +479 -0
- package/dist/global-skills/instrument-product-analytics/references/ruby-on-rails.md +604 -0
- package/dist/global-skills/instrument-product-analytics/references/ruby.md +759 -0
- package/dist/global-skills/instrument-product-analytics/references/svelte.md +234 -0
- package/dist/global-skills/instrument-product-analytics/references/tanstack-start.md +193 -0
- package/dist/global-skills/instrument-product-analytics/references/usage.md +600 -0
- package/dist/global-skills/instrument-product-analytics/references/vue-js.md +306 -0
- package/dist/global-skills/manifest.json +125 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +284 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/connection-configs.md +298 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/development-workflow.md +304 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/mcp-troubleshooting.md +55 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/output-diagnostics.md +150 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/pipeline-patterns.md +457 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/sizing-and-parallelism.md +178 -0
- package/dist/global-skills/mongodb-connection/SKILL.md +201 -0
- package/dist/global-skills/mongodb-connection/references/monitoring-guide.md +191 -0
- package/dist/global-skills/mongodb-mcp-setup/SKILL.md +324 -0
- package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +195 -0
- package/dist/global-skills/mongodb-query-optimizer/SKILL.md +150 -0
- package/dist/global-skills/mongodb-query-optimizer/references/aggregation-optimization.md +210 -0
- package/dist/global-skills/mongodb-query-optimizer/references/antipattern-examples.md +74 -0
- package/dist/global-skills/mongodb-query-optimizer/references/core-indexing-principles.md +134 -0
- package/dist/global-skills/mongodb-query-optimizer/references/update-query-examples.md +39 -0
- package/dist/global-skills/mongodb-schema-design/SKILL.md +181 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-excessive-lookups.md +84 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-unnecessary-collections.md +91 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-unnecessary-indexes.md +95 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-document-model.md +91 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-document-size.md +226 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-embed-vs-reference.md +418 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-schema-validation.md +131 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-approximation.md +80 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-archive.md +143 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-attribute.md +77 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-bucket.md +102 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-computed.md +162 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-document-versioning.md +166 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-extended-reference.md +72 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-outlier.md +159 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-polymorphic.md +167 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-schema-versioning.md +273 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-time-series-collections.md +190 -0
- package/dist/global-skills/mongodb-schema-design/references/source-query-stats.md +123 -0
- package/dist/global-skills/mongodb-schema-design/references/source-slow-query-logs.md +63 -0
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +142 -0
- package/dist/global-skills/mongodb-search-and-ai/references/hybrid-search.md +697 -0
- package/dist/global-skills/mongodb-search-and-ai/references/lexical-search-indexing.md +584 -0
- package/dist/global-skills/mongodb-search-and-ai/references/lexical-search-querying.md +636 -0
- package/dist/global-skills/mongodb-search-and-ai/references/vector-search.md +746 -0
- package/dist/global-skills/native-data-fetching/SKILL.md +505 -0
- package/dist/global-skills/native-data-fetching/agents/openai.yaml +4 -0
- package/dist/global-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
- package/dist/global-skills/neon/SKILL.md +343 -0
- package/dist/global-skills/neon-ai-gateway/SKILL.md +236 -0
- package/dist/global-skills/neon-functions/SKILL.md +490 -0
- package/dist/global-skills/neon-functions/references/ai-sdk.md +139 -0
- package/dist/global-skills/neon-functions/references/hono-websockets.md +145 -0
- package/dist/global-skills/neon-functions/references/mastra-studio.md +127 -0
- package/dist/global-skills/neon-functions/references/mcp.md +137 -0
- package/dist/global-skills/neon-functions/references/sentry.md +131 -0
- package/dist/global-skills/neon-functions/references/sse.md +143 -0
- package/dist/global-skills/neon-object-storage/SKILL.md +197 -0
- package/dist/global-skills/neon-postgres/SKILL.md +376 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +281 -0
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +247 -0
- package/dist/global-skills/onboarding/SKILL.md +101 -0
- package/dist/global-skills/plan-my-idea/SKILL.md +67 -0
- package/dist/global-skills/publish-app/SKILL.md +72 -0
- package/dist/global-skills/publish-extension/SKILL.md +47 -0
- package/dist/global-skills/resend/SKILL.md +294 -0
- package/dist/global-skills/resend/references/api-keys.md +98 -0
- package/dist/global-skills/resend/references/automations.md +228 -0
- package/dist/global-skills/resend/references/broadcasts.md +125 -0
- package/dist/global-skills/resend/references/contact-properties.md +111 -0
- package/dist/global-skills/resend/references/contacts.md +174 -0
- package/dist/global-skills/resend/references/domains.md +179 -0
- package/dist/global-skills/resend/references/events.md +119 -0
- package/dist/global-skills/resend/references/fetch-all-templates.mjs +37 -0
- package/dist/global-skills/resend/references/installation.md +142 -0
- package/dist/global-skills/resend/references/logs.md +161 -0
- package/dist/global-skills/resend/references/receiving.md +287 -0
- package/dist/global-skills/resend/references/segments.md +77 -0
- package/dist/global-skills/resend/references/sending/batch-email-examples.md +807 -0
- package/dist/global-skills/resend/references/sending/best-practices.md +453 -0
- package/dist/global-skills/resend/references/sending/email-management.md +135 -0
- package/dist/global-skills/resend/references/sending/overview.md +209 -0
- package/dist/global-skills/resend/references/sending/single-email-examples.md +470 -0
- package/dist/global-skills/resend/references/templates.md +202 -0
- package/dist/global-skills/resend/references/topics.md +104 -0
- package/dist/global-skills/resend/references/webhooks.md +317 -0
- package/dist/global-skills/reset-password/SKILL.md +59 -0
- package/dist/global-skills/save-data/SKILL.md +70 -0
- package/dist/global-skills/sentry-sdk-setup/SKILL.md +116 -0
- package/dist/global-skills/sentry-workflow/SKILL.md +32 -0
- package/dist/global-skills/setup-email/SKILL.md +69 -0
- package/dist/global-skills/setup-payments/SKILL.md +82 -0
- package/dist/global-skills/setup-sms/SKILL.md +51 -0
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +53 -0
- package/dist/global-skills/sign-in-with-google/SKILL.md +68 -0
- package/dist/global-skills/sign-in-with-phone/SKILL.md +53 -0
- package/dist/global-skills/stripe-best-practices/SKILL.md +48 -0
- package/dist/global-skills/stripe-best-practices/references/billing.md +58 -0
- package/dist/global-skills/stripe-best-practices/references/connect.md +173 -0
- package/dist/global-skills/stripe-best-practices/references/payments.md +79 -0
- package/dist/global-skills/stripe-best-practices/references/security.md +109 -0
- package/dist/global-skills/stripe-best-practices/references/tax.md +37 -0
- package/dist/global-skills/stripe-best-practices/references/treasury.md +16 -0
- package/dist/global-skills/supabase/CHANGELOG.md +53 -0
- package/dist/global-skills/supabase/SKILL.md +145 -0
- package/dist/global-skills/supabase/assets/feedback-issue-template.md +17 -0
- package/dist/global-skills/supabase/references/skill-feedback.md +17 -0
- package/dist/global-skills/supabase-postgres-best-practices/CHANGELOG.md +43 -0
- package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/dist/global-skills/track-errors/SKILL.md +67 -0
- package/dist/global-skills/update-kit/SKILL.md +75 -0
- package/dist/global-skills/upgrading-expo/SKILL.md +134 -0
- package/dist/global-skills/upgrading-expo/agents/openai.yaml +4 -0
- package/dist/global-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/dist/global-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/dist/global-skills/upgrading-expo/references/native-tabs.md +124 -0
- package/dist/global-skills/upgrading-expo/references/new-architecture.md +79 -0
- package/dist/global-skills/upgrading-expo/references/react-19.md +79 -0
- package/dist/global-skills/upgrading-expo/references/react-compiler.md +59 -0
- package/dist/global-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
- package/dist/global-skills/use-dom/SKILL.md +417 -0
- package/dist/global-skills/use-dom/agents/openai.yaml +4 -0
- package/dist/global-skills/use-kit-mcp/SKILL.md +100 -0
- package/dist/global-skills/use-railway/SKILL.md +357 -0
- package/dist/global-skills/use-railway/references/analyze-db-mongo.md +84 -0
- package/dist/global-skills/use-railway/references/analyze-db-mysql.md +254 -0
- package/dist/global-skills/use-railway/references/analyze-db-postgres.md +479 -0
- package/dist/global-skills/use-railway/references/analyze-db-redis.md +208 -0
- package/dist/global-skills/use-railway/references/analyze-db.md +344 -0
- package/dist/global-skills/use-railway/references/configure.md +359 -0
- package/dist/global-skills/use-railway/references/deploy.md +225 -0
- package/dist/global-skills/use-railway/references/feature-flags.md +89 -0
- package/dist/global-skills/use-railway/references/iac.md +108 -0
- package/dist/global-skills/use-railway/references/operate.md +273 -0
- package/dist/global-skills/use-railway/references/request.md +262 -0
- package/dist/global-skills/use-railway/references/sandbox.md +167 -0
- package/dist/global-skills/use-railway/references/setup.md +364 -0
- package/dist/global-skills/use-railway/scripts/analyze-mongo.py +1549 -0
- package/dist/global-skills/use-railway/scripts/analyze-mysql.py +1195 -0
- package/dist/global-skills/use-railway/scripts/analyze-postgres.py +3058 -0
- package/dist/global-skills/use-railway/scripts/analyze-redis.py +1090 -0
- package/dist/global-skills/use-railway/scripts/dal.py +671 -0
- package/dist/global-skills/use-railway/scripts/enable-pg-stats.py +170 -0
- package/dist/global-skills/use-railway/scripts/pg-extensions.py +370 -0
- package/dist/global-skills/use-railway/scripts/railway-api.sh +52 -0
- package/dist/global-skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/dist/global-skills/vercel-composition-patterns/README.md +60 -0
- package/dist/global-skills/vercel-composition-patterns/SKILL.md +89 -0
- package/dist/global-skills/vercel-composition-patterns/metadata.json +11 -0
- package/dist/global-skills/vercel-composition-patterns/rules/_sections.md +29 -0
- package/dist/global-skills/vercel-composition-patterns/rules/_template.md +24 -0
- package/dist/global-skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/dist/global-skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/dist/global-skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/dist/global-skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/dist/global-skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/dist/global-skills/vercel-react-best-practices/AGENTS.md +3810 -0
- package/dist/global-skills/vercel-react-best-practices/README.md +123 -0
- package/dist/global-skills/vercel-react-best-practices/SKILL.md +149 -0
- package/dist/global-skills/vercel-react-best-practices/metadata.json +15 -0
- package/dist/global-skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/dist/global-skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/dist/global-skills/web-to-native/SKILL.md +83 -0
- package/dist/global-skills/web-to-native/references/false-friends.md +119 -0
- package/dist/global-skills/web-to-native/references/native-patterns.md +39 -0
- package/dist/global-skills/web-to-native/references/run-as-goal.md +48 -0
- package/dist/global-skills/web-to-native/references/verify-on-device.md +45 -0
- package/dist/global-skills/wire-auth/SKILL.md +28 -0
- package/dist/global-skills/wire-database/SKILL.md +28 -0
- package/dist/global-skills/wire-email/SKILL.md +27 -0
- package/dist/global-skills/wire-payments/SKILL.md +27 -0
- package/dist/global-skills/workers-best-practices/SKILL.md +127 -0
- package/dist/global-skills/workers-best-practices/references/review.md +174 -0
- package/dist/global-skills/workers-best-practices/references/rules.md +463 -0
- package/dist/global-skills/wrangler/SKILL.md +922 -0
- package/dist/global-skills/xcode-project-setup/SKILL.md +140 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Package.resolved +41 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Package.swift +17 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Sources/main.swift +232 -0
- package/package.json +21 -20
- package/LICENSE.md +0 -47
- package/dist/index.js +0 -21593
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: connect-account-backend
|
|
3
|
+
description: people can sign in from the phone app or extension. Use when the builder says something like: connect account backend.
|
|
4
|
+
metadata:
|
|
5
|
+
vybekiit-generated: buyer-skill-stub
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
|
+
|
|
10
|
+
# Skill: connect-account (mobile / extension)
|
|
11
|
+
|
|
12
|
+
**Goal:** people can sign in from the phone app or extension.
|
|
13
|
+
|
|
14
|
+
**Contract:** one action at a time · verify-before-advance · plain language · celebrate.
|
|
15
|
+
|
|
16
|
+
> (Agent-only) Run `vybekiit plan-readiness sign-in` first. If no backend exists, execute
|
|
17
|
+
> orchestration steps (scaffold `backend/`, wire auth, set `EXPO_PUBLIC_APP_URL` or
|
|
18
|
+
> `WXT_PUBLIC_APP_URL`) **without asking the builder to choose**.
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
1. **Readiness.** Run `vybekiit plan-readiness sign-in <mobile|extension>` and execute every
|
|
23
|
+
orchestration step until `ready: true`.
|
|
24
|
+
**Verify:** backend `/health` or web sign-in responds.
|
|
25
|
+
|
|
26
|
+
2. **Wire client.** Replace `TODO(vybekiit): … — skill: connect-account` in `auth-client.ts`.
|
|
27
|
+
Point API calls at the backend `APP_URL`.
|
|
28
|
+
**Verify:** sign-in flow works from the client UI.
|
|
29
|
+
|
|
30
|
+
3. **Protect gated UI.** Login when signed out; main UI when signed in.
|
|
31
|
+
**Verify:** both paths tested.
|
|
32
|
+
|
|
33
|
+
## Definition of done
|
|
34
|
+
|
|
35
|
+
Real sign-in works from the client against the live backend.
|
|
36
|
+
|
|
37
|
+
## After completing this skill
|
|
38
|
+
|
|
39
|
+
Append one entry to `checklist.md` Decision log using `formatChecklistEntry({ from, to, because })`.
|
|
40
|
+
|
|
41
|
+
If MCP or first debug fails once, run `vybekiit doc-fallback <tech-id>` and tell the builder only: *"I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment."*
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-auth-skill
|
|
3
|
+
description: Scaffold and implement authentication in TypeScript/JavaScript apps using Better Auth. Detect frameworks, configure database adapters, set up route handlers, add OAuth providers, and create auth UI pages. Use when users want to add login, sign-up, or authentication to a new or existing project with Better Auth.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Auth Skill
|
|
7
|
+
|
|
8
|
+
Guide for adding authentication to TypeScript/JavaScript applications using Better Auth.
|
|
9
|
+
|
|
10
|
+
**For code examples and syntax, see [better-auth.com/docs](https://better-auth.com/docs).**
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Phase 1: Planning (REQUIRED before implementation)
|
|
15
|
+
|
|
16
|
+
Before writing any code, gather requirements by scanning the project and asking the user structured questions. This ensures the implementation matches their needs.
|
|
17
|
+
|
|
18
|
+
### Step 1: Scan the project
|
|
19
|
+
|
|
20
|
+
Analyze the codebase to auto-detect:
|
|
21
|
+
- **Framework** — Look for `next.config`, `svelte.config`, `nuxt.config`, `astro.config`, `vite.config`, or Express/Hono entry files.
|
|
22
|
+
- **Database/ORM** — Look for `prisma/schema.prisma`, `drizzle.config`, `package.json` deps (`pg`, `mysql2`, `better-sqlite3`, `mongoose`, `mongodb`).
|
|
23
|
+
- **Existing auth** — Look for existing auth libraries (`next-auth`, `lucia`, `clerk`, `supabase/auth`, `firebase/auth`) in `package.json` or imports.
|
|
24
|
+
- **Package manager** — Check for `pnpm-lock.yaml`, `yarn.lock`, `bun.lockb`, or `package-lock.json`.
|
|
25
|
+
|
|
26
|
+
Use what you find to pre-fill defaults and skip questions you can already answer.
|
|
27
|
+
|
|
28
|
+
### Step 2: Ask planning questions
|
|
29
|
+
|
|
30
|
+
Use the `AskQuestion` tool to ask the user **all applicable questions in a single call**. Skip any question you already have a confident answer for from the scan. Group them under a title like "Auth Setup Planning".
|
|
31
|
+
|
|
32
|
+
**Questions to ask:**
|
|
33
|
+
|
|
34
|
+
1. **Project type** (skip if detected)
|
|
35
|
+
- Prompt: "What type of project is this?"
|
|
36
|
+
- Options: New project from scratch | Adding auth to existing project | Migrating from another auth library
|
|
37
|
+
|
|
38
|
+
2. **Framework** (skip if detected)
|
|
39
|
+
- Prompt: "Which framework are you using?"
|
|
40
|
+
- Options: Next.js (App Router) | Next.js (Pages Router) | SvelteKit | Nuxt | Astro | Express | Hono | SolidStart | Other
|
|
41
|
+
|
|
42
|
+
3. **Database & ORM** (skip if detected)
|
|
43
|
+
- Prompt: "Which database setup will you use?"
|
|
44
|
+
- Options: PostgreSQL (Prisma) | PostgreSQL (Drizzle) | PostgreSQL (pg driver) | MySQL (Prisma) | MySQL (Drizzle) | MySQL (mysql2 driver) | SQLite (Prisma) | SQLite (Drizzle) | SQLite (better-sqlite3 driver) | MongoDB (Mongoose) | MongoDB (native driver)
|
|
45
|
+
|
|
46
|
+
4. **Authentication methods** (always ask, allow multiple)
|
|
47
|
+
- Prompt: "Which sign-in methods do you need?"
|
|
48
|
+
- Options: Email & password | Social OAuth (Google, GitHub, etc.) | Magic link (passwordless email) | Passkey (WebAuthn) | Phone number
|
|
49
|
+
- `allow_multiple: true`
|
|
50
|
+
|
|
51
|
+
5. **Social providers** (only if they selected Social OAuth above — ask in a follow-up call)
|
|
52
|
+
- Prompt: "Which social providers do you need?"
|
|
53
|
+
- Options: Google | GitHub | Apple | Microsoft | Discord | Twitter/X
|
|
54
|
+
- `allow_multiple: true`
|
|
55
|
+
|
|
56
|
+
6. **Email verification** (only if Email & password was selected above — ask in a follow-up call)
|
|
57
|
+
- Prompt: "Do you want to require email verification?"
|
|
58
|
+
- Options: Yes | No
|
|
59
|
+
|
|
60
|
+
7. **Email provider** (only if email verification is Yes, or if Password reset is selected in features — ask in a follow-up call)
|
|
61
|
+
- Prompt: "How do you want to send emails?"
|
|
62
|
+
- Options: Resend | Mock it for now (console.log)
|
|
63
|
+
|
|
64
|
+
8. **Features & plugins** (always ask, allow multiple)
|
|
65
|
+
- Prompt: "Which additional features do you need?"
|
|
66
|
+
- Options: Two-factor authentication (2FA) | Organizations / teams | Admin dashboard | API bearer tokens | Password reset | None of these
|
|
67
|
+
- `allow_multiple: true`
|
|
68
|
+
|
|
69
|
+
9. **Auth pages** (always ask, allow multiple — pre-select based on earlier answers)
|
|
70
|
+
- Prompt: "Which auth pages do you need?"
|
|
71
|
+
- Options vary based on previous answers:
|
|
72
|
+
- Always available: Sign in | Sign up
|
|
73
|
+
- If Email & password selected: Forgot password | Reset password
|
|
74
|
+
- If email verification enabled: Email verification
|
|
75
|
+
- `allow_multiple: true`
|
|
76
|
+
|
|
77
|
+
10. **Auth UI style** (always ask)
|
|
78
|
+
- Prompt: "What style do you want for the auth pages? Pick one or describe your own."
|
|
79
|
+
- Options: Minimal & clean | Centered card with background | Split layout (form + hero image) | Floating / glassmorphism | Other (I'll describe)
|
|
80
|
+
|
|
81
|
+
### Step 3: Summarize the plan
|
|
82
|
+
|
|
83
|
+
After collecting answers, present a concise implementation plan as a markdown checklist. Example:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
## Auth Implementation Plan
|
|
87
|
+
|
|
88
|
+
- **Framework:** Next.js (App Router)
|
|
89
|
+
- **Database:** PostgreSQL via Prisma
|
|
90
|
+
- **Auth methods:** Email/password, Google OAuth, GitHub OAuth
|
|
91
|
+
- **Plugins:** 2FA, Organizations, Email verification
|
|
92
|
+
- **UI:** Custom forms
|
|
93
|
+
|
|
94
|
+
### Steps
|
|
95
|
+
1. Install `better-auth` and `@better-auth/cli`
|
|
96
|
+
2. Create `lib/auth.ts` with server config
|
|
97
|
+
3. Create `lib/auth-client.ts` with React client
|
|
98
|
+
4. Set up route handler at `app/api/auth/[...all]/route.ts`
|
|
99
|
+
5. Configure Prisma adapter and generate schema
|
|
100
|
+
6. Add Google & GitHub OAuth providers
|
|
101
|
+
7. Enable `twoFactor` and `organization` plugins
|
|
102
|
+
8. Set up email verification handler
|
|
103
|
+
9. Run migrations
|
|
104
|
+
10. Create sign-in / sign-up pages
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Ask the user to confirm the plan before proceeding to Phase 2.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Phase 2: Implementation
|
|
112
|
+
|
|
113
|
+
Only proceed here after the user confirms the plan from Phase 1.
|
|
114
|
+
|
|
115
|
+
Follow the decision tree below, guided by the answers collected above.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Is this a new/empty project?
|
|
119
|
+
├─ YES → New project setup
|
|
120
|
+
│ 1. Install better-auth (+ scoped packages per plan)
|
|
121
|
+
│ 2. Create auth.ts with all planned config
|
|
122
|
+
│ 3. Create auth-client.ts with framework client
|
|
123
|
+
│ 4. Set up route handler
|
|
124
|
+
│ 5. Set up environment variables
|
|
125
|
+
│ 6. Run CLI migrate/generate
|
|
126
|
+
│ 7. Add plugins from plan
|
|
127
|
+
│ 8. Create auth UI pages
|
|
128
|
+
│
|
|
129
|
+
├─ MIGRATING → Migration from existing auth
|
|
130
|
+
│ 1. Audit current auth for gaps
|
|
131
|
+
│ 2. Plan incremental migration
|
|
132
|
+
│ 3. Install better-auth alongside existing auth
|
|
133
|
+
│ 4. Migrate routes, then session logic, then UI
|
|
134
|
+
│ 5. Remove old auth library
|
|
135
|
+
│ 6. See migration guides in docs
|
|
136
|
+
│
|
|
137
|
+
└─ ADDING → Add auth to existing project
|
|
138
|
+
1. Analyze project structure
|
|
139
|
+
2. Install better-auth
|
|
140
|
+
3. Create auth config matching plan
|
|
141
|
+
4. Add route handler
|
|
142
|
+
5. Run schema migrations
|
|
143
|
+
6. Integrate into existing pages
|
|
144
|
+
7. Add planned plugins and features
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
At the end of implementation, guide users thoroughly on remaining next steps (e.g., setting up OAuth app credentials, deploying env vars, testing flows).
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Installation
|
|
152
|
+
|
|
153
|
+
**Core:** `npm install better-auth`
|
|
154
|
+
|
|
155
|
+
**Scoped packages (as needed):**
|
|
156
|
+
| Package | Use case |
|
|
157
|
+
|---------|----------|
|
|
158
|
+
| `@better-auth/passkey` | WebAuthn/Passkey auth |
|
|
159
|
+
| `@better-auth/sso` | SAML/OIDC enterprise SSO |
|
|
160
|
+
| `@better-auth/stripe` | Stripe payments |
|
|
161
|
+
| `@better-auth/scim` | SCIM user provisioning |
|
|
162
|
+
| `@better-auth/expo` | React Native/Expo |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Environment Variables
|
|
167
|
+
|
|
168
|
+
```env
|
|
169
|
+
BETTER_AUTH_SECRET=<32+ chars, generate with: openssl rand -base64 32>
|
|
170
|
+
BETTER_AUTH_URL=http://localhost:3000
|
|
171
|
+
DATABASE_URL=<your database connection string>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Add OAuth secrets as needed: `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`, `GOOGLE_CLIENT_ID`, etc.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Server Config (auth.ts)
|
|
179
|
+
|
|
180
|
+
**Location:** `lib/auth.ts` or `src/lib/auth.ts`
|
|
181
|
+
|
|
182
|
+
**Minimal config needs:**
|
|
183
|
+
- `database` - Connection or adapter
|
|
184
|
+
- `emailAndPassword: { enabled: true }` - For email/password auth
|
|
185
|
+
|
|
186
|
+
**Standard config adds:**
|
|
187
|
+
- `socialProviders` - OAuth providers (google, github, etc.)
|
|
188
|
+
- `emailVerification.sendVerificationEmail` - Email verification handler
|
|
189
|
+
- `emailAndPassword.sendResetPassword` - Password reset handler
|
|
190
|
+
|
|
191
|
+
**Full config adds:**
|
|
192
|
+
- `plugins` - Array of feature plugins
|
|
193
|
+
- `session` - Expiry, cookie cache settings
|
|
194
|
+
- `account.accountLinking` - Multi-provider linking
|
|
195
|
+
- `rateLimit` - Rate limiting config
|
|
196
|
+
|
|
197
|
+
**Export types:** `export type Session = typeof auth.$Infer.Session`
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Client Config (auth-client.ts)
|
|
202
|
+
|
|
203
|
+
**Import by framework:**
|
|
204
|
+
| Framework | Import |
|
|
205
|
+
|-----------|--------|
|
|
206
|
+
| React/Next.js | `better-auth/react` |
|
|
207
|
+
| Vue | `better-auth/vue` |
|
|
208
|
+
| Svelte | `better-auth/svelte` |
|
|
209
|
+
| Solid | `better-auth/solid` |
|
|
210
|
+
| Vanilla JS | `better-auth/client` |
|
|
211
|
+
|
|
212
|
+
**Client plugins** go in `createAuthClient({ plugins: [...] })`.
|
|
213
|
+
|
|
214
|
+
**Common exports:** `signIn`, `signUp`, `signOut`, `useSession`, `getSession`
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Route Handler Setup
|
|
219
|
+
|
|
220
|
+
| Framework | File | Handler |
|
|
221
|
+
|-----------|------|---------|
|
|
222
|
+
| Next.js App Router | `app/api/auth/[...all]/route.ts` | `toNextJsHandler(auth)` → export `{ GET, POST }` |
|
|
223
|
+
| Next.js Pages | `pages/api/auth/[...all].ts` | `toNextJsHandler(auth)` → default export |
|
|
224
|
+
| Express | Any file | `app.all("/api/auth/*", toNodeHandler(auth))` |
|
|
225
|
+
| SvelteKit | `src/hooks.server.ts` | `svelteKitHandler(auth)` |
|
|
226
|
+
| SolidStart | Route file | `solidStartHandler(auth)` |
|
|
227
|
+
| Hono | Route file | `auth.handler(c.req.raw)` |
|
|
228
|
+
|
|
229
|
+
**Next.js Server Components:** Add `nextCookies()` plugin to auth config.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Database Migrations
|
|
234
|
+
|
|
235
|
+
| Adapter | Command |
|
|
236
|
+
|---------|---------|
|
|
237
|
+
| Built-in Kysely | `npx @better-auth/cli@latest migrate` (applies directly) |
|
|
238
|
+
| Prisma | `npx @better-auth/cli@latest generate --output prisma/schema.prisma` then `npx prisma migrate dev` |
|
|
239
|
+
| Drizzle | `npx @better-auth/cli@latest generate --output src/db/auth-schema.ts` then `npx drizzle-kit push` |
|
|
240
|
+
|
|
241
|
+
**Re-run after adding plugins.**
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Database Adapters
|
|
246
|
+
|
|
247
|
+
| Database | Setup |
|
|
248
|
+
|----------|-------|
|
|
249
|
+
| SQLite | Pass `better-sqlite3` or `bun:sqlite` instance directly |
|
|
250
|
+
| PostgreSQL | Pass `pg.Pool` instance directly |
|
|
251
|
+
| MySQL | Pass `mysql2` pool directly |
|
|
252
|
+
| Prisma | `prismaAdapter(prisma, { provider: "postgresql" })` from `better-auth/adapters/prisma` |
|
|
253
|
+
| Drizzle | `drizzleAdapter(db, { provider: "pg" })` from `better-auth/adapters/drizzle` |
|
|
254
|
+
| MongoDB | `mongodbAdapter(db)` from `better-auth/adapters/mongodb` |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Common Plugins
|
|
259
|
+
|
|
260
|
+
| Plugin | Server Import | Client Import | Purpose |
|
|
261
|
+
|--------|---------------|---------------|---------|
|
|
262
|
+
| `twoFactor` | `better-auth/plugins` | `twoFactorClient` | 2FA with TOTP/OTP |
|
|
263
|
+
| `organization` | `better-auth/plugins` | `organizationClient` | Teams/orgs |
|
|
264
|
+
| `admin` | `better-auth/plugins` | `adminClient` | User management |
|
|
265
|
+
| `bearer` | `better-auth/plugins` | - | API token auth |
|
|
266
|
+
| `openAPI` | `better-auth/plugins` | - | API docs |
|
|
267
|
+
| `passkey` | `@better-auth/passkey` | `passkeyClient` | WebAuthn |
|
|
268
|
+
| `sso` | `@better-auth/sso` | - | Enterprise SSO |
|
|
269
|
+
|
|
270
|
+
**Plugin pattern:** Server plugin + client plugin + run migrations.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Auth UI Implementation
|
|
275
|
+
|
|
276
|
+
**Sign in flow:**
|
|
277
|
+
1. `signIn.email({ email, password })` or `signIn.social({ provider, callbackURL })`
|
|
278
|
+
2. Handle `error` in response
|
|
279
|
+
3. Redirect on success
|
|
280
|
+
|
|
281
|
+
**Session check (client):** `useSession()` hook returns `{ data: session, isPending }`
|
|
282
|
+
|
|
283
|
+
**Session check (server):** `auth.api.getSession({ headers: await headers() })`
|
|
284
|
+
|
|
285
|
+
**Protected routes:** Check session, redirect to `/sign-in` if null.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Security Checklist
|
|
290
|
+
|
|
291
|
+
- [ ] `BETTER_AUTH_SECRET` set (32+ chars)
|
|
292
|
+
- [ ] `advanced.useSecureCookies: true` in production
|
|
293
|
+
- [ ] `trustedOrigins` configured
|
|
294
|
+
- [ ] Rate limits enabled
|
|
295
|
+
- [ ] Email verification enabled
|
|
296
|
+
- [ ] Password reset implemented
|
|
297
|
+
- [ ] 2FA for sensitive apps
|
|
298
|
+
- [ ] CSRF protection NOT disabled
|
|
299
|
+
- [ ] `account.accountLinking` reviewed
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Troubleshooting
|
|
304
|
+
|
|
305
|
+
| Issue | Fix |
|
|
306
|
+
|-------|-----|
|
|
307
|
+
| "Secret not set" | Add `BETTER_AUTH_SECRET` env var |
|
|
308
|
+
| "Invalid Origin" | Add domain to `trustedOrigins` |
|
|
309
|
+
| Cookies not setting | Check `baseURL` matches domain; enable secure cookies in prod |
|
|
310
|
+
| OAuth callback errors | Verify redirect URIs in provider dashboard |
|
|
311
|
+
| Type errors after adding plugin | Re-run CLI generate/migrate |
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Resources
|
|
316
|
+
|
|
317
|
+
- [Docs](https://better-auth.com/docs)
|
|
318
|
+
- [Examples](https://github.com/better-auth/examples)
|
|
319
|
+
- [Plugins](https://better-auth.com/docs/concepts/plugins)
|
|
320
|
+
- [CLI](https://better-auth.com/docs/concepts/cli)
|
|
321
|
+
- [Migration Guides](https://better-auth.com/docs/guides)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-my-data
|
|
3
|
+
description: figure out what the app should remember before wiring storage. Use when the builder says something like: design my database; what data do i need; what should my app remember.
|
|
4
|
+
metadata:
|
|
5
|
+
vybekiit-generated: buyer-skill-stub
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
|
+
|
|
10
|
+
# Skill: design-my-data
|
|
11
|
+
|
|
12
|
+
**Goal:** figure out what the app should remember before wiring storage.
|
|
13
|
+
|
|
14
|
+
**Contract:** one action at a time · verify-before-advance · plain language (`language.md`) ·
|
|
15
|
+
translate every error · celebrate. You do all the planning; the builder describes features in plain words.
|
|
16
|
+
|
|
17
|
+
> (Agent-only) Run `vybekiit plan-data-model entities.json [provider]` — do not eval TypeScript from
|
|
18
|
+
> node_modules. Never say primary key, foreign key, migration, schema, or normalization to the builder.
|
|
19
|
+
> Follow `platform-skills/data-model-vybekiit.md`.
|
|
20
|
+
|
|
21
|
+
## Steps
|
|
22
|
+
|
|
23
|
+
1. **Learn what users do.** From the product description, ask what must be saved (not a schema interview).
|
|
24
|
+
**Verify:** you can list 1–3 things the app remembers.
|
|
25
|
+
|
|
26
|
+
2. **Plan the shape (agent-only).** Run `vybekiit plan-data-model entities.json` with entities from step 1.
|
|
27
|
+
**Verify:** plan has collections and a `buyerSummary` sentence.
|
|
28
|
+
|
|
29
|
+
3. **Read back in one sentence.** Use `renderDataModelSummary(plan)` — plain words only.
|
|
30
|
+
**Verify:** builder says yes.
|
|
31
|
+
|
|
32
|
+
4. **Route to save-data.** Hand off to `save-data.md` to provision the database, wire CRUD, and test.
|
|
33
|
+
**Verify:** `save-data` definition of done.
|
|
34
|
+
|
|
35
|
+
## When to skip
|
|
36
|
+
|
|
37
|
+
Single trivial entity (e.g. one list of notes) — you may run `vybekiit plan-data-model` inline inside `save-data` step 2
|
|
38
|
+
instead of running this skill separately.
|
|
39
|
+
|
|
40
|
+
## Definition of done
|
|
41
|
+
|
|
42
|
+
Builder agreed on what the app remembers and `save-data` is running with a clear target shape.
|
|
43
|
+
|
|
44
|
+
## After completing this skill
|
|
45
|
+
|
|
46
|
+
Append one entry to `checklist.md` Decision log using `formatChecklistEntry({ from, to, because })`.
|
|
47
|
+
|
|
48
|
+
If MCP or first debug fails once, run `vybekiit doc-fallback <tech-id>` and tell the builder only: *"I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment."*
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: find out why something isn't working and fix it — without making the builder debug. Use when the builder says something like: it's broken; nothing works; get an error; check my app.
|
|
4
|
+
metadata:
|
|
5
|
+
vybekiit-generated: buyer-skill-stub
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<!-- vybekiit:generated:buyer-skill-stub -->
|
|
9
|
+
|
|
10
|
+
# Skill: doctor
|
|
11
|
+
|
|
12
|
+
**Goal:** find out why something isn't working and fix it — without making the builder debug
|
|
13
|
+
anything. This is the anti-refund safety net: a stuck builder who gets unstuck stays happy.
|
|
14
|
+
|
|
15
|
+
**Contract:** one action at a time · verify-before-advance · plain language (`language.md`) ·
|
|
16
|
+
translate every error · celebrate the fix. The builder should mostly just watch.
|
|
17
|
+
|
|
18
|
+
## How to run
|
|
19
|
+
|
|
20
|
+
Work through these in order. Stop as soon as you find and fix the problem, then verify.
|
|
21
|
+
|
|
22
|
+
1. **Reproduce.** Ask the builder, in one question, what they were doing when it broke — **unless**
|
|
23
|
+
the prompt starts with `[VybeKiit Report]` or they say they used Report mode (Option+Shift+R,
|
|
24
|
+
clicked an element, sent a note). In that case context is pre-filled; skip this question.
|
|
25
|
+
|
|
26
|
+
2. **Check the basics, in order:**
|
|
27
|
+
- **Secret settings:** are the required values in `.env` present and non-empty? (Use
|
|
28
|
+
`.env.example` as the checklist.) Missing/blank is the #1 cause. Never read `.env` values aloud —
|
|
29
|
+
follow `env-secrets-vybekiit.md`. Doctor verifies `.cursorignore` lists `.env`.
|
|
30
|
+
- **Tools installed + signed in:** run `vybekiit doctor` — it installs your AI assistant (Claude Code,
|
|
31
|
+
Codex, or Cursor), the skills installer, and whichever cloud tools your settings use (database, hosting,
|
|
32
|
+
Google sign-in). It also checks official platform skills are present. If it reports "not signed
|
|
33
|
+
in yet," walk the builder through the one sign-in command it prints (a browser window opens;
|
|
34
|
+
they click approve). Then make sure the project's dependencies are installed.
|
|
35
|
+
- **Code health:** run `pnpm verify` (format, lint, typecheck, tests). Read the first real error (not the noise).
|
|
36
|
+
- **Platform instructions stale?** If symptoms match outdated framework patterns (old routing,
|
|
37
|
+
deprecated APIs), suggest running `update-kit` before deep debugging — say *"I'll refresh my
|
|
38
|
+
instructions first"* in plain words, never name upstream tools.
|
|
39
|
+
- **Services reachable:** if it's data-related, check the database is reachable
|
|
40
|
+
(`@vybekiit/db`'s `pingDatabase`). If payments, re-check payment secret values.
|
|
41
|
+
- **Memory structure current?** If data-related errors (500, "column not found", "table missing"),
|
|
42
|
+
check migration status first — a migration file that was never applied to the live database is
|
|
43
|
+
the #1 silent killer after deploy. Run `checkMigrationStatus()` and apply pending migrations.
|
|
44
|
+
- **MCP / integration stuck once?** Run `vybekiit doc-fallback <tech-id>` (see
|
|
45
|
+
`.vybekiit/agent/tech-references.md`). Tell the builder you're checking the official setup
|
|
46
|
+
guide — use the plain phrase from `formatBuilderStuckMessage()`, never say MCP.
|
|
47
|
+
|
|
48
|
+
3. **Fix the one thing.** Make the smallest change that addresses the actual cause. If it's a value
|
|
49
|
+
the builder must supply, ask for **just that one**, with exactly where to get it.
|
|
50
|
+
|
|
51
|
+
4. **Still stuck on generated code?** If the fix lives in scaffolded kit code and basics are green,
|
|
52
|
+
follow the maintainer **diagnose** workflow internally (`~/.claude/skills/diagnose/SKILL.md` or
|
|
53
|
+
equivalent) — never expose that skill name to the builder. Translate the outcome to one plain fix.
|
|
54
|
+
|
|
55
|
+
5. **Verify the fix.** Re-run the thing that was broken. Confirm it works now.
|
|
56
|
+
If the app is already online, ask: *"Want me to put this fix online now?"* (contract rule ⑧).
|
|
57
|
+
Don't say "fixed" until the live URL reflects the change — or the builder said to wait.
|
|
58
|
+
🎉 *Celebrate* — and tell them in one sentence what it was, in plain words.
|
|
59
|
+
|
|
60
|
+
## Report Mode handoff
|
|
61
|
+
|
|
62
|
+
If the prompt starts with `[VybeKiit Report]` (or the builder used Report mode on localhost):
|
|
63
|
+
|
|
64
|
+
- Context is pre-filled — skip "what were you doing?"
|
|
65
|
+
- Use the page, location in code, tap coordinates, and console errors in the prompt
|
|
66
|
+
- Fix the smallest thing; verify; celebrate in plain words
|
|
67
|
+
|
|
68
|
+
## Rules
|
|
69
|
+
|
|
70
|
+
- **Never** paste a raw error or stack trace to the builder. Translate to "what happened + the one
|
|
71
|
+
fix" (`language.md`).
|
|
72
|
+
- One change at a time; re-check after each. Don't shotgun fixes.
|
|
73
|
+
- If you genuinely can't fix it, say so honestly and point them to the community/support — don't
|
|
74
|
+
loop silently.
|
|
75
|
+
|
|
76
|
+
## Definition of done
|
|
77
|
+
|
|
78
|
+
The thing that was broken now works, verified, and the builder knows (in plain words) it's handled.
|
|
79
|
+
|
|
80
|
+
## After completing this skill
|
|
81
|
+
|
|
82
|
+
Append one entry to `checklist.md` Decision log using `formatChecklistEntry({ from, to, because })`.
|
|
83
|
+
|
|
84
|
+
If MCP or first debug fails once, run `vybekiit doc-fallback <tech-id>` and tell the builder only: *"I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment."*
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eas-app-stores
|
|
3
|
+
description: EAS service (paid). Deploy Expo apps to the app stores with EAS - build and submit to the iOS App Store, Google Play Store, and TestFlight, configure eas.json build and submit profiles, manage app versions and build numbers, and publish App Store metadata and ASO. Use whenever the user wants to deploy, release, or ship an app to production or the app stores, is preparing a production build, running eas build or eas submit, shipping to TestFlight, bumping version or build numbers, or setting up store listing metadata. For deploying an Expo website or API routes, use the eas-hosting skill.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
license: MIT
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# App Store Deployment
|
|
9
|
+
|
|
10
|
+
> **EAS service - costs apply.** This skill uses Expo Application Services (EAS), a paid product with free-tier limits. `eas build` and `eas submit` consume your plan's build minutes, and store submission requires paid Apple Developer and Google Play accounts. Review https://expo.dev/pricing before running cloud commands.
|
|
11
|
+
|
|
12
|
+
This skill covers building and releasing Expo apps to the iOS App Store, Google Play Store, and TestFlight using EAS (Expo Application Services). For deploying an Expo website or API routes to EAS Hosting, use the `eas-hosting` skill.
|
|
13
|
+
|
|
14
|
+
## References
|
|
15
|
+
|
|
16
|
+
Consult these resources as needed:
|
|
17
|
+
|
|
18
|
+
- ./references/workflows.md -- CI/CD workflows for automated store releases and PR previews
|
|
19
|
+
- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
|
|
20
|
+
- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
|
|
21
|
+
- ./references/play-store.md -- Submitting Android builds to Google Play Store
|
|
22
|
+
- ./references/ios-app-store.md -- iOS App Store submission and review process
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
### Install EAS CLI
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install -g eas-cli
|
|
30
|
+
eas login
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Initialize EAS
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx eas-cli@latest init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This creates `eas.json` with build profiles.
|
|
40
|
+
|
|
41
|
+
## Build Commands
|
|
42
|
+
|
|
43
|
+
### Production Builds
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# iOS App Store build
|
|
47
|
+
npx eas-cli@latest build -p ios --profile production
|
|
48
|
+
|
|
49
|
+
# Android Play Store build
|
|
50
|
+
npx eas-cli@latest build -p android --profile production
|
|
51
|
+
|
|
52
|
+
# Both platforms
|
|
53
|
+
npx eas-cli@latest build --profile production
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Submit to Stores
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# iOS: Build and submit to App Store Connect
|
|
60
|
+
npx eas-cli@latest build -p ios --profile production --submit
|
|
61
|
+
|
|
62
|
+
# Android: Build and submit to Play Store
|
|
63
|
+
npx eas-cli@latest build -p android --profile production --submit
|
|
64
|
+
|
|
65
|
+
# Shortcut for iOS TestFlight
|
|
66
|
+
npx testflight
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Web & API Route Hosting
|
|
70
|
+
|
|
71
|
+
Deploying an Expo website or Expo Router API routes to EAS Hosting (`npx expo export -p web` then `eas deploy`) is covered by the `eas-hosting` skill. This skill focuses on native app store releases.
|
|
72
|
+
|
|
73
|
+
## EAS Configuration
|
|
74
|
+
|
|
75
|
+
Standard `eas.json` for production deployments:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"cli": {
|
|
80
|
+
"version": ">= 16.0.1",
|
|
81
|
+
"appVersionSource": "remote"
|
|
82
|
+
},
|
|
83
|
+
"build": {
|
|
84
|
+
"production": {
|
|
85
|
+
"autoIncrement": true,
|
|
86
|
+
"ios": {
|
|
87
|
+
"resourceClass": "m-medium"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"development": {
|
|
91
|
+
"developmentClient": true,
|
|
92
|
+
"distribution": "internal"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"submit": {
|
|
96
|
+
"production": {
|
|
97
|
+
"ios": {
|
|
98
|
+
"appleId": "your@email.com",
|
|
99
|
+
"ascAppId": "1234567890"
|
|
100
|
+
},
|
|
101
|
+
"android": {
|
|
102
|
+
"serviceAccountKeyPath": "./google-service-account.json",
|
|
103
|
+
"track": "internal"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Platform-Specific Guides
|
|
111
|
+
|
|
112
|
+
### iOS
|
|
113
|
+
|
|
114
|
+
- Use `npx testflight` for quick TestFlight submissions
|
|
115
|
+
- Configure Apple credentials via `eas credentials`
|
|
116
|
+
- See ./references/testflight.md for credential setup
|
|
117
|
+
- See ./references/ios-app-store.md for App Store submission
|
|
118
|
+
|
|
119
|
+
### Android
|
|
120
|
+
|
|
121
|
+
- Set up Google Play Console service account
|
|
122
|
+
- Configure tracks: internal → closed → open → production
|
|
123
|
+
- See ./references/play-store.md for detailed setup
|
|
124
|
+
|
|
125
|
+
## Automated Releases
|
|
126
|
+
|
|
127
|
+
EAS Workflows automate the build → submit → update pipeline for CI/CD. See ./references/workflows.md for store-release examples. To author or validate workflow YAML, use the `eas-workflows` skill - it works from the live workflow schema.
|
|
128
|
+
|
|
129
|
+
## Version Management
|
|
130
|
+
|
|
131
|
+
EAS manages version numbers automatically with `appVersionSource: "remote"`:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Check current versions
|
|
135
|
+
eas build:version:get
|
|
136
|
+
|
|
137
|
+
# Manually set version
|
|
138
|
+
eas build:version:set -p ios --build-number 42
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Monitoring
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# List recent builds
|
|
145
|
+
eas build:list
|
|
146
|
+
|
|
147
|
+
# Check build status
|
|
148
|
+
eas build:view
|
|
149
|
+
|
|
150
|
+
# View submission status
|
|
151
|
+
eas submit:list
|
|
152
|
+
```
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "EAS App Stores"
|
|
3
|
+
short_description: "Paid EAS service. Build and submit Expo apps to the iOS App Store, Google Play Store, and TestFlight, with eas.json profiles, versioning, and store metadata"
|
|
4
|
+
default_prompt: "Use $eas-app-stores when preparing production EAS builds, store submissions, TestFlight distribution, app-store metadata and ASO, or version and build-number management for an Expo app. For web or API route hosting, use eas-hosting instead."
|