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.
- package/dist/bin.js +3403 -2768
- package/dist/global-guidance/language.md +7 -102
- package/dist/global-skills/add-ai/SKILL.md +7 -8
- package/dist/global-skills/add-analytics/SKILL.md +4 -7
- package/dist/global-skills/add-app-clip/SKILL.md +1 -0
- package/dist/global-skills/add-blog/SKILL.md +4 -7
- package/dist/global-skills/add-files/SKILL.md +4 -7
- package/dist/global-skills/add-images/SKILL.md +4 -7
- package/dist/global-skills/add-language/SKILL.md +5 -8
- package/dist/global-skills/add-notifications/SKILL.md +4 -7
- package/dist/global-skills/add-realtime/SKILL.md +4 -7
- package/dist/global-skills/add-search/SKILL.md +4 -7
- package/dist/global-skills/add-signin/SKILL.md +4 -8
- package/dist/global-skills/add-teams/SKILL.md +4 -7
- package/dist/global-skills/aws-cdk/SKILL.md +1 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/SKILL.md +1 -0
- package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
- package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
- package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
- package/dist/global-skills/building-native-ui/SKILL.md +1 -0
- package/dist/global-skills/buy-domain/SKILL.md +4 -7
- package/dist/global-skills/check-safety/SKILL.md +5 -8
- package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
- package/dist/global-skills/connect-account/SKILL.md +1 -1
- package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
- package/dist/global-skills/doctor/SKILL.md +1 -1
- package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-hosting/SKILL.md +2 -1
- package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-observe/SKILL.md +2 -1
- package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/SKILL.md +9 -1
- package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
- package/dist/global-skills/eas-update/SKILL.md +2 -1
- package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
- package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
- package/dist/global-skills/eas-workflows/SKILL.md +2 -1
- package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
- package/dist/global-skills/email-best-practices/SKILL.md +1 -0
- package/dist/global-skills/expo-animation/SKILL.md +2 -1
- package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
- package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
- package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
- package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
- package/dist/global-skills/expo-deployment/SKILL.md +1 -0
- package/dist/global-skills/expo-design-system/SKILL.md +2 -1
- package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
- package/dist/global-skills/expo-dom/SKILL.md +2 -1
- package/dist/global-skills/expo-examples/SKILL.md +2 -1
- package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
- package/dist/global-skills/expo-module/SKILL.md +2 -1
- package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-observe/SKILL.md +1 -0
- package/dist/global-skills/expo-overview/SKILL.md +2 -1
- package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
- package/dist/global-skills/expo-router/SKILL.md +2 -1
- package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
- package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
- package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
- package/dist/global-skills/expo-ui/SKILL.md +2 -1
- package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
- package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
- package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
- package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
- package/dist/global-skills/firebase-basics/SKILL.md +2 -0
- package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
- package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
- package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
- package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
- package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
- package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
- package/dist/global-skills/go-live/SKILL.md +7 -7
- package/dist/global-skills/harden/SKILL.md +7 -10
- package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
- package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
- package/dist/global-skills/manifest.json +2 -1
- package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
- package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
- package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
- package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
- package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
- package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
- package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
- package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
- package/dist/global-skills/neon/SKILL.md +18 -5
- package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
- package/dist/global-skills/neon-auth/SKILL.md +1 -0
- package/dist/global-skills/neon-functions/SKILL.md +12 -0
- package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
- package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
- package/dist/global-skills/onboarding/SKILL.md +14 -13
- package/dist/global-skills/plan-my-idea/SKILL.md +1 -1
- package/dist/global-skills/publish-app/SKILL.md +1 -1
- package/dist/global-skills/publish-extension/SKILL.md +1 -1
- package/dist/global-skills/resend/SKILL.md +2 -1
- package/dist/global-skills/resend/references/webhooks.md +2 -0
- package/dist/global-skills/reset-password/SKILL.md +4 -6
- package/dist/global-skills/save-data/SKILL.md +3 -0
- package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
- package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
- package/dist/global-skills/setup-email/SKILL.md +7 -8
- package/dist/global-skills/setup-payments/SKILL.md +10 -12
- package/dist/global-skills/setup-sms/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +4 -6
- package/dist/global-skills/sign-in-with-google/SKILL.md +14 -13
- package/dist/global-skills/sign-in-with-phone/SKILL.md +5 -7
- package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
- package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
- package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
- package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
- package/dist/global-skills/supabase/CHANGELOG.md +19 -0
- package/dist/global-skills/supabase/SKILL.md +1 -0
- package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
- package/dist/global-skills/track-errors/SKILL.md +12 -13
- package/dist/global-skills/update-kit/SKILL.md +1 -1
- package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
- package/dist/global-skills/use-dom/SKILL.md +1 -0
- package/dist/global-skills/use-railway/SKILL.md +6 -5
- package/dist/global-skills/use-railway/references/configure.md +34 -1
- package/dist/global-skills/use-railway/references/iac.md +2 -0
- package/dist/global-skills/use-railway/references/tracing.md +89 -44
- package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
- package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
- package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +11 -2
- package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/language.md +7 -102
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +11 -8
- package/dist/global-skills/vybekiitReferences/extension/language.md +7 -92
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +9 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +27 -12
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/language.md +7 -93
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +11 -3
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +10 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +11 -8
- package/dist/global-skills/vybekiitReferences/spa/language.md +7 -11
- package/dist/global-skills/vybekiitReferences/web/AGENTS.md +15 -30
- package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +11 -2
- package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/language.md +7 -102
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +9 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +2 -2
- package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +1 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +1 -3
- package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +1 -1
- package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +1 -1
- package/dist/global-skills/web-to-native/SKILL.md +1 -0
- package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
- package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
- package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
- package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
- package/dist/global-skills/wrangler/SKILL.md +27 -24
- package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
- 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
|
|
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,
|
|
88
|
-
>
|
|
89
|
-
>
|
|
90
|
-
>
|
|
91
|
-
> `http://localhost
|
|
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
|
|
1
|
+
# Firebase Authentication - Android Setup Guide (Kotlin)
|
|
2
2
|
|
|
3
|
-
This guide
|
|
4
|
-
|
|
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
|
-
|
|
7
|
+
## Prerequisites
|
|
7
8
|
|
|
8
|
-
Before
|
|
9
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
70
|
+
## 3. Initialize FirebaseAuth
|
|
36
71
|
|
|
37
|
-
In
|
|
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
|
-
|
|
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
|
-
|
|
125
|
+
## 4. Check current Auth state
|
|
90
126
|
|
|
91
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
#
|
|
1
|
+
# Firebase Android Setup Guide
|
|
2
2
|
|
|
3
3
|
______________________________________________________________________
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Prerequisites
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. **Firebase CLI**: Make sure the Firebase CLI is available and authenticated.
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
|
|
13
|
+
1. Ensure the Firebase CLI is available:
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
```bash
|
|
16
|
+
npx -y firebase-tools@latest --version
|
|
17
|
+
```
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
171
|
+
## Verification plan
|
|
32
172
|
|
|
33
|
-
|
|
173
|
+
### Manual verification
|
|
34
174
|
|
|
35
|
-
|
|
175
|
+
Validate that the Firebase Project was created and the Firebase Android App was
|
|
176
|
+
registered successfully:
|
|
36
177
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|