vybekiit 0.7.26 → 0.7.28
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 +3910 -1300
- package/dist/global-guidance/language.md +443 -0
- package/dist/global-skills/add-ai/SKILL.md +1 -1
- package/dist/global-skills/add-analytics/SKILL.md +1 -1
- package/dist/global-skills/add-blog/SKILL.md +1 -1
- package/dist/global-skills/add-crud/SKILL.md +1 -1
- package/dist/global-skills/add-files/SKILL.md +1 -1
- package/dist/global-skills/add-images/SKILL.md +1 -1
- package/dist/global-skills/add-language/SKILL.md +1 -1
- package/dist/global-skills/add-notifications/SKILL.md +1 -1
- package/dist/global-skills/add-realtime/SKILL.md +1 -1
- package/dist/global-skills/add-route/SKILL.md +1 -1
- package/dist/global-skills/add-search/SKILL.md +1 -1
- package/dist/global-skills/add-signin/SKILL.md +1 -1
- package/dist/global-skills/add-teams/SKILL.md +1 -1
- package/dist/global-skills/add-upload/SKILL.md +1 -1
- package/dist/global-skills/aws-cdk/SKILL.md +19 -5
- package/dist/global-skills/aws-cdk/references/fast-deployments.md +191 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-deployment.md +16 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +16 -26
- package/dist/global-skills/aws-cloudformation/references/check-cloudformation-template-compliance.script.md +7 -3
- package/dist/global-skills/aws-cloudformation/references/cloudformation-language-server.md +177 -0
- package/dist/global-skills/aws-cloudformation/references/cloudformation-pre-deploy-validation.script.md +8 -2
- package/dist/global-skills/aws-cloudformation/references/persist-template-context.script.md +5 -8
- package/dist/global-skills/aws-cloudformation/references/retrieve-template-context.script.md +1 -1
- package/dist/global-skills/aws-cloudformation/references/security-considerations.md +51 -0
- package/dist/global-skills/aws-cloudformation/references/troubleshoot-failed-stack.script.md +138 -0
- package/dist/global-skills/aws-cloudformation/references/{validate-cloudformation-template.script.md → validate-with-cfn-lint.script.md} +15 -27
- package/dist/global-skills/aws-cloudformation/references/validate-with-cloudformation-validate.script.md +181 -0
- package/dist/global-skills/aws-cloudformation/references/validation-tool-selection.md +44 -0
- package/dist/global-skills/aws-serverless/SKILL.md +9 -1
- package/dist/global-skills/aws-serverless/references/architecture.md +3 -1
- package/dist/global-skills/aws-serverless/references/lambda.md +3 -1
- package/dist/global-skills/aws-serverless/references/orchestration.md +1 -0
- package/dist/global-skills/back-up-my-code/SKILL.md +1 -1
- package/dist/global-skills/better-auth-best-practices/SKILL.md +18 -8
- package/dist/global-skills/buy-domain/SKILL.md +1 -1
- package/dist/global-skills/check-safety/SKILL.md +1 -1
- package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
- package/dist/global-skills/connect-account/SKILL.md +1 -1
- package/dist/global-skills/connect-account-backend/SKILL.md +1 -1
- package/dist/global-skills/design-my-data/SKILL.md +1 -1
- package/dist/global-skills/doctor/SKILL.md +1 -1
- package/dist/global-skills/eas-app-stores/SKILL.md +31 -15
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +2 -2
- package/dist/global-skills/eas-app-stores/references/ios-app-store.md +37 -32
- package/dist/global-skills/eas-app-stores/references/native-ios.md +167 -0
- package/dist/global-skills/eas-app-stores/references/play-store.md +3 -7
- package/dist/global-skills/eas-app-stores/references/testflight.md +39 -35
- package/dist/global-skills/eas-simulator/SKILL.md +48 -26
- package/dist/global-skills/eas-simulator/references/controllers.md +32 -3
- package/dist/global-skills/eas-simulator/references/run-your-app.md +34 -4
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +8 -4
- package/dist/global-skills/eas-update/SKILL.md +146 -0
- package/dist/global-skills/eas-update/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-animation/RECIPES.md +2 -2
- package/dist/global-skills/expo-animation/SKILL.md +9 -2
- package/dist/global-skills/expo-brownfield/SKILL.md +18 -11
- package/dist/global-skills/expo-brownfield/agents/openai.yaml +2 -2
- package/dist/global-skills/expo-brownfield/references/brownfield-integrated.md +94 -69
- package/dist/global-skills/expo-brownfield/references/brownfield-isolated.md +40 -42
- package/dist/global-skills/expo-brownfield/references/comparison.md +5 -5
- package/dist/global-skills/expo-brownfield/references/feature-integration.md +163 -0
- package/dist/global-skills/expo-brownfield/references/troubleshooting.md +17 -17
- package/dist/global-skills/expo-brownfield/references/version-compatibility.md +40 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +27 -6
- package/dist/global-skills/expo-design-system/SKILL.md +27 -7
- package/dist/global-skills/expo-design-system/references/audit.md +7 -2
- package/dist/global-skills/expo-design-system/references/native-slop.md +74 -0
- package/dist/global-skills/expo-examples/SKILL.md +0 -1
- package/dist/global-skills/expo-examples/references/catalog.md +1 -1
- package/dist/global-skills/expo-migrate-module/SKILL.md +21 -10
- package/dist/global-skills/expo-migrate-module/references/compatibility.md +80 -23
- package/dist/global-skills/expo-migrate-module/references/migration-map.md +162 -11
- package/dist/global-skills/expo-native-ui/SKILL.md +25 -16
- package/dist/global-skills/expo-native-ui/agents/openai.yaml +2 -2
- package/dist/global-skills/expo-native-ui/references/controls.md +5 -46
- package/dist/global-skills/expo-native-ui/references/icons.md +21 -2
- package/dist/global-skills/expo-native-ui/references/media.md +15 -20
- package/dist/global-skills/expo-native-ui/references/visual-effects.md +12 -11
- package/dist/global-skills/expo-overview/SKILL.md +17 -12
- package/dist/global-skills/expo-router/SKILL.md +5 -3
- package/dist/global-skills/expo-router/references/tabs.md +5 -5
- package/dist/global-skills/expo-upgrade/SKILL.md +3 -1
- package/dist/global-skills/expo-web-to-native/references/false-friends.md +2 -2
- package/dist/global-skills/expo-web-to-native/references/native-patterns.md +1 -1
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +13 -16
- package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +4 -5
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +4 -4
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +3 -3
- package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +4 -5
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +3 -3
- package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +24 -25
- package/dist/global-skills/firebase-auth-basics/references/security_rules.md +4 -2
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +7 -4
- package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +2 -3
- package/dist/global-skills/firebase-data-connect/SKILL.md +2 -1
- package/dist/global-skills/firebase-data-connect/examples.md +4 -4
- package/dist/global-skills/firebase-data-connect/reference/config.md +5 -4
- package/dist/global-skills/firebase-data-connect/reference/realtime.md +1 -2
- package/dist/global-skills/firebase-data-connect/reference/sdk_flutter.md +2 -2
- package/dist/global-skills/firebase-data-connect/reference/sdk_ios.md +2 -2
- package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +17 -6
- package/dist/global-skills/firebase-data-connect/reference/security.md +5 -5
- package/dist/global-skills/firebase-data-connect/templates.md +2 -1
- package/dist/global-skills/firebase-firestore/SKILL.md +20 -8
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +5 -4
- package/dist/global-skills/firebase-firestore/references/enterprise/data_model.md +12 -3
- package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +16 -18
- package/dist/global-skills/firebase-firestore/references/enterprise/provisioning.md +1 -1
- package/dist/global-skills/firebase-firestore/references/enterprise/python_sdk_usage.md +5 -1
- package/dist/global-skills/firebase-firestore/references/enterprise/web_sdk_usage.md +7 -7
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +5 -5
- package/dist/global-skills/firebase-firestore/references/standard/flutter_setup.md +4 -4
- package/dist/global-skills/firebase-firestore/references/standard/indexes.md +16 -18
- package/dist/global-skills/firebase-firestore/references/standard/provisioning.md +1 -1
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +0 -5
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +36 -8
- package/dist/global-skills/firebase-remote-config-basics/references/ios_setup.md +1 -7
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +17 -6
- package/dist/global-skills/{firebase-firestore/references/standard/security_rules.md → firestore-rules-creation/SKILL.md} +24 -13
- package/dist/global-skills/go-live/SKILL.md +1 -1
- package/dist/global-skills/grow-my-customers/SKILL.md +23 -0
- package/dist/global-skills/harden/SKILL.md +1 -1
- package/dist/global-skills/instrument-feature-flags/SKILL.md +25 -25
- package/dist/global-skills/instrument-feature-flags/references/adding-feature-flag-code.md +141 -285
- package/dist/global-skills/instrument-feature-flags/references/android.md +6 -15
- package/dist/global-skills/instrument-feature-flags/references/api.md +4 -11
- package/dist/global-skills/instrument-feature-flags/references/best-practices.md +1 -13
- package/dist/global-skills/instrument-feature-flags/references/django.md +14 -27
- package/dist/global-skills/instrument-feature-flags/references/dotnet.md +20 -79
- package/dist/global-skills/instrument-feature-flags/references/elixir.md +1 -9
- package/dist/global-skills/instrument-feature-flags/references/flask.md +13 -13
- package/dist/global-skills/instrument-feature-flags/references/flutter.md +3 -24
- package/dist/global-skills/instrument-feature-flags/references/go.md +3 -15
- package/dist/global-skills/instrument-feature-flags/references/ios.md +4 -17
- package/dist/global-skills/instrument-feature-flags/references/java.md +5 -13
- package/dist/global-skills/instrument-feature-flags/references/laravel.md +13 -17
- package/dist/global-skills/instrument-feature-flags/references/next-js.md +25 -32
- package/dist/global-skills/instrument-feature-flags/references/nodejs.md +8 -15
- package/dist/global-skills/instrument-feature-flags/references/php.md +1 -15
- package/dist/global-skills/instrument-feature-flags/references/python.md +2 -15
- package/dist/global-skills/instrument-feature-flags/references/react-native.md +13 -15
- package/dist/global-skills/instrument-feature-flags/references/react.md +17 -21
- package/dist/global-skills/instrument-feature-flags/references/ruby-on-rails.md +37 -83
- package/dist/global-skills/instrument-feature-flags/references/ruby.md +2 -15
- package/dist/global-skills/instrument-feature-flags/references/rust.md +13 -25
- package/dist/global-skills/instrument-feature-flags/references/usage.md +14 -63
- package/dist/global-skills/instrument-feature-flags/references/web.md +9 -14
- package/dist/global-skills/instrument-product-analytics/SKILL.md +29 -29
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-hybrid.md +3 -1
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-ssr.md +3 -1
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-static.md +3 -1
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-view-transitions.md +3 -1
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby-on-rails.md +3 -1
- package/dist/global-skills/instrument-product-analytics/references/android.md +72 -107
- package/dist/global-skills/instrument-product-analytics/references/angular.md +26 -28
- package/dist/global-skills/instrument-product-analytics/references/astro.md +13 -24
- package/dist/global-skills/instrument-product-analytics/references/configuration.md +45 -63
- package/dist/global-skills/instrument-product-analytics/references/django.md +14 -27
- package/dist/global-skills/instrument-product-analytics/references/dotnet.md +20 -79
- package/dist/global-skills/instrument-product-analytics/references/elixir.md +47 -49
- package/dist/global-skills/instrument-product-analytics/references/flask.md +13 -13
- package/dist/global-skills/instrument-product-analytics/references/flutter.md +60 -90
- package/dist/global-skills/instrument-product-analytics/references/go.md +17 -56
- package/dist/global-skills/instrument-product-analytics/references/identify-users.md +15 -15
- package/dist/global-skills/instrument-product-analytics/references/ios.md +11 -15
- package/dist/global-skills/instrument-product-analytics/references/laravel.md +13 -17
- package/dist/global-skills/instrument-product-analytics/references/next-js.md +25 -32
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js-3-6.md +13 -27
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js.md +14 -28
- package/dist/global-skills/instrument-product-analytics/references/php.md +33 -84
- package/dist/global-skills/instrument-product-analytics/references/posthog-python.md +229 -9
- package/dist/global-skills/instrument-product-analytics/references/python.md +415 -106
- package/dist/global-skills/instrument-product-analytics/references/react-native.md +161 -155
- package/dist/global-skills/instrument-product-analytics/references/react-router-v6.md +12 -33
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-data-mode.md +15 -33
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-declarative-mode.md +12 -33
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-framework-mode.md +26 -41
- package/dist/global-skills/instrument-product-analytics/references/ruby-on-rails.md +37 -83
- package/dist/global-skills/instrument-product-analytics/references/ruby.md +48 -108
- package/dist/global-skills/instrument-product-analytics/references/svelte.md +18 -24
- package/dist/global-skills/instrument-product-analytics/references/tanstack-start.md +17 -19
- package/dist/global-skills/instrument-product-analytics/references/usage.md +14 -63
- package/dist/global-skills/instrument-product-analytics/references/vue-js.md +29 -28
- package/dist/global-skills/manifest.json +8 -2
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +28 -37
- package/dist/global-skills/mongodb-search-and-ai/references/automated-embedding.md +438 -0
- package/dist/global-skills/mongodb-search-and-ai/references/hybrid-search.md +60 -4
- package/dist/global-skills/mongodb-search-and-ai/references/vector-search.md +46 -108
- package/dist/global-skills/neon/SKILL.md +207 -213
- package/dist/global-skills/neon/references/auth.md +12 -0
- package/dist/global-skills/neon/references/claimable-neon.md +10 -14
- package/dist/global-skills/neon/references/function-triggers.md +53 -0
- package/dist/global-skills/neon/references/logs-loki.md +61 -0
- package/dist/global-skills/neon/references/parse-env.md +32 -0
- package/dist/global-skills/neon/references/sdk.md +7 -0
- package/dist/global-skills/neon-ai-gateway/SKILL.md +14 -16
- package/dist/global-skills/neon-auth/SKILL.md +155 -0
- package/dist/global-skills/neon-auth/references/managed-auth.md +173 -0
- package/dist/global-skills/neon-auth/references/self-managed.md +25 -0
- package/dist/global-skills/neon-functions/SKILL.md +159 -84
- package/dist/global-skills/neon-functions/references/ai-sdk.md +4 -6
- package/dist/global-skills/neon-functions/references/function-triggers.md +249 -0
- package/dist/global-skills/neon-functions/references/mastra-studio.md +3 -3
- package/dist/global-skills/neon-functions/references/mcp.md +1 -1
- package/dist/global-skills/neon-functions/references/production-hardening.md +340 -0
- package/dist/global-skills/neon-functions/references/sse.md +8 -5
- package/dist/global-skills/neon-object-storage/SKILL.md +10 -11
- package/dist/global-skills/neon-postgres/SKILL.md +120 -17
- package/dist/global-skills/neon-postgres/references/full-text-search.md +99 -0
- package/dist/global-skills/neon-postgres/references/hybrid-search.md +90 -0
- package/dist/global-skills/neon-postgres/references/lakebase-search-drizzle.md +172 -0
- package/dist/global-skills/neon-postgres/references/vector-search.md +137 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +3 -3
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
- package/dist/global-skills/onboarding/SKILL.md +16 -14
- 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 +4 -2
- package/dist/global-skills/resend/references/broadcasts.md +6 -1
- package/dist/global-skills/resend/references/receiving.md +29 -10
- package/dist/global-skills/resend/references/sending/email-management.md +14 -4
- package/dist/global-skills/resend/references/topics.md +9 -6
- package/dist/global-skills/resend/references/usage.md +117 -0
- package/dist/global-skills/resend/references/webhooks.md +59 -2
- package/dist/global-skills/reset-password/SKILL.md +1 -1
- package/dist/global-skills/save-data/SKILL.md +1 -1
- package/dist/global-skills/setup-email/SKILL.md +1 -1
- package/dist/global-skills/setup-payments/SKILL.md +1 -1
- package/dist/global-skills/setup-sms/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-google/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-phone/SKILL.md +1 -1
- package/dist/global-skills/stripe-best-practices/SKILL.md +35 -29
- package/dist/global-skills/stripe-best-practices/references/billing.md +9 -2
- package/dist/global-skills/stripe-best-practices/references/payments.md +4 -2
- package/dist/global-skills/stripe-best-practices/references/security.md +3 -1
- package/dist/global-skills/stripe-best-practices/references/tax.md +39 -20
- package/dist/global-skills/supabase/SKILL.md +6 -0
- package/dist/global-skills/track-errors/SKILL.md +1 -1
- package/dist/global-skills/update-kit/SKILL.md +1 -1
- package/dist/global-skills/use-railway/SKILL.md +42 -22
- package/dist/global-skills/use-railway/references/analyze-db.md +7 -6
- package/dist/global-skills/use-railway/references/cloud-agents.md +70 -0
- package/dist/global-skills/use-railway/references/configure.md +17 -2
- package/dist/global-skills/use-railway/references/databases.md +107 -0
- package/dist/global-skills/use-railway/references/deploy.md +5 -5
- package/dist/global-skills/use-railway/references/feature-flags.md +25 -13
- package/dist/global-skills/use-railway/references/iac.md +66 -77
- package/dist/global-skills/use-railway/references/operate.md +26 -3
- package/dist/global-skills/use-railway/references/request.md +31 -23
- package/dist/global-skills/use-railway/references/setup.md +16 -5
- package/dist/global-skills/use-railway/references/tracing.md +261 -0
- package/dist/global-skills/use-railway/references/usage.md +52 -0
- package/dist/global-skills/validate-my-idea/SKILL.md +54 -0
- package/dist/global-skills/{feedback → vybekiit-feedback}/SKILL.md +17 -13
- package/dist/global-skills/watch-my-app/SKILL.md +53 -0
- package/dist/global-skills/wire-auth/SKILL.md +1 -1
- package/dist/global-skills/wire-database/SKILL.md +1 -1
- package/dist/global-skills/wire-email/SKILL.md +1 -1
- package/dist/global-skills/wire-payments/SKILL.md +1 -1
- package/dist/global-skills/workers-best-practices/SKILL.md +36 -103
- package/dist/global-skills/workers-best-practices/references/configuration.md +139 -0
- package/dist/global-skills/workers-best-practices/references/platform-apis.md +51 -0
- package/dist/global-skills/workers-best-practices/references/{rules.md → runtime-patterns.md} +13 -137
- package/dist/global-skills/wrangler/SKILL.md +48 -901
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Sources/main.swift +19 -15
- package/package.json +9 -8
- package/dist/global-skills/expo-native-ui/references/animations.md +0 -220
- package/dist/global-skills/firebase-firestore/references/enterprise/security_rules.md +0 -577
- package/dist/global-skills/workers-best-practices/references/review.md +0 -174
|
@@ -15,7 +15,7 @@ to create them.
|
|
|
15
15
|
- **Firebase Project**: Created via
|
|
16
16
|
`npx -y firebase-tools@latest projects:create` (see `firebase-basics`).
|
|
17
17
|
- **Firebase App**: Created via
|
|
18
|
-
`npx -y firebase-tools@latest apps:create <
|
|
18
|
+
`npx -y firebase-tools@latest apps:create ANDROID <display-name> --package-name=<package-name>`
|
|
19
19
|
|
|
20
20
|
The `google-services.json` file must be present in the Android app's module
|
|
21
21
|
directory. If missing, get the config using the Firebase CLI:
|
|
@@ -57,11 +57,11 @@ plugins {
|
|
|
57
57
|
// ... other dependencies
|
|
58
58
|
|
|
59
59
|
// Import the Firebase BoM
|
|
60
|
-
implementation(platform("com.google.firebase:firebase-bom
|
|
60
|
+
implementation(platform("com.google.firebase:firebase-bom:<latest_bom_version>"))
|
|
61
61
|
|
|
62
62
|
// Add the dependencies for Remote Config and Analytics
|
|
63
|
-
implementation("com.google.firebase:firebase-config
|
|
64
|
-
implementation("com.google.firebase:firebase-analytics
|
|
63
|
+
implementation("com.google.firebase:firebase-config")
|
|
64
|
+
implementation("com.google.firebase:firebase-analytics")
|
|
65
65
|
}
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -75,17 +75,45 @@ effectively.
|
|
|
75
75
|
Define default values so your app has functional logic before it ever fetches a
|
|
76
76
|
template from the server. Create an XML file (e.g.,
|
|
77
77
|
`res/xml/remote_config_defaults.xml`):
|
|
78
|
-
|
|
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
|
+
|
|
79
93
|
Then, initialize the SDK in your Activity or Application class:
|
|
80
94
|
|
|
81
|
-
````
|
|
82
95
|
```kotlin
|
|
96
|
+
import com.google.firebase.Firebase
|
|
97
|
+
import com.google.firebase.remoteconfig.remoteConfig
|
|
98
|
+
|
|
83
99
|
val remoteConfig = Firebase.remoteConfig
|
|
84
100
|
remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
|
|
85
101
|
```
|
|
86
|
-
````
|
|
87
102
|
|
|
88
103
|
### Fetch and Activate Values
|
|
89
104
|
|
|
90
105
|
To apply values from the cloud, you must fetch them and then activate them.
|
|
91
|
-
|
|
106
|
+
|
|
107
|
+
```kotlin
|
|
108
|
+
remoteConfig.fetchAndActivate()
|
|
109
|
+
.addOnCompleteListener(this) { task ->
|
|
110
|
+
if (task.isSuccessful) {
|
|
111
|
+
val updated = task.result
|
|
112
|
+
println("Config params updated: $updated")
|
|
113
|
+
} else {
|
|
114
|
+
println("Fetch failed")
|
|
115
|
+
}
|
|
116
|
+
// Access a value
|
|
117
|
+
val message = remoteConfig.getString("welcome_message")
|
|
118
|
+
}
|
|
119
|
+
```
|
|
@@ -16,7 +16,7 @@ Use the `firebase-tools` CLI to set up the project if necessary.
|
|
|
16
16
|
1. **Create Firebase Project:** If no project exists, create one:
|
|
17
17
|
`npx -y firebase-tools@latest projects:create <project-id> --display-name="My Awesome App"`
|
|
18
18
|
1. **Create Firebase App:** Register the iOS app with the discovered bundle ID:
|
|
19
|
-
`npx -y firebase-tools@latest apps:create IOS <bundle-id>`
|
|
19
|
+
`npx -y firebase-tools@latest apps:create IOS <display-name> --bundle-id=<bundle-id>`
|
|
20
20
|
1. **Link the GoogleService-Info.plist file:** Use the script in the
|
|
21
21
|
`xcode-project-setup` skill to obtain the config and link.
|
|
22
22
|
|
|
@@ -43,7 +43,6 @@ effectively in your iOS app.
|
|
|
43
43
|
Define default values so your app behaves as intended before it connects to the
|
|
44
44
|
backend. Create a property list file (e.g., RemoteConfigDefaults.plist):
|
|
45
45
|
|
|
46
|
-
````
|
|
47
46
|
```xml
|
|
48
47
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
49
48
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
@@ -56,24 +55,20 @@ backend. Create a property list file (e.g., RemoteConfigDefaults.plist):
|
|
|
56
55
|
</dict>
|
|
57
56
|
</plist>
|
|
58
57
|
```
|
|
59
|
-
````
|
|
60
58
|
|
|
61
59
|
Then, initialize the SDK and set the defaults:
|
|
62
60
|
|
|
63
|
-
````
|
|
64
61
|
```swift
|
|
65
62
|
import FirebaseRemoteConfig
|
|
66
63
|
|
|
67
64
|
let remoteConfig = RemoteConfig.remoteConfig()
|
|
68
65
|
remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")
|
|
69
66
|
```
|
|
70
|
-
````
|
|
71
67
|
|
|
72
68
|
### Fetch and Activate Values
|
|
73
69
|
|
|
74
70
|
To retrieve values from the cloud and apply them to your app:
|
|
75
71
|
|
|
76
|
-
````
|
|
77
72
|
```swift
|
|
78
73
|
remoteConfig.fetchAndActivate { (status, error) in
|
|
79
74
|
if status == .successFetchedFromRemote || status == .successUsingPreFetchedData {
|
|
@@ -86,4 +81,3 @@ remoteConfig.fetchAndActivate { (status, error) in
|
|
|
86
81
|
let message = remoteConfig.configValue(forKey: "welcome_message").stringValue
|
|
87
82
|
}
|
|
88
83
|
```
|
|
89
|
-
````
|
|
@@ -37,9 +37,9 @@ operations to bypass it.
|
|
|
37
37
|
1. **Type Safety:** Are fields checked with 'is string', 'is int', or 'is
|
|
38
38
|
timestamp'?
|
|
39
39
|
1. **Field-Level vs. Identity-Level Security:** Be careful with rules that use
|
|
40
|
-
|
|
40
|
+
`hasOnly()` or `diff()`. While these restrict *which* fields can be
|
|
41
41
|
updated, they do NOT restrict *who* can update them unless an ownership check
|
|
42
|
-
(e.g.,
|
|
42
|
+
(e.g., `resource.data.uid == request.auth.uid`) is also present. If a rule
|
|
43
43
|
allows any authenticated user to update fields on another user's document
|
|
44
44
|
without a corresponding ownership check, it is a data integrity
|
|
45
45
|
vulnerability.
|
|
@@ -67,7 +67,18 @@ single hardcoded admin email (e.g., checking request.auth.token.email ==
|
|
|
67
67
|
- **5 (Secure):** Comprehensive validation, strict ownership, and role-based
|
|
68
68
|
access via secure ACLs.
|
|
69
69
|
|
|
70
|
-
Return your assessment in JSON format using the following structure:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
70
|
+
Return your assessment in JSON format using the following structure:
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"score": 1,
|
|
74
|
+
"summary": "overall assessment",
|
|
75
|
+
"findings": [
|
|
76
|
+
{
|
|
77
|
+
"check": "checklist item",
|
|
78
|
+
"severity": "critical|major|moderate|minor",
|
|
79
|
+
"issue": "description",
|
|
80
|
+
"recommendation": "fix"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
```
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
name: firestore-rules-creation
|
|
3
|
+
description: >-
|
|
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
|
+
metadata:
|
|
6
|
+
category: Databases
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Firestore Security Rules Creation
|
|
10
|
+
|
|
11
|
+
> [!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.
|
|
2
14
|
|
|
3
15
|
You are an expert Firebase Security Rules engineer with deep knowledge of
|
|
4
16
|
Firestore security best practices. Your task is to generate comprehensive,
|
|
@@ -32,8 +44,7 @@ Follow this structured workflow strictly:
|
|
|
32
44
|
- CRUD operations (create, read, update, delete)
|
|
33
45
|
- Authentication patterns (Firebase Auth, custom tokens, anonymous)
|
|
34
46
|
- Access patterns and business logic rules
|
|
35
|
-
1. **
|
|
36
|
-
generating the security 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.
|
|
37
48
|
|
|
38
49
|
#### Phase-2: Security Rules Generation
|
|
39
50
|
|
|
@@ -173,7 +184,7 @@ function isValidList(list, maxSize) {
|
|
|
173
184
|
//
|
|
174
185
|
// Validate optional string (if present, must be string and within length)
|
|
175
186
|
function isValidOptionalString(field, minLen, maxLen) {
|
|
176
|
-
return !(
|
|
187
|
+
return !(field in request.resource.data) ||
|
|
177
188
|
(request.resource.data[field] is string &&
|
|
178
189
|
request.resource.data[field].size() >= minLen &&
|
|
179
190
|
request.resource.data[field].size() <= maxLen);
|
|
@@ -345,12 +356,12 @@ match /users/{userId} {
|
|
|
345
356
|
pollution. For example, a `tags` array must verify that every item is a string
|
|
346
357
|
AND that each string is within a reasonable length (e.g., < 20 chars).
|
|
347
358
|
|
|
348
|
-
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
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.
|
|
354
365
|
|
|
355
366
|
### Advanced Validation for Business Logic
|
|
356
367
|
|
|
@@ -358,7 +369,7 @@ Secure rules must enforce the application's business logic. This includes
|
|
|
358
369
|
validating field values against a list of allowed options and controlling how
|
|
359
370
|
and when fields can change.
|
|
360
371
|
|
|
361
|
-
|
|
372
|
+
#### 1. Enforce Enum Values
|
|
362
373
|
|
|
363
374
|
If a field should only contain specific values (e.g., a status), validate
|
|
364
375
|
against a list.
|
|
@@ -375,7 +386,7 @@ against a list.
|
|
|
375
386
|
allow create: if isValidStatus() && ...
|
|
376
387
|
```
|
|
377
388
|
|
|
378
|
-
|
|
389
|
+
#### 2. Validate State Transitions
|
|
379
390
|
|
|
380
391
|
For `update` operations, you **MUST** validate that a field is changing from a
|
|
381
392
|
valid previous state to a valid new state. This prevents users from bypassing
|
|
@@ -538,7 +549,7 @@ following attack vectors. You MUST document the outcome of each attempt.
|
|
|
538
549
|
ones) call the `isValidX()` function? If an `allow update` rule only checks
|
|
539
550
|
`isOwner()`, it is a CRITICAL vulnerability.
|
|
540
551
|
|
|
541
|
-
|
|
552
|
+
Evaluate each attack attempt mentally (do not create separate untracked attack-log files). If ANY attack succeeds:
|
|
542
553
|
|
|
543
554
|
- Fix the security hole
|
|
544
555
|
- Regenerate the rules
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: go-live
|
|
3
|
-
description: "the builder's app is online at a real web address that anyone can open. Use when the
|
|
3
|
+
description: "the builder's app is online at a real web address that anyone can open. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grow-my-customers
|
|
3
|
+
description: Set up or check the five safe customer journeys for welcome, trial reminders, abandoned checkout, upgrades, and win-back.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Grow my customers
|
|
7
|
+
|
|
8
|
+
Use this skill when the builder wants automatic customer follow-up.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
1. Open the Journeys screen and check the current status.
|
|
13
|
+
2. Explain the next single action in plain language, then stop.
|
|
14
|
+
3. Verify the action worked before continuing.
|
|
15
|
+
4. Never send a real test message. Turn on local testing and use **Run safe local test**.
|
|
16
|
+
5. Never weaken permission, unsubscribe, sending-limit, or account-message boundaries.
|
|
17
|
+
6. If a check fails, say what happened and give one action to fix it.
|
|
18
|
+
7. After the local test, confirm each saved enrollment is visible on the Journeys screen.
|
|
19
|
+
8. Record the completed choice in `checklist.md` and update Progress.
|
|
20
|
+
|
|
21
|
+
## Success
|
|
22
|
+
|
|
23
|
+
Say: "Your customer journeys are protected and ready 🎉" only after the five journey cards show saved status and no real message was sent.
|
|
@@ -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
|
|
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."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -52,31 +52,31 @@ STEP 6: Set up environment variables.
|
|
|
52
52
|
|
|
53
53
|
## Reference files
|
|
54
54
|
|
|
55
|
-
- `references/react.md` - React feature flags installation
|
|
56
|
-
- `references/react-native.md` - React native feature flags installation
|
|
57
|
-
- `references/web.md` - Web feature flags installation
|
|
58
|
-
- `references/nodejs.md` - Node.js feature flags installation
|
|
59
|
-
- `references/python.md` - Python feature flags installation
|
|
60
|
-
- `references/django.md` - Django
|
|
61
|
-
- `references/flask.md` - Flask
|
|
62
|
-
- `references/php.md` - Php feature flags installation
|
|
63
|
-
- `references/laravel.md` - Laravel
|
|
64
|
-
- `references/ruby.md` - Ruby feature flags installation
|
|
65
|
-
- `references/ruby-on-rails.md` - Ruby on rails
|
|
66
|
-
- `references/go.md` - Go feature flags installation
|
|
67
|
-
- `references/java.md` - Java feature flags installation
|
|
68
|
-
- `references/rust.md` - Rust feature flags installation
|
|
69
|
-
- `references/dotnet.md` - .net feature flags installation
|
|
70
|
-
- `references/dotnet.md` - .net
|
|
71
|
-
- `references/elixir.md` - Elixir feature flags installation
|
|
72
|
-
- `references/android.md` - Android feature flags installation
|
|
73
|
-
- `references/ios.md` - Ios feature flags installation
|
|
74
|
-
- `references/usage.md` - Ios SDK usage
|
|
75
|
-
- `references/flutter.md` - Flutter feature flags installation
|
|
76
|
-
- `references/api.md` - API feature flags installation
|
|
77
|
-
- `references/next-js.md` - Next.js
|
|
78
|
-
- `references/adding-feature-flag-code.md` - Adding feature flag code
|
|
79
|
-
- `references/best-practices.md` - Best practices for production-ready flags
|
|
55
|
+
- `references/react.md` - React feature flags installation
|
|
56
|
+
- `references/react-native.md` - React native feature flags installation
|
|
57
|
+
- `references/web.md` - Web feature flags installation
|
|
58
|
+
- `references/nodejs.md` - Node.js feature flags installation
|
|
59
|
+
- `references/python.md` - Python feature flags installation
|
|
60
|
+
- `references/django.md` - Django
|
|
61
|
+
- `references/flask.md` - Flask
|
|
62
|
+
- `references/php.md` - Php feature flags installation
|
|
63
|
+
- `references/laravel.md` - Laravel
|
|
64
|
+
- `references/ruby.md` - Ruby feature flags installation
|
|
65
|
+
- `references/ruby-on-rails.md` - Ruby on rails
|
|
66
|
+
- `references/go.md` - Go feature flags installation
|
|
67
|
+
- `references/java.md` - Java feature flags installation
|
|
68
|
+
- `references/rust.md` - Rust feature flags installation
|
|
69
|
+
- `references/dotnet.md` - .net feature flags installation
|
|
70
|
+
- `references/dotnet.md` - .net
|
|
71
|
+
- `references/elixir.md` - Elixir feature flags installation
|
|
72
|
+
- `references/android.md` - Android feature flags installation
|
|
73
|
+
- `references/ios.md` - Ios feature flags installation
|
|
74
|
+
- `references/usage.md` - Ios SDK usage
|
|
75
|
+
- `references/flutter.md` - Flutter feature flags installation
|
|
76
|
+
- `references/api.md` - API feature flags installation
|
|
77
|
+
- `references/next-js.md` - Next.js
|
|
78
|
+
- `references/adding-feature-flag-code.md` - Adding feature flag code
|
|
79
|
+
- `references/best-practices.md` - Best practices for production-ready flags
|
|
80
80
|
- `references/COMMANDMENTS.md` - Framework-specific rules the integration must follow
|
|
81
81
|
|
|
82
82
|
Each platform reference contains SDK-specific installation, flag evaluation, and code examples. Find the one matching the user's stack. If unlisted, use the API reference as a fallback.
|