vybekiit 0.7.25 → 0.7.27

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.
Files changed (247) hide show
  1. package/dist/bin.js +3891 -1301
  2. package/dist/global-skills/aws-cdk/SKILL.md +19 -5
  3. package/dist/global-skills/aws-cdk/references/fast-deployments.md +191 -0
  4. package/dist/global-skills/aws-cdk/references/troubleshooting-deployment.md +16 -0
  5. package/dist/global-skills/aws-cloudformation/SKILL.md +16 -26
  6. package/dist/global-skills/aws-cloudformation/references/check-cloudformation-template-compliance.script.md +7 -3
  7. package/dist/global-skills/aws-cloudformation/references/cloudformation-language-server.md +177 -0
  8. package/dist/global-skills/aws-cloudformation/references/cloudformation-pre-deploy-validation.script.md +8 -2
  9. package/dist/global-skills/aws-cloudformation/references/persist-template-context.script.md +5 -8
  10. package/dist/global-skills/aws-cloudformation/references/retrieve-template-context.script.md +1 -1
  11. package/dist/global-skills/aws-cloudformation/references/security-considerations.md +51 -0
  12. package/dist/global-skills/aws-cloudformation/references/troubleshoot-failed-stack.script.md +138 -0
  13. package/dist/global-skills/aws-cloudformation/references/{validate-cloudformation-template.script.md → validate-with-cfn-lint.script.md} +15 -27
  14. package/dist/global-skills/aws-cloudformation/references/validate-with-cloudformation-validate.script.md +181 -0
  15. package/dist/global-skills/aws-cloudformation/references/validation-tool-selection.md +44 -0
  16. package/dist/global-skills/aws-serverless/SKILL.md +9 -1
  17. package/dist/global-skills/aws-serverless/references/architecture.md +3 -1
  18. package/dist/global-skills/aws-serverless/references/lambda.md +3 -1
  19. package/dist/global-skills/aws-serverless/references/orchestration.md +1 -0
  20. package/dist/global-skills/better-auth-best-practices/SKILL.md +18 -8
  21. package/dist/global-skills/eas-app-stores/SKILL.md +31 -15
  22. package/dist/global-skills/eas-app-stores/agents/openai.yaml +2 -2
  23. package/dist/global-skills/eas-app-stores/references/ios-app-store.md +37 -32
  24. package/dist/global-skills/eas-app-stores/references/native-ios.md +167 -0
  25. package/dist/global-skills/eas-app-stores/references/play-store.md +3 -7
  26. package/dist/global-skills/eas-app-stores/references/testflight.md +39 -35
  27. package/dist/global-skills/eas-simulator/SKILL.md +48 -26
  28. package/dist/global-skills/eas-simulator/references/controllers.md +32 -3
  29. package/dist/global-skills/eas-simulator/references/run-your-app.md +34 -4
  30. package/dist/global-skills/eas-simulator/references/troubleshooting.md +8 -4
  31. package/dist/global-skills/eas-update/SKILL.md +146 -0
  32. package/dist/global-skills/eas-update/agents/openai.yaml +4 -0
  33. package/dist/global-skills/expo-animation/RECIPES.md +2 -2
  34. package/dist/global-skills/expo-animation/SKILL.md +9 -2
  35. package/dist/global-skills/expo-brownfield/SKILL.md +18 -11
  36. package/dist/global-skills/expo-brownfield/agents/openai.yaml +2 -2
  37. package/dist/global-skills/expo-brownfield/references/brownfield-integrated.md +94 -69
  38. package/dist/global-skills/expo-brownfield/references/brownfield-isolated.md +40 -42
  39. package/dist/global-skills/expo-brownfield/references/comparison.md +5 -5
  40. package/dist/global-skills/expo-brownfield/references/feature-integration.md +163 -0
  41. package/dist/global-skills/expo-brownfield/references/troubleshooting.md +17 -17
  42. package/dist/global-skills/expo-brownfield/references/version-compatibility.md +40 -0
  43. package/dist/global-skills/expo-data-fetching/SKILL.md +27 -6
  44. package/dist/global-skills/expo-design-system/SKILL.md +27 -7
  45. package/dist/global-skills/expo-design-system/references/audit.md +7 -2
  46. package/dist/global-skills/expo-design-system/references/native-slop.md +74 -0
  47. package/dist/global-skills/expo-examples/SKILL.md +0 -1
  48. package/dist/global-skills/expo-examples/references/catalog.md +1 -1
  49. package/dist/global-skills/expo-migrate-module/SKILL.md +21 -10
  50. package/dist/global-skills/expo-migrate-module/references/compatibility.md +80 -23
  51. package/dist/global-skills/expo-migrate-module/references/migration-map.md +162 -11
  52. package/dist/global-skills/expo-native-ui/SKILL.md +25 -16
  53. package/dist/global-skills/expo-native-ui/agents/openai.yaml +2 -2
  54. package/dist/global-skills/expo-native-ui/references/controls.md +5 -46
  55. package/dist/global-skills/expo-native-ui/references/icons.md +21 -2
  56. package/dist/global-skills/expo-native-ui/references/media.md +15 -20
  57. package/dist/global-skills/expo-native-ui/references/visual-effects.md +12 -11
  58. package/dist/global-skills/expo-overview/SKILL.md +17 -12
  59. package/dist/global-skills/expo-router/SKILL.md +5 -3
  60. package/dist/global-skills/expo-router/references/tabs.md +5 -5
  61. package/dist/global-skills/expo-skill-eval/scripts/check-static.sh +0 -0
  62. package/dist/global-skills/expo-skill-eval/scripts/clean-fixture.sh +0 -0
  63. package/dist/global-skills/expo-skill-eval/scripts/latest-sdk.sh +0 -0
  64. package/dist/global-skills/expo-skill-eval/scripts/make-fixture.sh +0 -0
  65. package/dist/global-skills/expo-skill-eval/scripts/make-workspace.sh +0 -0
  66. package/dist/global-skills/expo-skill-eval/scripts/snapshot-android.sh +0 -0
  67. package/dist/global-skills/expo-skill-eval/scripts/snapshot-ios.sh +0 -0
  68. package/dist/global-skills/expo-skill-eval/scripts/snapshot-web.sh +0 -0
  69. package/dist/global-skills/expo-upgrade/SKILL.md +3 -1
  70. package/dist/global-skills/expo-web-to-native/references/false-friends.md +2 -2
  71. package/dist/global-skills/expo-web-to-native/references/native-patterns.md +1 -1
  72. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +13 -16
  73. package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +4 -5
  74. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +4 -4
  75. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +3 -3
  76. package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
  77. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +4 -5
  78. package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +3 -3
  79. package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +24 -25
  80. package/dist/global-skills/firebase-auth-basics/references/security_rules.md +4 -2
  81. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +7 -4
  82. package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +2 -3
  83. package/dist/global-skills/firebase-data-connect/SKILL.md +2 -1
  84. package/dist/global-skills/firebase-data-connect/examples.md +4 -4
  85. package/dist/global-skills/firebase-data-connect/reference/config.md +5 -4
  86. package/dist/global-skills/firebase-data-connect/reference/realtime.md +1 -2
  87. package/dist/global-skills/firebase-data-connect/reference/sdk_flutter.md +2 -2
  88. package/dist/global-skills/firebase-data-connect/reference/sdk_ios.md +2 -2
  89. package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +17 -6
  90. package/dist/global-skills/firebase-data-connect/reference/security.md +5 -5
  91. package/dist/global-skills/firebase-data-connect/templates.md +2 -1
  92. package/dist/global-skills/firebase-firestore/SKILL.md +20 -8
  93. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +5 -4
  94. package/dist/global-skills/firebase-firestore/references/enterprise/data_model.md +12 -3
  95. package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +16 -18
  96. package/dist/global-skills/firebase-firestore/references/enterprise/provisioning.md +1 -1
  97. package/dist/global-skills/firebase-firestore/references/enterprise/python_sdk_usage.md +5 -1
  98. package/dist/global-skills/firebase-firestore/references/enterprise/web_sdk_usage.md +7 -7
  99. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +5 -5
  100. package/dist/global-skills/firebase-firestore/references/standard/flutter_setup.md +4 -4
  101. package/dist/global-skills/firebase-firestore/references/standard/indexes.md +16 -18
  102. package/dist/global-skills/firebase-firestore/references/standard/provisioning.md +1 -1
  103. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +0 -5
  104. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +36 -8
  105. package/dist/global-skills/firebase-remote-config-basics/references/ios_setup.md +1 -7
  106. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +17 -6
  107. package/dist/global-skills/{firebase-firestore/references/standard/security_rules.md → firestore-rules-creation/SKILL.md} +24 -13
  108. package/dist/global-skills/grow-my-customers/SKILL.md +23 -0
  109. package/dist/global-skills/instrument-feature-flags/SKILL.md +25 -25
  110. package/dist/global-skills/instrument-feature-flags/references/adding-feature-flag-code.md +141 -285
  111. package/dist/global-skills/instrument-feature-flags/references/android.md +6 -15
  112. package/dist/global-skills/instrument-feature-flags/references/api.md +4 -11
  113. package/dist/global-skills/instrument-feature-flags/references/best-practices.md +1 -13
  114. package/dist/global-skills/instrument-feature-flags/references/django.md +14 -27
  115. package/dist/global-skills/instrument-feature-flags/references/dotnet.md +20 -79
  116. package/dist/global-skills/instrument-feature-flags/references/elixir.md +1 -9
  117. package/dist/global-skills/instrument-feature-flags/references/flask.md +13 -13
  118. package/dist/global-skills/instrument-feature-flags/references/flutter.md +3 -24
  119. package/dist/global-skills/instrument-feature-flags/references/go.md +3 -15
  120. package/dist/global-skills/instrument-feature-flags/references/ios.md +4 -17
  121. package/dist/global-skills/instrument-feature-flags/references/java.md +5 -13
  122. package/dist/global-skills/instrument-feature-flags/references/laravel.md +13 -17
  123. package/dist/global-skills/instrument-feature-flags/references/next-js.md +25 -32
  124. package/dist/global-skills/instrument-feature-flags/references/nodejs.md +8 -15
  125. package/dist/global-skills/instrument-feature-flags/references/php.md +1 -15
  126. package/dist/global-skills/instrument-feature-flags/references/python.md +2 -15
  127. package/dist/global-skills/instrument-feature-flags/references/react-native.md +13 -15
  128. package/dist/global-skills/instrument-feature-flags/references/react.md +17 -21
  129. package/dist/global-skills/instrument-feature-flags/references/ruby-on-rails.md +37 -83
  130. package/dist/global-skills/instrument-feature-flags/references/ruby.md +2 -15
  131. package/dist/global-skills/instrument-feature-flags/references/rust.md +13 -25
  132. package/dist/global-skills/instrument-feature-flags/references/usage.md +14 -63
  133. package/dist/global-skills/instrument-feature-flags/references/web.md +9 -14
  134. package/dist/global-skills/instrument-product-analytics/SKILL.md +29 -29
  135. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-hybrid.md +3 -1
  136. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-ssr.md +3 -1
  137. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-static.md +3 -1
  138. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-view-transitions.md +3 -1
  139. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby-on-rails.md +3 -1
  140. package/dist/global-skills/instrument-product-analytics/references/android.md +72 -107
  141. package/dist/global-skills/instrument-product-analytics/references/angular.md +26 -28
  142. package/dist/global-skills/instrument-product-analytics/references/astro.md +13 -24
  143. package/dist/global-skills/instrument-product-analytics/references/configuration.md +45 -63
  144. package/dist/global-skills/instrument-product-analytics/references/django.md +14 -27
  145. package/dist/global-skills/instrument-product-analytics/references/dotnet.md +20 -79
  146. package/dist/global-skills/instrument-product-analytics/references/elixir.md +47 -49
  147. package/dist/global-skills/instrument-product-analytics/references/flask.md +13 -13
  148. package/dist/global-skills/instrument-product-analytics/references/flutter.md +60 -90
  149. package/dist/global-skills/instrument-product-analytics/references/go.md +17 -56
  150. package/dist/global-skills/instrument-product-analytics/references/identify-users.md +15 -15
  151. package/dist/global-skills/instrument-product-analytics/references/ios.md +11 -15
  152. package/dist/global-skills/instrument-product-analytics/references/laravel.md +13 -17
  153. package/dist/global-skills/instrument-product-analytics/references/next-js.md +25 -32
  154. package/dist/global-skills/instrument-product-analytics/references/nuxt-js-3-6.md +13 -27
  155. package/dist/global-skills/instrument-product-analytics/references/nuxt-js.md +14 -28
  156. package/dist/global-skills/instrument-product-analytics/references/php.md +33 -84
  157. package/dist/global-skills/instrument-product-analytics/references/posthog-python.md +229 -9
  158. package/dist/global-skills/instrument-product-analytics/references/python.md +415 -106
  159. package/dist/global-skills/instrument-product-analytics/references/react-native.md +161 -155
  160. package/dist/global-skills/instrument-product-analytics/references/react-router-v6.md +12 -33
  161. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-data-mode.md +15 -33
  162. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-declarative-mode.md +12 -33
  163. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-framework-mode.md +26 -41
  164. package/dist/global-skills/instrument-product-analytics/references/ruby-on-rails.md +37 -83
  165. package/dist/global-skills/instrument-product-analytics/references/ruby.md +48 -108
  166. package/dist/global-skills/instrument-product-analytics/references/svelte.md +18 -24
  167. package/dist/global-skills/instrument-product-analytics/references/tanstack-start.md +17 -19
  168. package/dist/global-skills/instrument-product-analytics/references/usage.md +14 -63
  169. package/dist/global-skills/instrument-product-analytics/references/vue-js.md +29 -28
  170. package/dist/global-skills/manifest.json +8 -2
  171. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +28 -37
  172. package/dist/global-skills/mongodb-search-and-ai/references/automated-embedding.md +438 -0
  173. package/dist/global-skills/mongodb-search-and-ai/references/hybrid-search.md +60 -4
  174. package/dist/global-skills/mongodb-search-and-ai/references/vector-search.md +46 -108
  175. package/dist/global-skills/neon/SKILL.md +207 -213
  176. package/dist/global-skills/neon/references/auth.md +12 -0
  177. package/dist/global-skills/neon/references/claimable-neon.md +10 -14
  178. package/dist/global-skills/neon/references/function-triggers.md +53 -0
  179. package/dist/global-skills/neon/references/logs-loki.md +61 -0
  180. package/dist/global-skills/neon/references/parse-env.md +32 -0
  181. package/dist/global-skills/neon/references/sdk.md +7 -0
  182. package/dist/global-skills/neon-ai-gateway/SKILL.md +14 -16
  183. package/dist/global-skills/neon-auth/SKILL.md +155 -0
  184. package/dist/global-skills/neon-auth/references/managed-auth.md +173 -0
  185. package/dist/global-skills/neon-auth/references/self-managed.md +25 -0
  186. package/dist/global-skills/neon-functions/SKILL.md +159 -84
  187. package/dist/global-skills/neon-functions/references/ai-sdk.md +4 -6
  188. package/dist/global-skills/neon-functions/references/function-triggers.md +249 -0
  189. package/dist/global-skills/neon-functions/references/mastra-studio.md +3 -3
  190. package/dist/global-skills/neon-functions/references/mcp.md +1 -1
  191. package/dist/global-skills/neon-functions/references/production-hardening.md +340 -0
  192. package/dist/global-skills/neon-functions/references/sse.md +8 -5
  193. package/dist/global-skills/neon-object-storage/SKILL.md +10 -11
  194. package/dist/global-skills/neon-postgres/SKILL.md +120 -17
  195. package/dist/global-skills/neon-postgres/references/full-text-search.md +99 -0
  196. package/dist/global-skills/neon-postgres/references/hybrid-search.md +90 -0
  197. package/dist/global-skills/neon-postgres/references/lakebase-search-drizzle.md +172 -0
  198. package/dist/global-skills/neon-postgres/references/vector-search.md +137 -0
  199. package/dist/global-skills/neon-postgres-branches/SKILL.md +3 -3
  200. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
  201. package/dist/global-skills/onboarding/SKILL.md +8 -6
  202. package/dist/global-skills/resend/SKILL.md +4 -2
  203. package/dist/global-skills/resend/references/broadcasts.md +6 -1
  204. package/dist/global-skills/resend/references/receiving.md +29 -10
  205. package/dist/global-skills/resend/references/sending/email-management.md +14 -4
  206. package/dist/global-skills/resend/references/topics.md +9 -6
  207. package/dist/global-skills/resend/references/usage.md +117 -0
  208. package/dist/global-skills/resend/references/webhooks.md +59 -2
  209. package/dist/global-skills/stripe-best-practices/SKILL.md +35 -29
  210. package/dist/global-skills/stripe-best-practices/references/billing.md +9 -2
  211. package/dist/global-skills/stripe-best-practices/references/payments.md +4 -2
  212. package/dist/global-skills/stripe-best-practices/references/security.md +3 -1
  213. package/dist/global-skills/stripe-best-practices/references/tax.md +39 -20
  214. package/dist/global-skills/supabase/SKILL.md +6 -0
  215. package/dist/global-skills/use-railway/SKILL.md +42 -22
  216. package/dist/global-skills/use-railway/references/analyze-db.md +7 -6
  217. package/dist/global-skills/use-railway/references/cloud-agents.md +70 -0
  218. package/dist/global-skills/use-railway/references/configure.md +17 -2
  219. package/dist/global-skills/use-railway/references/databases.md +107 -0
  220. package/dist/global-skills/use-railway/references/deploy.md +5 -5
  221. package/dist/global-skills/use-railway/references/feature-flags.md +25 -13
  222. package/dist/global-skills/use-railway/references/iac.md +66 -77
  223. package/dist/global-skills/use-railway/references/operate.md +26 -3
  224. package/dist/global-skills/use-railway/references/request.md +31 -23
  225. package/dist/global-skills/use-railway/references/setup.md +16 -5
  226. package/dist/global-skills/use-railway/references/tracing.md +261 -0
  227. package/dist/global-skills/use-railway/references/usage.md +52 -0
  228. package/dist/global-skills/use-railway/scripts/analyze-mongo.py +0 -0
  229. package/dist/global-skills/use-railway/scripts/analyze-mysql.py +0 -0
  230. package/dist/global-skills/use-railway/scripts/analyze-postgres.py +0 -0
  231. package/dist/global-skills/use-railway/scripts/analyze-redis.py +0 -0
  232. package/dist/global-skills/use-railway/scripts/enable-pg-stats.py +0 -0
  233. package/dist/global-skills/use-railway/scripts/pg-extensions.py +0 -0
  234. package/dist/global-skills/use-railway/scripts/railway-api.sh +0 -0
  235. package/dist/global-skills/validate-my-idea/SKILL.md +54 -0
  236. package/dist/global-skills/{feedback → vybekiit-feedback}/SKILL.md +16 -12
  237. package/dist/global-skills/watch-my-app/SKILL.md +53 -0
  238. package/dist/global-skills/workers-best-practices/SKILL.md +36 -103
  239. package/dist/global-skills/workers-best-practices/references/configuration.md +139 -0
  240. package/dist/global-skills/workers-best-practices/references/platform-apis.md +51 -0
  241. package/dist/global-skills/workers-best-practices/references/{rules.md → runtime-patterns.md} +13 -137
  242. package/dist/global-skills/wrangler/SKILL.md +48 -901
  243. package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Sources/main.swift +19 -15
  244. package/package.json +22 -22
  245. package/dist/global-skills/expo-native-ui/references/animations.md +0 -220
  246. package/dist/global-skills/firebase-firestore/references/enterprise/security_rules.md +0 -577
  247. package/dist/global-skills/workers-best-practices/references/review.md +0 -174
@@ -35,6 +35,7 @@
35
35
  "eas-hosting",
36
36
  "eas-observe",
37
37
  "eas-simulator",
38
+ "eas-update",
38
39
  "eas-update-insights",
39
40
  "eas-workflows",
40
41
  "email-best-practices",
@@ -63,7 +64,6 @@
63
64
  "expo-upgrade",
64
65
  "expo-web-to-native",
65
66
  "extension-to-functions-codebase",
66
- "feedback",
67
67
  "firebase-ai-logic-basics",
68
68
  "firebase-app-hosting-basics",
69
69
  "firebase-auth-basics",
@@ -74,7 +74,9 @@
74
74
  "firebase-hosting-basics",
75
75
  "firebase-remote-config-basics",
76
76
  "firebase-security-rules-auditor",
77
+ "firestore-rules-creation",
77
78
  "go-live",
79
+ "grow-my-customers",
78
80
  "harden",
79
81
  "instrument-feature-flags",
80
82
  "instrument-product-analytics",
@@ -102,6 +104,7 @@
102
104
  "native-data-fetching",
103
105
  "neon",
104
106
  "neon-ai-gateway",
107
+ "neon-auth",
105
108
  "neon-functions",
106
109
  "neon-object-storage",
107
110
  "neon-postgres",
@@ -131,8 +134,11 @@
131
134
  "use-dom",
132
135
  "use-kit-mcp",
133
136
  "use-railway",
137
+ "validate-my-idea",
134
138
  "vercel-composition-patterns",
135
139
  "vercel-react-best-practices",
140
+ "vybekiit-feedback",
141
+ "watch-my-app",
136
142
  "web-to-native",
137
143
  "wire-auth",
138
144
  "wire-database",
@@ -142,5 +148,5 @@
142
148
  "wrangler",
143
149
  "xcode-project-setup"
144
150
  ],
145
- "count": 141
151
+ "count": 147
146
152
  }
@@ -18,6 +18,7 @@ You are helping MongoDB users implement, optimize, and troubleshoot Atlas Search
18
18
  3. **Explain before executing** - Describe what indexes will be created and require explicit approval
19
19
  4. **Optimize for the use case** - Different use cases require different index configurations and query patterns
20
20
  5. **Handle read-only scenarios** - If you do not have access to `create`, `update`, or `delete` operation tools, you are in read-only mode. Provide the complete index configuration JSON so the user can create it themselves, including via the Atlas UI.
21
+ 6. **Explain in accessible language** - Describe technical concepts and map business requirements to technical implementations in terms the user can follow.
21
22
 
22
23
  ## Workflow
23
24
 
@@ -38,11 +39,15 @@ If the user's request is vague:
38
39
  Common questions to ask:
39
40
  - What are users searching for? (products, movies, documents, etc.)
40
41
  - What fields contain the searchable content?
42
+ - Are they searching by free text, or by similarity to an existing item (e.g. "given movie A, find similar movies")?
41
43
  - Do they need exact matching, fuzzy matching, or semantic similarity?
42
44
  - Do they need filters (price ranges, categories, dates)?
43
45
  - Do they need autocomplete/typeahead functionality?
46
+ - Do they already generate vector embeddings, or do they want MongoDB to handle that automatically?
44
47
 
45
- ### 2. Determine Search Type
48
+ ### 2. Determine Search Type and Consult the Reference File
49
+
50
+ Match the use case to a search type below, then consult the linked reference file **before** recommending indexes or queries. Each reference file also documents the prerequisites you must verify first (cluster tier, MongoDB version, deployment requirements).
46
51
 
47
52
  **Atlas Search (Lexical/Full-Text):**
48
53
  Use when users need:
@@ -54,15 +59,28 @@ Use when users need:
54
59
  - Token-based search
55
60
  - Lexical search with views
56
61
 
57
- **Vector Search (Semantic):**
62
+ → Consult both `references/lexical-search-indexing.md` (index) and `references/lexical-search-querying.md` (query).
63
+
64
+ **Automated Embedding (Semantic search, no embedding code):**
58
65
  Use when users need:
59
- - Semantic similarity ("find movies about coming of age stories")
60
- - Natural language understanding
61
- - RAG (Retrieval Augmented Generation) applications
62
- - Finding conceptually similar items
63
- - Cross-modal search
66
+ - Semantic / vector search without writing embedding code
67
+ - No existing vector pipeline or embedding infrastructure
68
+ - Quick setup: MongoDB auto-generates and manages embeddings using Voyage AI models
69
+ - Text data already stored in Atlas that they want to search by meaning
70
+ - RAG or AI agent memory with minimal setup
71
+
72
+ → Consult `references/automated-embedding.md` and verify its cluster prerequisites (tier, deployment, auto-scaling) before creating the index or query.
73
+
74
+ **Vector Search (Semantic, bring your own embeddings):**
75
+ Use when users need:
76
+ - Semantic similarity with their own pre-generated embeddings
77
+ - A specific embedding model not provided by Voyage AI
78
+ - Image, audio, or multimodal embeddings (Automated Embedding is text-only)
79
+ - Self-managed MongoDB without Voyage AI API key configured
64
80
  - Vector search with views
65
81
 
82
+ → Consult `references/vector-search.md`.
83
+
66
84
  **Hybrid Search:**
67
85
  Use when users need:
68
86
  - Combining multiple search approaches (e.g., vector + lexical, multiple text searches)
@@ -70,24 +88,9 @@ Use when users need:
70
88
  - Results that factor in multiple relevance criteria
71
89
  - Uses `$rankFusion` (rank-based) or `$scoreFusion` (score-based) to merge pipelines
72
90
 
73
- ### 3. Version Check (Hybrid Search only)
74
-
75
- If the search type is **Hybrid using `$rankFusion` or `$scoreFusion`**, verify the cluster version before proceeding:
76
- - `$rankFusion` requires MongoDB 8.0+
77
- - `$scoreFusion` requires MongoDB 8.2+
91
+ → Consult `references/hybrid-search.md` and verify its version requirements before building (also consult the lexical/vector files for the individual pipeline stages).
78
92
 
79
- If the version requirement is not met, do not proceed — inform the user the feature is unavailable and suggest upgrading. Do not consult `references/hybrid-search.md`.
80
-
81
- If the search type is Lexical, Vector, or the lexical prefilter pattern (`vectorSearch` operator inside `$search`), proceed to the next step.
82
-
83
- ### 4. Consult Reference Files
84
-
85
- Always consult the appropriate reference file(s) before recommending indexes or queries:
86
- - **Lexical**: consult both `references/lexical-search-indexing.md` (index) and `references/lexical-search-querying.md` (query)
87
- - **Vector**: consult `references/vector-search.md`
88
- - **Hybrid**: consult `references/hybrid-search.md` (and the lexical/vector files for the individual pipeline stages within it)
89
-
90
- ### 5. Execution and Validation
93
+ ### 3. Execution and Validation
91
94
 
92
95
  **Creating indexes:**
93
96
  1. Explain the index configuration in plain language
@@ -110,11 +113,7 @@ Always consult the appropriate reference file(s) before recommending indexes or
110
113
 
111
114
  ## Anti-Patterns to Avoid
112
115
 
113
- **NEVER recommend $regex or $text for search use cases:**
114
- - **$regex**: Not designed for full-text search. Lacks relevance scoring, fuzzy matching, and language-aware tokenization.
115
- - **$text**: Legacy operator that doesn't scale well for search workloads.
116
-
117
- If a user asks for regex/text for a search use case, explain why Atlas Search is more appropriate and show the equivalent pattern.
116
+ **NEVER recommend `$regex` or `$text` for search use cases.** Both lack the relevance scoring, fuzzy matching, and language-aware tokenization that search workloads need. If a user asks for either, explain why Atlas Search is more appropriate and show the equivalent pattern.
118
117
 
119
118
  ## Handling Edge Cases
120
119
 
@@ -132,11 +131,3 @@ If a user asks for regex/text for a search use case, explain why Atlas Search is
132
131
  **Multiple collections are relevant:**
133
132
  - List options and ask which one they mean
134
133
  - If context makes it obvious, confirm your assumption
135
-
136
- ## Remember
137
-
138
- - Always check existing indexes before recommending new ones
139
- - Explain technical concepts in accessible language
140
- - Require approval before creating indexes
141
- - Map user's business requirements to technical implementations
142
- - Use the appropriate search type for the use case
@@ -0,0 +1,438 @@
1
+ # Automated Embedding
2
+
3
+ **Scope**: This guide covers configuring MongoDB Vector Search to automatically generate and manage vector embeddings — no embedding code or model infrastructure required (queries still run through a `$vectorSearch` aggregation pipeline). It documents the `autoEmbed` index type and text-query `$vectorSearch` syntax. For manual vector search (bring your own embeddings), see `vector-search.md`. For combining with lexical search, see `hybrid-search.md`.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Prerequisites](#prerequisites)
8
+ - [Model Selection](#model-selection)
9
+ - [Index Definition](#index-definition)
10
+ - [Query Construction](#query-construction)
11
+ - [Item-to-Item Similarity](#item-to-item-similarity)
12
+ - [How It Works Internally](#how-it-works-internally)
13
+ - [Billing and Free Tokens](#billing-and-free-tokens)
14
+ - [Rate Limits](#rate-limits)
15
+ - [Management and Monitoring](#management-and-monitoring)
16
+ - [Troubleshooting](#troubleshooting)
17
+
18
+ ## Prerequisites
19
+
20
+ Verify these prerequisites before creating an `autoEmbed` index or query. Tier and auto-scaling prerequisites can change across Atlas releases — confirm the current requirements in the official docs before acting.
21
+
22
+ ### Atlas Clusters
23
+
24
+ Automated Embedding is supported on **all Atlas cluster tiers**: M0 (free), Flex, and M10+ dedicated.
25
+
26
+ **M10+ dedicated clusters require storage auto-scaling to be enabled.** If the user is on M10+ without storage auto-scaling, explain how to enable it in Atlas and wait for confirmation before proceeding to index creation.
27
+
28
+ ### Self-Managed Deployments
29
+
30
+ Requires:
31
+ 1. MongoDB 8.3+ with `mongot`
32
+ 2. A Voyage AI API key for indexing
33
+ 3. A Voyage AI API key for querying (recommended to use separate keys)
34
+ 4. Keys configured in `mongot` during deployment
35
+
36
+ If the user is on a self-managed deployment without Voyage AI configured, offer an alternative: "You can still do semantic search by generating embeddings yourself and storing them in your documents — this works on any deployment. Want to go that route instead?" If yes, proceed with manual Vector Search using `vector-search.md`.
37
+
38
+ ## Model Selection
39
+
40
+ All models use Voyage AI, hosted and managed by MongoDB (multi-tenant, US region, Google Cloud). Context window is **32,000 tokens** for all models. Text exceeding this is truncated at index time; queries exceeding it return a `context-limit-exceeded` error. (Pricing and rate limits can change—confirm current values in Atlas or official MongoDB documentation.)
41
+
42
+ | Model | Best For | Per 1K Tokens | Per 1M Tokens |
43
+ |---|---|---|---|
44
+ | `voyage-4-lite` | High-volume, cost-sensitive applications | $0.00002 | $0.02 |
45
+ | `voyage-4` | **(Recommended)** General text search, balanced performance | $0.00006 | $0.06 |
46
+ | `voyage-4-large` | Maximum accuracy, complex semantic relationships | $0.00012 | $0.12 |
47
+ | `voyage-code-3` | Code search, technical documentation | $0.00018 | $0.18 |
48
+
49
+ **Decision guide:**
50
+ - Default / unknown use case → `voyage-4`
51
+ - Large collection, cost is a concern → `voyage-4-lite`
52
+ - High-stakes retrieval where accuracy matters most → `voyage-4-large`
53
+ - Codebase or technical docs search → `voyage-code-3`
54
+
55
+ **Free tokens:** 200 million tokens per model, one-time, shared across the entire Atlas organization. Does not refresh. See [Billing and Free Tokens](#billing-and-free-tokens) below for how consumption and invoicing work.
56
+
57
+ ## Index Definition
58
+
59
+ ### Syntax
60
+
61
+ ```javascript
62
+ {
63
+ "fields": [
64
+ {
65
+ "type": "autoEmbed",
66
+ "modality": "text",
67
+ "path": "<text-field-to-embed>",
68
+ "model": "<embedding-model>"
69
+ },
70
+ {
71
+ "type": "filter", // Optional: index one or more fields as filters to enable pre-filtering / scoped search
72
+ "path": "<field-to-filter-on>"
73
+ }
74
+ ]
75
+ }
76
+ ```
77
+
78
+ ### Fields
79
+
80
+ The embedding field (`type: "autoEmbed"`) is required. To pre-filter queries, add one or more optional `filter` fields (each with its own `type` and `path`):
81
+
82
+ | Field | Required | Description |
83
+ |---|---|---|
84
+ | `type` | Yes | `"autoEmbed"` for the embedding field, or `"filter"` for an optional filter field |
85
+ | `modality` | Yes (autoEmbed) | Must be `"text"` (only text is supported currently) |
86
+ | `path` | Yes | For an `autoEmbed` field, the document field containing the text to embed; for a `filter` field, the field to filter on |
87
+ | `model` | Yes (autoEmbed) | The Voyage AI embedding model to use |
88
+
89
+ ### Examples
90
+
91
+ **Minimal index (no filters):**
92
+ ```javascript
93
+ {
94
+ "fields": [
95
+ {
96
+ "type": "autoEmbed",
97
+ "modality": "text",
98
+ "path": "description",
99
+ "model": "voyage-4"
100
+ }
101
+ ]
102
+ }
103
+ ```
104
+
105
+ **With filter fields (recommended for scoped search):**
106
+ ```javascript
107
+ {
108
+ "fields": [
109
+ {
110
+ "type": "autoEmbed",
111
+ "modality": "text",
112
+ "path": "description",
113
+ "model": "voyage-4"
114
+ },
115
+ {
116
+ "type": "filter",
117
+ "path": "category"
118
+ },
119
+ {
120
+ "type": "filter",
121
+ "path": "year"
122
+ }
123
+ ]
124
+ }
125
+ ```
126
+
127
+ ### Creating the Index (mongosh)
128
+
129
+ ```javascript
130
+ db.movies.createSearchIndex(
131
+ "<index-name>",
132
+ "vectorSearch",
133
+ {
134
+ "fields": [
135
+ {
136
+ "type": "autoEmbed",
137
+ "modality": "text",
138
+ "path": "<text-field>",
139
+ "model": "voyage-4"
140
+ }
141
+ ]
142
+ }
143
+ )
144
+ ```
145
+
146
+ **Note:** After creation, MongoDB performs an initial sync — generating embeddings for all existing documents. This can take several hours for large collections. Monitor progress via Atlas → Search & Vector Search.
147
+
148
+ ## Query Construction
149
+
150
+ ### Key Difference from Manual Vector Search
151
+
152
+ With Automated Embedding, you use **`query`** (a text string) instead of **`queryVector`** (an array of numbers). MongoDB generates the query embedding automatically.
153
+
154
+ ### Basic Query Syntax
155
+
156
+ ```javascript
157
+ db.collection.aggregate([
158
+ {
159
+ $vectorSearch: {
160
+ index: "<index-name>",
161
+ path: "<text-field>",
162
+ query: "<your search text>", // Plain text — no vector needed
163
+ numCandidates: 100,
164
+ limit: 10
165
+ }
166
+ },
167
+ {
168
+ $project: {
169
+ _id: 0,
170
+ description: 1,
171
+ score: { $meta: "vectorSearchScore" }
172
+ }
173
+ }
174
+ ])
175
+ ```
176
+
177
+ ### Query with Pre-filtering
178
+
179
+ ```javascript
180
+ db.collection.aggregate([
181
+ {
182
+ $vectorSearch: {
183
+ index: "<index-name>",
184
+ path: "<text-field>",
185
+ query: "your search text",
186
+ filter: {
187
+ $and: [
188
+ { category: { $eq: "electronics" } },
189
+ { year: { $gte: 2022 } }
190
+ ]
191
+ },
192
+ numCandidates: 150,
193
+ limit: 10
194
+ }
195
+ },
196
+ {
197
+ $project: {
198
+ _id: 0,
199
+ description: 1,
200
+ category: 1,
201
+ score: { $meta: "vectorSearchScore" }
202
+ }
203
+ }
204
+ ])
205
+ ```
206
+
207
+ ### Optional: Override the Query Model
208
+
209
+ You can specify a different (but compatible) embedding model at query time:
210
+
211
+ ```javascript
212
+ {
213
+ $vectorSearch: {
214
+ index: "<index-name>",
215
+ path: "<text-field>",
216
+ query: "your search text",
217
+ model: "voyage-4-lite", // Must be compatible with the index model
218
+ numCandidates: 100,
219
+ limit: 10
220
+ }
221
+ }
222
+ ```
223
+
224
+ ### Item-to-Item Similarity
225
+
226
+ For "given item A, find similar items" requests (e.g. "more movies like The Firm"), remember that `query` accepts **only a plain text string** — there is no raw-vector read path to reuse an existing document's stored embedding for an `autoEmbed` index.
227
+
228
+ Resolve the source item to its indexed text field first, then pass that text as the query:
229
+
230
+ ```javascript
231
+ // 1. Fetch the source item's text (the same field indexed as autoEmbed)
232
+ const source = db.movies.findOne(
233
+ { title: "The Firm" },
234
+ { projection: { plot: 1 } }
235
+ );
236
+
237
+ // 2. Use that text as the query
238
+ db.movies.aggregate([
239
+ {
240
+ $vectorSearch: {
241
+ index: "<index-name>",
242
+ path: "plot",
243
+ query: source.plot, // the source item's text, not its title
244
+ filter: { _id: { $ne: source._id } }, // exclude the item itself
245
+ numCandidates: 100,
246
+ limit: 10
247
+ }
248
+ }
249
+ ])
250
+ ```
251
+
252
+ Filter fields must generally be indexed as `type: "filter"` (see the index definition above). `_id` is the one exception — it is implicitly filterable on every `autoEmbed` index, so the self-exclusion `filter` above works without declaring `_id` as a filter field.
253
+
254
+ Passing the item's name (e.g. `query: "The Firm"`) searches for text semantically near that string, not near the item's actual content — pass the content field instead.
255
+
256
+ ### Query Parameters Reference
257
+
258
+ | Parameter | Required | Description |
259
+ |---|---|---|
260
+ | `index` | Yes | Name of the autoEmbed vector search index |
261
+ | `path` | Yes | The field indexed as `autoEmbed` |
262
+ | `query` | Yes (with autoEmbed) | Plain text query string |
263
+ | `numCandidates` | Yes (for ANN) | Candidates to evaluate; recommend 20x `limit` |
264
+ | `limit` | Yes | Number of results to return |
265
+ | `filter` | No | MQL pre-filter; field must be indexed as `filter` type (except `_id`, which is always filterable) |
266
+ | `model` | No | Override query embedding model (must be compatible) |
267
+ | `exact` | No | `true` for ENN (exact search), omit for ANN |
268
+
269
+ **Note:** Each query call counts against your Automated Embedding rate limits because it triggers an embedding API call.
270
+
271
+ ## How It Works Internally
272
+
273
+ ### Initial Sync
274
+ 1. MongoDB scans all documents in the collection for the indexed text field
275
+ 2. Sends text to the Voyage AI model in batches (uses Flex inference tier — no standard rate limits)
276
+ 3. Stores embeddings in an internal reserved database: `__mdb_internal_search`
277
+ 4. Builds the vector index from the stored embeddings
278
+
279
+ ### Ongoing Updates (via Change Streams)
280
+ - **Insert**: New doc detected → embedding generated → stored → index updated
281
+ - **Update**: Changed field detected → new embedding generated → old one replaced → index updated
282
+ - **Delete**: Doc deleted → embeddings removed → index updated
283
+ - Updates to non-indexed fields do **not** trigger embedding regeneration
284
+
285
+ ### Embeddings Storage
286
+ Stored in `__mdb_internal_search` (internal namespace — **do not modify this database**).
287
+
288
+ Each stored document has:
289
+ ```javascript
290
+ {
291
+ _id: <same as source document>,
292
+ <filter-field>: <copied from source>,
293
+ _autoEmbed: {
294
+ "<fieldPath>": [<embedding vector>]
295
+ }
296
+ }
297
+ ```
298
+
299
+ ## Billing and Free Tokens
300
+
301
+ **Token consumption occurs during:**
302
+ - Index creation (initial sync)
303
+ - Document inserts and updates
304
+ - Every query (embedding generated per query)
305
+
306
+ **Free allocation:** 200M tokens per model, per organization. One-time, does not refresh. Shared across all projects and clusters. See [Model Selection](#model-selection) above for per-model pricing after free tokens are used.
307
+
308
+ **View usage:** Atlas → Search & Vector Search → Automated Embedding → Usage
309
+
310
+ **View invoices:** Atlas → Billing → Invoices (broken down by model)
311
+
312
+ **M0 clusters:** When free tokens run out, MongoDB automatically invoices for additional usage — index builds and queries do not stop. M0 users can add a payment method without upgrading their cluster: Atlas → Billing → Payment Method. Charges are for embedding model usage only.
313
+
314
+ ## Rate Limits
315
+
316
+ Rate limits are enforced at the **cluster level**, shared across all autoEmbed indexes on that cluster. They are applied **separately** for queries, index inserts/updates, and initial builds.
317
+
318
+ ### Initial Index Build
319
+ No standard rate limits — uses a separate inference tier optimized for throughput, with dynamic scaling up to available GPU capacity, fair resource sharing between competing index builds, and safe ramp-up from low concurrency.
320
+
321
+ **Best practice:** create the index on a prepopulated collection rather than an empty one — the initial sync benefits from this unbounded throughput, while steady-state inserts/updates afterward are subject to the rate limits below.
322
+
323
+ ### Index Insert/Update Rate Limits (all tiers)
324
+
325
+ | Model | RPM | TPM |
326
+ |---|---|---|
327
+ | `voyage-4-large` | 2,000 | 3,000,000 |
328
+ | `voyage-4` | 2,000 | 8,000,000 |
329
+ | `voyage-4-lite` | 2,000 | 16,000,000 |
330
+ | `voyage-code-3` | 2,000 | 3,000,000 |
331
+
332
+ **Best practice:** space out bulk insert/update operations rather than sending them all at once — batching avoids hitting these per-minute limits.
333
+
334
+ ### Query Rate Limits
335
+
336
+ **Free cluster (M0 without a payment method) — all models:**
337
+
338
+ | Model | RPM | TPM |
339
+ |---|---|---|
340
+ | `voyage-4-large` | 3 | 2,000 |
341
+ | `voyage-4` | 3 | 2,000 |
342
+ | `voyage-4-lite` | 3 | 2,000 |
343
+ | `voyage-code-3` | 3 | 2,000 |
344
+
345
+ **Paid cluster (M0 with a payment method, Flex, or M10+ dedicated):**
346
+
347
+ | Model | RPM | TPM |
348
+ |---|---|---|
349
+ | `voyage-4-large` | 2,000 | 3,000,000 |
350
+ | `voyage-4` | 2,000 | 8,000,000 |
351
+ | `voyage-4-lite` | 2,000 | 16,000,000 |
352
+ | `voyage-code-3` | 2,000 | 3,000,000 |
353
+
354
+ Paid-tier limits increase automatically as usage grows over time — no action needed to benefit from that growth.
355
+
356
+ **If rate limits are hit:**
357
+ - Inserts/updates: queued and retried automatically with exponential backoff
358
+ - Queries: return an error — application must handle and retry
359
+ - Free cluster hitting the 3 RPM ceiling: add a payment method to upgrade to paid-tier limits (Atlas → Billing → Payment Method) — this alone raises the ceiling from 3 to 2,000 RPM (~667x), with a correspondingly higher TPM allowance
360
+ - Paid tier still hitting limits: contact MongoDB Support for a limit increase
361
+
362
+ ## Management and Monitoring
363
+
364
+ ### View Usage (Atlas)
365
+ Atlas → Search & Vector Search page → Automated Embedding → Usage
366
+
367
+ Shows:
368
+ - Total tokens used and remaining free tokens
369
+ - Usage breakdown by model
370
+ - Usage breakdown by operation (indexing vs querying)
371
+
372
+ ### View Rate Limits (Atlas)
373
+ Atlas → Search & Vector Search page → Automated Embedding → Rate Limits
374
+
375
+ ### View Organization-Level Usage
376
+ Atlas → Organization level → AI Models → Usage
377
+
378
+ ### Disable Automated Embedding (Organization Policy)
379
+ Use Atlas Resource Policies with Cedar syntax.
380
+
381
+ **Disable entirely:**
382
+ ```
383
+ forbid (
384
+ principal,
385
+ action == ResourcePolicy::Action::"search.index.modify",
386
+ resource
387
+ ) when {
388
+ context.search.index.isAutoEmbed
389
+ };
390
+ ```
391
+
392
+ **Disable with project-level exceptions** (replace `<project-id-1>`/`<project-id-2>` with actual project IDs):
393
+ ```
394
+ forbid (
395
+ principal,
396
+ action == ResourcePolicy::Action::"search.index.modify",
397
+ resource
398
+ ) when {
399
+ context.search.index.isAutoEmbed
400
+ } unless {
401
+ resource in ResourcePolicy::Project::"<project-id-1>" ||
402
+ resource in ResourcePolicy::Project::"<project-id-2>"
403
+ };
404
+ ```
405
+
406
+ Apply at: Atlas → Organization Settings → Resource Policies → Create policy
407
+
408
+ **Note:** this policy blocks new `autoEmbed` indexes going forward. Existing `autoEmbed` indexes must be deleted manually to bring a project into compliance.
409
+
410
+ ## Troubleshooting
411
+
412
+ **Index stuck in Building state / initial sync taking a long time**
413
+ - Normal for large collections — initial sync can take hours
414
+ - Monitor via Atlas → Search & Vector Search → index status
415
+ - Check token consumption hasn't exceeded rate limits
416
+
417
+ **Query returns `context-limit-exceeded` error**
418
+ - Your query text exceeds 32,000 tokens (the model context window)
419
+ - Truncate or shorten your query text before passing it to `$vectorSearch`
420
+
421
+ **Queries return rate limit error**
422
+ - You've exceeded your query RPM or TPM
423
+ - Free tier users: add a payment method to upgrade to paid limits
424
+ - Paid tier users: contact MongoDB Support for a limit increase
425
+ - Short term: implement retry with backoff in your application
426
+
427
+ **No results returned**
428
+ - Check the index status is `READY` (not `Building` or `Failed`)
429
+ - Verify the `path` in the query matches the `path` in the index definition
430
+ - Verify the `index` name matches exactly (typos return no results silently)
431
+
432
+ **Missing embeddings for some documents**
433
+ - Documents inserted before the index was created are synced during initial sync — check if sync is still in progress
434
+ - Documents without the indexed text field are skipped (no embedding generated)
435
+
436
+ **`__mdb_internal_search` database appearing in Data Explorer**
437
+ - This is normal — it's the internal storage for generated embeddings
438
+ - Do not modify or delete collections in this database