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
@@ -4,6 +4,7 @@ description: Guide for setting up and using Firebase Authentication. Use this sk
4
4
  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`.
5
5
  metadata:
6
6
  category: Identity
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  ## Prerequisites
@@ -74,7 +75,7 @@ Configure Firebase Authentication in `firebase.json` by adding an 'auth' block:
74
75
  "supportEmail": "support@example.com",
75
76
  "authorizedRedirectUris": [
76
77
  "https://my-project-id.firebaseapp.com/__/auth/handler",
77
- "http://localhost:4000"
78
+ "http://localhost"
78
79
  ]
79
80
  }
80
81
  }
@@ -84,11 +85,15 @@ Configure Firebase Authentication in `firebase.json` by adding an 'auth' block:
84
85
 
85
86
  > [!NOTE] If the Google Sign-In popup opens and immediately closes with the
86
87
  > error `[firebase_auth/unauthorized-domain]`, it means the domain is not
87
- > authorized. For local development, ensure `localhost` is included in the
88
- > **Authorized Domains** list in the Firebase Console (Authentication >
89
- > Settings > Authorized domains). **CRITICAL**: Do NOT include the protocol or
90
- > port number in the Authorized Domains list (e.g., use `localhost`, NOT
91
- > `http://localhost:9090`).
88
+ > authorized. For local development, add `http://localhost` to
89
+ > `authorizedRedirectUris` in `firebase.json` (or ensure `localhost` is included
90
+ > in the **Authorized Domains** list in the Firebase Console under
91
+ > Authentication > Settings > Authorized domains). **CRITICAL**: Do NOT include
92
+ > the port number in `authorizedRedirectUris` (e.g., use `http://localhost`, NOT
93
+ > `http://localhost:9090` or `http://localhost:4000`), and do NOT include the
94
+ > protocol or port number in the Console Authorized Domains list (use
95
+ > `localhost`). Including a port number in `authorizedRedirectUris` causes
96
+ > `firebase deploy --only auth` to fail with `INVALID_AUTHORIZED_DOMAIN`.
92
97
 
93
98
  **CRITICAL**: After configuring `firebase.json`, you MUST deploy the auth
94
99
  configuration to the Firebase backend for the changes to take effect. This is
@@ -1,12 +1,26 @@
1
- # Firebase Authentication on Android (Kotlin)
1
+ # Firebase Authentication - Android Setup Guide (Kotlin)
2
2
 
3
- This guide walks you through using Firebase Authentication in your Android app
4
- using Kotlin DSL (`build.gradle.kts`) and Kotlin code.
3
+ This guide describes the SDK setup and basic usage patterns for
4
+ Firebase Authentication in an Android app using
5
+ Kotlin DSL (`build.gradle.kts`) and Kotlin code.
5
6
 
6
- ### 1, Enable Authentication via CLI
7
+ ## Prerequisites
7
8
 
8
- Before adding dependencies in your app, make sure you enable the Auth service in
9
- your Firebase Project using the Firebase CLI:
9
+ IMPORTANT: Before specifically working with Firebase Authentication, 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. Enable Authentication via CLI
21
+
22
+ Enable the Firebase Authentication service in the Firebase Project using the
23
+ Firebase CLI:
10
24
 
11
25
  ```bash
12
26
  npx -y firebase-tools@latest init auth
@@ -14,27 +28,48 @@ npx -y firebase-tools@latest init auth
14
28
 
15
29
  ______________________________________________________________________
16
30
 
17
- ### 2. Add Dependencies
18
-
19
- In your module-level `build.gradle.kts` (usually `app/build.gradle.kts`), add
20
- the dependency for Firebase Authentication:
31
+ ## 2. Add dependencies to Gradle build files
32
+
33
+ > [!IMPORTANT] **[AGENT] RESOLVING THE SDK VERSION DETERMINISTICALLY**
34
+ > Never guess or hardcode a memorized out-of-date SDK or plugin version.
35
+ > Before adding dependencies, you MUST query the latest available versions
36
+ > directly from the Google Maven Repository:
37
+ >
38
+ > ```bash
39
+ > # Find the latest Firebase Android BoM version
40
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-bom/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
41
+ >
42
+ > # Find the latest firebase-auth version
43
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-auth/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
44
+ > ```
45
+ >
46
+ > If the dependency is already declared, fetch the exact resolved version
47
+ > currently active in the workspace's build graph:
48
+ >
49
+ > ```bash
50
+ > ./gradlew -q :app:dependencyInsight --dependency firebase-auth --configuration releaseRuntimeClasspath
51
+ > ```
52
+
53
+ In the **module (app-level)** `build.gradle.kts` (usually
54
+ `<project>/<app-module>/build.gradle.kts`), add the dependency for
55
+ Firebase Authentication:
21
56
 
22
57
  ```kotlin
23
58
  dependencies {
24
- // [AGENT] Fetch the latest available BoM version from https://firebase.google.com/support/release-notes/android before adding this
59
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
25
60
  implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
26
61
 
27
62
  // Add the dependency for the Firebase Authentication library
28
- // When using the BoM, you don't specify versions in Firebase library dependencies
63
+ // When using the BoM, don't specify versions in Firebase library dependencies
29
64
  implementation("com.google.firebase:firebase-auth")
30
65
  }
31
66
  ```
32
67
 
33
68
  ______________________________________________________________________
34
69
 
35
- ### 3. Initialize FirebaseAuth
70
+ ## 3. Initialize FirebaseAuth
36
71
 
37
- In your Activity or Fragment, initialize the `FirebaseAuth` instance:
72
+ In the Activity or Fragment, initialize the `FirebaseAuth` instance:
38
73
 
39
74
  ```kotlin
40
75
  import com.google.firebase.Firebase
@@ -48,6 +83,7 @@ class MainActivity : AppCompatActivity() {
48
83
  override fun onCreate(savedInstanceState: Bundle?) {
49
84
  super.onCreate(savedInstanceState)
50
85
  auth = Firebase.auth
86
+
51
87
  setContent {
52
88
  MaterialTheme {
53
89
  Text("Auth initialized!")
@@ -57,7 +93,7 @@ class MainActivity : AppCompatActivity() {
57
93
  }
58
94
  ```
59
95
 
60
- #### Jetpack Compose (Modern)
96
+ ### Jetpack Compose (Modern)
61
97
 
62
98
  Initialize inside a `ComponentActivity` using `setContent`:
63
99
 
@@ -86,9 +122,9 @@ class MainActivity : ComponentActivity() {
86
122
 
87
123
  ______________________________________________________________________
88
124
 
89
- ### 4. Check Current Auth State
125
+ ## 4. Check current Auth state
90
126
 
91
- You should check if a user is already signed in when your activity starts:
127
+ Check if a user is already signed in when the activity starts:
92
128
 
93
129
  ```kotlin
94
130
  public override fun onStart() {
@@ -105,7 +141,11 @@ public override fun onStart() {
105
141
 
106
142
  ______________________________________________________________________
107
143
 
108
- ### 5. Sign Up New Users (Email/Password)
144
+ ## 5. Use sign-in providers in the app
145
+
146
+ ### Email/Password
147
+
148
+ #### Sign up NEW users with Email/Password
109
149
 
110
150
  Use `createUserWithEmailAndPassword` to register new users:
111
151
 
@@ -125,11 +165,9 @@ fun signUpUser(email: String, password: String) {
125
165
  }
126
166
  ```
127
167
 
128
- ______________________________________________________________________
129
-
130
- ### 6. Sign In Existing Users (Email/Password)
168
+ #### Sign in EXISTING users with Email/Password
131
169
 
132
- Use `signInWithEmailAndPassword` to log in existing users:
170
+ Use `signInWithEmailAndPassword` to sign in existing users:
133
171
 
134
172
  ```kotlin
135
173
  fun signInUser(email: String, password: String) {
@@ -149,7 +187,7 @@ fun signInUser(email: String, password: String) {
149
187
 
150
188
  ______________________________________________________________________
151
189
 
152
- ### 7. Sign Out
190
+ ## 6. Sign out users
153
191
 
154
192
  To sign out a user, call `signOut()` on the `FirebaseAuth` instance:
155
193
 
@@ -4,6 +4,8 @@ description: >-
4
4
  Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation/switching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config.
5
5
  metadata:
6
6
  category: CloudInfrastructureAndServices
7
+ version: "1.0.0"
8
+ disable-model-invocation: true
7
9
  ---
8
10
 
9
11
  # Prerequisites
@@ -1,41 +1,183 @@
1
- # 🛠️ Firebase Android Setup Guide
1
+ # Firebase Android Setup Guide
2
2
 
3
3
  ______________________________________________________________________
4
4
 
5
- ## 📋 Prerequisites
5
+ ## Prerequisites
6
6
 
7
- ## Before running these commands, ensure you are authenticated: `npx -y firebase-tools@latest login` (or `npx -y firebase-tools@latest login --no-localhost` on remote servers)
7
+ 1. **Firebase CLI**: Make sure the Firebase CLI is available and authenticated.
8
8
 
9
- ## 0. Create an Android application
9
+ For detailed instructions about the Firebase CLI, see
10
+ `firebase_basics/references/local-env-setup`. Here are high-level
11
+ instructions for setting up the Firebase CLI.
10
12
 
11
- if you haven't already created an android application, create one.
13
+ 1. Ensure the Firebase CLI is available:
12
14
 
13
- ## 1. Create a Firebase Project
15
+ ```bash
16
+ npx -y firebase-tools@latest --version
17
+ ```
14
18
 
15
- If you haven't already created a project, create a new cloud project with a
16
- unique ID:
17
- `npx -y firebase-tools@latest projects:create <UNIQUE_PROJECT_ID> --display-name '<DISPLAY_NAME>'`
18
- *Example:*
19
- `npx -y firebase-tools@latest projects:create my-cool-app-20260330 --display-name 'MyCoolApp'`
19
+ 2. Login to the CLI:
20
+
21
+ - local:
22
+
23
+ ```bash
24
+ npx -y firebase-tools@latest login
25
+ ```
26
+
27
+ - remote servers:
28
+
29
+ ```bash
30
+ npx -y firebase-tools@latest login --no-localhost
31
+ ```
32
+
33
+ 2. **Android project**: Create or use an existing Android project in an
34
+ Android-development IDE.
35
+
36
+ ______________________________________________________________________
37
+
38
+ ## 1. Check if the Android project is connected to a Firebase Project
39
+
40
+ Check if the Android project already has a `google-services.json` file in its
41
+ **module (app-level)** root directory.
42
+
43
+ ### `google-services.json` file is present
44
+
45
+ If the Android project already has a `google-services.json` file, do NOT create
46
+ a new Firebase project or re-register the app — skip steps 2 through 4 below.
47
+ Instead, verify the existing Firebase setup within the codebase and fix anything
48
+ that is missing:
49
+
50
+ - The `google-services.json` file is in the **module (app-level)** root
51
+ directory: `app/google-services.json`
52
+
53
+ - The Google services Gradle plugin (`google-services`) is added to *both* the
54
+ project-level and module (app-level) Gradle build files. If it is missing from
55
+ either file, add it by following step 5 below.
56
+
57
+ ### `google-services.json` file is NOT present
58
+
59
+ If the Android project does NOT already have a `google-services.json` file, then
60
+ proceed with the remaining steps in this guide.
61
+
62
+ ______________________________________________________________________
63
+
64
+ ## 2. Create a new Firebase project or use an existing one
65
+
66
+ Check if there's an existing Firebase Project available for use with the
67
+ Android project:
68
+
69
+ ```bash
70
+ npx -y firebase-tools@latest projects:list
71
+ ```
72
+
73
+ - **If existing Firebase Project:**
74
+ Ask the human user if they want to use the existing project.
75
+
76
+ - **If no existing Firebase Project or human user does not want to use an
77
+ existing project:**
78
+ Create a new Firebase Project.
79
+
80
+ Provide a required unique PROJECT_ID and an optional PROJECT_DISPLAY_NAME:
81
+
82
+ ```bash
83
+ npx -y firebase-tools@latest projects:create <UNIQUE_PROJECT_ID> --display-name <PROJECT_DISPLAY_NAME>
84
+ ```
85
+
86
+ *Example:*
20
87
 
21
- ### 2. Register Your Android App
88
+ ```bash
89
+ npx -y firebase-tools@latest projects:create my-cool-app-20260330 --display-name MyCoolApp
90
+ ```
91
+
92
+ ______________________________________________________________________
93
+
94
+ ## 3. Register the Android project
95
+
96
+ Register the app module (package name) of the Android project with the Firebase
97
+ project. Provide an optional APP_DISPLAY_NAME and required PACKAGE_NAME:
98
+
99
+ ```bash
100
+ npx -y firebase-tools@latest apps:create ANDROID <APP_DISPLAY_NAME> --package-name <PACKAGE_NAME> --project <PROJECT_ID>
101
+ ```
22
102
 
23
- Link your Android app module (package name) to your project. Notice that the
24
- display name is passed as a positional argument at the end:
25
- `npx -y firebase-tools@latest apps:create ANDROID '<APP_DISPLAY_NAME>' --package-name '<PACKAGE_NAME>' --project <PROJECT_ID>`
26
103
  *Example:*
27
- `npx -y firebase-tools@latest apps:create ANDROID 'MyApplication' --package-name 'com.example.myapplication' --project my-cool-app-20260330`
28
104
 
29
- ### 3. Download `google-services.json`
105
+ ```bash
106
+ npx -y firebase-tools@latest apps:create ANDROID MyApplication --package-name com.example.myapplication --project my-cool-app-20260330
107
+ ```
108
+
109
+ NOTE: A package name is often referred to as an *application ID* within an
110
+ Android project. Find an app's package name in the module (app-level) Gradle
111
+ file, usually `app/build.gradle.kts`.
112
+
113
+ ______________________________________________________________________
114
+
115
+ ## 4. Obtain and save `google-services.json`
116
+
117
+ 1. Fetch the Firebase configuration file (`google-services.json`) using the
118
+ Firebase Android APP_ID (which is printed in the output of the previous
119
+ `apps:create` command):
120
+
121
+ ```bash
122
+ npx -y firebase-tools@latest apps:sdkconfig ANDROID <APP_ID> --project <PROJECT_ID>
123
+ ```
124
+
125
+ 2. Save the configuration file within the **module (app-level)** root directory
126
+ of the Android project: `app/google-services.json`
127
+
128
+ ______________________________________________________________________
129
+
130
+ ## 5. Add the `google-services` plugin
131
+
132
+ > [!IMPORTANT] **[AGENT] RESOLVING THE PLUGIN VERSION DETERMINISTICALLY**
133
+ > Never guess or hardcode a memorized out-of-date plugin version.
134
+ > Before adding dependencies, you MUST query the latest available versions
135
+ > directly from the Google Maven Repository:
136
+ >
137
+ > ```bash
138
+ > # Find the latest Google services Gradle plugin version
139
+ > curl -s https://dl.google.com/dl/android/maven2/com/google/gms/google-services/maven-metadata.xml | grep -oE '<latest>[^<]+' | cut -d'>' -f2
140
+ > ```
141
+
142
+ These changes are made to the Android project's Gradle files.
143
+
144
+ ### Project-level `build.gradle.kts` (`<project>/build.gradle.kts`)
145
+
146
+ Add the latest version of the Google services Gradle plugin to the `plugins`
147
+ block:
148
+
149
+ ```kotlin
150
+ plugins {
151
+ // ... other plugins
152
+
153
+ // [AGENT] Fetch the latest resolved version using the Gradle command above
154
+ id("com.google.gms.google-services") version "<latest_plugin_version>" apply false
155
+ }
156
+ ```
157
+
158
+ ### Module (app-level) `build.gradle.kts` (`<project>/<app-module>/build.gradle.kts`)
159
+
160
+ Add the Google services Gradle plugin to the `plugins` block:
161
+
162
+ ```kotlin
163
+ plugins {
164
+ // ... other plugins
165
+ id("com.google.gms.google-services")
166
+ }
167
+ ```
168
+
169
+ ______________________________________________________________________
30
170
 
31
- ## Fetch the configuration file using the App ID (which is printed in the output of the previous command): `npx -y firebase-tools@latest apps:sdkconfig ANDROID <APP_ID> --project <PROJECT_ID>` *Example output extraction to file:* ` # (Output must be saved as app/google-services.json)`
171
+ ## Verification plan
32
172
 
33
- ## ✅ Verification Plan
173
+ ### Manual verification
34
174
 
35
- ### Manual Verification
175
+ Validate that the Firebase Project was created and the Firebase Android App was
176
+ registered successfully:
36
177
 
37
- Validate that the project was created and registered successfully:
38
- `npx -y firebase-tools@latest projects:list`
39
- `npx -y firebase-tools@latest apps:list --project <PROJECT_ID>`
178
+ ```bash
179
+ npx -y firebase-tools@latest projects:list
180
+ npx -y firebase-tools@latest apps:list --project <PROJECT_ID>
181
+ ```
40
182
 
41
183
  ______________________________________________________________________
@@ -4,6 +4,7 @@ description: Comprehensive guide for Firebase Crashlytics, including provisionin
4
4
  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`.
5
5
  metadata:
6
6
  category: CloudObservabilityAndMonitoring
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # Crashlytics