vybekiit 0.7.29 → 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 (230) hide show
  1. package/dist/bin.js +3403 -2768
  2. package/dist/global-guidance/language.md +7 -102
  3. package/dist/global-skills/add-ai/SKILL.md +7 -8
  4. package/dist/global-skills/add-analytics/SKILL.md +4 -7
  5. package/dist/global-skills/add-app-clip/SKILL.md +1 -0
  6. package/dist/global-skills/add-blog/SKILL.md +4 -7
  7. package/dist/global-skills/add-files/SKILL.md +4 -7
  8. package/dist/global-skills/add-images/SKILL.md +4 -7
  9. package/dist/global-skills/add-language/SKILL.md +5 -8
  10. package/dist/global-skills/add-notifications/SKILL.md +4 -7
  11. package/dist/global-skills/add-realtime/SKILL.md +4 -7
  12. package/dist/global-skills/add-search/SKILL.md +4 -7
  13. package/dist/global-skills/add-signin/SKILL.md +4 -8
  14. package/dist/global-skills/add-teams/SKILL.md +4 -7
  15. package/dist/global-skills/aws-cdk/SKILL.md +1 -0
  16. package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
  17. package/dist/global-skills/aws-serverless/SKILL.md +1 -0
  18. package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
  19. package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
  20. package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
  21. package/dist/global-skills/building-native-ui/SKILL.md +1 -0
  22. package/dist/global-skills/buy-domain/SKILL.md +4 -7
  23. package/dist/global-skills/check-safety/SKILL.md +5 -8
  24. package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
  25. package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
  26. package/dist/global-skills/connect-account/SKILL.md +1 -1
  27. package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
  28. package/dist/global-skills/doctor/SKILL.md +1 -1
  29. package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
  30. package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
  31. package/dist/global-skills/eas-hosting/SKILL.md +2 -1
  32. package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
  33. package/dist/global-skills/eas-observe/SKILL.md +2 -1
  34. package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
  35. package/dist/global-skills/eas-simulator/SKILL.md +9 -1
  36. package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
  37. package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
  38. package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
  39. package/dist/global-skills/eas-update/SKILL.md +2 -1
  40. package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
  41. package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
  42. package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
  43. package/dist/global-skills/eas-workflows/SKILL.md +2 -1
  44. package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
  45. package/dist/global-skills/email-best-practices/SKILL.md +1 -0
  46. package/dist/global-skills/expo-animation/SKILL.md +2 -1
  47. package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
  48. package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
  49. package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
  50. package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
  51. package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
  52. package/dist/global-skills/expo-deployment/SKILL.md +1 -0
  53. package/dist/global-skills/expo-design-system/SKILL.md +2 -1
  54. package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
  55. package/dist/global-skills/expo-dom/SKILL.md +2 -1
  56. package/dist/global-skills/expo-examples/SKILL.md +2 -1
  57. package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
  58. package/dist/global-skills/expo-module/SKILL.md +2 -1
  59. package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
  60. package/dist/global-skills/expo-observe/SKILL.md +1 -0
  61. package/dist/global-skills/expo-overview/SKILL.md +2 -1
  62. package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
  63. package/dist/global-skills/expo-router/SKILL.md +2 -1
  64. package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
  65. package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
  66. package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
  67. package/dist/global-skills/expo-ui/SKILL.md +2 -1
  68. package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
  69. package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
  70. package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
  71. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
  72. package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
  73. package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
  74. package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
  75. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
  76. package/dist/global-skills/firebase-basics/SKILL.md +2 -0
  77. package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
  78. package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
  79. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
  80. package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
  81. package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
  82. package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
  83. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
  84. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
  85. package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
  86. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
  87. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
  88. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
  89. package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
  90. package/dist/global-skills/go-live/SKILL.md +7 -7
  91. package/dist/global-skills/harden/SKILL.md +7 -10
  92. package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
  93. package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
  94. package/dist/global-skills/manifest.json +2 -1
  95. package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
  96. package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
  97. package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
  98. package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
  99. package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
  100. package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
  101. package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
  102. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
  103. package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
  104. package/dist/global-skills/neon/SKILL.md +18 -5
  105. package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
  106. package/dist/global-skills/neon-auth/SKILL.md +1 -0
  107. package/dist/global-skills/neon-functions/SKILL.md +12 -0
  108. package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
  109. package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
  110. package/dist/global-skills/neon-postgres/SKILL.md +1 -0
  111. package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
  112. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
  113. package/dist/global-skills/onboarding/SKILL.md +14 -13
  114. package/dist/global-skills/plan-my-idea/SKILL.md +1 -1
  115. package/dist/global-skills/publish-app/SKILL.md +1 -1
  116. package/dist/global-skills/publish-extension/SKILL.md +1 -1
  117. package/dist/global-skills/resend/SKILL.md +2 -1
  118. package/dist/global-skills/resend/references/webhooks.md +2 -0
  119. package/dist/global-skills/reset-password/SKILL.md +4 -6
  120. package/dist/global-skills/save-data/SKILL.md +3 -0
  121. package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
  122. package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
  123. package/dist/global-skills/setup-email/SKILL.md +7 -8
  124. package/dist/global-skills/setup-payments/SKILL.md +10 -12
  125. package/dist/global-skills/setup-sms/SKILL.md +1 -1
  126. package/dist/global-skills/sign-in-with-email-link/SKILL.md +4 -6
  127. package/dist/global-skills/sign-in-with-google/SKILL.md +14 -13
  128. package/dist/global-skills/sign-in-with-phone/SKILL.md +5 -7
  129. package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
  130. package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
  131. package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
  132. package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
  133. package/dist/global-skills/supabase/CHANGELOG.md +19 -0
  134. package/dist/global-skills/supabase/SKILL.md +1 -0
  135. package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
  136. package/dist/global-skills/track-errors/SKILL.md +12 -13
  137. package/dist/global-skills/update-kit/SKILL.md +1 -1
  138. package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
  139. package/dist/global-skills/use-dom/SKILL.md +1 -0
  140. package/dist/global-skills/use-railway/SKILL.md +6 -5
  141. package/dist/global-skills/use-railway/references/configure.md +34 -1
  142. package/dist/global-skills/use-railway/references/iac.md +2 -0
  143. package/dist/global-skills/use-railway/references/tracing.md +89 -44
  144. package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
  145. package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
  146. package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +11 -3
  147. package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +1 -1
  148. package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
  149. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +11 -2
  150. package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +1 -1
  151. package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +1 -1
  152. package/dist/global-skills/vybekiitReferences/backend/language.md +7 -102
  153. package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +2 -2
  154. package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +1 -1
  155. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +1 -1
  156. package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +11 -3
  157. package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +1 -1
  158. package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
  159. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +10 -1
  160. package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +1 -1
  161. package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +1 -1
  162. package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +11 -8
  163. package/dist/global-skills/vybekiitReferences/extension/language.md +7 -92
  164. package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +9 -1
  165. package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +1 -0
  166. package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +1 -1
  167. package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +1 -1
  168. package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +1 -1
  169. package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +27 -12
  170. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +1 -1
  171. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
  172. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +10 -1
  173. package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +1 -1
  174. package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +1 -1
  175. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +1 -1
  176. package/dist/global-skills/vybekiitReferences/mobile/language.md +7 -93
  177. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +1 -0
  178. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +1 -1
  179. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +1 -1
  180. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +1 -1
  181. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +1 -1
  182. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +2 -2
  183. package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +11 -3
  184. package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +1 -1
  185. package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
  186. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +10 -1
  187. package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +1 -1
  188. package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +11 -8
  189. package/dist/global-skills/vybekiitReferences/spa/language.md +7 -11
  190. package/dist/global-skills/vybekiitReferences/web/AGENTS.md +15 -30
  191. package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +1 -1
  192. package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
  193. package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +11 -2
  194. package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +1 -1
  195. package/dist/global-skills/vybekiitReferences/web/language.md +7 -102
  196. package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +1 -1
  197. package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +1 -1
  198. package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +1 -1
  199. package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +1 -1
  200. package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +9 -1
  201. package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +1 -1
  202. package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +1 -1
  203. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +2 -2
  204. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +2 -2
  205. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +2 -2
  206. package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +1 -0
  207. package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +1 -1
  208. package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +1 -1
  209. package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +1 -1
  210. package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +1 -1
  211. package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +1 -1
  212. package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +1 -1
  213. package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +1 -1
  214. package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +1 -1
  215. package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +1 -1
  216. package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +1 -1
  217. package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +1 -1
  218. package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +1 -1
  219. package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +1 -1
  220. package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +1 -3
  221. package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +1 -1
  222. package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +1 -1
  223. package/dist/global-skills/web-to-native/SKILL.md +1 -0
  224. package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
  225. package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
  226. package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
  227. package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
  228. package/dist/global-skills/wrangler/SKILL.md +27 -24
  229. package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
  230. package/package.json +10 -8
@@ -1,40 +1,78 @@
1
- # Cloud Firestore on Android (Kotlin)
1
+ # Cloud Firestore (Standard edition) - Android Setup Guide (Kotlin)
2
2
 
3
- This guide walks you through using Cloud Firestore in your Android app using
4
- Kotlin.
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Cloud Firestore (Standard edition) in an Android app using
5
+ Kotlin DSL (`build.gradle.kts`) and Kotlin code.
5
6
 
6
- ### Enable Firestore via CLI
7
+ ## Prerequisites
7
8
 
8
- Before adding dependencies in your app, make sure you enable the Firestore
9
- service in your Firebase Project using the Firebase CLI:
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.
10
12
 
11
- ```bash
12
- npx -y firebase-tools@latest init firestore
13
- ```
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`).
14
17
 
15
18
  ______________________________________________________________________
16
19
 
17
- ### 1. Add Dependencies
20
+ ## 1. Provision Firestore
21
+
22
+ Follow the instructions in
23
+ `firebase_firestore/references/standard/provisioning` to do the following:
18
24
 
19
- In your module-level `build.gradle.kts` (usually `app/build.gradle.kts`), add
20
- the dependency for Cloud Firestore:
25
+ - Provision a Firestore instance (Standard edition)
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
31
+
32
+ ______________________________________________________________________
33
+
34
+ ## 2. Add dependencies to Gradle build files
35
+
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:
40
+ >
41
+ > ```bash
42
+ > # Find the latest Firebase Android BoM version
43
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
44
+ >
45
+ > # Find the latest firebase-firestore version
46
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-firestore/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
47
+ > ```
48
+ >
49
+ > If the dependency is already declared, fetch the exact resolved version
50
+ > currently active in the workspace's build graph:
51
+ >
52
+ > ```bash
53
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-firestore --configuration releaseRuntimeClasspath
54
+ > ```
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:
21
59
 
22
60
  ```kotlin
23
61
  dependencies {
24
- // [AGENT] Fetch the latest available BoM version from https://firebase.google.com/support/release-notes/android before adding this
62
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
25
63
  implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
26
64
 
27
65
  // Add the dependency for the Cloud Firestore library
28
- // 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
29
67
  implementation("com.google.firebase:firebase-firestore")
30
68
  }
31
69
  ```
32
70
 
33
71
  ______________________________________________________________________
34
72
 
35
- ### 2. Initialize Firestore
73
+ ## 3. Initialize Firestore
36
74
 
37
- In your Activity or Fragment, initialize the `FirebaseFirestore` instance:
75
+ In the Activity or Fragment, initialize the `FirebaseFirestore` instance:
38
76
 
39
77
  ```kotlin
40
78
  import com.google.firebase.Firebase
@@ -58,7 +96,7 @@ class MainActivity : AppCompatActivity() {
58
96
  }
59
97
  ```
60
98
 
61
- #### Jetpack Compose (Modern)
99
+ ### Jetpack Compose (Modern)
62
100
 
63
101
  Initialize inside a `ComponentActivity` using `setContent`:
64
102
 
@@ -87,7 +125,11 @@ class MainActivity : ComponentActivity() {
87
125
 
88
126
  ______________________________________________________________________
89
127
 
90
- ### 3. Add Data
128
+ ## 4. Work with data
129
+
130
+ After Firestore is initialized, you can work with data in the following ways.
131
+
132
+ ### Add data
91
133
 
92
134
  Add a new document with a generated ID using `add()`:
93
135
 
@@ -125,9 +167,7 @@ db.collection("cities").document("LA")
125
167
  .addOnFailureListener { e -> Log.w(TAG, "Error writing document", e) }
126
168
  ```
127
169
 
128
- ______________________________________________________________________
129
-
130
- ### 4. Read Data
170
+ ### Read data
131
171
 
132
172
  Read a single document using `get()`:
133
173
 
@@ -162,9 +202,7 @@ db.collection("cities")
162
202
  }
163
203
  ```
164
204
 
165
- ______________________________________________________________________
166
-
167
- ### 5. Update Data
205
+ ### Update data
168
206
 
169
207
  Update some fields of a document using `update()` without overwriting the entire
170
208
  document:
@@ -179,9 +217,7 @@ washingtonRef
179
217
  .addOnFailureListener { e -> Log.w(TAG, "Error updating document", e) }
180
218
  ```
181
219
 
182
- ______________________________________________________________________
183
-
184
- ### 6. Delete Data
220
+ ### Delete data
185
221
 
186
222
  Delete a document using `delete()`:
187
223
 
@@ -4,6 +4,7 @@ description: >-
4
4
  Deploys and configures classic Firebase Hosting for static websites, single-page apps (SPAs), and microservices. Use when deploying static sites/SPAs, setting up custom domains, configuring firebase.json hosting settings (redirects, rewrites, headers, multi-site), or managing preview channels. Don't use for Firebase App Hosting (Next.js/SSR), Auth, Firestore queries/rules, Data Connect, or Crashlytics.
5
5
  metadata:
6
6
  category: Serverless
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # hosting-basics
@@ -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: ApplicationDevelopment
8
+ disable-model-invocation: true
8
9
  ---
9
10
 
10
11
  # Remote Config
@@ -1,108 +1,100 @@
1
- # Firebase Remote Config 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. Google Analytics
27
- is highly recommended as it enables conditional targeting based on user
28
- properties and audiences.
29
-
30
- ### Project-level `build.gradle.kts` (`<project>/build.gradle.kts`)
31
-
32
- Ensure the Google Services plugin is in the `plugins` block:
1
+ # Firebase Remote Config - Android Setup Guide (Kotlin)
2
+
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Firebase Remote Config 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 Remote Config, 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
+ ## 1. Add dependencies to Gradle build files
19
+
20
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK VERSION DETERMINISTICALLY**
21
+ > Never guess or hardcode a memorized out-of-date SDK or plugin version.
22
+ > Before adding dependencies, you MUST query the latest available versions
23
+ > directly from the Google Maven Repository:
24
+ >
25
+ > ```bash
26
+ > # Find the latest Firebase Android BoM version
27
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
28
+ >
29
+ > # Find the latest firebase-config version
30
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
31
+ > ```
32
+ >
33
+ > If the dependency is already declared, fetch the exact resolved version
34
+ > currently active in the workspace's build graph:
35
+ >
36
+ > ```bash
37
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-config --configuration releaseRuntimeClasspath
38
+ > ```
39
+
40
+ These changes are made to the Android project's Gradle files.
41
+
42
+ Google Analytics for Firebase is highly recommended as it enables conditional
43
+ targeting based on user properties and audiences. Additional manual setup for
44
+ Google Analytics is required (see "Before you begin" in
45
+ https://firebase.google.com/docs/analytics/android/get-started.md.txt)
46
+
47
+ In the **module (app-level)** `build.gradle.kts` (usually
48
+ `<project>/<app-module>/build.gradle.kts`), add the dependencies for
49
+ Firebase Remote Config and Google Analytics:
33
50
 
34
51
  ```kotlin
35
- plugins {
36
- // ... other plugins
37
- id("com.google.gms.google-services") version "4.4.0" apply false
52
+ dependencies {
53
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
54
+ implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
55
+
56
+ // Add the dependencies for the Firebase Remote Config and Analytics libraries
57
+ // When using the BoM, don't specify versions in Firebase library dependencies
58
+ implementation("com.google.firebase:firebase-config")
59
+ implementation("com.google.firebase:firebase-analytics")
38
60
  }
39
61
  ```
40
62
 
41
- ### App-level `build.gradle.kts` (`<project>/<app-module>/build.gradle.kts`)
42
-
43
- 1. Add the Google Services plugin to the `plugins` block:
44
-
45
- ```kotlin
46
- plugins {
47
- // ... other plugins
48
- id("com.google.gms.google-services")
49
- }
50
- ```
51
-
52
- 1. Add the Firebase Remote Config and Analytics dependencies. Using the Firebase
53
- Bill of Materials (BoM) is the best practice for version management.
54
-
55
- ```kotlin
56
- dependencies {
57
- // ... other dependencies
58
-
59
- // Import the Firebase BoM
60
- implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
61
-
62
- // Add the dependencies for Remote Config and Analytics
63
- implementation("com.google.firebase:firebase-config")
64
- implementation("com.google.firebase:firebase-analytics")
65
- }
66
- ```
67
-
68
- ## Follow up Steps
69
-
70
- The following steps cover the essential patterns for using Remote Config
71
- effectively.
72
-
73
- ### Set In-App Defaults
74
-
75
- Define default values so your app has functional logic before it ever fetches a
76
- template from the server. Create an XML file (e.g.,
77
- `res/xml/remote_config_defaults.xml`):
78
- ```xml
79
- <?xml version="1.0" encoding="utf-8"?>
80
- <!-- Example Remote Config Defaults File -->
81
- <defaultsMap>
82
- <entry>
83
- <key>welcome_message</key>
84
- <value>Welcome to the app!</value>
85
- </entry>
86
- <entry>
87
- <key>is_feature_enabled</key>
88
- <value>false</value>
89
- </entry>
90
- </defaultsMap>
91
- ```
63
+ ______________________________________________________________________
92
64
 
93
- Then, initialize the SDK in your Activity or Application class:
65
+ ## 2. Set in-app defaults
94
66
 
95
- ```kotlin
96
- import com.google.firebase.Firebase
97
- import com.google.firebase.remoteconfig.remoteConfig
67
+ 1. Define default values so the app has functional logic before it ever fetches
68
+ a template from the server. Create an XML file (e.g.,
69
+ `res/xml/remote_config_defaults.xml`):
98
70
 
99
- val remoteConfig = Firebase.remoteConfig
100
- remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
101
- ```
71
+ ```xml
72
+ <?xml version="1.0" encoding="utf-8"?>
73
+ <!-- Example Remote Config Defaults File -->
74
+ <defaultsMap>
75
+ <entry>
76
+ <key>welcome_message</key>
77
+ <value>Welcome to the app!</value>
78
+ </entry>
79
+ <entry>
80
+ <key>is_feature_enabled</key>
81
+ <value>false</value>
82
+ </entry>
83
+ </defaultsMap>
84
+ ```
85
+
86
+ 2. Initialize the SDK in the Activity or Application class:
87
+
88
+ ```kotlin
89
+ val remoteConfig = Firebase.remoteConfig
90
+ remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
91
+ ```
92
+
93
+ ______________________________________________________________________
102
94
 
103
- ### Fetch and Activate Values
95
+ ## 3. Fetch and activate values
104
96
 
105
- To apply values from the cloud, you must fetch them and then activate them.
97
+ To apply values from the cloud, fetch them and then activate them in the app:
106
98
 
107
99
  ```kotlin
108
100
  remoteConfig.fetchAndActivate()
@@ -4,6 +4,7 @@ description: >-
4
4
  Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.
5
5
  metadata:
6
6
  category: CloudSecurity
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # Overview
@@ -4,6 +4,7 @@ description: >-
4
4
  Designs, authors, refactors, and hardens production-grade Cloud Firestore Security Rules (firestore.rules). IMPORTANT: If subagent delegation AND the firestore-rules-author subagent are available in your environment, delegate authoring firestore.rules to the firestore-rules-author subagent. If subagent delegation is unavailable (e.g. not enabled in the IDE), firestore-rules-author is not installed, or you are running inside firestore-rules-author, follow this skill directly.
5
5
  metadata:
6
6
  category: Databases
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # Firestore Security Rules Creation
@@ -30,13 +30,10 @@ asked.
30
30
  ## Steps
31
31
 
32
32
  <!-- vybekiit:page-recipe-install -->
33
- 0. **Install the page recipe first (catalog SSOT — Option C).**
34
- Copy `apps/componentLibrary/src/pageRecipes/LaunchChecklistPage.tsx` export `LaunchChecklistPage` into the buyer app at route `/dashboard/launch`.
35
- Recipe id: `launch-checklist`. Presets: job_runs.
36
- Keep every `TODO:` in the recipe and wire each one after the route renders.
37
- Also reference `packages/agentKit` `getPageRecipeInstall('go-live')` / page-recipe-manifest.json.
38
- **Verify:** route builds and shows practice UI before provider wiring.
39
-
33
+ 0. **Add the ready-made page first.** Run `vybekiit add page-recipe launch-checklist`. It adds the page
34
+ at `/launch` and lists any data setup to run next. Keep every `TODO:` in the page and fill
35
+ each one in as you connect the real service.
36
+ **Verify:** `/launch` opens and shows practice content.
40
37
 
41
38
  1. **Pre-flight check.** Run `vybekiit doctor` to make sure the deploy tool is installed, then run
42
39
  the project's checks (tests + build) yourself. Asset optimization runs in `prebuild` / start hooks
@@ -56,6 +53,9 @@ asked.
56
53
  have the builder run the one sign-in command it printed — a browser window opens, they click
57
54
  "approve," and that's the only thing they do (this works the same whichever host their setup
58
55
  uses). Then you create the project and connect the app.
56
+ Going online with Cloudflare and need its access key? Run `vybekiit-automate cf setup --json`.
57
+ The builder signs in to Cloudflare once in the browser it opens; it then creates the key and saves
58
+ `CLOUDFLARE_ACCOUNT_ID` and `CLOUDFLARE_API_TOKEN` to `.env`, printing only their names.
59
59
  **Verify:** the deploy tool reports they're signed in, and the project shows up.
60
60
 
61
61
  4. **Move the secret settings over.** Copy the needed secret settings into the app's home for them
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: harden
3
- description: "the builder's app is protected against the common attacks every app faces — someone. Use when the vibe coder says something like: lock down; make it safe; protect from abuse."
3
+ description: "the builder's app is protected against the common attacks every app faces — someone hammering the login to guess passwords, bots flooding requests, and other sites secretly making requests on a visitor's behalf. Use when the vibe coder says something like: lock down; make it safe; protect from abuse."
4
4
  metadata:
5
5
  vybekiit-generated: buyer-skill-stub
6
6
  ---
@@ -29,7 +29,7 @@ translate every error · celebrate. You do all the work; the builder just approv
29
29
  > app is safe," not "your app is exposed."
30
30
  >
31
31
  > (Under the hood — agent-only) Protection is `@vybekiit/security`, driven entirely by the `SECURITY_*`
32
- > keys in `.env` (the single source of truth — see core `securityConfigSchema`). The web app enforces
32
+ > keys in `settings.env` (the single source of truth — see core `securityConfigSchema`). The web app enforces
33
33
  > it in `middleware.ts` (already wired, on by default: same-origin lock + per-IP rate limit on
34
34
  > `/api/*`). The same toggles drive the Cloudflare edge config in `infra/cloudflare/` at go-live. Never
35
35
  > name "rate limit", "CORS", or "origin" to the builder unless they ask — say "request limits" and
@@ -38,19 +38,16 @@ translate every error · celebrate. You do all the work; the builder just approv
38
38
  ## Steps
39
39
 
40
40
  <!-- vybekiit:page-recipe-install -->
41
- 0. **Install the page recipe first (catalog SSOT — Option C).**
42
- Copy `apps/componentLibrary/src/pageRecipes/AuditLogPage.tsx` export `AuditLogPage` into the buyer app at route `/admin/audit`.
43
- Recipe id: `audit-log`. Presets: audit_log.
44
- Keep every `TODO:` in the recipe and wire each one after the route renders.
45
- Also reference `packages/agentKit` `getPageRecipeInstall('harden')` / page-recipe-manifest.json.
46
- **Verify:** route builds and shows practice UI before provider wiring.
47
-
41
+ 0. **Add the ready-made page first.** Run `vybekiit add page-recipe audit-log`. It adds the page
42
+ at `/admin/audit-log` and lists any data setup to run next. Keep every `TODO:` in the page and fill
43
+ each one in as you connect the real service.
44
+ **Verify:** `/admin/audit-log` opens and shows practice content.
48
45
 
49
46
  1. **Explain in one line.** *"I'm going to make sure your app is safe from abuse — limiting how fast
50
47
  anyone can hammer it and blocking requests pretending to come from other sites. It's already on; I'll
51
48
  tune it to your app."*
52
49
 
53
- 2. **Confirm it's on.** Check `.env` has `SECURITY_RATE_LIMIT="on"` and `SECURITY_ORIGIN_LOCK="on"`
50
+ 2. **Confirm it's on.** Check `settings.env` has `SECURITY_RATE_LIMIT="on"` and `SECURITY_ORIGIN_LOCK="on"`
54
51
  (these are the defaults; if a previous step turned one off, turn it back on unless the builder asked
55
52
  otherwise). Confirm `middleware.ts` is present.
56
53
  **Verify:** both switches are `on` and the app still builds.
@@ -6,6 +6,7 @@ description: >-
6
6
  Also handles initial PostHog SDK setup if not yet installed.
7
7
  metadata:
8
8
  author: PostHog
9
+ disable-model-invocation: true
9
10
  ---
10
11
 
11
12
  # Add PostHog feature flags
@@ -6,6 +6,7 @@ description: >-
6
6
  are captured. Also handles initial PostHog SDK setup if not yet installed.
7
7
  metadata:
8
8
  author: PostHog
9
+ disable-model-invocation: true
9
10
  ---
10
11
 
11
12
  # Add PostHog product analytics events
@@ -98,6 +98,7 @@
98
98
  "mongodb-connection",
99
99
  "mongodb-mcp-setup",
100
100
  "mongodb-natural-language-querying",
101
+ "mongodb-qe-size-estimation",
101
102
  "mongodb-query-optimizer",
102
103
  "mongodb-schema-design",
103
104
  "mongodb-search-and-ai",
@@ -151,5 +152,5 @@
151
152
  "resources": [
152
153
  "vybekiitReferences"
153
154
  ],
154
- "count": 147
155
+ "count": 148
155
156
  }
@@ -5,6 +5,7 @@ license: Apache-2.0
5
5
  metadata:
6
6
  version: "1.0.0"
7
7
  user-invocable: "true"
8
+ disable-model-invocation: true
8
9
  ---
9
10
 
10
11
  # MongoDB Atlas Streams
@@ -4,6 +4,7 @@ description: Optimize MongoDB client connection configuration (pools, timeouts,
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  version: "1.0.0"
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # MongoDB Connection Optimizer
@@ -4,6 +4,7 @@ description: Guide users through configuring key MongoDB MCP server options. Use
4
4
  license: Apache-2.0
5
5
  metadata:
6
6
  version: "1.0.0"
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # MongoDB MCP Server Setup
@@ -5,6 +5,7 @@ license: Apache-2.0
5
5
  metadata:
6
6
  version: "1.0.0"
7
7
  allowed-tools: mcp__mongodb__*
8
+ disable-model-invocation: true
8
9
  ---
9
10
 
10
11
  # MongoDB Natural Language Querying