vybekiit 0.7.28 → 0.7.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/dist/bin.js +17286 -17351
  2. package/dist/global-guidance/language.md +13 -108
  3. package/dist/global-skills/add-ai/SKILL.md +13 -8
  4. package/dist/global-skills/add-analytics/SKILL.md +10 -7
  5. package/dist/global-skills/add-app-clip/SKILL.md +1 -0
  6. package/dist/global-skills/add-blog/SKILL.md +10 -7
  7. package/dist/global-skills/add-crud/SKILL.md +8 -0
  8. package/dist/global-skills/add-files/SKILL.md +10 -7
  9. package/dist/global-skills/add-images/SKILL.md +10 -7
  10. package/dist/global-skills/add-language/SKILL.md +11 -8
  11. package/dist/global-skills/add-notifications/SKILL.md +10 -7
  12. package/dist/global-skills/add-realtime/SKILL.md +10 -7
  13. package/dist/global-skills/add-route/SKILL.md +6 -0
  14. package/dist/global-skills/add-search/SKILL.md +10 -7
  15. package/dist/global-skills/add-signin/SKILL.md +10 -8
  16. package/dist/global-skills/add-teams/SKILL.md +14 -10
  17. package/dist/global-skills/add-upload/SKILL.md +6 -0
  18. package/dist/global-skills/aws-cdk/SKILL.md +1 -0
  19. package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
  20. package/dist/global-skills/aws-serverless/SKILL.md +1 -0
  21. package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
  22. package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
  23. package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
  24. package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
  25. package/dist/global-skills/building-native-ui/SKILL.md +1 -0
  26. package/dist/global-skills/buy-domain/SKILL.md +10 -7
  27. package/dist/global-skills/check-safety/SKILL.md +11 -8
  28. package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
  29. package/dist/global-skills/configure-capabilities/SKILL.md +7 -1
  30. package/dist/global-skills/connect-account/SKILL.md +7 -1
  31. package/dist/global-skills/connect-account-backend/SKILL.md +6 -0
  32. package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
  33. package/dist/global-skills/design-my-data/SKILL.md +12 -5
  34. package/dist/global-skills/doctor/SKILL.md +17 -10
  35. package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
  36. package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
  37. package/dist/global-skills/eas-hosting/SKILL.md +2 -1
  38. package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
  39. package/dist/global-skills/eas-observe/SKILL.md +2 -1
  40. package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
  41. package/dist/global-skills/eas-simulator/SKILL.md +9 -1
  42. package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
  43. package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
  44. package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
  45. package/dist/global-skills/eas-update/SKILL.md +2 -1
  46. package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
  47. package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
  48. package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
  49. package/dist/global-skills/eas-workflows/SKILL.md +2 -1
  50. package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
  51. package/dist/global-skills/email-best-practices/SKILL.md +1 -0
  52. package/dist/global-skills/expo-animation/SKILL.md +2 -1
  53. package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
  54. package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
  55. package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
  56. package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
  57. package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
  58. package/dist/global-skills/expo-deployment/SKILL.md +1 -0
  59. package/dist/global-skills/expo-design-system/SKILL.md +2 -1
  60. package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
  61. package/dist/global-skills/expo-dom/SKILL.md +2 -1
  62. package/dist/global-skills/expo-examples/SKILL.md +2 -1
  63. package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
  64. package/dist/global-skills/expo-module/SKILL.md +2 -1
  65. package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
  66. package/dist/global-skills/expo-observe/SKILL.md +1 -0
  67. package/dist/global-skills/expo-overview/SKILL.md +2 -1
  68. package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
  69. package/dist/global-skills/expo-router/SKILL.md +2 -1
  70. package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
  71. package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
  72. package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
  73. package/dist/global-skills/expo-ui/SKILL.md +2 -1
  74. package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
  75. package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
  76. package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
  77. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
  78. package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
  79. package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
  80. package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
  81. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
  82. package/dist/global-skills/firebase-basics/SKILL.md +2 -0
  83. package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
  84. package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
  85. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
  86. package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
  87. package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
  88. package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
  89. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
  90. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
  91. package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
  92. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
  93. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
  94. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
  95. package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
  96. package/dist/global-skills/go-live/SKILL.md +13 -7
  97. package/dist/global-skills/harden/SKILL.md +15 -10
  98. package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
  99. package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
  100. package/dist/global-skills/manifest.json +5 -1
  101. package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
  102. package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
  103. package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
  104. package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
  105. package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
  106. package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
  107. package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
  108. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
  109. package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
  110. package/dist/global-skills/neon/SKILL.md +18 -5
  111. package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
  112. package/dist/global-skills/neon-auth/SKILL.md +1 -0
  113. package/dist/global-skills/neon-functions/SKILL.md +12 -0
  114. package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
  115. package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
  116. package/dist/global-skills/neon-postgres/SKILL.md +1 -0
  117. package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
  118. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
  119. package/dist/global-skills/onboarding/SKILL.md +46 -29
  120. package/dist/global-skills/plan-my-idea/SKILL.md +7 -1
  121. package/dist/global-skills/publish-app/SKILL.md +7 -1
  122. package/dist/global-skills/publish-extension/SKILL.md +7 -1
  123. package/dist/global-skills/resend/SKILL.md +2 -1
  124. package/dist/global-skills/resend/references/webhooks.md +2 -0
  125. package/dist/global-skills/reset-password/SKILL.md +10 -6
  126. package/dist/global-skills/save-data/SKILL.md +51 -16
  127. package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
  128. package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
  129. package/dist/global-skills/setup-email/SKILL.md +13 -8
  130. package/dist/global-skills/setup-payments/SKILL.md +19 -15
  131. package/dist/global-skills/setup-sms/SKILL.md +7 -1
  132. package/dist/global-skills/sign-in-with-email-link/SKILL.md +10 -6
  133. package/dist/global-skills/sign-in-with-google/SKILL.md +20 -13
  134. package/dist/global-skills/sign-in-with-phone/SKILL.md +11 -7
  135. package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
  136. package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
  137. package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
  138. package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
  139. package/dist/global-skills/supabase/CHANGELOG.md +19 -0
  140. package/dist/global-skills/supabase/SKILL.md +1 -0
  141. package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
  142. package/dist/global-skills/track-errors/SKILL.md +18 -13
  143. package/dist/global-skills/update-kit/SKILL.md +7 -1
  144. package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
  145. package/dist/global-skills/use-dom/SKILL.md +1 -0
  146. package/dist/global-skills/use-railway/SKILL.md +6 -5
  147. package/dist/global-skills/use-railway/references/configure.md +34 -1
  148. package/dist/global-skills/use-railway/references/iac.md +2 -0
  149. package/dist/global-skills/use-railway/references/tracing.md +89 -44
  150. package/dist/global-skills/validate-my-idea/SKILL.md +6 -0
  151. package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
  152. package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
  153. package/dist/global-skills/vybekiit-feedback/SKILL.md +6 -0
  154. package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +50 -0
  155. package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
  156. package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
  157. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
  158. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
  159. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
  160. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
  161. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
  162. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
  163. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
  164. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
  165. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
  166. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +140 -0
  167. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
  168. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
  169. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
  170. package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
  171. package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
  172. package/dist/global-skills/vybekiitReferences/backend/language.md +345 -0
  173. package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
  174. package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
  175. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
  176. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
  177. package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
  178. package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +88 -0
  179. package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
  180. package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
  181. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
  182. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
  183. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
  184. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +111 -0
  185. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
  186. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
  187. package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
  188. package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
  189. package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +33 -0
  190. package/dist/global-skills/vybekiitReferences/extension/language.md +348 -0
  191. package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
  192. package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +44 -0
  193. package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
  194. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
  195. package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
  196. package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
  197. package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
  198. package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +21 -0
  199. package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
  200. package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
  201. package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
  202. package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
  203. package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
  204. package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
  205. package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
  206. package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
  207. package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
  208. package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
  209. package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
  210. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
  211. package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
  212. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
  213. package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +475 -0
  214. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
  215. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
  216. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
  217. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
  218. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
  219. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
  220. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
  221. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
  222. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +112 -0
  223. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
  224. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
  225. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
  226. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
  227. package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
  228. package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
  229. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
  230. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
  231. package/dist/global-skills/vybekiitReferences/mobile/language.md +352 -0
  232. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
  233. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
  234. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
  235. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
  236. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
  237. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +21 -0
  238. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
  239. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
  240. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
  241. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
  242. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
  243. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
  244. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
  245. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
  246. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
  247. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
  248. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
  249. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
  250. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
  251. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
  252. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
  253. package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +91 -0
  254. package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
  255. package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
  256. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
  257. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +63 -0
  258. package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
  259. package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +63 -0
  260. package/dist/global-skills/vybekiitReferences/spa/language.md +217 -0
  261. package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
  262. package/dist/global-skills/vybekiitReferences/web/AGENTS.md +138 -0
  263. package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
  264. package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
  265. package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
  266. package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
  267. package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
  268. package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
  269. package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
  270. package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
  271. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
  272. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
  273. package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
  274. package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +174 -0
  275. package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
  276. package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
  277. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
  278. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
  279. package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
  280. package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
  281. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
  282. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
  283. package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
  284. package/dist/global-skills/vybekiitReferences/web/language.md +348 -0
  285. package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
  286. package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
  287. package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
  288. package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
  289. package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
  290. package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
  291. package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +48 -0
  292. package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
  293. package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
  294. package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
  295. package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
  296. package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
  297. package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
  298. package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
  299. package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
  300. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
  301. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
  302. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
  303. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
  304. package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +21 -0
  305. package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
  306. package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
  307. package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
  308. package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
  309. package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
  310. package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
  311. package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
  312. package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
  313. package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
  314. package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
  315. package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
  316. package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
  317. package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
  318. package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
  319. package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
  320. package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
  321. package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
  322. package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
  323. package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
  324. package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
  325. package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
  326. package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
  327. package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
  328. package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
  329. package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
  330. package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +29 -0
  331. package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
  332. package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
  333. package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
  334. package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
  335. package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
  336. package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
  337. package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
  338. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
  339. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
  340. package/dist/global-skills/watch-my-app/SKILL.md +6 -0
  341. package/dist/global-skills/web-to-native/SKILL.md +1 -0
  342. package/dist/global-skills/wire-auth/SKILL.md +6 -0
  343. package/dist/global-skills/wire-database/SKILL.md +15 -1
  344. package/dist/global-skills/wire-email/SKILL.md +6 -0
  345. package/dist/global-skills/wire-payments/SKILL.md +6 -0
  346. package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
  347. package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
  348. package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
  349. package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
  350. package/dist/global-skills/wrangler/SKILL.md +27 -24
  351. package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
  352. package/package.json +12 -9
@@ -1,155 +1,183 @@
1
- # Firebase Crashlytics Android Setup Guide
2
-
3
- Important references:
4
-
5
- - Refer to the `firebase-basics` skills, particularly those for project and app
6
- setup, before proceeding.
7
-
8
- ## Project and App Setup
9
-
10
- Before you begin, ensure you have the following. If a `google-services.json`
11
- file is present, then use that Firebase project and app. Otherwise you may need
12
- to create them.
13
-
14
- - **Firebase CLI**: Installed and logged in (see `firebase-basics`).
15
- - **Firebase Project**: Created via
16
- `npx -y firebase-tools@latest projects:create` (see `firebase-basics`).
17
- - **Firebase App**: Created via
18
- `npx -y firebase-tools@latest apps:create ANDROID <display-name> --package-name=<package-name>`
19
-
20
- The `google-services.json` file must be present in the Android app's module
21
- directory. If missing, get the config using the Firebase CLI:
22
- `npx -y firebase-tools@latest apps:sdkconfig ANDROID <App-ID>`.
23
-
24
- ## Add Dependencies to Gradle Build
25
-
26
- These changes are made to your Android project's Gradle files.
1
+ # Firebase Crashlytics - Android Setup Guide (Kotlin)
2
+
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Firebase Crashlytics in an Android app using
5
+ Kotlin DSL (`build.gradle.kts`) and Kotlin code.
6
+
7
+ ## Prerequisites
8
+
9
+ IMPORTANT: Before specifically working with Firebase Crashlytics, make sure
10
+ to use the skill and reference `firebase_basics/references/android_setup` to
11
+ ensure the following is done.
12
+
13
+ - The Firebase CLI is available and authenticated.
14
+ - An Android project exists and is registered with a Firebase Project.
15
+ - The Android project has a Firebase config file (`google-services.json`) and
16
+ the Google services Gradle plugin (`google-services`).
17
+
18
+ ______________________________________________________________________
19
+
20
+ ## 1. Add dependencies to Gradle build files
21
+
22
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK & PLUGIN VERSIONS DETERMINISTICALLY**
23
+ > Never guess or hardcode a memorized out-of-date SDK or plugin version.
24
+ > Before adding dependencies, you MUST query the latest available versions
25
+ > directly from the Google Maven Repository:
26
+ >
27
+ > ```bash
28
+ > # Find the latest Firebase Android BoM version
29
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
30
+ >
31
+ > # Find the latest Crashlytics Gradle plugin version
32
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-gradle/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
33
+ >
34
+ > # Find the latest firebase-crashlytics version
35
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
36
+ >
37
+ > # Find the latest firebase-crashlytics-ndk version
38
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-crashlytics-ndk/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
39
+ > ```
40
+ >
41
+ > If the dependency is already declared, fetch the exact resolved version
42
+ > currently active in the workspace's build graph:
43
+ >
44
+ > ```bash
45
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-crashlytics --configuration releaseRuntimeClasspath
46
+ > ```
47
+
48
+ These changes are made to the Android project's Gradle files.
27
49
 
28
50
  ### Project-level `build.gradle.kts` (`<project>/build.gradle.kts`)
29
51
 
30
- Add the latest version of the Crashlytics Gradle plugin to the `plugins` block.
31
- Fetch the
32
- [latest version from the Google Maven repository](https://maven.google.com/web/index.html?q=firebase-crashlytics-gradle#com.google.firebase:firebase-crashlytics-gradle)
33
- before adding this.
52
+ Add the latest version of the Crashlytics Gradle plugin to the `plugins` block:
34
53
 
35
54
  ```kotlin
36
55
  plugins {
37
56
  // ... other plugins
57
+
58
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
38
59
  id("com.google.firebase.crashlytics") version "<latest_plugin_version>" apply false
39
60
  }
40
61
  ```
41
62
 
42
- ### App-level `build.gradle.kts` (`<project>/<app-module>/build.gradle.kts`)
63
+ ### Module (app-level) `build.gradle.kts` (`<project>/<app-module>/build.gradle.kts`)
64
+
65
+ 1. Add the Crashlytics Gradle plugin to the `plugins` block:
43
66
 
44
- 1. Add the Crashlytics plugin to the `plugins` block:
67
+ ```kotlin
68
+ plugins {
69
+ // ... other plugins
45
70
 
46
- ```kotlin
47
- plugins {
48
- // ... other plugins
49
- id("com.google.firebase.crashlytics")
50
- }
51
- ```
71
+ id("com.google.firebase.crashlytics")
72
+ }
73
+ ```
52
74
 
53
- 1. Add the Firebase Crashlytics dependency to the `dependencies` block. It is
54
- recommended to use the Firebase Bill of Materials (BoM) to manage SDK
55
- versions. Fetch the
56
- [latest version from the Google Maven repository](https://maven.google.com/web/index.html?q=firebase-bom#com.google.firebase:firebase-bom)
57
- before adding this.
75
+ 2. Add the Firebase Crashlytics dependency to the `dependencies` block:
58
76
 
59
- ```kotlin
60
- dependencies {
61
- // ... other dependencies
77
+ ```kotlin
78
+ dependencies {
79
+ // ... other dependencies
62
80
 
63
- // Import the Firebase BoM
64
- implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
81
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
82
+ implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
65
83
 
66
- // Add the dependencies for the Crashlytics and Analytics
67
- implementation("com.google.firebase:firebase-crashlytics")
68
- implementation("com.google.firebase:firebase-analytics")
69
- }
70
- ```
84
+ // Add the dependency for the Firebase Crashlytics library
85
+ // When using the BoM, don't specify versions in Firebase library dependencies
86
+ implementation("com.google.firebase:firebase-crashlytics")
87
+ }
88
+ ```
71
89
 
72
- ## Follow up Steps
90
+ ______________________________________________________________________
73
91
 
74
- ### Optional: Install the NDK SDK to capture native crashes
92
+ ## 2. *Optional:* Install the NDK SDK to capture native crashes
75
93
 
76
- If your app uses native code (C/C++), or includes a library with native code,
77
- you can configure Crashlytics to report native crashes.
94
+ If the Android project uses native code (C/C++), or includes a library with
95
+ native code, configure Crashlytics to report native crashes.
78
96
 
79
97
  App-level `build.gradle.kts` (`<project>/<app-module>/build.gradle.kts`)
80
98
 
81
- 1. Add the `firebase-crashlytics-ndk` dependency:
82
-
83
- ```kotlin
84
- dependencies {
85
- // ... other dependencies
86
- implementation("com.google.firebase:firebase-crashlytics-ndk")
87
- }
88
- ```
89
-
90
- 1. Enable the `nativeSymbolUpload` flag in your `buildTypes` configuration. This
91
- will automatically upload symbol files for your native code, which are
92
- required to symbolicate native crash reports.
93
-
94
- ```kotlin
95
- import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
96
-
97
- android {
98
- // ... other config
99
- buildTypes {
100
- getByName("release") {
101
- // ...
102
- configure<CrashlyticsExtension> {
103
- nativeSymbolUploadEnabled = true
104
- }
105
- }
106
- }
107
- }
108
- ```
109
-
110
- After these changes, Crashlytics will automatically report crashes in your app's
99
+ 1. Add the `firebase-crashlytics-ndk` dependency:
100
+
101
+ ```kotlin
102
+ dependencies {
103
+ // ... other dependencies
104
+
105
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
106
+ implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
107
+
108
+ // Add the dependency for the Firebase Crashlytics NDK library
109
+ // When using the BoM, don't specify versions in Firebase library dependencies
110
+ implementation("com.google.firebase:firebase-crashlytics-ndk")
111
+ }
112
+ ```
113
+
114
+ 2. Enable the `nativeSymbolUpload` flag in the `buildTypes` configuration.
115
+ This will automatically upload symbol files for the native code, which are
116
+ required to symbolicate native crash reports.
117
+
118
+ ```kotlin
119
+ android {
120
+ // ... other config
121
+ buildTypes {
122
+ getByName("release") {
123
+ // ...
124
+ firebaseCrashlytics {
125
+ nativeSymbolUploadEnabled = true
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ After these changes, Crashlytics will automatically report crashes in the app's
111
133
  native code.
112
134
 
113
- ### Required: Force a Test Crash
135
+ ______________________________________________________________________
136
+
137
+ ## 3. *Required:* Force a test crash
138
+
139
+ To verify that Crashlytics is correctly set up in the Android project, force a
140
+ test crash in the app.
141
+
142
+ 1. Add code to the main activity (e.g., in `onCreate`) to trigger a crash a
143
+ few seconds after app startup:
114
144
 
115
- To verify that Crashlytics is correctly installed, you need to force a test
116
- crash in the app.
145
+ ```kotlin
146
+ import android.os.Handler
147
+ import android.os.Looper
117
148
 
118
- 1. Add code to your main activity (e.g., in `onCreate`) to trigger a crash a few
119
- seconds after app startup:
149
+ // ... in the Activity's onCreate method or similar startup logic
150
+ Handler(Looper.getMainLooper()).postDelayed({
151
+ throw RuntimeException("Test Crash") // Force a crash after 3 seconds
152
+ }, 3000)
153
+ ```
120
154
 
121
- ```kotlin
122
- import android.os.Handler
123
- import android.os.Looper
155
+ 2. Run the app on a device or emulator. The app should crash after a short
156
+ delay.
124
157
 
125
- // ... in your Activity's onCreate method or similar startup logic
126
- Handler(Looper.getMainLooper()).postDelayed({
127
- throw RuntimeException("Test Crash") // Force a crash after 3 seconds
128
- }, 3000)
129
- ```
158
+ 3. Restart the app. The Crashlytics SDK will send the crash report to Firebase
159
+ on the next app launch.
130
160
 
131
- 1. Run your app on a device or emulator. The app should crash after a short
132
- delay.
161
+ 4. After a few minutes, the crash should be available in Firebase.
133
162
 
134
- 1. Restart the app. The Crashlytics SDK will send the crash report to Firebase
135
- on the next app launch.
163
+ - If the Firebase MCP server is installed, use the `get_report` tool to
164
+ verify that a crash was received.
165
+ - As a fallback, tell the human user to go to the Crashlytics dashboard in
166
+ the Firebase console to verify the new crash report. Provide the human
167
+ user with a constructed Firebase console URL using the Firebase PROJECT_ID
168
+ and the PACKAGE_NAME:
169
+ `https://console.firebase.google.com/u/0/project/PROJECT_ID/crashlytics/app/android:PACKAGE_NAME/issues`
136
170
 
137
- 1. After a few minutes, the crash should be available in the Firebase console.
138
- Go to **DevOps & Engagement** > **Crashlytics** to view your dashboard and
139
- crash reports.
171
+ 5. After verifying that Firebase has received the crash report -- either using
172
+ the `get_report` tool or manually viewing it in the Firebase console --
173
+ remove the code that triggers the test crash.
140
174
 
141
- - If the Firebase MCP server is installed, use the `get_report` tool to check
142
- that a crash was received.
143
- - As a fallback, visit the Crashlytics dashboard in the Firebase console to see
144
- the new crash report.
175
+ ______________________________________________________________________
145
176
 
146
- 5. After verifying that Firebase has received the crash report - either using
147
- the `get_report` tool or manually viewing it in the Firebase console - remove
148
- the code from step 1 that triggers the crash. This prevents the application
149
- from always crashing on start up after a delay.
177
+ ## Optional additional steps
150
178
 
151
- ### Optional: Add custom debugging information
179
+ ### Add custom debugging information
152
180
 
153
- Customize reports to help you better understand what's happening in your app and
154
- the circumstances around events reported to Crashlytics. See
155
- [Customize Crash Reports for Android](https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md).
181
+ Customize reports to help better understand what's happening in the app and the
182
+ circumstances around events reported to Crashlytics. See
183
+ https://firebase.google.com/docs/crashlytics/android/customize-crash-reports.md.txt.
@@ -3,6 +3,7 @@ name: firebase-data-connect
3
3
  description: Builds and deploys Firebase SQL Connect (aka Firebase Data Connect) backends with PostgreSQL securely. Use when designing schemas with tables and relations, writing authorized queries and mutations, configuring real-time data updates, or generating type-safe SDKs. Use when you need a relational database with Firebase, or when the user mentions SQL Connect or Data Connect.
4
4
  metadata:
5
5
  category: Databases
6
+ disable-model-invocation: true
6
7
  ---
7
8
 
8
9
  # Firebase SQL Connect
@@ -1,9 +1,21 @@
1
- # Android SDK
1
+ # Firebase SQL Connect - Android Setup Guide (Kotlin)
2
2
 
3
- Consult this file when writing Android application code (Kotlin) that interacts
4
- with the SQL Connect backend.
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Firebase SQL Connect in an Android app using
5
+ Kotlin DSL (`build.gradle.kts`) and Kotlin code.
5
6
 
6
- ### Best Practices for Agents
7
+ ## Prerequisites
8
+
9
+ IMPORTANT: Before specifically working with Firebase SQL Connect, make sure
10
+ to use the skill and reference `firebase_basics/references/android_setup` to
11
+ ensure the following is done.
12
+
13
+ - The Firebase CLI is available and authenticated.
14
+ - An Android project exists and is registered with a Firebase Project.
15
+ - The Android project has a Firebase config file (`google-services.json`) and
16
+ the Google services Gradle plugin (`google-services`).
17
+
18
+ ## Best practices for agents working with Firebase SQL Connect
7
19
 
8
20
  - **Understand Operation Storage**: SQL Connect queries and mutations are stored
9
21
  on the server like Cloud Functions. **Whenever you update operations, you must
@@ -19,26 +31,66 @@ with the SQL Connect backend.
19
31
  - **Leverage Coroutines**: Call `.execute()` within a coroutine scope for
20
32
  asynchronous operations.
21
33
 
22
- ### Dependencies (build.gradle.kts)
34
+ ______________________________________________________________________
35
+
36
+ ## 1. Add dependencies to Gradle build files
37
+
38
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK VERSION DETERMINISTICALLY**
39
+ > Never guess or hardcode a memorized out-of-date SDK or plugin version.
40
+ > Before adding dependencies, you MUST query the latest available versions
41
+ > directly from the Google Maven Repository:
42
+ >
43
+ > ```bash
44
+ > # Find the latest Firebase Android BoM version
45
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
46
+ >
47
+ > # Find the latest firebase-dataconnect version
48
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-dataconnect/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
49
+ > ```
50
+ >
51
+ > If the dependency is already declared, fetch the exact resolved version
52
+ > currently active in the workspace's build graph:
53
+ >
54
+ > ```bash
55
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-dataconnect --configuration releaseRuntimeClasspath
56
+ > ```
57
+
58
+ In the **module (app-level)** `build.gradle.kts` (usually
59
+ `<project>/<app-module>/build.gradle.kts`), add the
60
+ Kotlin serialization plugin and the dependency for Firebase SQL Connect:
61
+
62
+ 1. Add the Kotlin serialization plugin to the `plugins` block:
63
+
64
+ ```kotlin
65
+ plugins {
66
+ // ... other plugins
67
+ kotlin("plugin.serialization") version "1.8.22" // Must match Kotlin version
68
+ }
69
+ ```
23
70
 
24
- Ensure you have the Kotlin Serialization plugin and standard SQL Connect
25
- dependencies:
71
+ 2. Add the required Firebase SQL Connect dependencies to the `dependencies`
72
+ block:
26
73
 
27
- ```kotlin
28
- plugins {
29
- kotlin("plugin.serialization") version "1.8.22" // Must match Kotlin version
30
- }
74
+ ```kotlin
75
+ dependencies {
76
+ // ... other dependencies
31
77
 
32
- dependencies {
33
- // [AGENT] Fetch the latest available BoM version from https://firebase.google.com/support/release-notes/android before adding this
34
- implementation(platform("com.google.firebase:firebase-bom:34.12.0"))
35
- implementation("com.google.firebase:firebase-dataconnect")
36
- implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
37
- implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1")
38
- }
39
- ```
78
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
79
+ implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
80
+
81
+ // Add the dependency for the Firebase SQL Connect library
82
+ // When using the BoM, don't specify versions in Firebase library dependencies
83
+ implementation("com.google.firebase:firebase-dataconnect")
84
+
85
+ // Add additional required dependencies
86
+ implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
87
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.5.1")
88
+ }
89
+ ```
40
90
 
41
- ### Initialization
91
+ ______________________________________________________________________
92
+
93
+ ## 2. Initialize
42
94
 
43
95
  Retrieve the generated connector instance:
44
96
 
@@ -54,9 +106,13 @@ connector.dataConnect.useEmulator()
54
106
  // connector.dataConnect.useEmulator(port = 9999)
55
107
  ```
56
108
 
57
- ### Calling Operations
109
+ ______________________________________________________________________
110
+
111
+ ## 3. Work with SQL Connect
112
+
113
+ ### Calling operations
58
114
 
59
- #### Basic Query
115
+ #### Basic query
60
116
 
61
117
  ```kotlin
62
118
  val result = connector.listMovies.execute()
@@ -76,7 +132,7 @@ val newMovie = connector.createMovie.execute(
76
132
  )
77
133
  ```
78
134
 
79
- ### Resilient Enum Handling
135
+ ### Resilient enum handling
80
136
 
81
137
  Unwrap the `EnumValue` to handle known and unknown cases safely.
82
138
 
@@ -91,7 +147,7 @@ result.data.movies.forEach { movie ->
91
147
  }
92
148
  ```
93
149
 
94
- ### Client-Side Caching
150
+ ### Client-side caching
95
151
 
96
152
  Enable caching in `connector.yaml` to reduce requests and support offline
97
153
  scenarios.
@@ -113,7 +169,7 @@ val queryResult = queryRef.execute(QueryRef.FetchPolicy.CACHE_ONLY)
113
169
  val queryResult = queryRef.execute(QueryRef.FetchPolicy.SERVER_ONLY)
114
170
  ```
115
171
 
116
- ### Data Type Mapping Reference
172
+ ### Data type mapping reference
117
173
 
118
174
  - GraphQL `String` -> Kotlin `String`
119
175
  - GraphQL `Int` -> Kotlin `Int` (32-bit)
@@ -5,6 +5,7 @@ description: >-
5
5
  compatibility: This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`.
6
6
  metadata:
7
7
  category: Databases
8
+ disable-model-invocation: true
8
9
  ---
9
10
 
10
11
  # Cloud Firestore Database and Operations
@@ -1,25 +1,45 @@
1
- # Android SDK Usage (Enterprise Native Mode)
1
+ # Cloud Firestore (Enterprise edition) - Android Setup Guide (Kotlin)
2
2
 
3
- This guide covers the Firestore Android SDK (Kotlin) setup and usage patterns
4
- optimized for Firestore Enterprise edition in Native mode.
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Cloud Firestore (Enterprise edition in Native mode) in an Android app using
5
+ Kotlin DSL (`build.gradle.kts`) and Kotlin code.
6
+
7
+ ## Prerequisites
8
+
9
+ IMPORTANT: Before specifically working with Cloud Firestore, make sure
10
+ to use the skill and reference `firebase_basics/references/android_setup` to
11
+ ensure the following is done.
12
+
13
+ - The Firebase CLI is available and authenticated.
14
+ - An Android project exists and is registered with a Firebase Project.
15
+ - The Android project has a Firebase config file (`google-services.json`) and
16
+ the Google services Gradle plugin (`google-services`).
5
17
 
6
18
  ______________________________________________________________________
7
19
 
8
- ## 1. Initialization
20
+ ## 1. Provision Firestore
21
+
22
+ Follow the instructions in
23
+ `firebase_firestore/references/enterprise/provisioning` to do the following:
24
+
25
+ - Provision a Firestore instance (Enterprise edition in Native mode)
26
+ - Create or append a `firebase.json` file
27
+ - Create a `firestore.rules` file
28
+ - Create a `firestore.indexes.json` file
29
+ - Deploy database, rules, and indexes
30
+ - Run Firestore locally for development and testing
9
31
 
10
- ### Add Dependencies
32
+ ______________________________________________________________________
11
33
 
12
- In your module-level `build.gradle.kts` (usually `app/build.gradle.kts`), add
13
- the Firebase Kotlin Bill of Materials (BoM) and the dependency for Cloud
14
- Firestore:
34
+ ## 2. Add dependencies to Gradle build files
15
35
 
16
- > [!IMPORTANT] **[AGENT] RESOLVING THE RESOLVED SDK VERSION DETERMINISTICALLY**
17
- > Never guess or hardcode a memorized out-of-date SDK version. Before adding
18
- > dependencies, you MUST query the latest available versions directly from the
19
- > Google Maven Repository:
36
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK VERSION DETERMINISTICALLY**
37
+ > Never guess or hardcode a memorized out-of-date SDK or plugin version.
38
+ > Before adding dependencies, you MUST query the latest available versions
39
+ > directly from the Google Maven Repository:
20
40
  >
21
41
  > ```bash
22
- > # Find the latest Firebase BoM version
42
+ > # Find the latest Firebase Android BoM version
23
43
  > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
24
44
  >
25
45
  > # Find the latest firebase-firestore version
@@ -33,20 +53,26 @@ Firestore:
33
53
  > ./gradlew -q :app:dependencyInsight --dependency firebase-firestore --configuration releaseRuntimeClasspath
34
54
  > ```
35
55
 
56
+ In the **module (app-level)** `build.gradle.kts` (usually
57
+ `<project>/<app-module>/build.gradle.kts`), add the dependency for
58
+ Cloud Firestore:
59
+
36
60
  ```kotlin
37
61
  dependencies {
38
62
  // [AGENT] Fetch the latest resolved version using the Gradle command above
39
63
  implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
40
64
 
41
65
  // Add the dependency for the Cloud Firestore library
42
- // When using the BoM, you don't specify versions in Firebase library dependencies
66
+ // When using the BoM, don't specify versions in Firebase library dependencies
43
67
  implementation("com.google.firebase:firebase-firestore")
44
68
  }
45
69
  ```
46
70
 
47
- ### Initialize Firestore
71
+ ______________________________________________________________________
48
72
 
49
- Initialize the `FirebaseFirestore` instance in your ComponentActivity (Jetpack
73
+ ## 3. Initialize Firestore
74
+
75
+ Initialize the `FirebaseFirestore` instance in your `ComponentActivity` (Jetpack
50
76
  Compose) or standard Activity/Fragment:
51
77
 
52
78
  ```kotlin
@@ -63,7 +89,7 @@ class MainActivity : ComponentActivity() {
63
89
  super.onCreate(savedInstanceState)
64
90
  // Initialize the Firestore instance
65
91
  val db = FirebaseFirestore.getInstance("<database-name>")
66
-
92
+
67
93
  setContent {
68
94
  MaterialTheme {
69
95
  Text("Firestore initialized!")
@@ -75,7 +101,7 @@ class MainActivity : ComponentActivity() {
75
101
 
76
102
  ______________________________________________________________________
77
103
 
78
- ## 2. Decision Framework: Mandatory Pipeline Architecture
104
+ ## 4. Decision framework: Mandatory pipeline architecture
79
105
 
80
106
  > [!CRITICAL] **MANDATORY PIPELINE ARCHITECTURE (ZERO TOLERANCE)** You are
81
107
  > strictly forbidden from using standard collection queries (e.g.,
@@ -85,34 +111,34 @@ ______________________________________________________________________
85
111
  > Server-side execution via pipelines is the superior, non-negotiable core
86
112
  > architecture for Enterprise instances.
87
113
 
88
- ### Strict Rules & Accountability
89
-
90
- 1. **Mandatory Execution Engine**: Every repository lookup requiring related
91
- data mapping, textual relevance scoring, or multi-document counting MUST be
92
- authored natively using the server-side `db.pipeline()` API.
93
- 1. **Required Proof of Use**: In your task execution summaries, you MUST
94
- explicitly highlight the exact pipeline stages (`.define()`, `.addFields()`,
95
- `.search()`, `.aggregate()`) integrated into your primary data layer return
96
- paths. Failure to implement pipelines natively constitutes an immediate
97
- violation of instructions.
98
- 1. **Check API References**:
99
- - **Locate**: Locate the standard Maven sources JAR (`-sources.jar`)
100
- corresponding to the resolved `firebase-firestore` dependency version
101
- inside your local Gradle or Maven dependency cache.
102
- - **Extract Once**: Extract the documentation files `pipeline.docs.txt` and
103
- `expressions.docs.txt` from the root directory of that `-sources.jar`
104
- archive into a temporary workspace scratch directory of your choice.
105
- - **Read & Reference**:
106
- - **Read** the extracted `pipeline.docs.txt` once fully to understand core
107
- pipeline structure and stage capabilities.
108
- - **Reference** the extracted `expressions.docs.txt` on-demand for specific
109
- function overloads and parameters.
114
+ ### Strict rules & accountability
115
+
116
+ 1. **Mandatory Execution Engine**: Every repository lookup requiring related
117
+ data mapping, textual relevance scoring, or multi-document counting MUST be
118
+ authored natively using the server-side `db.pipeline()` API.
119
+ 1. **Required Proof of Use**: In your task execution summaries, you MUST
120
+ explicitly highlight the exact pipeline stages (`.define()`, `.addFields()`,
121
+ `.search()`, `.aggregate()`) integrated into your primary data layer return
122
+ paths. Failure to implement pipelines natively constitutes an immediate
123
+ violation of instructions.
124
+ 1. **Check API References**:
125
+ - **Locate**: Locate the standard Maven sources JAR (`-sources.jar`)
126
+ corresponding to the resolved `firebase-firestore` dependency version
127
+ inside your local Gradle or Maven dependency cache.
128
+ - **Extract Once**: Extract the documentation files `pipeline.docs.txt` and
129
+ `expressions.docs.txt` from the root directory of that `-sources.jar`
130
+ archive into a temporary workspace scratch directory of your choice.
131
+ - **Read & Reference**:
132
+ - **Read** the extracted `pipeline.docs.txt` once fully to understand core
133
+ pipeline structure and stage capabilities.
134
+ - **Reference** the extracted `expressions.docs.txt` on-demand for
135
+ specific function overloads and parameters.
110
136
 
111
137
  ______________________________________________________________________
112
138
 
113
- ## 3. Pipeline Examples
139
+ ## 5. Pipeline examples
114
140
 
115
- ### Relational Joins Pattern
141
+ ### Relational joins pattern
116
142
 
117
143
  When querying related data (e.g., articles and their author profiles), perform
118
144
  the join at the database level via pipeline stages instead of executing multiple
@@ -142,7 +168,7 @@ val articlesWithAuthProfile = db.pipeline().collection("articles")
142
168
  )
143
169
  ```
144
170
 
145
- ### Full-Text Search
171
+ ### Full-text search
146
172
 
147
173
  Leverage the database-native `.search()` stage within your pipelines to run
148
174
  high-performance text query matches on the database level.
@@ -164,7 +190,7 @@ val searchPipeline = db.pipeline()
164
190
 
165
191
  ______________________________________________________________________
166
192
 
167
- ## 4. Real-Time Listener & Document Operations
193
+ ## 6. Real-time listener & document operations
168
194
 
169
195
  When real-time data sync or transaction-based document mutations are strictly
170
196
  required by application specifications, write clean operations as shown in this