vybekiit 0.4.0 → 0.6.0
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 +840 -296
- package/dist/global-skills/add-ai/SKILL.md +53 -0
- package/dist/global-skills/add-analytics/SKILL.md +65 -0
- package/dist/global-skills/add-app-clip/SKILL.md +280 -0
- package/dist/global-skills/add-app-clip/agents/openai.yaml +4 -0
- package/dist/global-skills/add-app-clip/references/native-module.md +96 -0
- package/dist/global-skills/add-blog/SKILL.md +49 -0
- package/dist/global-skills/add-crud/SKILL.md +28 -0
- package/dist/global-skills/add-files/SKILL.md +65 -0
- package/dist/global-skills/add-images/SKILL.md +64 -0
- package/dist/global-skills/add-language/SKILL.md +44 -0
- package/dist/global-skills/add-notifications/SKILL.md +61 -0
- package/dist/global-skills/add-realtime/SKILL.md +49 -0
- package/dist/global-skills/add-route/SKILL.md +28 -0
- package/dist/global-skills/add-search/SKILL.md +43 -0
- package/dist/global-skills/add-signin/SKILL.md +78 -0
- package/dist/global-skills/add-teams/SKILL.md +64 -0
- package/dist/global-skills/add-upload/SKILL.md +27 -0
- package/dist/global-skills/aws-cdk/SKILL.md +72 -0
- package/dist/global-skills/aws-cdk/references/bootstrap-and-project-setup.md +257 -0
- package/dist/global-skills/aws-cdk/references/compliance-and-drift.md +193 -0
- package/dist/global-skills/aws-cdk/references/construct-patterns.md +315 -0
- package/dist/global-skills/aws-cdk/references/import-and-migrate.md +184 -0
- package/dist/global-skills/aws-cdk/references/refactor-and-prevent-replacement.md +198 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-credentials.md +183 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-deployment.md +293 -0
- package/dist/global-skills/aws-cdk/references/troubleshooting-synth.md +274 -0
- package/dist/global-skills/aws-cdk/references/v1-to-v2-migration.md +119 -0
- package/dist/global-skills/aws-cloudformation/SKILL.md +88 -0
- package/dist/global-skills/aws-cloudformation/references/author-cloudformation-best-practices.script.md +179 -0
- package/dist/global-skills/aws-cloudformation/references/check-cloudformation-template-compliance.script.md +159 -0
- package/dist/global-skills/aws-cloudformation/references/cloudformation-pre-deploy-validation.script.md +217 -0
- package/dist/global-skills/aws-cloudformation/references/deploy-with-express-mode.script.md +271 -0
- package/dist/global-skills/aws-cloudformation/references/lookup-resource-properties.script.md +130 -0
- package/dist/global-skills/aws-cloudformation/references/troubleshoot-deployment.script.md +200 -0
- package/dist/global-skills/aws-cloudformation/references/validate-cloudformation-template.script.md +135 -0
- package/dist/global-skills/aws-serverless/SKILL.md +51 -0
- package/dist/global-skills/aws-serverless/assets/powertools-handler.py +49 -0
- package/dist/global-skills/aws-serverless/references/api-gateway.md +553 -0
- package/dist/global-skills/aws-serverless/references/architecture.md +262 -0
- package/dist/global-skills/aws-serverless/references/concurrency.md +200 -0
- package/dist/global-skills/aws-serverless/references/deployment.md +94 -0
- package/dist/global-skills/aws-serverless/references/event-sources.md +484 -0
- package/dist/global-skills/aws-serverless/references/lambda.md +548 -0
- package/dist/global-skills/aws-serverless/references/orchestration.md +449 -0
- package/dist/global-skills/aws-serverless/references/production.md +493 -0
- package/dist/global-skills/aws-serverless/references/troubleshooting.md +711 -0
- package/dist/global-skills/back-up-my-code/SKILL.md +48 -0
- package/dist/global-skills/better-auth-best-practices/SKILL.md +182 -0
- package/dist/global-skills/better-auth-security-best-practices/SKILL.md +432 -0
- package/dist/global-skills/building-native-ui/SKILL.md +377 -0
- package/dist/global-skills/building-native-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/building-native-ui/references/animations.md +220 -0
- package/dist/global-skills/building-native-ui/references/controls.md +270 -0
- package/dist/global-skills/building-native-ui/references/form-sheet.md +253 -0
- package/dist/global-skills/building-native-ui/references/gradients.md +106 -0
- package/dist/global-skills/building-native-ui/references/icons.md +213 -0
- package/dist/global-skills/building-native-ui/references/media.md +198 -0
- package/dist/global-skills/building-native-ui/references/route-structure.md +229 -0
- package/dist/global-skills/building-native-ui/references/search.md +248 -0
- package/dist/global-skills/building-native-ui/references/storage.md +121 -0
- package/dist/global-skills/building-native-ui/references/tabs.md +433 -0
- package/dist/global-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/dist/global-skills/building-native-ui/references/visual-effects.md +197 -0
- package/dist/global-skills/building-native-ui/references/webgpu-three.md +605 -0
- package/dist/global-skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/dist/global-skills/buy-domain/SKILL.md +64 -0
- package/dist/global-skills/check-safety/SKILL.md +94 -0
- package/dist/global-skills/claimable-postgres/SKILL.md +249 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +38 -0
- package/dist/global-skills/connect-account/SKILL.md +64 -0
- package/dist/global-skills/connect-account-backend/SKILL.md +41 -0
- package/dist/global-skills/create-auth-skill/SKILL.md +321 -0
- package/dist/global-skills/design-my-data/SKILL.md +48 -0
- package/dist/global-skills/doctor/SKILL.md +84 -0
- package/dist/global-skills/eas-app-stores/SKILL.md +152 -0
- package/dist/global-skills/eas-app-stores/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/dist/global-skills/eas-app-stores/references/ios-app-store.md +371 -0
- package/dist/global-skills/eas-app-stores/references/play-store.md +246 -0
- package/dist/global-skills/eas-app-stores/references/testflight.md +58 -0
- package/dist/global-skills/eas-app-stores/references/workflows.md +120 -0
- package/dist/global-skills/eas-hosting/SKILL.md +423 -0
- package/dist/global-skills/eas-hosting/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-observe/SKILL.md +32 -0
- package/dist/global-skills/eas-observe/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-observe/references/metrics.md +47 -0
- package/dist/global-skills/eas-observe/references/queries.md +342 -0
- package/dist/global-skills/eas-observe/references/setup.md +317 -0
- package/dist/global-skills/eas-simulator/SKILL.md +156 -0
- package/dist/global-skills/eas-simulator/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-simulator/references/controllers.md +67 -0
- package/dist/global-skills/eas-simulator/references/run-your-app.md +185 -0
- package/dist/global-skills/eas-simulator/references/troubleshooting.md +38 -0
- package/dist/global-skills/eas-update-insights/SKILL.md +230 -0
- package/dist/global-skills/eas-update-insights/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
- package/dist/global-skills/eas-update-insights/references/update-insights-schema.md +69 -0
- package/dist/global-skills/eas-workflows/SKILL.md +94 -0
- package/dist/global-skills/eas-workflows/agents/openai.yaml +4 -0
- package/dist/global-skills/eas-workflows/scripts/fetch.js +109 -0
- package/dist/global-skills/eas-workflows/scripts/package.json +11 -0
- package/dist/global-skills/eas-workflows/scripts/validate.js +84 -0
- package/dist/global-skills/email-best-practices/SKILL.md +73 -0
- package/dist/global-skills/expo-api-routes/SKILL.md +368 -0
- package/dist/global-skills/expo-api-routes/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-app-clip/SKILL.md +282 -0
- package/dist/global-skills/expo-app-clip/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-app-clip/references/native-module.md +96 -0
- package/dist/global-skills/expo-brownfield/SKILL.md +54 -0
- package/dist/global-skills/expo-brownfield/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
- package/dist/global-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
- package/dist/global-skills/expo-brownfield/references/comparison.md +63 -0
- package/dist/global-skills/expo-brownfield/references/troubleshooting.md +88 -0
- package/dist/global-skills/expo-cicd-workflows/SKILL.md +92 -0
- package/dist/global-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/package.json +11 -0
- package/dist/global-skills/expo-cicd-workflows/scripts/validate.js +84 -0
- package/dist/global-skills/expo-data-fetching/SKILL.md +449 -0
- package/dist/global-skills/expo-data-fetching/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-data-fetching/references/expo-router-loaders.md +341 -0
- package/dist/global-skills/expo-data-fetching/references/offline-and-cancellation.md +68 -0
- package/dist/global-skills/expo-deployment/SKILL.md +167 -0
- package/dist/global-skills/expo-deployment/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-deployment/references/app-store-metadata.md +497 -0
- package/dist/global-skills/expo-deployment/references/ios-app-store.md +371 -0
- package/dist/global-skills/expo-deployment/references/play-store.md +246 -0
- package/dist/global-skills/expo-deployment/references/testflight.md +58 -0
- package/dist/global-skills/expo-deployment/references/workflows.md +160 -0
- package/dist/global-skills/expo-dev-client/SKILL.md +174 -0
- package/dist/global-skills/expo-dev-client/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-dom/SKILL.md +417 -0
- package/dist/global-skills/expo-dom/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-examples/SKILL.md +99 -0
- package/dist/global-skills/expo-examples/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-examples/references/catalog.md +105 -0
- package/dist/global-skills/expo-module/SKILL.md +141 -0
- package/dist/global-skills/expo-module/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-module/references/config-plugin.md +90 -0
- package/dist/global-skills/expo-module/references/create-expo-module.md +206 -0
- package/dist/global-skills/expo-module/references/lifecycle.md +127 -0
- package/dist/global-skills/expo-module/references/module-config.md +48 -0
- package/dist/global-skills/expo-module/references/native-module.md +286 -0
- package/dist/global-skills/expo-module/references/native-view.md +171 -0
- package/dist/global-skills/expo-native-ui/SKILL.md +181 -0
- package/dist/global-skills/expo-native-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-native-ui/references/animations.md +220 -0
- package/dist/global-skills/expo-native-ui/references/controls.md +270 -0
- package/dist/global-skills/expo-native-ui/references/gradients.md +106 -0
- package/dist/global-skills/expo-native-ui/references/icons.md +213 -0
- package/dist/global-skills/expo-native-ui/references/media.md +198 -0
- package/dist/global-skills/expo-native-ui/references/storage.md +121 -0
- package/dist/global-skills/expo-native-ui/references/visual-effects.md +197 -0
- package/dist/global-skills/expo-native-ui/references/webgpu-three.md +605 -0
- package/dist/global-skills/expo-observe/SKILL.md +30 -0
- package/dist/global-skills/expo-observe/references/metrics.md +47 -0
- package/dist/global-skills/expo-observe/references/queries.md +342 -0
- package/dist/global-skills/expo-observe/references/setup.md +317 -0
- package/dist/global-skills/expo-router/SKILL.md +230 -0
- package/dist/global-skills/expo-router/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-router/references/form-sheet.md +253 -0
- package/dist/global-skills/expo-router/references/route-structure.md +229 -0
- package/dist/global-skills/expo-router/references/search.md +248 -0
- package/dist/global-skills/expo-router/references/tabs.md +433 -0
- package/dist/global-skills/expo-router/references/toolbar-and-headers.md +284 -0
- package/dist/global-skills/expo-router/references/zoom-transitions.md +158 -0
- package/dist/global-skills/expo-skill-eval/SKILL.md +314 -0
- package/dist/global-skills/expo-skill-eval/agents/visual-grader.md +52 -0
- package/dist/global-skills/expo-skill-eval/references/design-rubric.md +45 -0
- package/dist/global-skills/expo-skill-eval/references/runtime-matrix.md +34 -0
- package/dist/global-skills/expo-skill-eval/scripts/check-static.sh +64 -0
- package/dist/global-skills/expo-skill-eval/scripts/clean-fixture.sh +56 -0
- package/dist/global-skills/expo-skill-eval/scripts/generate_viewer.py +450 -0
- package/dist/global-skills/expo-skill-eval/scripts/latest-sdk.sh +46 -0
- package/dist/global-skills/expo-skill-eval/scripts/make-fixture.sh +95 -0
- package/dist/global-skills/expo-skill-eval/scripts/make-workspace.sh +31 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-android.sh +284 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-ios.sh +132 -0
- package/dist/global-skills/expo-skill-eval/scripts/snapshot-web.sh +61 -0
- package/dist/global-skills/expo-skill-feedback/SKILL.md +54 -0
- package/dist/global-skills/expo-skill-feedback/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-skill-feedback/scripts/skill-event.cjs +180 -0
- package/dist/global-skills/expo-skill-feedback/scripts/skill-feedback.cjs +118 -0
- package/dist/global-skills/expo-skill-feedback/scripts/telemetry.cjs +65 -0
- package/dist/global-skills/expo-skill-feedback/scripts/telemetry_common.cjs +171 -0
- package/dist/global-skills/expo-tailwind-setup/SKILL.md +480 -0
- package/dist/global-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-ui/SKILL.md +47 -0
- package/dist/global-skills/expo-ui/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-ui/references/drop-in-replacements.md +27 -0
- package/dist/global-skills/expo-ui/references/jetpack-compose.md +73 -0
- package/dist/global-skills/expo-ui/references/swift-ui.md +73 -0
- package/dist/global-skills/expo-ui/references/universal.md +73 -0
- package/dist/global-skills/expo-ui/scripts/list-components.js +193 -0
- package/dist/global-skills/expo-upgrade/SKILL.md +134 -0
- package/dist/global-skills/expo-upgrade/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-upgrade/references/expo-av-to-audio.md +132 -0
- package/dist/global-skills/expo-upgrade/references/expo-av-to-video.md +160 -0
- package/dist/global-skills/expo-upgrade/references/native-tabs.md +124 -0
- package/dist/global-skills/expo-upgrade/references/new-architecture.md +79 -0
- package/dist/global-skills/expo-upgrade/references/react-19.md +79 -0
- package/dist/global-skills/expo-upgrade/references/react-compiler.md +59 -0
- package/dist/global-skills/expo-upgrade/references/react-navigation-to-expo-router.md +61 -0
- package/dist/global-skills/expo-web-to-native/SKILL.md +83 -0
- package/dist/global-skills/expo-web-to-native/agents/openai.yaml +4 -0
- package/dist/global-skills/expo-web-to-native/references/false-friends.md +119 -0
- package/dist/global-skills/expo-web-to-native/references/native-patterns.md +39 -0
- package/dist/global-skills/expo-web-to-native/references/run-as-goal.md +48 -0
- package/dist/global-skills/expo-web-to-native/references/verify-on-device.md +45 -0
- package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +165 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/flutter_setup.md +95 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +156 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +157 -0
- package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +186 -0
- package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +73 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/cli_commands.md +85 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/configuration.md +59 -0
- package/dist/global-skills/firebase-app-hosting-basics/references/emulation.md +59 -0
- package/dist/global-skills/firebase-auth-basics/SKILL.md +118 -0
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +160 -0
- package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +301 -0
- package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +149 -0
- package/dist/global-skills/firebase-auth-basics/references/ios_setup.md +87 -0
- package/dist/global-skills/firebase-auth-basics/references/security_rules.md +49 -0
- package/dist/global-skills/firebase-basics/SKILL.md +148 -0
- package/dist/global-skills/firebase-basics/references/android_setup.md +41 -0
- package/dist/global-skills/firebase-basics/references/firebase-cli-guide.md +18 -0
- package/dist/global-skills/firebase-basics/references/firebase-service-init.md +20 -0
- package/dist/global-skills/firebase-basics/references/flutter_setup.md +143 -0
- package/dist/global-skills/firebase-basics/references/ios_setup.md +113 -0
- package/dist/global-skills/firebase-basics/references/local-env-setup.md +80 -0
- package/dist/global-skills/firebase-basics/references/refresh/android_studio.md +41 -0
- package/dist/global-skills/firebase-basics/references/refresh/antigravity.md +64 -0
- package/dist/global-skills/firebase-basics/references/refresh/claude.md +12 -0
- package/dist/global-skills/firebase-basics/references/refresh/gemini-cli.md +13 -0
- package/dist/global-skills/firebase-basics/references/refresh/other-agents.md +67 -0
- package/dist/global-skills/firebase-basics/references/setup/android_studio.md +23 -0
- package/dist/global-skills/firebase-basics/references/setup/antigravity.md +98 -0
- package/dist/global-skills/firebase-basics/references/setup/claude_code.md +45 -0
- package/dist/global-skills/firebase-basics/references/setup/cursor.md +93 -0
- package/dist/global-skills/firebase-basics/references/setup/gemini_cli.md +53 -0
- package/dist/global-skills/firebase-basics/references/setup/github_copilot.md +104 -0
- package/dist/global-skills/firebase-basics/references/setup/other_agents.md +99 -0
- package/dist/global-skills/firebase-basics/references/web_setup.md +77 -0
- package/dist/global-skills/firebase-crashlytics/SKILL.md +42 -0
- package/dist/global-skills/firebase-crashlytics/references/android_setup.md +152 -0
- package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +115 -0
- package/dist/global-skills/firebase-data-connect/SKILL.md +191 -0
- package/dist/global-skills/firebase-data-connect/examples.md +638 -0
- package/dist/global-skills/firebase-data-connect/reference/cloud_functions.md +184 -0
- package/dist/global-skills/firebase-data-connect/reference/config.md +271 -0
- package/dist/global-skills/firebase-data-connect/reference/data_seeding.md +185 -0
- package/dist/global-skills/firebase-data-connect/reference/native_sql.md +170 -0
- package/dist/global-skills/firebase-data-connect/reference/operations.md +385 -0
- package/dist/global-skills/firebase-data-connect/reference/realtime.md +210 -0
- package/dist/global-skills/firebase-data-connect/reference/schema.md +290 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_admin_node.md +141 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +126 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_flutter.md +134 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_ios.md +157 -0
- package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +146 -0
- package/dist/global-skills/firebase-data-connect/reference/search.md +264 -0
- package/dist/global-skills/firebase-data-connect/reference/security.md +295 -0
- package/dist/global-skills/firebase-data-connect/templates.md +318 -0
- package/dist/global-skills/firebase-firestore/SKILL.md +89 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +230 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/data_model.md +66 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/flutter_setup.md +180 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +135 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/ios_setup.md +189 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/provisioning.md +118 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/python_sdk_usage.md +138 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/security_rules.md +577 -0
- package/dist/global-skills/firebase-firestore/references/enterprise/web_sdk_usage.md +127 -0
- package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +193 -0
- package/dist/global-skills/firebase-firestore/references/standard/flutter_setup.md +176 -0
- package/dist/global-skills/firebase-firestore/references/standard/indexes.md +113 -0
- package/dist/global-skills/firebase-firestore/references/standard/ios_setup.md +174 -0
- package/dist/global-skills/firebase-firestore/references/standard/provisioning.md +110 -0
- package/dist/global-skills/firebase-firestore/references/standard/security_rules.md +577 -0
- package/dist/global-skills/firebase-firestore/references/standard/web_sdk_usage.md +192 -0
- package/dist/global-skills/firebase-hosting-basics/SKILL.md +64 -0
- package/dist/global-skills/firebase-hosting-basics/references/configuration.md +115 -0
- package/dist/global-skills/firebase-hosting-basics/references/deploying.md +48 -0
- package/dist/global-skills/firebase-remote-config-basics/SKILL.md +124 -0
- package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +91 -0
- package/dist/global-skills/firebase-remote-config-basics/references/ios_setup.md +89 -0
- package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +70 -0
- package/dist/global-skills/go-live/SKILL.md +90 -0
- package/dist/global-skills/harden/SKILL.md +101 -0
- package/dist/global-skills/instrument-feature-flags/SKILL.md +88 -0
- package/dist/global-skills/instrument-feature-flags/references/adding-feature-flag-code.md +3578 -0
- package/dist/global-skills/instrument-feature-flags/references/android.md +146 -0
- package/dist/global-skills/instrument-feature-flags/references/api.md +194 -0
- package/dist/global-skills/instrument-feature-flags/references/best-practices.md +231 -0
- package/dist/global-skills/instrument-feature-flags/references/django.md +263 -0
- package/dist/global-skills/instrument-feature-flags/references/dotnet.md +763 -0
- package/dist/global-skills/instrument-feature-flags/references/elixir.md +47 -0
- package/dist/global-skills/instrument-feature-flags/references/flask.md +131 -0
- package/dist/global-skills/instrument-feature-flags/references/flutter.md +212 -0
- package/dist/global-skills/instrument-feature-flags/references/go.md +208 -0
- package/dist/global-skills/instrument-feature-flags/references/ios.md +146 -0
- package/dist/global-skills/instrument-feature-flags/references/java.md +94 -0
- package/dist/global-skills/instrument-feature-flags/references/laravel.md +170 -0
- package/dist/global-skills/instrument-feature-flags/references/next-js.md +383 -0
- package/dist/global-skills/instrument-feature-flags/references/nodejs.md +216 -0
- package/dist/global-skills/instrument-feature-flags/references/php.md +187 -0
- package/dist/global-skills/instrument-feature-flags/references/python.md +191 -0
- package/dist/global-skills/instrument-feature-flags/references/react-native.md +166 -0
- package/dist/global-skills/instrument-feature-flags/references/react.md +302 -0
- package/dist/global-skills/instrument-feature-flags/references/ruby-on-rails.md +604 -0
- package/dist/global-skills/instrument-feature-flags/references/ruby.md +200 -0
- package/dist/global-skills/instrument-feature-flags/references/rust.md +222 -0
- package/dist/global-skills/instrument-feature-flags/references/usage.md +600 -0
- package/dist/global-skills/instrument-feature-flags/references/web.md +193 -0
- package/dist/global-skills/instrument-product-analytics/SKILL.md +139 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-android.md +1639 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-angular.md +944 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-hybrid.md +1001 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-ssr.md +1004 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-static.md +720 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-view-transitions.md +810 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-django.md +1167 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-expo.md +1412 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-fastapi.md +1585 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-flask.md +1208 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-laravel.md +2267 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-next-app-router.md +712 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-next-pages-router.md +767 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-nuxt-3-6.md +939 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-nuxt-4.md +1078 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-php.md +527 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-python.md +481 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-native.md +1823 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-6.md +582 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-data.md +892 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-declarative.md +649 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-react-router-7-framework.md +1218 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-tanstack-router-code-based.md +793 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-react-tanstack-router-file-based.md +780 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby-on-rails.md +1320 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby.md +452 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-sveltekit.md +854 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-swift.md +665 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-tanstack-start.md +1199 -0
- package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-vue-3.md +910 -0
- package/dist/global-skills/instrument-product-analytics/references/android.md +811 -0
- package/dist/global-skills/instrument-product-analytics/references/angular.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/astro.md +165 -0
- package/dist/global-skills/instrument-product-analytics/references/configuration.md +299 -0
- package/dist/global-skills/instrument-product-analytics/references/django.md +263 -0
- package/dist/global-skills/instrument-product-analytics/references/dotnet.md +763 -0
- package/dist/global-skills/instrument-product-analytics/references/elixir.md +414 -0
- package/dist/global-skills/instrument-product-analytics/references/flask.md +131 -0
- package/dist/global-skills/instrument-product-analytics/references/flutter.md +845 -0
- package/dist/global-skills/instrument-product-analytics/references/go.md +567 -0
- package/dist/global-skills/instrument-product-analytics/references/identify-users.md +272 -0
- package/dist/global-skills/instrument-product-analytics/references/ios.md +154 -0
- package/dist/global-skills/instrument-product-analytics/references/laravel.md +170 -0
- package/dist/global-skills/instrument-product-analytics/references/next-js.md +383 -0
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js-3-6.md +244 -0
- package/dist/global-skills/instrument-product-analytics/references/nuxt-js.md +253 -0
- package/dist/global-skills/instrument-product-analytics/references/php.md +646 -0
- package/dist/global-skills/instrument-product-analytics/references/posthog-python.md +1675 -0
- package/dist/global-skills/instrument-product-analytics/references/python.md +898 -0
- package/dist/global-skills/instrument-product-analytics/references/react-native.md +1338 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v6.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-data-mode.md +364 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-declarative-mode.md +376 -0
- package/dist/global-skills/instrument-product-analytics/references/react-router-v7-framework-mode.md +479 -0
- package/dist/global-skills/instrument-product-analytics/references/ruby-on-rails.md +604 -0
- package/dist/global-skills/instrument-product-analytics/references/ruby.md +759 -0
- package/dist/global-skills/instrument-product-analytics/references/svelte.md +234 -0
- package/dist/global-skills/instrument-product-analytics/references/tanstack-start.md +193 -0
- package/dist/global-skills/instrument-product-analytics/references/usage.md +600 -0
- package/dist/global-skills/instrument-product-analytics/references/vue-js.md +306 -0
- package/dist/global-skills/manifest.json +125 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +284 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/connection-configs.md +298 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/development-workflow.md +304 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/mcp-troubleshooting.md +55 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/output-diagnostics.md +150 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/pipeline-patterns.md +457 -0
- package/dist/global-skills/mongodb-atlas-stream-processing/references/sizing-and-parallelism.md +178 -0
- package/dist/global-skills/mongodb-connection/SKILL.md +201 -0
- package/dist/global-skills/mongodb-connection/references/monitoring-guide.md +191 -0
- package/dist/global-skills/mongodb-mcp-setup/SKILL.md +324 -0
- package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +195 -0
- package/dist/global-skills/mongodb-query-optimizer/SKILL.md +150 -0
- package/dist/global-skills/mongodb-query-optimizer/references/aggregation-optimization.md +210 -0
- package/dist/global-skills/mongodb-query-optimizer/references/antipattern-examples.md +74 -0
- package/dist/global-skills/mongodb-query-optimizer/references/core-indexing-principles.md +134 -0
- package/dist/global-skills/mongodb-query-optimizer/references/update-query-examples.md +39 -0
- package/dist/global-skills/mongodb-schema-design/SKILL.md +181 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-excessive-lookups.md +84 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-unnecessary-collections.md +91 -0
- package/dist/global-skills/mongodb-schema-design/references/antipattern-unnecessary-indexes.md +95 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-document-model.md +91 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-document-size.md +226 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-embed-vs-reference.md +418 -0
- package/dist/global-skills/mongodb-schema-design/references/fundamental-schema-validation.md +131 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-approximation.md +80 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-archive.md +143 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-attribute.md +77 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-bucket.md +102 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-computed.md +162 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-document-versioning.md +166 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-extended-reference.md +72 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-outlier.md +159 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-polymorphic.md +167 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-schema-versioning.md +273 -0
- package/dist/global-skills/mongodb-schema-design/references/pattern-time-series-collections.md +190 -0
- package/dist/global-skills/mongodb-schema-design/references/source-query-stats.md +123 -0
- package/dist/global-skills/mongodb-schema-design/references/source-slow-query-logs.md +63 -0
- package/dist/global-skills/mongodb-search-and-ai/SKILL.md +142 -0
- package/dist/global-skills/mongodb-search-and-ai/references/hybrid-search.md +697 -0
- package/dist/global-skills/mongodb-search-and-ai/references/lexical-search-indexing.md +584 -0
- package/dist/global-skills/mongodb-search-and-ai/references/lexical-search-querying.md +636 -0
- package/dist/global-skills/mongodb-search-and-ai/references/vector-search.md +746 -0
- package/dist/global-skills/native-data-fetching/SKILL.md +505 -0
- package/dist/global-skills/native-data-fetching/agents/openai.yaml +4 -0
- package/dist/global-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
- package/dist/global-skills/neon/SKILL.md +343 -0
- package/dist/global-skills/neon-ai-gateway/SKILL.md +236 -0
- package/dist/global-skills/neon-functions/SKILL.md +490 -0
- package/dist/global-skills/neon-functions/references/ai-sdk.md +139 -0
- package/dist/global-skills/neon-functions/references/hono-websockets.md +145 -0
- package/dist/global-skills/neon-functions/references/mastra-studio.md +127 -0
- package/dist/global-skills/neon-functions/references/mcp.md +137 -0
- package/dist/global-skills/neon-functions/references/sentry.md +131 -0
- package/dist/global-skills/neon-functions/references/sse.md +143 -0
- package/dist/global-skills/neon-object-storage/SKILL.md +197 -0
- package/dist/global-skills/neon-postgres/SKILL.md +376 -0
- package/dist/global-skills/neon-postgres-branches/SKILL.md +281 -0
- package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +247 -0
- package/dist/global-skills/onboarding/SKILL.md +101 -0
- package/dist/global-skills/plan-my-idea/SKILL.md +67 -0
- package/dist/global-skills/publish-app/SKILL.md +72 -0
- package/dist/global-skills/publish-extension/SKILL.md +47 -0
- package/dist/global-skills/resend/SKILL.md +294 -0
- package/dist/global-skills/resend/references/api-keys.md +98 -0
- package/dist/global-skills/resend/references/automations.md +228 -0
- package/dist/global-skills/resend/references/broadcasts.md +125 -0
- package/dist/global-skills/resend/references/contact-properties.md +111 -0
- package/dist/global-skills/resend/references/contacts.md +174 -0
- package/dist/global-skills/resend/references/domains.md +179 -0
- package/dist/global-skills/resend/references/events.md +119 -0
- package/dist/global-skills/resend/references/fetch-all-templates.mjs +37 -0
- package/dist/global-skills/resend/references/installation.md +142 -0
- package/dist/global-skills/resend/references/logs.md +161 -0
- package/dist/global-skills/resend/references/receiving.md +287 -0
- package/dist/global-skills/resend/references/segments.md +77 -0
- package/dist/global-skills/resend/references/sending/batch-email-examples.md +807 -0
- package/dist/global-skills/resend/references/sending/best-practices.md +453 -0
- package/dist/global-skills/resend/references/sending/email-management.md +135 -0
- package/dist/global-skills/resend/references/sending/overview.md +209 -0
- package/dist/global-skills/resend/references/sending/single-email-examples.md +470 -0
- package/dist/global-skills/resend/references/templates.md +202 -0
- package/dist/global-skills/resend/references/topics.md +104 -0
- package/dist/global-skills/resend/references/webhooks.md +317 -0
- package/dist/global-skills/reset-password/SKILL.md +59 -0
- package/dist/global-skills/save-data/SKILL.md +70 -0
- package/dist/global-skills/sentry-sdk-setup/SKILL.md +116 -0
- package/dist/global-skills/sentry-workflow/SKILL.md +32 -0
- package/dist/global-skills/setup-email/SKILL.md +69 -0
- package/dist/global-skills/setup-payments/SKILL.md +82 -0
- package/dist/global-skills/setup-sms/SKILL.md +51 -0
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +53 -0
- package/dist/global-skills/sign-in-with-google/SKILL.md +68 -0
- package/dist/global-skills/sign-in-with-phone/SKILL.md +53 -0
- package/dist/global-skills/stripe-best-practices/SKILL.md +48 -0
- package/dist/global-skills/stripe-best-practices/references/billing.md +58 -0
- package/dist/global-skills/stripe-best-practices/references/connect.md +173 -0
- package/dist/global-skills/stripe-best-practices/references/payments.md +79 -0
- package/dist/global-skills/stripe-best-practices/references/security.md +109 -0
- package/dist/global-skills/stripe-best-practices/references/tax.md +37 -0
- package/dist/global-skills/stripe-best-practices/references/treasury.md +16 -0
- package/dist/global-skills/supabase/CHANGELOG.md +53 -0
- package/dist/global-skills/supabase/SKILL.md +145 -0
- package/dist/global-skills/supabase/assets/feedback-issue-template.md +17 -0
- package/dist/global-skills/supabase/references/skill-feedback.md +17 -0
- package/dist/global-skills/supabase-postgres-best-practices/CHANGELOG.md +43 -0
- package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/dist/global-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/dist/global-skills/track-errors/SKILL.md +67 -0
- package/dist/global-skills/update-kit/SKILL.md +75 -0
- package/dist/global-skills/upgrading-expo/SKILL.md +134 -0
- package/dist/global-skills/upgrading-expo/agents/openai.yaml +4 -0
- package/dist/global-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/dist/global-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/dist/global-skills/upgrading-expo/references/native-tabs.md +124 -0
- package/dist/global-skills/upgrading-expo/references/new-architecture.md +79 -0
- package/dist/global-skills/upgrading-expo/references/react-19.md +79 -0
- package/dist/global-skills/upgrading-expo/references/react-compiler.md +59 -0
- package/dist/global-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
- package/dist/global-skills/use-dom/SKILL.md +417 -0
- package/dist/global-skills/use-dom/agents/openai.yaml +4 -0
- package/dist/global-skills/use-kit-mcp/SKILL.md +100 -0
- package/dist/global-skills/use-railway/SKILL.md +357 -0
- package/dist/global-skills/use-railway/references/analyze-db-mongo.md +84 -0
- package/dist/global-skills/use-railway/references/analyze-db-mysql.md +254 -0
- package/dist/global-skills/use-railway/references/analyze-db-postgres.md +479 -0
- package/dist/global-skills/use-railway/references/analyze-db-redis.md +208 -0
- package/dist/global-skills/use-railway/references/analyze-db.md +344 -0
- package/dist/global-skills/use-railway/references/configure.md +359 -0
- package/dist/global-skills/use-railway/references/deploy.md +225 -0
- package/dist/global-skills/use-railway/references/feature-flags.md +89 -0
- package/dist/global-skills/use-railway/references/iac.md +108 -0
- package/dist/global-skills/use-railway/references/operate.md +273 -0
- package/dist/global-skills/use-railway/references/request.md +262 -0
- package/dist/global-skills/use-railway/references/sandbox.md +167 -0
- package/dist/global-skills/use-railway/references/setup.md +364 -0
- package/dist/global-skills/use-railway/scripts/analyze-mongo.py +1549 -0
- package/dist/global-skills/use-railway/scripts/analyze-mysql.py +1195 -0
- package/dist/global-skills/use-railway/scripts/analyze-postgres.py +3058 -0
- package/dist/global-skills/use-railway/scripts/analyze-redis.py +1090 -0
- package/dist/global-skills/use-railway/scripts/dal.py +671 -0
- package/dist/global-skills/use-railway/scripts/enable-pg-stats.py +170 -0
- package/dist/global-skills/use-railway/scripts/pg-extensions.py +370 -0
- package/dist/global-skills/use-railway/scripts/railway-api.sh +52 -0
- package/dist/global-skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/dist/global-skills/vercel-composition-patterns/README.md +60 -0
- package/dist/global-skills/vercel-composition-patterns/SKILL.md +89 -0
- package/dist/global-skills/vercel-composition-patterns/metadata.json +11 -0
- package/dist/global-skills/vercel-composition-patterns/rules/_sections.md +29 -0
- package/dist/global-skills/vercel-composition-patterns/rules/_template.md +24 -0
- package/dist/global-skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/dist/global-skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/dist/global-skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/dist/global-skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/dist/global-skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/dist/global-skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/dist/global-skills/vercel-react-best-practices/AGENTS.md +3810 -0
- package/dist/global-skills/vercel-react-best-practices/README.md +123 -0
- package/dist/global-skills/vercel-react-best-practices/SKILL.md +149 -0
- package/dist/global-skills/vercel-react-best-practices/metadata.json +15 -0
- package/dist/global-skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/dist/global-skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/dist/global-skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/dist/global-skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/dist/global-skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/dist/global-skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/dist/global-skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/dist/global-skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/dist/global-skills/web-to-native/SKILL.md +83 -0
- package/dist/global-skills/web-to-native/references/false-friends.md +119 -0
- package/dist/global-skills/web-to-native/references/native-patterns.md +39 -0
- package/dist/global-skills/web-to-native/references/run-as-goal.md +48 -0
- package/dist/global-skills/web-to-native/references/verify-on-device.md +45 -0
- package/dist/global-skills/wire-auth/SKILL.md +28 -0
- package/dist/global-skills/wire-database/SKILL.md +28 -0
- package/dist/global-skills/wire-email/SKILL.md +27 -0
- package/dist/global-skills/wire-payments/SKILL.md +27 -0
- package/dist/global-skills/workers-best-practices/SKILL.md +127 -0
- package/dist/global-skills/workers-best-practices/references/review.md +174 -0
- package/dist/global-skills/workers-best-practices/references/rules.md +463 -0
- package/dist/global-skills/wrangler/SKILL.md +922 -0
- package/dist/global-skills/xcode-project-setup/SKILL.md +140 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Package.resolved +41 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Package.swift +17 -0
- package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Sources/main.swift +232 -0
- package/package.json +21 -20
- package/LICENSE.md +0 -47
- package/dist/index.js +0 -21593
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Infrastructure as Code
|
|
2
|
+
|
|
3
|
+
Define, import, preview, and apply a Railway project from `.railway/railway.ts`.
|
|
4
|
+
|
|
5
|
+
Use Railway IaC when the user wants project-level configuration in source control: services, databases, buckets, volumes, variables, replicas, domains, and canvas groups. Do not use it for a single-service deploy setting that is already owned by `railway.json` or `railway.toml`; migrate that service first so there is only one source of truth.
|
|
6
|
+
|
|
7
|
+
## Files
|
|
8
|
+
|
|
9
|
+
Railway IaC uses TypeScript:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
.railway/railway.ts
|
|
13
|
+
.railway/README.md
|
|
14
|
+
.agents/skills/railway-config/SKILL.md
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`railway config init` and `railway config pull` create the support files when missing. The project-local `railway-config` skill helps future agents edit `.railway/railway.ts` safely.
|
|
18
|
+
|
|
19
|
+
## Initialize or import
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
railway config init # create a starter .railway/railway.ts
|
|
23
|
+
railway config init --force # overwrite existing generated files
|
|
24
|
+
railway config pull # import the linked project
|
|
25
|
+
railway config pull --force # overwrite existing .railway/railway.ts
|
|
26
|
+
railway config pull --json # print current graph instead of writing files
|
|
27
|
+
railway config pull --agent # ask an agent to clean the import afterward
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If the directory is not linked, the CLI prompts for project/environment in an interactive terminal. In agent workflows, prefer linking first or passing explicit project/environment context when the CLI supports it.
|
|
31
|
+
|
|
32
|
+
## Plan
|
|
33
|
+
|
|
34
|
+
Always plan before applying:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
railway config plan
|
|
38
|
+
railway config plan --json
|
|
39
|
+
railway config plan --verbose
|
|
40
|
+
railway config plan --show-values
|
|
41
|
+
railway config plan --detailed-exit-code
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Plan output summarizes changes in Terraform style:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
Plan: 1 to add, 0 to change, 0 to destroy
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Variable values are redacted by default. Use `--show-values` only when the user is intentionally reviewing non-secret config or accepts the secret exposure risk. Use `--detailed-exit-code` for CI drift checks: exit `0` means no changes, exit `2` means changes are pending, and other non-zero exits are errors.
|
|
51
|
+
|
|
52
|
+
## Apply
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
railway config apply
|
|
56
|
+
railway config apply --yes
|
|
57
|
+
railway config apply --yes --confirm-destructive
|
|
58
|
+
railway config apply --json --yes --confirm-destructive
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`apply` always runs a fresh plan first. If the environment changed after the last plan, Railway rejects the apply and asks for a new plan. In non-interactive or agent sessions, destructive changes require `--confirm-destructive` in addition to `--yes` or `--json`; do not add it unless the user explicitly approved the destructive impact.
|
|
62
|
+
|
|
63
|
+
## Authoring pattern
|
|
64
|
+
|
|
65
|
+
Keep `.railway/railway.ts` readable and explicit:
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
import { defineRailway, project, service } from "railway/iac";
|
|
69
|
+
|
|
70
|
+
export default defineRailway(() => {
|
|
71
|
+
const web = service("web", {
|
|
72
|
+
build: "pnpm build",
|
|
73
|
+
start: "pnpm start",
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
return project("my-project", {
|
|
77
|
+
resources: [web],
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Use imported helpers when needed: `service`, `postgres`, `redis`, `mysql`, `mongo`, `bucket`, `volume`, `group`, `github`, `image`, and `preserve`.
|
|
83
|
+
|
|
84
|
+
## Migration from config as code
|
|
85
|
+
|
|
86
|
+
When a service has `railway.json` or `railway.toml`:
|
|
87
|
+
|
|
88
|
+
1. Run `railway config pull --force`.
|
|
89
|
+
2. Translate only the intended service settings into `.railway/railway.ts`.
|
|
90
|
+
3. Remove the old service-level config file or clear its custom config file path.
|
|
91
|
+
4. Run `railway config plan`.
|
|
92
|
+
5. Apply only when the plan matches the intended migration.
|
|
93
|
+
|
|
94
|
+
If the plan shows unexpected service deletes, variable deletes, bucket deletes, or unrelated changes, stop and inspect the generated file before applying.
|
|
95
|
+
|
|
96
|
+
## Troubleshoot IaC
|
|
97
|
+
|
|
98
|
+
- **Service is already managed by `railway.json` or `railway.toml`**: migrate that service first; Railway blocks dual ownership.
|
|
99
|
+
- **Plan shows secrets as hidden**: this is expected. Use `--show-values` only with user approval.
|
|
100
|
+
- **Apply says the plan is stale**: run `railway config plan` again, inspect the new diff, then re-apply.
|
|
101
|
+
- **Destructive apply blocked**: get explicit user approval and rerun with `--confirm-destructive`.
|
|
102
|
+
- **Imported variables use `preserve()`**: Railway could not safely print encrypted secret values; preserve keeps the remote value.
|
|
103
|
+
- **Generated code is too literal**: edit `.railway/railway.ts` into a cleaner shape, then verify with `railway config plan`.
|
|
104
|
+
|
|
105
|
+
## Validated against
|
|
106
|
+
|
|
107
|
+
- Docs: [infrastructure-as-code.md](https://docs.railway.com/infrastructure-as-code), [infrastructure-as-code/reference.md](https://docs.railway.com/infrastructure-as-code/reference)
|
|
108
|
+
- CLI source: [config/mod.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/config/mod.rs), [config/runner.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/config/runner.rs)
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# Operate
|
|
2
|
+
|
|
3
|
+
Check health, read logs, query metrics, and troubleshoot failures.
|
|
4
|
+
|
|
5
|
+
## Health snapshot
|
|
6
|
+
|
|
7
|
+
Start broad, then narrow:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
railway status --json # linked context
|
|
11
|
+
railway status --project <project> --environment <env> --json
|
|
12
|
+
railway service list --json # services in current environment
|
|
13
|
+
railway deployment list --limit 10 --json # recent deployments
|
|
14
|
+
railway deployment list --project <project> --environment <env> --service <service> --limit 10 --json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Use explicit `--project`, `--environment`, and `--service` when the user provided a URL or when the current directory may be linked to a different project.
|
|
18
|
+
|
|
19
|
+
Deployment statuses include `SUCCESS`, `QUEUED`, `INITIALIZING`, `WAITING`, `BUILDING`, `DEPLOYING`, `NEEDS_APPROVAL`, `FAILED`, `CRASHED`, `SLEEPING`, `SKIPPED`, `REMOVING`, and `REMOVED`.
|
|
20
|
+
|
|
21
|
+
For projects with buckets, include bucket status:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
railway bucket list --json # buckets in current environment
|
|
25
|
+
railway bucket info --bucket <name> --json # storage size, object count, region
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If everything looks healthy, return a summary and stop. If something is degraded or failing, continue to log inspection.
|
|
29
|
+
|
|
30
|
+
## Logs
|
|
31
|
+
|
|
32
|
+
### Recent logs
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
railway logs --service <service> --lines 200 --json # runtime logs
|
|
36
|
+
railway logs --service <service> --build --lines 200 --json # build logs
|
|
37
|
+
railway logs --latest --lines 200 --json # latest deployment
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
In an interactive terminal, `railway logs` streams indefinitely when no bounding flags are given. Always use `--lines`, `--since`, or `--until` to get a bounded fetch for agent workflows.
|
|
41
|
+
|
|
42
|
+
### Time-bounded queries
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
railway logs --service <service> --since 1h --lines 400 --json
|
|
46
|
+
railway logs --service <service> --since 30m --until 10m --lines 400 --json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Filtered queries
|
|
50
|
+
|
|
51
|
+
Use `--filter` to narrow logs without scanning everything manually:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
railway logs --service <service> --lines 200 --filter "@level:error" --json
|
|
55
|
+
railway logs --service <service> --lines 200 --filter "@level:warn AND timeout" --json
|
|
56
|
+
railway logs --service <service> --lines 200 --filter "connection refused" --json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Filter syntax supports text search (`"error message"`), attribute filters (`@level:error`, `@level:warn`), and boolean operators (`AND`, `OR`, `-` for negation). Full syntax: https://docs.railway.com/cli/logs
|
|
60
|
+
|
|
61
|
+
### Scoped by environment
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
railway logs --service <service> --environment <env> --lines 200 --json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### HTTP logs
|
|
68
|
+
|
|
69
|
+
Use HTTP logs when a service responds with errors, latency spikes, or routing problems:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
railway logs --service <service> --http --status ">=400" --lines 100 --json
|
|
73
|
+
railway logs --service <service> --http --method POST --path /api/users --lines 100 --json
|
|
74
|
+
railway logs --service <service> --http --request-id <request-id> --lines 20 --json
|
|
75
|
+
railway logs --service <service> --http --filter "@totalDuration:>=1000" --lines 100 --json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
HTTP filter fields include `@method`, `@path`, `@host`, `@requestId`, `@srcIp`, `@edgeRegion`, `@httpStatus`, `@totalDuration`, `@responseTime`, `@txBytes`, and `@rxBytes`.
|
|
79
|
+
|
|
80
|
+
### Network flow logs
|
|
81
|
+
|
|
82
|
+
Use network flow logs for private networking, TCP proxy, outbound allowlist, DNS, or dropped-packet investigations:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
railway logs --service <service> --network --lines 100 --json
|
|
86
|
+
railway logs --service <service> --network --direction egress --protocol tcp --lines 100 --json
|
|
87
|
+
railway logs --service <service> --network --peer postgres --port 5432 --lines 100 --json
|
|
88
|
+
railway logs --service <service> --network --status dropped --lines 100 --json
|
|
89
|
+
railway logs --service <service> --network --filter "@peer_kind:internet @port:443" --lines 100 --json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Network flow logs are service-level, not deployment-level. Do not pass a deployment ID or `--latest` with `--network`.
|
|
93
|
+
|
|
94
|
+
Useful filters:
|
|
95
|
+
|
|
96
|
+
| Flag | Use for |
|
|
97
|
+
|---|---|
|
|
98
|
+
| `--protocol tcp|udp|icmp|icmpv6|unknown` | Layer 4 protocol |
|
|
99
|
+
| `--direction ingress|egress` | Traffic direction |
|
|
100
|
+
| `--peer <service|internet|dns|edge-proxy>` | Named peer or well-known peer |
|
|
101
|
+
| `--peer-kind service|internet|edge_proxy|local_dns|unknown` | Peer class |
|
|
102
|
+
| `--status ok|dropped` / `--dropped true` | Dropped traffic |
|
|
103
|
+
| `--port <port>` | Source or destination port |
|
|
104
|
+
| `--src`, `--dst`, `--host` | IP filters |
|
|
105
|
+
| `--drop-cause <cause>` | Drop reason |
|
|
106
|
+
|
|
107
|
+
## Metrics
|
|
108
|
+
|
|
109
|
+
Use `railway metrics` for resource and HTTP metrics. It summarizes CPU, memory, network, volume, and HTTP data for the linked service by default.
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
railway metrics --service <service> --since 1h --json
|
|
113
|
+
railway metrics --service <service> --since 6h --cpu --memory --json
|
|
114
|
+
railway metrics --service <service> --http --method POST --path /api/users --json
|
|
115
|
+
railway metrics --all --environment production --json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Use `--raw` for time-series data points:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
railway metrics --service <service> --raw --cpu --json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Metric flags can be combined: `--cpu`, `--memory`, `--network`, `--volume`, and `--http`. Use `--watch` only in an interactive terminal; it opens a live TUI and conflicts with `--json` and `--raw`.
|
|
125
|
+
|
|
126
|
+
For custom grouping or measurements the CLI doesn't expose, use the GraphQL fallback in [request.md](request.md).
|
|
127
|
+
|
|
128
|
+
## SSH
|
|
129
|
+
|
|
130
|
+
Use SSH when logs and metrics don't expose enough state and the user needs shell-level inspection inside a running service.
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
railway ssh --service <service> --environment <env>
|
|
134
|
+
railway ssh --service <service> --environment <env> -- "printenv | sort"
|
|
135
|
+
railway ssh --service <service> --environment <env> --session railway-debug
|
|
136
|
+
railway ssh --service <service> --environment <env> --identity-file ~/.ssh/id_ed25519_railway
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Manage Railway SSH keys with:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
railway ssh keys list
|
|
143
|
+
railway ssh keys add --key ~/.ssh/id_ed25519.pub --name <key-name>
|
|
144
|
+
railway ssh keys github
|
|
145
|
+
railway ssh keys remove <key-id> --2fa-code <code>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Workspace-owned keys use `--workspace <workspace-id>` and require workspace Admin access. SSH key management doesn't work with project tokens (`RAILWAY_TOKEN`); use `railway login` or a workspace-scoped `RAILWAY_API_TOKEN`.
|
|
149
|
+
|
|
150
|
+
## Database inspection
|
|
151
|
+
|
|
152
|
+
For database-level metrics and introspection, use the analysis scripts. `railway metrics` can provide infrastructure metrics and supported database summaries, while the scripts provide deeper engine-level analysis. See [analyze-db.md](analyze-db.md) for comprehensive database analysis including:
|
|
153
|
+
|
|
154
|
+
- Deep Postgres analysis (pg_stat_statements, vacuum health, index health, cache hit ratios)
|
|
155
|
+
- HA cluster checks (Patroni, etcd, HAProxy)
|
|
156
|
+
- Redis, MySQL, and MongoDB introspection
|
|
157
|
+
- Combined analysis via `scripts/analyze-<type>.py` (postgres, mysql, redis, mongo)
|
|
158
|
+
|
|
159
|
+
## Failure triage
|
|
160
|
+
|
|
161
|
+
When something is broken, classify the failure first. The fix depends on the class.
|
|
162
|
+
|
|
163
|
+
### Build failures
|
|
164
|
+
|
|
165
|
+
The service failed to build. Look at build logs:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
railway logs --latest --build --lines 400 --json
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Common causes and fixes:
|
|
172
|
+
- **Missing dependencies**: check lockfiles, verify package manager detection
|
|
173
|
+
- **Wrong build command**: override with `railway environment edit --service-config <service> build.buildCommand "<command>"`
|
|
174
|
+
- **Builder mismatch**: switch builders with `railway environment edit --service-config <service> build.builder RAILPACK`
|
|
175
|
+
- **Wrong root directory** (monorepo): set `source.rootDirectory` to the correct package path
|
|
176
|
+
|
|
177
|
+
### Runtime failures
|
|
178
|
+
|
|
179
|
+
The build succeeded but the service crashes or misbehaves:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
railway logs --latest --lines 400 --json
|
|
183
|
+
railway logs --service <service> --since 1h --lines 400 --json
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Common causes and fixes:
|
|
187
|
+
- **Bad start command**: override with `railway environment edit --service-config <service> deploy.startCommand "<command>"`
|
|
188
|
+
- **Missing runtime variable**: check `railway variable list --service <service> --json` and set missing values
|
|
189
|
+
- **Port mismatch**: the service must listen on `$PORT` (Railway injects this). Verify with logs.
|
|
190
|
+
- **Upstream dependency down**: check other services' status and logs
|
|
191
|
+
|
|
192
|
+
### Config-driven failures
|
|
193
|
+
|
|
194
|
+
Something worked before and broke after a config change:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
railway environment config --json
|
|
198
|
+
railway variable list --service <service> --json
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Compare the config against expected values. Look for changes that may have introduced the regression.
|
|
202
|
+
|
|
203
|
+
### Networking failures
|
|
204
|
+
|
|
205
|
+
Domain returns errors, or service-to-service calls fail:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
railway domain list --service <service> --json
|
|
209
|
+
railway domain status <domain> --service <service> --json
|
|
210
|
+
railway private-network status --service <service> --json
|
|
211
|
+
railway tcp-proxy list --service <service> --json
|
|
212
|
+
railway outbound-network status --service <service> --json
|
|
213
|
+
railway logs --service <service> --http --status ">=400" --lines 100 --json
|
|
214
|
+
railway logs --service <service> --network --status dropped --lines 100 --json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Check: target port matches what the service listens on, domain status is healthy, private domain variable references are correct, TCP proxy status is active, and outbound networking changes have been followed by the required redeploy.
|
|
218
|
+
|
|
219
|
+
### CDN and WAF incidents
|
|
220
|
+
|
|
221
|
+
For cache behavior, inspect both CLI settings and response headers:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
railway cdn status --service <service> --json
|
|
225
|
+
railway logs --service <service> --http --status ">=400" --lines 100 --json
|
|
226
|
+
curl -I https://<domain>/<path>
|
|
227
|
+
curl https://<domain>/.railway/cdn-trace?json
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
`x-cache: HIT` means the request did not reach the service. `DYNAMIC` means the edge reached the service but did not cache the response. Check method, `Authorization`, `Set-Cookie`, `Cache-Control`, `Vary`, response size, and HTML caching mode.
|
|
231
|
+
|
|
232
|
+
For active traffic floods or unexpected `429` responses:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
railway waf under-attack status --service <service> --json
|
|
236
|
+
railway logs --service <service> --http --status 429 --lines 100 --json
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Under Attack Mode can block API clients and webhooks. If the service is API-only, disabling WAF may be the correct recovery after confirming with the user.
|
|
240
|
+
|
|
241
|
+
## Recovery
|
|
242
|
+
|
|
243
|
+
After identifying the cause, fix and verify:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Fix (examples)
|
|
247
|
+
railway environment edit --service-config <service> deploy.startCommand "<correct-command>"
|
|
248
|
+
railway variable set MISSING_VAR=value --service <service>
|
|
249
|
+
|
|
250
|
+
# Redeploy
|
|
251
|
+
railway redeploy --service <service> --yes
|
|
252
|
+
|
|
253
|
+
# Verify
|
|
254
|
+
railway deployment list --service <service> --limit 5 --json
|
|
255
|
+
railway logs --service <service> --lines 200 --json
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Always verify after fixing. Don't assume the redeploy succeeded.
|
|
259
|
+
|
|
260
|
+
## Troubleshoot common blockers
|
|
261
|
+
|
|
262
|
+
- **Unlinked context**: `railway link --project <id-or-name>`
|
|
263
|
+
- **Missing service scope for logs**: pass `--service` and `--environment` explicitly
|
|
264
|
+
- **Wrong project in status or deploy polling**: pass `--project`, `--environment`, and `--service`; URL IDs beat local linked context
|
|
265
|
+
- **No deployments found**: the service exists but has never deployed, create an initial deploy first
|
|
266
|
+
- **Metrics return empty**: check the time window, service scope, and whether the service has active deployments
|
|
267
|
+
- **Config patch type error**: check the typed paths in [configure.md](configure.md), for example, `numReplicas` is an integer, not a string
|
|
268
|
+
- **No network flow logs**: confirm the time window and service scope; network logs are not tied to deployment IDs
|
|
269
|
+
|
|
270
|
+
## Validated against
|
|
271
|
+
|
|
272
|
+
- Docs: [status.md](https://docs.railway.com/cli/status), [service.md](https://docs.railway.com/cli/service), [logs.md](https://docs.railway.com/cli/logs), [metrics.md](https://docs.railway.com/cli/metrics), [ssh.md](https://docs.railway.com/cli/ssh), [cdn.md](https://docs.railway.com/cli/cdn), [waf.md](https://docs.railway.com/cli/waf), [observability/logs.md](https://docs.railway.com/observability/logs), [observability/metrics.md](https://docs.railway.com/observability/metrics)
|
|
273
|
+
- CLI source: [status.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/status.rs), [service.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/service.rs), [logs.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/logs.rs), [metrics.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/metrics.rs), [ssh/mod.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/ssh/mod.rs), [deployment.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/deployment.rs), [redeploy.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/redeploy.rs), [cdn.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/cdn.rs), [waf.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/waf.rs)
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# Request
|
|
2
|
+
|
|
3
|
+
Official documentation and community endpoints. GraphQL operations for things the CLI doesn't expose.
|
|
4
|
+
|
|
5
|
+
## Official documentation
|
|
6
|
+
|
|
7
|
+
Primary sources for authoritative Railway information:
|
|
8
|
+
|
|
9
|
+
- **Full LLM docs**: `https://docs.railway.com/api/llms-docs.md`
|
|
10
|
+
- **LLM summary**: `https://railway.com/llms.txt`
|
|
11
|
+
- **Templates**: `https://railway.com/llms-templates.md`
|
|
12
|
+
- **Changelog**: `https://railway.com/llms-changelog.md`
|
|
13
|
+
- **Blog**: `https://blog.railway.com/llms-blog.md`
|
|
14
|
+
- **Direct doc pages**: `https://docs.railway.com/<path>` (for example, `cli/up`, `networking/domains`, `observability/logs`)
|
|
15
|
+
|
|
16
|
+
Tip: append `.md` to any `docs.railway.com` page URL to get a markdown version suitable for LLM consumption.
|
|
17
|
+
|
|
18
|
+
Common doc paths:
|
|
19
|
+
|
|
20
|
+
| Topic | Path |
|
|
21
|
+
|---|---|
|
|
22
|
+
| Agent setup | `agents`, `ai/agent-skills`, `ai/mcp-server` |
|
|
23
|
+
| CLI reference | `cli`, `cli/<command>` |
|
|
24
|
+
| Projects | `projects` |
|
|
25
|
+
| Deployments | `deployments` |
|
|
26
|
+
| Volumes | `volumes` |
|
|
27
|
+
| Variables | `variables` |
|
|
28
|
+
| Infrastructure as Code | `infrastructure-as-code`, `infrastructure-as-code/reference` |
|
|
29
|
+
| Public networking | `networking/public-networking` |
|
|
30
|
+
| Private networking | `networking/private-networking` |
|
|
31
|
+
| Domains, CDN, WAF | `networking/domains`, `networking/cdn`, `networking/waf` |
|
|
32
|
+
| Outbound networking | `networking/outbound-networking`, `networking/static-outbound-ips` |
|
|
33
|
+
|
|
34
|
+
Fetch official docs first for product behavior questions. Use Central Station only when you need community evidence, prior incidents, or implementation anecdotes.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Central Station (community)
|
|
38
|
+
|
|
39
|
+
Search and browse Railway's community platform for prior discussions, issue patterns, and field solutions.
|
|
40
|
+
|
|
41
|
+
### Recent threads
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
curl -s 'https://station-server.railway.com/gql' \
|
|
45
|
+
-H 'content-type: application/json' \
|
|
46
|
+
-d '{"query":"{ threads(first: 10, sort: recent_activity) { edges { node { slug subject status upvoteCount createdAt topic { slug displayName } } } } }"}'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Filter by topic with the `topic` parameter (`"questions"`, `"feedback"`, `"community"`, `"billing"`):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
curl -s 'https://station-server.railway.com/gql' \
|
|
53
|
+
-H 'content-type: application/json' \
|
|
54
|
+
-d '{"query":"{ threads(first: 10, sort: recent_activity, topic: \"questions\") { edges { node { slug subject status topic { displayName } upvoteCount } } } }"}'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Sort options: `recent_activity` (default), `newest`, `highest_votes`.
|
|
58
|
+
|
|
59
|
+
### Search threads
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
curl -s 'https://station-server.railway.com/gql' \
|
|
63
|
+
-H 'content-type: application/json' \
|
|
64
|
+
-d '{"query":"{ threads(first: 10, search: \"<search-term>\") { edges { node { slug subject status } } } }"}'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### LLM data export
|
|
68
|
+
|
|
69
|
+
Bulk search alternative, fetches all public threads with full content:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
curl -s 'https://station-server.railway.com/api/llms-station'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Read a full thread
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
curl -s 'https://station-server.railway.com/api/threads/<slug>?format=md'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Thread URLs follow the format: `https://station.railway.com/{topic_slug}/{thread_slug}`
|
|
82
|
+
|
|
83
|
+
Community threads are anecdotal. Always pair with official docs when the answer informs an operational decision.
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## GraphQL helper
|
|
87
|
+
|
|
88
|
+
All GraphQL operations use the API helper script, which handles authentication automatically:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
scripts/railway-api.sh '<query>' '<variables-json>'
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The script reads the API token from `~/.railway/config.json` and sends requests to `https://backboard.railway.com/graphql/v2`.
|
|
95
|
+
|
|
96
|
+
For the full API schema, see: https://docs.railway.com/api/llms-docs.md
|
|
97
|
+
|
|
98
|
+
## Project mutations
|
|
99
|
+
|
|
100
|
+
The CLI doesn't expose project setting updates (rename, PR deploys, visibility). Use GraphQL:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
scripts/railway-api.sh \
|
|
104
|
+
'mutation updateProject($id: String!, $input: ProjectUpdateInput!) {
|
|
105
|
+
projectUpdate(id: $id, input: $input) { id name isPublic prDeploys botPrEnvironments }
|
|
106
|
+
}' \
|
|
107
|
+
'{"id":"<project-id>","input":{"name":"new-name","prDeploys":true}}'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Common `ProjectUpdateInput` fields: `name`, `isPublic`, `prDeploys`, `botPrEnvironments`.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
## Service mutations
|
|
114
|
+
|
|
115
|
+
The CLI can create services (`railway add`) but cannot rename them or change icons. Use GraphQL:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
scripts/railway-api.sh \
|
|
119
|
+
'mutation updateService($id: String!, $input: ServiceUpdateInput!) {
|
|
120
|
+
serviceUpdate(id: $id, input: $input) { id name icon }
|
|
121
|
+
}' \
|
|
122
|
+
'{"id":"<service-id>","input":{"name":"new-name"}}'
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`ServiceUpdateInput` fields: `name`, `icon` (image URL, animated GIF, or devicons URL like `https://devicons.railway.app/postgres`).
|
|
126
|
+
|
|
127
|
+
Get the service ID from `railway service list --json`.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## Service creation via GraphQL
|
|
131
|
+
|
|
132
|
+
Prefer `railway add` for most cases. Use GraphQL for programmatic or advanced use:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
scripts/railway-api.sh \
|
|
136
|
+
'mutation createService($input: ServiceCreateInput!) {
|
|
137
|
+
serviceCreate(input: $input) { id name }
|
|
138
|
+
}' \
|
|
139
|
+
'{"input":{"projectId":"<project-id>","name":"my-service","source":{"image":"nginx:latest"}}}'
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
`ServiceCreateInput` fields:
|
|
143
|
+
|
|
144
|
+
| Field | Type | Description |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `projectId` | String! | Target project (required) |
|
|
147
|
+
| `name` | String | Service name (auto-generated if omitted) |
|
|
148
|
+
| `source.image` | String | Docker image (for example, `nginx:latest`) |
|
|
149
|
+
| `source.repo` | String | GitHub repo (for example, `user/repo`) |
|
|
150
|
+
| `branch` | String | Git branch for repo source |
|
|
151
|
+
| `environmentId` | String | Create only in a specific environment |
|
|
152
|
+
|
|
153
|
+
After creating a service via GraphQL, configure it with a JSON config patch including `isCreated: true` (see [configure.md](configure.md)).
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
## Metrics queries
|
|
157
|
+
|
|
158
|
+
Use `railway metrics` for routine metric checks. Use GraphQL only when you need custom measurements, grouping, sample rates, or averaging windows that the CLI doesn't expose.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
scripts/railway-api.sh \
|
|
162
|
+
'query metrics($environmentId: String!, $serviceId: String, $startDate: DateTime!, $endDate: DateTime, $sampleRateSeconds: Int, $averagingWindowSeconds: Int, $groupBy: [MetricTag!], $measurements: [MetricMeasurement!]!) {
|
|
163
|
+
metrics(environmentId: $environmentId, serviceId: $serviceId, startDate: $startDate, endDate: $endDate, sampleRateSeconds: $sampleRateSeconds, averagingWindowSeconds: $averagingWindowSeconds, groupBy: $groupBy, measurements: $measurements) {
|
|
164
|
+
measurement tags { serviceId deploymentId region } values { ts value }
|
|
165
|
+
}
|
|
166
|
+
}' \
|
|
167
|
+
'{"environmentId":"<env-id>","serviceId":"<service-id>","startDate":"2026-02-19T00:00:00Z","measurements":["CPU_USAGE","MEMORY_USAGE_GB"]}'
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Available `MetricMeasurement` values: `CPU_USAGE`, `CPU_LIMIT`, `MEMORY_USAGE_GB`, `MEMORY_LIMIT_GB`, `NETWORK_RX_GB`, `NETWORK_TX_GB`, `DISK_USAGE_GB`, `EPHEMERAL_DISK_USAGE_GB`, `BACKUP_USAGE_GB`.
|
|
171
|
+
|
|
172
|
+
Optional parameters: `endDate` (defaults to now), `sampleRateSeconds`, `averagingWindowSeconds`. Use `groupBy: ["SERVICE_ID"]` without `serviceId` to query all services in an environment at once. Valid `MetricTag` values for `groupBy`: `SERVICE_ID`, `DEPLOYMENT_ID`, `DEPLOYMENT_INSTANCE_ID`, `REGION`.
|
|
173
|
+
|
|
174
|
+
Get the environment ID from `railway status --json`. Get service IDs from `railway service list --json`.
|
|
175
|
+
|
|
176
|
+
## Template search
|
|
177
|
+
|
|
178
|
+
Use the CLI for template search:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
railway templates search redis --verified true --json
|
|
182
|
+
railway templates search --category Storage --limit 10 --json
|
|
183
|
+
railway templates search --after <cursor> --json
|
|
184
|
+
railway templates list --json
|
|
185
|
+
railway templates create --project <project> --environment production --json
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
The CLI search command doesn't require authentication and supports pagination with `pageInfo.endCursor`. Prefer CLI template commands for search, listing owned templates, creating drafts, publishing, unpublishing, and deleting. Use GraphQL only for template workflows the CLI cannot express.
|
|
189
|
+
|
|
190
|
+
Use GraphQL only when the CLI output isn't enough for the workflow:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
scripts/railway-api.sh \
|
|
194
|
+
'query templates($query: String!, $verified: Boolean, $recommended: Boolean) {
|
|
195
|
+
templates(query: $query, verified: $verified, recommended: $recommended) {
|
|
196
|
+
edges { node { code name description category } }
|
|
197
|
+
}
|
|
198
|
+
}' \
|
|
199
|
+
'{"query":"redis","verified":true}'
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
| Parameter | Type | Description |
|
|
203
|
+
|---|---|---|
|
|
204
|
+
| `query` | String | Search term |
|
|
205
|
+
| `verified` | Boolean | Only verified templates |
|
|
206
|
+
| `recommended` | Boolean | Only recommended templates |
|
|
207
|
+
| `first` | Int | Number of results |
|
|
208
|
+
|
|
209
|
+
Common template codes: `ghost`, `strapi`, `minio`, `n8n`, `uptime-kuma`, `umami`, `postgres`, `redis`, `mysql`, `mongodb`.
|
|
210
|
+
|
|
211
|
+
Deploy a found template via CLI:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
railway deploy --template <template-code>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Manage owned templates via CLI:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
railway templates publish <template-id> --category Other --description "Deploy and Host My App with Railway" --readme-file README.md --json
|
|
221
|
+
railway templates update <template-id> --category Other --description "Updated description" --readme-file README.md --json
|
|
222
|
+
railway templates unpublish <template-id-or-code> --yes --json
|
|
223
|
+
railway templates delete <template-id-or-code> --yes --json
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### GraphQL template deployment
|
|
227
|
+
|
|
228
|
+
For deploying into a specific environment or tracking the workflow, use the two-step GraphQL flow:
|
|
229
|
+
|
|
230
|
+
**Step 1**: Fetch the template config:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
scripts/railway-api.sh \
|
|
234
|
+
'query template($code: String!) {
|
|
235
|
+
template(code: $code) { id serializedConfig }
|
|
236
|
+
}' \
|
|
237
|
+
'{"code":"postgres"}'
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**Step 2**: Deploy with `templateDeployV2`:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
scripts/railway-api.sh \
|
|
244
|
+
'mutation deploy($input: TemplateDeployV2Input!) {
|
|
245
|
+
templateDeployV2(input: $input) { projectId workflowId }
|
|
246
|
+
}' \
|
|
247
|
+
'{"input":{
|
|
248
|
+
"templateId":"<id-from-step-1>",
|
|
249
|
+
"serializedConfig":<config-object-from-step-1>,
|
|
250
|
+
"projectId":"<project-id>",
|
|
251
|
+
"environmentId":"<env-id>",
|
|
252
|
+
"workspaceId":"<workspace-id>"
|
|
253
|
+
}}'
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
`serializedConfig` is the raw JSON object from the template query, not a string. Get `workspaceId` via `scripts/railway-api.sh 'query { project(id: "<project-id>") { workspaceId } }' '{}'`.
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
## Validated against
|
|
260
|
+
|
|
261
|
+
- Docs: [api docs](https://docs.railway.com/api/llms-docs.md), [agents.md](https://docs.railway.com/agents), [community.md](https://docs.railway.com/community), [cli/docs.md](https://docs.railway.com/cli/docs), [templates.md](https://docs.railway.com/cli/templates), [metrics.md](https://docs.railway.com/cli/metrics)
|
|
262
|
+
- CLI source: [docs.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/docs.rs), [templates.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/templates.rs), [metrics.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/metrics.rs)
|