vybekiit 0.7.29 → 0.7.33

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 (262) hide show
  1. package/dist/bin.js +3407 -2769
  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 +169 -32
  18. package/dist/global-skills/aws-serverless/references/api-gateway.md +17 -0
  19. package/dist/global-skills/aws-serverless/references/architecture.md +9 -13
  20. package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
  21. package/dist/global-skills/aws-serverless/references/lambda.md +3 -3
  22. package/dist/global-skills/aws-serverless/references/orchestration.md +46 -20
  23. package/dist/global-skills/aws-serverless/references/production.md +1 -1
  24. package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
  25. package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
  26. package/dist/global-skills/building-native-ui/SKILL.md +1 -0
  27. package/dist/global-skills/buy-domain/SKILL.md +4 -7
  28. package/dist/global-skills/check-safety/SKILL.md +5 -8
  29. package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
  30. package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
  31. package/dist/global-skills/connect-account/SKILL.md +1 -1
  32. package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
  33. package/dist/global-skills/doctor/SKILL.md +1 -1
  34. package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
  35. package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
  36. package/dist/global-skills/eas-hosting/SKILL.md +2 -1
  37. package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
  38. package/dist/global-skills/eas-observe/SKILL.md +2 -1
  39. package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
  40. package/dist/global-skills/eas-simulator/SKILL.md +24 -16
  41. package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
  42. package/dist/global-skills/eas-simulator/references/controllers.md +11 -7
  43. package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
  44. package/dist/global-skills/eas-simulator/references/run-your-app.md +8 -8
  45. package/dist/global-skills/eas-simulator/references/troubleshooting.md +14 -6
  46. package/dist/global-skills/eas-update/SKILL.md +2 -1
  47. package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
  48. package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
  49. package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
  50. package/dist/global-skills/eas-workflows/SKILL.md +2 -1
  51. package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
  52. package/dist/global-skills/email-best-practices/SKILL.md +1 -0
  53. package/dist/global-skills/email-best-practices/references/sending-reliability.md +17 -22
  54. package/dist/global-skills/expo-animation/SKILL.md +2 -1
  55. package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
  56. package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
  57. package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
  58. package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
  59. package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
  60. package/dist/global-skills/expo-deployment/SKILL.md +1 -0
  61. package/dist/global-skills/expo-design-system/SKILL.md +2 -1
  62. package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
  63. package/dist/global-skills/expo-dom/SKILL.md +2 -1
  64. package/dist/global-skills/expo-examples/SKILL.md +2 -1
  65. package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
  66. package/dist/global-skills/expo-module/SKILL.md +2 -1
  67. package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
  68. package/dist/global-skills/expo-observe/SKILL.md +1 -0
  69. package/dist/global-skills/expo-overview/SKILL.md +2 -1
  70. package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
  71. package/dist/global-skills/expo-router/SKILL.md +2 -1
  72. package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
  73. package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
  74. package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
  75. package/dist/global-skills/expo-ui/SKILL.md +2 -1
  76. package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
  77. package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
  78. package/dist/global-skills/extension-to-functions-codebase/SKILL.md +2 -0
  79. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +162 -76
  80. package/dist/global-skills/firebase-ai-logic-basics/references/flutter_setup.md +37 -0
  81. package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +97 -3
  82. package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
  83. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +88 -3
  84. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +91 -3
  85. package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +6 -1
  86. package/dist/global-skills/firebase-auth-basics/SKILL.md +12 -6
  87. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
  88. package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +3 -3
  89. package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +22 -19
  90. package/dist/global-skills/firebase-auth-basics/references/security_rules.md +2 -2
  91. package/dist/global-skills/firebase-basics/SKILL.md +8 -2
  92. package/dist/global-skills/firebase-basics/references/android_setup.md +229 -23
  93. package/dist/global-skills/firebase-basics/references/ios_setup.md +57 -0
  94. package/dist/global-skills/firebase-basics/references/web_setup.md +52 -0
  95. package/dist/global-skills/firebase-crashlytics/SKILL.md +2 -0
  96. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +99 -71
  97. package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +1 -0
  98. package/dist/global-skills/firebase-data-connect/SKILL.md +2 -0
  99. package/dist/global-skills/firebase-data-connect/reference/config.md +8 -8
  100. package/dist/global-skills/firebase-data-connect/reference/realtime.md +4 -1
  101. package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +84 -29
  102. package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +8 -3
  103. package/dist/global-skills/firebase-data-connect/reference/security.md +13 -13
  104. package/dist/global-skills/firebase-firestore/SKILL.md +18 -7
  105. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +47 -21
  106. package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +2 -1
  107. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
  108. package/dist/global-skills/firebase-firestore/references/standard/indexes.md +2 -1
  109. package/dist/global-skills/firebase-hosting-basics/SKILL.md +2 -0
  110. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +3 -1
  111. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +83 -92
  112. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +8 -6
  113. package/dist/global-skills/firestore-rules-creation/SKILL.md +23 -10
  114. package/dist/global-skills/go-live/SKILL.md +7 -7
  115. package/dist/global-skills/harden/SKILL.md +7 -10
  116. package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
  117. package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
  118. package/dist/global-skills/manifest.json +2 -1
  119. package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
  120. package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
  121. package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
  122. package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
  123. package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
  124. package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
  125. package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
  126. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
  127. package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
  128. package/dist/global-skills/neon/SKILL.md +34 -5
  129. package/dist/global-skills/neon-ai-gateway/SKILL.md +44 -14
  130. package/dist/global-skills/neon-auth/SKILL.md +1 -0
  131. package/dist/global-skills/neon-functions/SKILL.md +12 -0
  132. package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
  133. package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
  134. package/dist/global-skills/neon-postgres/SKILL.md +2 -1
  135. package/dist/global-skills/neon-postgres/references/full-text-search.md +27 -17
  136. package/dist/global-skills/neon-postgres/references/hybrid-search.md +19 -15
  137. package/dist/global-skills/neon-postgres/references/lakebase-search-drizzle.md +99 -14
  138. package/dist/global-skills/neon-postgres/references/vector-search.md +93 -10
  139. package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
  140. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
  141. package/dist/global-skills/onboarding/SKILL.md +14 -13
  142. package/dist/global-skills/plan-my-idea/SKILL.md +1 -1
  143. package/dist/global-skills/publish-app/SKILL.md +1 -1
  144. package/dist/global-skills/publish-extension/SKILL.md +1 -1
  145. package/dist/global-skills/resend/SKILL.md +5 -15
  146. package/dist/global-skills/resend/references/domains.md +1 -1
  147. package/dist/global-skills/resend/references/installation.md +3 -3
  148. package/dist/global-skills/resend/references/sending/best-practices.md +3 -3
  149. package/dist/global-skills/resend/references/sending/single-email-examples.md +3 -3
  150. package/dist/global-skills/resend/references/webhooks.md +2 -0
  151. package/dist/global-skills/reset-password/SKILL.md +4 -6
  152. package/dist/global-skills/save-data/SKILL.md +3 -0
  153. package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
  154. package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
  155. package/dist/global-skills/setup-email/SKILL.md +7 -8
  156. package/dist/global-skills/setup-payments/SKILL.md +10 -12
  157. package/dist/global-skills/setup-sms/SKILL.md +1 -1
  158. package/dist/global-skills/sign-in-with-email-link/SKILL.md +4 -6
  159. package/dist/global-skills/sign-in-with-google/SKILL.md +14 -13
  160. package/dist/global-skills/sign-in-with-phone/SKILL.md +5 -7
  161. package/dist/global-skills/stripe-best-practices/SKILL.md +20 -19
  162. package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
  163. package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
  164. package/dist/global-skills/stripe-best-practices/references/tax.md +27 -15
  165. package/dist/global-skills/supabase/CHANGELOG.md +19 -0
  166. package/dist/global-skills/supabase/SKILL.md +1 -0
  167. package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
  168. package/dist/global-skills/track-errors/SKILL.md +12 -13
  169. package/dist/global-skills/update-kit/SKILL.md +1 -1
  170. package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
  171. package/dist/global-skills/use-dom/SKILL.md +1 -0
  172. package/dist/global-skills/use-railway/SKILL.md +9 -8
  173. package/dist/global-skills/use-railway/references/configure.md +34 -1
  174. package/dist/global-skills/use-railway/references/iac.md +3 -0
  175. package/dist/global-skills/use-railway/references/tracing.md +97 -44
  176. package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
  177. package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
  178. package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +11 -3
  179. package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +1 -1
  180. package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
  181. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +11 -2
  182. package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +1 -1
  183. package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +1 -1
  184. package/dist/global-skills/vybekiitReferences/backend/language.md +7 -102
  185. package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +2 -2
  186. package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +1 -1
  187. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +1 -1
  188. package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +11 -3
  189. package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +1 -1
  190. package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
  191. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +10 -1
  192. package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +1 -1
  193. package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +1 -1
  194. package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +11 -8
  195. package/dist/global-skills/vybekiitReferences/extension/language.md +7 -92
  196. package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +9 -1
  197. package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +1 -0
  198. package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +1 -1
  199. package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +1 -1
  200. package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +1 -1
  201. package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +27 -12
  202. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +1 -1
  203. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
  204. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +10 -1
  205. package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +1 -1
  206. package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +1 -1
  207. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +1 -1
  208. package/dist/global-skills/vybekiitReferences/mobile/language.md +7 -93
  209. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +1 -0
  210. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +1 -1
  211. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +1 -1
  212. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +1 -1
  213. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +1 -1
  214. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +2 -2
  215. package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +11 -3
  216. package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +1 -1
  217. package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
  218. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +10 -1
  219. package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +1 -1
  220. package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +11 -8
  221. package/dist/global-skills/vybekiitReferences/spa/language.md +7 -11
  222. package/dist/global-skills/vybekiitReferences/web/AGENTS.md +15 -30
  223. package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +1 -1
  224. package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
  225. package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +11 -2
  226. package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +1 -1
  227. package/dist/global-skills/vybekiitReferences/web/language.md +7 -102
  228. package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +1 -1
  229. package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +1 -1
  230. package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +1 -1
  231. package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +1 -1
  232. package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +9 -1
  233. package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +1 -1
  234. package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +1 -1
  235. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +2 -2
  236. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +2 -2
  237. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +2 -2
  238. package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +1 -0
  239. package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +1 -1
  240. package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +1 -1
  241. package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +1 -1
  242. package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +1 -1
  243. package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +1 -1
  244. package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +1 -1
  245. package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +1 -1
  246. package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +1 -1
  247. package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +1 -1
  248. package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +1 -1
  249. package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +1 -1
  250. package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +1 -1
  251. package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +1 -1
  252. package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +1 -3
  253. package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +1 -1
  254. package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +1 -1
  255. package/dist/global-skills/web-to-native/SKILL.md +1 -0
  256. package/dist/global-skills/workers-best-practices/SKILL.md +5 -4
  257. package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
  258. package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
  259. package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
  260. package/dist/global-skills/wrangler/SKILL.md +28 -25
  261. package/dist/global-skills/xcode-project-setup/SKILL.md +2 -0
  262. package/package.json +10 -8
@@ -1,108 +1,99 @@
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 Firebase Remote
4
+ Config in an Android app using Kotlin DSL (`build.gradle.kts`) and Kotlin code.
5
+
6
+ ## Prerequisites
7
+
8
+ IMPORTANT: Before specifically working with Firebase Remote Config, make sure to
9
+ use the skill and reference `firebase_basics/references/android_setup` to ensure
10
+ the following is done.
11
+
12
+ - The Firebase CLI is available and authenticated.
13
+ - An Android project exists and is registered with a Firebase Project.
14
+ - The Android project has a Firebase config file (`google-services.json`) and
15
+ the Google services Gradle plugin (`google-services`).
16
+
17
+ ## 1. Add dependencies to Gradle build files
18
+
19
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK VERSION DETERMINISTICALLY** Never
20
+ > guess or hardcode a memorized out-of-date SDK or plugin version. Before adding
21
+ > dependencies, you MUST query the latest available versions directly from the
22
+ > Google Maven Repository:
23
+ >
24
+ > ```bash
25
+ > # Find the latest Firebase Android BoM version
26
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
27
+ >
28
+ > # Find the latest firebase-config version
29
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-config/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
30
+ > ```
31
+ >
32
+ > If the dependency is already declared, fetch the exact resolved version
33
+ > currently active in the workspace's build graph:
34
+ >
35
+ > ```bash
36
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-config --configuration releaseRuntimeClasspath
37
+ > ```
38
+
39
+ These changes are made to the Android project's Gradle files.
40
+
41
+ Google Analytics for Firebase is highly recommended as it enables conditional
42
+ targeting based on user properties and audiences. Additional manual setup for
43
+ Google Analytics is required (see "Before you begin" in
44
+ https://firebase.google.com/docs/analytics/android/get-started.md.txt)
45
+
46
+ In the **module (app-level)** `build.gradle.kts` (usually
47
+ `<project>/<app-module>/build.gradle.kts`), add the dependencies for Firebase
48
+ Remote Config and Google Analytics:
33
49
 
34
50
  ```kotlin
35
- plugins {
36
- // ... other plugins
37
- id("com.google.gms.google-services") version "4.4.0" apply false
51
+ dependencies {
52
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
53
+ implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
54
+
55
+ // Add the dependencies for the Firebase Remote Config and Analytics libraries
56
+ // When using the BoM, don't specify versions in Firebase library dependencies
57
+ implementation("com.google.firebase:firebase-config")
58
+ implementation("com.google.firebase:firebase-analytics")
38
59
  }
39
60
  ```
40
61
 
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
- }
62
+ ______________________________________________________________________
63
+
64
+ ## 2. Set in-app defaults
65
+
66
+ 1. Define default values so the app has functional logic before it ever fetches
67
+ a template from the server. Create an XML file (e.g.,
68
+ `res/xml/remote_config_defaults.xml`):
69
+
70
+ ```xml
71
+ <?xml version="1.0" encoding="utf-8"?>
72
+ <!-- Example Remote Config Defaults File -->
73
+ <defaultsMap>
74
+ <entry>
75
+ <key>welcome_message</key>
76
+ <value>Welcome to the app!</value>
77
+ </entry>
78
+ <entry>
79
+ <key>is_feature_enabled</key>
80
+ <value>false</value>
81
+ </entry>
82
+ </defaultsMap>
50
83
  ```
51
84
 
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.
85
+ 1. Initialize the SDK in the Activity or Application class:
54
86
 
55
87
  ```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
- }
88
+ val remoteConfig = Firebase.remoteConfig
89
+ remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
66
90
  ```
67
91
 
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
- ```
92
-
93
- Then, initialize the SDK in your Activity or Application class:
94
-
95
- ```kotlin
96
- import com.google.firebase.Firebase
97
- import com.google.firebase.remoteconfig.remoteConfig
98
-
99
- val remoteConfig = Firebase.remoteConfig
100
- remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
101
- ```
92
+ ______________________________________________________________________
102
93
 
103
- ### Fetch and Activate Values
94
+ ## 3. Fetch and activate values
104
95
 
105
- To apply values from the cloud, you must fetch them and then activate them.
96
+ To apply values from the cloud, fetch them and then activate them in the app:
106
97
 
107
98
  ```kotlin
108
99
  remoteConfig.fetchAndActivate()
@@ -3,7 +3,9 @@ name: firebase-security-rules-auditor
3
3
  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
+ author: Google LLC
6
7
  category: CloudSecurity
8
+ disable-model-invocation: true
7
9
  ---
8
10
 
9
11
  # Overview
@@ -37,12 +39,11 @@ operations to bypass it.
37
39
  1. **Type Safety:** Are fields checked with 'is string', 'is int', or 'is
38
40
  timestamp'?
39
41
  1. **Field-Level vs. Identity-Level Security:** Be careful with rules that use
40
- `hasOnly()` or `diff()`. While these restrict *which* fields can be
41
- updated, they do NOT restrict *who* can update them unless an ownership check
42
- (e.g., `resource.data.uid == request.auth.uid`) is also present. If a rule
43
- allows any authenticated user to update fields on another user's document
44
- without a corresponding ownership check, it is a data integrity
45
- vulnerability.
42
+ `hasOnly()` or `diff()`. While these restrict *which* fields can be updated,
43
+ they do NOT restrict *who* can update them unless an ownership check (e.g.,
44
+ `resource.data.uid == request.auth.uid`) is also present. If a rule allows
45
+ any authenticated user to update fields on another user's document without a
46
+ corresponding ownership check, it is a data integrity vulnerability.
46
47
 
47
48
  ### Admin Bootstrapping & Privileges:
48
49
 
@@ -68,6 +69,7 @@ single hardcoded admin email (e.g., checking request.auth.token.email ==
68
69
  access via secure ACLs.
69
70
 
70
71
  Return your assessment in JSON format using the following structure:
72
+
71
73
  ```json
72
74
  {
73
75
  "score": 1,
@@ -3,14 +3,24 @@ name: firestore-rules-creation
3
3
  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
+ author: Google LLC
6
7
  category: Databases
8
+ disable-model-invocation: true
7
9
  ---
8
10
 
9
11
  # Firestore Security Rules Creation
10
12
 
11
13
  > [!IMPORTANT] **Subagent Delegation vs. Direct Authoring**
12
- > - **If subagent delegation AND the `firestore-rules-author` subagent are available** in your active environment: **DO NOT** author `firestore.rules` directly in the main agent. Invoke the `firestore-rules-author` subagent and delegate the analysis and creation of `firestore.rules` to it.
13
- > - **If subagent delegation is unavailable** (e.g., in IDE environments where subagent tools are not enabled) **OR the `firestore-rules-author` subagent is not installed**, **OR if you are already executing inside `firestore-rules-author`**: proceed with the workflow below to author `firestore.rules` directly.
14
+ >
15
+ > - **If subagent delegation AND the `firestore-rules-author` subagent are
16
+ > available** in your active environment: **DO NOT** author `firestore.rules`
17
+ > directly in the main agent. Invoke the `firestore-rules-author` subagent and
18
+ > delegate the analysis and creation of `firestore.rules` to it.
19
+ > - **If subagent delegation is unavailable** (e.g., in IDE environments where
20
+ > subagent tools are not enabled) **OR the `firestore-rules-author` subagent
21
+ > is not installed**, **OR if you are already executing inside
22
+ > `firestore-rules-author`**: proceed with the workflow below to author
23
+ > `firestore.rules` directly.
14
24
 
15
25
  You are an expert Firebase Security Rules engineer with deep knowledge of
16
26
  Firestore security best practices. Your task is to generate comprehensive,
@@ -44,7 +54,9 @@ Follow this structured workflow strictly:
44
54
  - CRUD operations (create, read, update, delete)
45
55
  - Authentication patterns (Firebase Auth, custom tokens, anonymous)
46
56
  - Access patterns and business logic rules
47
- 1. **Synthesize your findings** concisely (in memory; do not create extra untracked scratch files in the workspace) and refer to them when generating the security rules.
57
+ 1. **Synthesize your findings** concisely (in memory; do not create extra
58
+ untracked scratch files in the workspace) and refer to them when generating
59
+ the security rules.
48
60
 
49
61
  #### Phase-2: Security Rules Generation
50
62
 
@@ -356,12 +368,12 @@ match /users/{userId} {
356
368
  pollution. For example, a `tags` array must verify that every item is a string
357
369
  AND that each string is within a reasonable length (e.g., < 20 chars).
358
370
 
359
- - **Permission-Field Lockdown:** Fields that control access (e.g., `editors`,
360
- `viewers`, `roles`, `role`, `ownerId`) **MUST** be immutable for non-owner
361
- editors. In `update` rules, use `areImmutableFieldsUnchanged()` for these
362
- fields unless the `request.auth.uid` matches the document's original
363
- owner/creator. This prevents "Permission Escalation" where a collaborator
364
- could grant themselves higher privileges or remove the owner.
371
+ - **Permission-Field Lockdown:** Fields that control access (e.g., `editors`,
372
+ `viewers`, `roles`, `role`, `ownerId`) **MUST** be immutable for non-owner
373
+ editors. In `update` rules, use `areImmutableFieldsUnchanged()` for these
374
+ fields unless the `request.auth.uid` matches the document's original
375
+ owner/creator. This prevents "Permission Escalation" where a collaborator
376
+ could grant themselves higher privileges or remove the owner.
365
377
 
366
378
  ### Advanced Validation for Business Logic
367
379
 
@@ -549,7 +561,8 @@ following attack vectors. You MUST document the outcome of each attempt.
549
561
  ones) call the `isValidX()` function? If an `allow update` rule only checks
550
562
  `isOwner()`, it is a CRITICAL vulnerability.
551
563
 
552
- Evaluate each attack attempt mentally (do not create separate untracked attack-log files). If ANY attack succeeds:
564
+ Evaluate each attack attempt mentally (do not create separate untracked
565
+ attack-log files). If ANY attack succeeds:
553
566
 
554
567
  - Fix the security hole
555
568
  - Regenerate the rules
@@ -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