vybekiit 0.7.25 → 0.7.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/bin.js +3891 -1301
  2. package/dist/global-skills/aws-cdk/SKILL.md +19 -5
  3. package/dist/global-skills/aws-cdk/references/fast-deployments.md +191 -0
  4. package/dist/global-skills/aws-cdk/references/troubleshooting-deployment.md +16 -0
  5. package/dist/global-skills/aws-cloudformation/SKILL.md +16 -26
  6. package/dist/global-skills/aws-cloudformation/references/check-cloudformation-template-compliance.script.md +7 -3
  7. package/dist/global-skills/aws-cloudformation/references/cloudformation-language-server.md +177 -0
  8. package/dist/global-skills/aws-cloudformation/references/cloudformation-pre-deploy-validation.script.md +8 -2
  9. package/dist/global-skills/aws-cloudformation/references/persist-template-context.script.md +5 -8
  10. package/dist/global-skills/aws-cloudformation/references/retrieve-template-context.script.md +1 -1
  11. package/dist/global-skills/aws-cloudformation/references/security-considerations.md +51 -0
  12. package/dist/global-skills/aws-cloudformation/references/troubleshoot-failed-stack.script.md +138 -0
  13. package/dist/global-skills/aws-cloudformation/references/{validate-cloudformation-template.script.md → validate-with-cfn-lint.script.md} +15 -27
  14. package/dist/global-skills/aws-cloudformation/references/validate-with-cloudformation-validate.script.md +181 -0
  15. package/dist/global-skills/aws-cloudformation/references/validation-tool-selection.md +44 -0
  16. package/dist/global-skills/aws-serverless/SKILL.md +9 -1
  17. package/dist/global-skills/aws-serverless/references/architecture.md +3 -1
  18. package/dist/global-skills/aws-serverless/references/lambda.md +3 -1
  19. package/dist/global-skills/aws-serverless/references/orchestration.md +1 -0
  20. package/dist/global-skills/better-auth-best-practices/SKILL.md +18 -8
  21. package/dist/global-skills/eas-app-stores/SKILL.md +31 -15
  22. package/dist/global-skills/eas-app-stores/agents/openai.yaml +2 -2
  23. package/dist/global-skills/eas-app-stores/references/ios-app-store.md +37 -32
  24. package/dist/global-skills/eas-app-stores/references/native-ios.md +167 -0
  25. package/dist/global-skills/eas-app-stores/references/play-store.md +3 -7
  26. package/dist/global-skills/eas-app-stores/references/testflight.md +39 -35
  27. package/dist/global-skills/eas-simulator/SKILL.md +48 -26
  28. package/dist/global-skills/eas-simulator/references/controllers.md +32 -3
  29. package/dist/global-skills/eas-simulator/references/run-your-app.md +34 -4
  30. package/dist/global-skills/eas-simulator/references/troubleshooting.md +8 -4
  31. package/dist/global-skills/eas-update/SKILL.md +146 -0
  32. package/dist/global-skills/eas-update/agents/openai.yaml +4 -0
  33. package/dist/global-skills/expo-animation/RECIPES.md +2 -2
  34. package/dist/global-skills/expo-animation/SKILL.md +9 -2
  35. package/dist/global-skills/expo-brownfield/SKILL.md +18 -11
  36. package/dist/global-skills/expo-brownfield/agents/openai.yaml +2 -2
  37. package/dist/global-skills/expo-brownfield/references/brownfield-integrated.md +94 -69
  38. package/dist/global-skills/expo-brownfield/references/brownfield-isolated.md +40 -42
  39. package/dist/global-skills/expo-brownfield/references/comparison.md +5 -5
  40. package/dist/global-skills/expo-brownfield/references/feature-integration.md +163 -0
  41. package/dist/global-skills/expo-brownfield/references/troubleshooting.md +17 -17
  42. package/dist/global-skills/expo-brownfield/references/version-compatibility.md +40 -0
  43. package/dist/global-skills/expo-data-fetching/SKILL.md +27 -6
  44. package/dist/global-skills/expo-design-system/SKILL.md +27 -7
  45. package/dist/global-skills/expo-design-system/references/audit.md +7 -2
  46. package/dist/global-skills/expo-design-system/references/native-slop.md +74 -0
  47. package/dist/global-skills/expo-examples/SKILL.md +0 -1
  48. package/dist/global-skills/expo-examples/references/catalog.md +1 -1
  49. package/dist/global-skills/expo-migrate-module/SKILL.md +21 -10
  50. package/dist/global-skills/expo-migrate-module/references/compatibility.md +80 -23
  51. package/dist/global-skills/expo-migrate-module/references/migration-map.md +162 -11
  52. package/dist/global-skills/expo-native-ui/SKILL.md +25 -16
  53. package/dist/global-skills/expo-native-ui/agents/openai.yaml +2 -2
  54. package/dist/global-skills/expo-native-ui/references/controls.md +5 -46
  55. package/dist/global-skills/expo-native-ui/references/icons.md +21 -2
  56. package/dist/global-skills/expo-native-ui/references/media.md +15 -20
  57. package/dist/global-skills/expo-native-ui/references/visual-effects.md +12 -11
  58. package/dist/global-skills/expo-overview/SKILL.md +17 -12
  59. package/dist/global-skills/expo-router/SKILL.md +5 -3
  60. package/dist/global-skills/expo-router/references/tabs.md +5 -5
  61. package/dist/global-skills/expo-skill-eval/scripts/check-static.sh +0 -0
  62. package/dist/global-skills/expo-skill-eval/scripts/clean-fixture.sh +0 -0
  63. package/dist/global-skills/expo-skill-eval/scripts/latest-sdk.sh +0 -0
  64. package/dist/global-skills/expo-skill-eval/scripts/make-fixture.sh +0 -0
  65. package/dist/global-skills/expo-skill-eval/scripts/make-workspace.sh +0 -0
  66. package/dist/global-skills/expo-skill-eval/scripts/snapshot-android.sh +0 -0
  67. package/dist/global-skills/expo-skill-eval/scripts/snapshot-ios.sh +0 -0
  68. package/dist/global-skills/expo-skill-eval/scripts/snapshot-web.sh +0 -0
  69. package/dist/global-skills/expo-upgrade/SKILL.md +3 -1
  70. package/dist/global-skills/expo-web-to-native/references/false-friends.md +2 -2
  71. package/dist/global-skills/expo-web-to-native/references/native-patterns.md +1 -1
  72. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +13 -16
  73. package/dist/global-skills/firebase-ai-logic-basics/references/ios_setup.md +4 -5
  74. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_android.md +4 -4
  75. package/dist/global-skills/firebase-ai-logic-basics/references/usage_patterns_web.md +3 -3
  76. package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
  77. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +4 -5
  78. package/dist/global-skills/firebase-auth-basics/references/client_sdk_web.md +3 -3
  79. package/dist/global-skills/firebase-auth-basics/references/flutter_setup.md +24 -25
  80. package/dist/global-skills/firebase-auth-basics/references/security_rules.md +4 -2
  81. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +7 -4
  82. package/dist/global-skills/firebase-crashlytics/references/ios_setup.md +2 -3
  83. package/dist/global-skills/firebase-data-connect/SKILL.md +2 -1
  84. package/dist/global-skills/firebase-data-connect/examples.md +4 -4
  85. package/dist/global-skills/firebase-data-connect/reference/config.md +5 -4
  86. package/dist/global-skills/firebase-data-connect/reference/realtime.md +1 -2
  87. package/dist/global-skills/firebase-data-connect/reference/sdk_flutter.md +2 -2
  88. package/dist/global-skills/firebase-data-connect/reference/sdk_ios.md +2 -2
  89. package/dist/global-skills/firebase-data-connect/reference/sdk_web.md +17 -6
  90. package/dist/global-skills/firebase-data-connect/reference/security.md +5 -5
  91. package/dist/global-skills/firebase-data-connect/templates.md +2 -1
  92. package/dist/global-skills/firebase-firestore/SKILL.md +20 -8
  93. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +5 -4
  94. package/dist/global-skills/firebase-firestore/references/enterprise/data_model.md +12 -3
  95. package/dist/global-skills/firebase-firestore/references/enterprise/indexes.md +16 -18
  96. package/dist/global-skills/firebase-firestore/references/enterprise/provisioning.md +1 -1
  97. package/dist/global-skills/firebase-firestore/references/enterprise/python_sdk_usage.md +5 -1
  98. package/dist/global-skills/firebase-firestore/references/enterprise/web_sdk_usage.md +7 -7
  99. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +5 -5
  100. package/dist/global-skills/firebase-firestore/references/standard/flutter_setup.md +4 -4
  101. package/dist/global-skills/firebase-firestore/references/standard/indexes.md +16 -18
  102. package/dist/global-skills/firebase-firestore/references/standard/provisioning.md +1 -1
  103. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +0 -5
  104. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +36 -8
  105. package/dist/global-skills/firebase-remote-config-basics/references/ios_setup.md +1 -7
  106. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +17 -6
  107. package/dist/global-skills/{firebase-firestore/references/standard/security_rules.md → firestore-rules-creation/SKILL.md} +24 -13
  108. package/dist/global-skills/grow-my-customers/SKILL.md +23 -0
  109. package/dist/global-skills/instrument-feature-flags/SKILL.md +25 -25
  110. package/dist/global-skills/instrument-feature-flags/references/adding-feature-flag-code.md +141 -285
  111. package/dist/global-skills/instrument-feature-flags/references/android.md +6 -15
  112. package/dist/global-skills/instrument-feature-flags/references/api.md +4 -11
  113. package/dist/global-skills/instrument-feature-flags/references/best-practices.md +1 -13
  114. package/dist/global-skills/instrument-feature-flags/references/django.md +14 -27
  115. package/dist/global-skills/instrument-feature-flags/references/dotnet.md +20 -79
  116. package/dist/global-skills/instrument-feature-flags/references/elixir.md +1 -9
  117. package/dist/global-skills/instrument-feature-flags/references/flask.md +13 -13
  118. package/dist/global-skills/instrument-feature-flags/references/flutter.md +3 -24
  119. package/dist/global-skills/instrument-feature-flags/references/go.md +3 -15
  120. package/dist/global-skills/instrument-feature-flags/references/ios.md +4 -17
  121. package/dist/global-skills/instrument-feature-flags/references/java.md +5 -13
  122. package/dist/global-skills/instrument-feature-flags/references/laravel.md +13 -17
  123. package/dist/global-skills/instrument-feature-flags/references/next-js.md +25 -32
  124. package/dist/global-skills/instrument-feature-flags/references/nodejs.md +8 -15
  125. package/dist/global-skills/instrument-feature-flags/references/php.md +1 -15
  126. package/dist/global-skills/instrument-feature-flags/references/python.md +2 -15
  127. package/dist/global-skills/instrument-feature-flags/references/react-native.md +13 -15
  128. package/dist/global-skills/instrument-feature-flags/references/react.md +17 -21
  129. package/dist/global-skills/instrument-feature-flags/references/ruby-on-rails.md +37 -83
  130. package/dist/global-skills/instrument-feature-flags/references/ruby.md +2 -15
  131. package/dist/global-skills/instrument-feature-flags/references/rust.md +13 -25
  132. package/dist/global-skills/instrument-feature-flags/references/usage.md +14 -63
  133. package/dist/global-skills/instrument-feature-flags/references/web.md +9 -14
  134. package/dist/global-skills/instrument-product-analytics/SKILL.md +29 -29
  135. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-hybrid.md +3 -1
  136. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-ssr.md +3 -1
  137. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-static.md +3 -1
  138. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-astro-view-transitions.md +3 -1
  139. package/dist/global-skills/instrument-product-analytics/references/EXAMPLE-ruby-on-rails.md +3 -1
  140. package/dist/global-skills/instrument-product-analytics/references/android.md +72 -107
  141. package/dist/global-skills/instrument-product-analytics/references/angular.md +26 -28
  142. package/dist/global-skills/instrument-product-analytics/references/astro.md +13 -24
  143. package/dist/global-skills/instrument-product-analytics/references/configuration.md +45 -63
  144. package/dist/global-skills/instrument-product-analytics/references/django.md +14 -27
  145. package/dist/global-skills/instrument-product-analytics/references/dotnet.md +20 -79
  146. package/dist/global-skills/instrument-product-analytics/references/elixir.md +47 -49
  147. package/dist/global-skills/instrument-product-analytics/references/flask.md +13 -13
  148. package/dist/global-skills/instrument-product-analytics/references/flutter.md +60 -90
  149. package/dist/global-skills/instrument-product-analytics/references/go.md +17 -56
  150. package/dist/global-skills/instrument-product-analytics/references/identify-users.md +15 -15
  151. package/dist/global-skills/instrument-product-analytics/references/ios.md +11 -15
  152. package/dist/global-skills/instrument-product-analytics/references/laravel.md +13 -17
  153. package/dist/global-skills/instrument-product-analytics/references/next-js.md +25 -32
  154. package/dist/global-skills/instrument-product-analytics/references/nuxt-js-3-6.md +13 -27
  155. package/dist/global-skills/instrument-product-analytics/references/nuxt-js.md +14 -28
  156. package/dist/global-skills/instrument-product-analytics/references/php.md +33 -84
  157. package/dist/global-skills/instrument-product-analytics/references/posthog-python.md +229 -9
  158. package/dist/global-skills/instrument-product-analytics/references/python.md +415 -106
  159. package/dist/global-skills/instrument-product-analytics/references/react-native.md +161 -155
  160. package/dist/global-skills/instrument-product-analytics/references/react-router-v6.md +12 -33
  161. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-data-mode.md +15 -33
  162. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-declarative-mode.md +12 -33
  163. package/dist/global-skills/instrument-product-analytics/references/react-router-v7-framework-mode.md +26 -41
  164. package/dist/global-skills/instrument-product-analytics/references/ruby-on-rails.md +37 -83
  165. package/dist/global-skills/instrument-product-analytics/references/ruby.md +48 -108
  166. package/dist/global-skills/instrument-product-analytics/references/svelte.md +18 -24
  167. package/dist/global-skills/instrument-product-analytics/references/tanstack-start.md +17 -19
  168. package/dist/global-skills/instrument-product-analytics/references/usage.md +14 -63
  169. package/dist/global-skills/instrument-product-analytics/references/vue-js.md +29 -28
  170. package/dist/global-skills/manifest.json +8 -2
  171. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +28 -37
  172. package/dist/global-skills/mongodb-search-and-ai/references/automated-embedding.md +438 -0
  173. package/dist/global-skills/mongodb-search-and-ai/references/hybrid-search.md +60 -4
  174. package/dist/global-skills/mongodb-search-and-ai/references/vector-search.md +46 -108
  175. package/dist/global-skills/neon/SKILL.md +207 -213
  176. package/dist/global-skills/neon/references/auth.md +12 -0
  177. package/dist/global-skills/neon/references/claimable-neon.md +10 -14
  178. package/dist/global-skills/neon/references/function-triggers.md +53 -0
  179. package/dist/global-skills/neon/references/logs-loki.md +61 -0
  180. package/dist/global-skills/neon/references/parse-env.md +32 -0
  181. package/dist/global-skills/neon/references/sdk.md +7 -0
  182. package/dist/global-skills/neon-ai-gateway/SKILL.md +14 -16
  183. package/dist/global-skills/neon-auth/SKILL.md +155 -0
  184. package/dist/global-skills/neon-auth/references/managed-auth.md +173 -0
  185. package/dist/global-skills/neon-auth/references/self-managed.md +25 -0
  186. package/dist/global-skills/neon-functions/SKILL.md +159 -84
  187. package/dist/global-skills/neon-functions/references/ai-sdk.md +4 -6
  188. package/dist/global-skills/neon-functions/references/function-triggers.md +249 -0
  189. package/dist/global-skills/neon-functions/references/mastra-studio.md +3 -3
  190. package/dist/global-skills/neon-functions/references/mcp.md +1 -1
  191. package/dist/global-skills/neon-functions/references/production-hardening.md +340 -0
  192. package/dist/global-skills/neon-functions/references/sse.md +8 -5
  193. package/dist/global-skills/neon-object-storage/SKILL.md +10 -11
  194. package/dist/global-skills/neon-postgres/SKILL.md +120 -17
  195. package/dist/global-skills/neon-postgres/references/full-text-search.md +99 -0
  196. package/dist/global-skills/neon-postgres/references/hybrid-search.md +90 -0
  197. package/dist/global-skills/neon-postgres/references/lakebase-search-drizzle.md +172 -0
  198. package/dist/global-skills/neon-postgres/references/vector-search.md +137 -0
  199. package/dist/global-skills/neon-postgres-branches/SKILL.md +3 -3
  200. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
  201. package/dist/global-skills/onboarding/SKILL.md +8 -6
  202. package/dist/global-skills/resend/SKILL.md +4 -2
  203. package/dist/global-skills/resend/references/broadcasts.md +6 -1
  204. package/dist/global-skills/resend/references/receiving.md +29 -10
  205. package/dist/global-skills/resend/references/sending/email-management.md +14 -4
  206. package/dist/global-skills/resend/references/topics.md +9 -6
  207. package/dist/global-skills/resend/references/usage.md +117 -0
  208. package/dist/global-skills/resend/references/webhooks.md +59 -2
  209. package/dist/global-skills/stripe-best-practices/SKILL.md +35 -29
  210. package/dist/global-skills/stripe-best-practices/references/billing.md +9 -2
  211. package/dist/global-skills/stripe-best-practices/references/payments.md +4 -2
  212. package/dist/global-skills/stripe-best-practices/references/security.md +3 -1
  213. package/dist/global-skills/stripe-best-practices/references/tax.md +39 -20
  214. package/dist/global-skills/supabase/SKILL.md +6 -0
  215. package/dist/global-skills/use-railway/SKILL.md +42 -22
  216. package/dist/global-skills/use-railway/references/analyze-db.md +7 -6
  217. package/dist/global-skills/use-railway/references/cloud-agents.md +70 -0
  218. package/dist/global-skills/use-railway/references/configure.md +17 -2
  219. package/dist/global-skills/use-railway/references/databases.md +107 -0
  220. package/dist/global-skills/use-railway/references/deploy.md +5 -5
  221. package/dist/global-skills/use-railway/references/feature-flags.md +25 -13
  222. package/dist/global-skills/use-railway/references/iac.md +66 -77
  223. package/dist/global-skills/use-railway/references/operate.md +26 -3
  224. package/dist/global-skills/use-railway/references/request.md +31 -23
  225. package/dist/global-skills/use-railway/references/setup.md +16 -5
  226. package/dist/global-skills/use-railway/references/tracing.md +261 -0
  227. package/dist/global-skills/use-railway/references/usage.md +52 -0
  228. package/dist/global-skills/use-railway/scripts/analyze-mongo.py +0 -0
  229. package/dist/global-skills/use-railway/scripts/analyze-mysql.py +0 -0
  230. package/dist/global-skills/use-railway/scripts/analyze-postgres.py +0 -0
  231. package/dist/global-skills/use-railway/scripts/analyze-redis.py +0 -0
  232. package/dist/global-skills/use-railway/scripts/enable-pg-stats.py +0 -0
  233. package/dist/global-skills/use-railway/scripts/pg-extensions.py +0 -0
  234. package/dist/global-skills/use-railway/scripts/railway-api.sh +0 -0
  235. package/dist/global-skills/validate-my-idea/SKILL.md +54 -0
  236. package/dist/global-skills/{feedback → vybekiit-feedback}/SKILL.md +16 -12
  237. package/dist/global-skills/watch-my-app/SKILL.md +53 -0
  238. package/dist/global-skills/workers-best-practices/SKILL.md +36 -103
  239. package/dist/global-skills/workers-best-practices/references/configuration.md +139 -0
  240. package/dist/global-skills/workers-best-practices/references/platform-apis.md +51 -0
  241. package/dist/global-skills/workers-best-practices/references/{rules.md → runtime-patterns.md} +13 -137
  242. package/dist/global-skills/wrangler/SKILL.md +48 -901
  243. package/dist/global-skills/xcode-project-setup/scripts/xcode_spm_setup/Sources/main.swift +19 -15
  244. package/package.json +22 -22
  245. package/dist/global-skills/expo-native-ui/references/animations.md +0 -220
  246. package/dist/global-skills/firebase-firestore/references/enterprise/security_rules.md +0 -577
  247. package/dist/global-skills/workers-best-practices/references/review.md +0 -174
@@ -1,10 +1,6 @@
1
1
  > AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt
2
2
 
3
- # React Router V6 - Docs
4
-
5
- Copy page
6
-
7
- # React Router V6 - Docs
3
+ # React Router V6
8
4
 
9
5
  This guide walks you through setting up PostHog for React Router V6. If you're using React Router v7, find the guide for that mode in the [React Router page](/docs/libraries/react-router.md). If you're using React with another framework, go to the [React integration guide](/docs/libraries/react.md).
10
6
 
@@ -16,8 +12,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
16
12
 
17
13
  First, you'll need to install [`posthog-js`](https://github.com/posthog/posthog-js) and `@posthog/react` using your package manager. These packages allow you to capture **client-side** events.
18
14
 
19
- PostHog AI
20
-
21
15
  ### npm
22
16
 
23
17
  ```bash
@@ -44,8 +38,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
44
38
 
45
39
  > **If your site sets a Content-Security-Policy**, it needs to allow PostHog. This applies to the snippet and to package installs alike: the SDK lazy-loads extra bundles (session replay, surveys) from PostHog's CDN, and sends events to the ingestion host. PostHog serves from subdomains of `posthog.com` that change over time, so allow the wildcard:
46
40
  >
47
- > PostHog AI
48
- >
49
41
  > ```
50
42
  > script-src 'self' https://*.posthog.com;
51
43
  > connect-src 'self' https://*.posthog.com;
@@ -64,8 +56,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
64
56
 
65
57
  .env.local
66
58
 
67
- PostHog AI
68
-
69
59
  ```shell
70
60
  VITE_POSTHOG_PROJECT_TOKEN=<ph_project_token>
71
61
  VITE_POSTHOG_HOST=https://us.i.posthog.com
@@ -81,20 +71,22 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
81
71
 
82
72
  src/main.tsx
83
73
 
84
- PostHog AI
85
-
86
74
  ```jsx
87
75
  import { StrictMode } from "react";
88
76
  import ReactDOM from "react-dom/client";
89
77
  import { BrowserRouter, Routes, Route } from "react-router";
78
+
90
79
  import posthog from 'posthog-js';
91
80
  import { PostHogErrorBoundary, PostHogProvider } from '@posthog/react'
81
+
92
82
  // Initialize PostHog
93
83
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
94
84
  api_host: import.meta.env.VITE_POSTHOG_HOST,
95
85
  defaults: '2026-05-30',
96
86
  });
87
+
97
88
  const root = document.getElementById("root");
89
+
98
90
  ReactDOM.createRoot(root).render(
99
91
  <StrictMode>
100
92
  {/* Pass PostHog client through PostHogProvider */}
@@ -121,11 +113,10 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
121
113
 
122
114
  React
123
115
 
124
- PostHog AI
125
-
126
116
  ```jsx
127
117
  useEffect(() => {
128
118
  posthog?.capture('test') // using optional chaining (recommended)
119
+
129
120
  if (posthog) {
130
121
  posthog.capture('test') // using an if statement
131
122
  }
@@ -146,10 +137,9 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
146
137
 
147
138
  TSX
148
139
 
149
- PostHog AI
150
-
151
140
  ```jsx
152
141
  import { usePostHog } from '@posthog/react'
142
+
153
143
  function App() {
154
144
  const posthog = usePostHog()
155
145
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -168,10 +158,9 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
168
158
 
169
159
  TSX
170
160
 
171
- PostHog AI
172
-
173
161
  ```jsx
174
162
  import { usePostHog } from '@posthog/react'
163
+
175
164
  function App() {
176
165
  const posthog = usePostHog()
177
166
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -192,15 +181,15 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
192
181
 
193
182
  TSX
194
183
 
195
- PostHog AI
196
-
197
184
  ```jsx
198
185
  export default function Login() {
199
186
  const { user, login } = useAuth();
200
187
  const posthog = usePostHog();
188
+
201
189
  const handleLogin = async (e: React.FormEvent) => {
202
190
  // existing code to handle login...
203
191
  const user = await login({ email, password });
192
+
204
193
  posthog?.identify(user.email,
205
194
  {
206
195
  email: user.email,
@@ -209,6 +198,7 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
209
198
  );
210
199
  posthog?.capture('user_logged_in');
211
200
  };
201
+
212
202
  return (
213
203
  <div>
214
204
  {/* ... existing code ... */}
@@ -230,8 +220,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
230
220
 
231
221
  TSX
232
222
 
233
- PostHog AI
234
-
235
223
  ```jsx
236
224
  ReactDOM.createRoot(root).render(
237
225
  <StrictMode>
@@ -266,10 +254,9 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
266
254
 
267
255
  React
268
256
 
269
- PostHog AI
270
-
271
257
  ```jsx
272
258
  import { PostHogCaptureOnViewed } from '@posthog/react'
259
+
273
260
  function App() {
274
261
  return (
275
262
  <PostHogCaptureOnViewed name="hero-banner">
@@ -285,8 +272,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
285
272
 
286
273
  React
287
274
 
288
- PostHog AI
289
-
290
275
  ```jsx
291
276
  <PostHogCaptureOnViewed
292
277
  name="product-card"
@@ -306,8 +291,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
306
291
 
307
292
  React
308
293
 
309
- PostHog AI
310
-
311
294
  ```jsx
312
295
  <PostHogCaptureOnViewed
313
296
  name="product-gallery"
@@ -328,8 +311,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
328
311
 
329
312
  React
330
313
 
331
- PostHog AI
332
-
333
314
  ```jsx
334
315
  <PostHogCaptureOnViewed
335
316
  name="footer"
@@ -356,8 +337,6 @@ This guide walks you through setting up PostHog for React Router V6. If you're u
356
337
 
357
338
  TSX
358
339
 
359
- PostHog AI
360
-
361
340
  ```jsx
362
341
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
363
342
  api_host: import.meta.env.VITE_POSTHOG_HOST,
@@ -1,10 +1,6 @@
1
1
  > AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt
2
2
 
3
- # React Router V7 data mode - Docs
4
-
5
- Copy page
6
-
7
- # React Router V7 data mode - Docs
3
+ # React Router V7 data mode
8
4
 
9
5
  This guide walks you through setting up PostHog for React Router V7 in data mode. If you're using React Router in another mode, find the guide for that mode in the [React Router page](/docs/libraries/react-router.md). If you're using React with another framework, go to the [React integration guide](/docs/libraries/react.md).
10
6
 
@@ -16,8 +12,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
16
12
 
17
13
  First, you'll need to install [`posthog-js`](https://github.com/posthog/posthog-js) and `@posthog/react` using your package manager. These packages allow you to capture **client-side** events.
18
14
 
19
- PostHog AI
20
-
21
15
  ### npm
22
16
 
23
17
  ```bash
@@ -44,8 +38,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
44
38
 
45
39
  > **If your site sets a Content-Security-Policy**, it needs to allow PostHog. This applies to the snippet and to package installs alike: the SDK lazy-loads extra bundles (session replay, surveys) from PostHog's CDN, and sends events to the ingestion host. PostHog serves from subdomains of `posthog.com` that change over time, so allow the wildcard:
46
40
  >
47
- > PostHog AI
48
- >
49
41
  > ```
50
42
  > script-src 'self' https://*.posthog.com;
51
43
  > connect-src 'self' https://*.posthog.com;
@@ -64,8 +56,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
64
56
 
65
57
  .env.local
66
58
 
67
- PostHog AI
68
-
69
59
  ```shell
70
60
  VITE_POSTHOG_PROJECT_TOKEN=<ph_project_token>
71
61
  VITE_POSTHOG_HOST=https://us.i.posthog.com
@@ -81,20 +71,22 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
81
71
 
82
72
  app/index.tsx
83
73
 
84
- PostHog AI
85
-
86
74
  ```jsx
87
75
  import { StrictMode } from "react";
88
76
  import { createRoot } from "react-dom/client";
89
77
  import { createBrowserRouter, RouterProvider } from "react-router";
90
78
  import Root, { RootErrorBoundary } from "./app/root";
79
+
91
80
  import posthog from 'posthog-js';
92
81
  import { PostHogProvider } from '@posthog/react'
82
+
93
83
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
94
84
  api_host: import.meta.env.VITE_POSTHOG_HOST,
95
85
  defaults: '2026-05-30',
96
86
  });
87
+
97
88
  const router = createBrowserRouter([...]);
89
+
98
90
  createRoot(document.getElementById("root")!).render(
99
91
  <StrictMode>
100
92
  {/* Pass PostHog client through PostHogProvider */}
@@ -115,11 +107,10 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
115
107
 
116
108
  React
117
109
 
118
- PostHog AI
119
-
120
110
  ```jsx
121
111
  useEffect(() => {
122
112
  posthog?.capture('test') // using optional chaining (recommended)
113
+
123
114
  if (posthog) {
124
115
  posthog.capture('test') // using an if statement
125
116
  }
@@ -140,10 +131,9 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
140
131
 
141
132
  TSX
142
133
 
143
- PostHog AI
144
-
145
134
  ```jsx
146
135
  import { usePostHog } from '@posthog/react'
136
+
147
137
  function App() {
148
138
  const posthog = usePostHog()
149
139
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -162,10 +152,9 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
162
152
 
163
153
  TSX
164
154
 
165
- PostHog AI
166
-
167
155
  ```jsx
168
156
  import { usePostHog } from '@posthog/react'
157
+
169
158
  function App() {
170
159
  const posthog = usePostHog()
171
160
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -186,15 +175,15 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
186
175
 
187
176
  TSX
188
177
 
189
- PostHog AI
190
-
191
178
  ```jsx
192
179
  export default function Login() {
193
180
  const { user, login } = useAuth();
194
181
  const posthog = usePostHog();
182
+
195
183
  const handleLogin = async (e: React.FormEvent) => {
196
184
  // existing code to handle login...
197
185
  const user = await login({ email, password });
186
+
198
187
  posthog?.identify(user.email,
199
188
  {
200
189
  email: user.email,
@@ -203,6 +192,7 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
203
192
  );
204
193
  posthog?.capture('user_logged_in');
205
194
  };
195
+
206
196
  return (
207
197
  <div>
208
198
  {/* ... existing code ... */}
@@ -224,16 +214,17 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
224
214
 
225
215
  app/root.tsx
226
216
 
227
- PostHog AI
228
-
229
217
  ```jsx
230
218
  import { usePostHog } from '@posthog/react'
219
+
231
220
  export function RootErrorBoundary() {
232
221
  const error = useRouteError();
222
+
233
223
  const posthog = usePostHog();
234
224
  if (error) {
235
225
  posthog.captureException(error);
236
226
  }
227
+
237
228
  // other error handling code...
238
229
  }
239
230
  ```
@@ -254,10 +245,9 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
254
245
 
255
246
  React
256
247
 
257
- PostHog AI
258
-
259
248
  ```jsx
260
249
  import { PostHogCaptureOnViewed } from '@posthog/react'
250
+
261
251
  function App() {
262
252
  return (
263
253
  <PostHogCaptureOnViewed name="hero-banner">
@@ -273,8 +263,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
273
263
 
274
264
  React
275
265
 
276
- PostHog AI
277
-
278
266
  ```jsx
279
267
  <PostHogCaptureOnViewed
280
268
  name="product-card"
@@ -294,8 +282,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
294
282
 
295
283
  React
296
284
 
297
- PostHog AI
298
-
299
285
  ```jsx
300
286
  <PostHogCaptureOnViewed
301
287
  name="product-gallery"
@@ -316,8 +302,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
316
302
 
317
303
  React
318
304
 
319
- PostHog AI
320
-
321
305
  ```jsx
322
306
  <PostHogCaptureOnViewed
323
307
  name="footer"
@@ -344,8 +328,6 @@ This guide walks you through setting up PostHog for React Router V7 in data mode
344
328
 
345
329
  TSX
346
330
 
347
- PostHog AI
348
-
349
331
  ```jsx
350
332
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
351
333
  api_host: import.meta.env.VITE_POSTHOG_HOST,
@@ -1,10 +1,6 @@
1
1
  > AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt
2
2
 
3
- # React Router V7 declarative mode - Docs
4
-
5
- Copy page
6
-
7
- # React Router V7 declarative mode - Docs
3
+ # React Router V7 declarative mode
8
4
 
9
5
  This guide walks you through setting up PostHog for React Router V7 in declarative mode. If you're using React Router in another mode, find the guide for that mode in the [React Router page](/docs/libraries/react-router.md). If you're using React with another framework, go to the [React integration guide](/docs/libraries/react.md).
10
6
 
@@ -16,8 +12,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
16
12
 
17
13
  First, you'll need to install [`posthog-js`](https://github.com/posthog/posthog-js) and `@posthog/react` using your package manager. These packages allow you to capture **client-side** events.
18
14
 
19
- PostHog AI
20
-
21
15
  ### npm
22
16
 
23
17
  ```bash
@@ -44,8 +38,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
44
38
 
45
39
  > **If your site sets a Content-Security-Policy**, it needs to allow PostHog. This applies to the snippet and to package installs alike: the SDK lazy-loads extra bundles (session replay, surveys) from PostHog's CDN, and sends events to the ingestion host. PostHog serves from subdomains of `posthog.com` that change over time, so allow the wildcard:
46
40
  >
47
- > PostHog AI
48
- >
49
41
  > ```
50
42
  > script-src 'self' https://*.posthog.com;
51
43
  > connect-src 'self' https://*.posthog.com;
@@ -64,8 +56,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
64
56
 
65
57
  .env.local
66
58
 
67
- PostHog AI
68
-
69
59
  ```shell
70
60
  VITE_POSTHOG_PROJECT_TOKEN=<ph_project_token>
71
61
  VITE_POSTHOG_HOST=https://us.i.posthog.com
@@ -81,20 +71,22 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
81
71
 
82
72
  src/main.tsx
83
73
 
84
- PostHog AI
85
-
86
74
  ```jsx
87
75
  import { StrictMode } from "react";
88
76
  import ReactDOM from "react-dom/client";
89
77
  import { BrowserRouter, Routes, Route } from "react-router";
78
+
90
79
  import posthog from 'posthog-js';
91
80
  import { PostHogErrorBoundary, PostHogProvider } from '@posthog/react'
81
+
92
82
  // Initialize PostHog
93
83
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
94
84
  api_host: import.meta.env.VITE_POSTHOG_HOST,
95
85
  defaults: '2026-05-30',
96
86
  });
87
+
97
88
  const root = document.getElementById("root");
89
+
98
90
  ReactDOM.createRoot(root).render(
99
91
  <StrictMode>
100
92
  {/* Pass PostHog client through PostHogProvider */}
@@ -121,11 +113,10 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
121
113
 
122
114
  React
123
115
 
124
- PostHog AI
125
-
126
116
  ```jsx
127
117
  useEffect(() => {
128
118
  posthog?.capture('test') // using optional chaining (recommended)
119
+
129
120
  if (posthog) {
130
121
  posthog.capture('test') // using an if statement
131
122
  }
@@ -146,10 +137,9 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
146
137
 
147
138
  TSX
148
139
 
149
- PostHog AI
150
-
151
140
  ```jsx
152
141
  import { usePostHog } from '@posthog/react'
142
+
153
143
  function App() {
154
144
  const posthog = usePostHog()
155
145
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -168,10 +158,9 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
168
158
 
169
159
  TSX
170
160
 
171
- PostHog AI
172
-
173
161
  ```jsx
174
162
  import { usePostHog } from '@posthog/react'
163
+
175
164
  function App() {
176
165
  const posthog = usePostHog()
177
166
  return <button onClick={() => posthog?.capture('button_clicked')}>Click me</button>
@@ -192,15 +181,15 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
192
181
 
193
182
  TSX
194
183
 
195
- PostHog AI
196
-
197
184
  ```jsx
198
185
  export default function Login() {
199
186
  const { user, login } = useAuth();
200
187
  const posthog = usePostHog();
188
+
201
189
  const handleLogin = async (e: React.FormEvent) => {
202
190
  // existing code to handle login...
203
191
  const user = await login({ email, password });
192
+
204
193
  posthog?.identify(user.email,
205
194
  {
206
195
  email: user.email,
@@ -209,6 +198,7 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
209
198
  );
210
199
  posthog?.capture('user_logged_in');
211
200
  };
201
+
212
202
  return (
213
203
  <div>
214
204
  {/* ... existing code ... */}
@@ -230,8 +220,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
230
220
 
231
221
  TSX
232
222
 
233
- PostHog AI
234
-
235
223
  ```jsx
236
224
  ReactDOM.createRoot(root).render(
237
225
  <StrictMode>
@@ -266,10 +254,9 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
266
254
 
267
255
  React
268
256
 
269
- PostHog AI
270
-
271
257
  ```jsx
272
258
  import { PostHogCaptureOnViewed } from '@posthog/react'
259
+
273
260
  function App() {
274
261
  return (
275
262
  <PostHogCaptureOnViewed name="hero-banner">
@@ -285,8 +272,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
285
272
 
286
273
  React
287
274
 
288
- PostHog AI
289
-
290
275
  ```jsx
291
276
  <PostHogCaptureOnViewed
292
277
  name="product-card"
@@ -306,8 +291,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
306
291
 
307
292
  React
308
293
 
309
- PostHog AI
310
-
311
294
  ```jsx
312
295
  <PostHogCaptureOnViewed
313
296
  name="product-gallery"
@@ -328,8 +311,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
328
311
 
329
312
  React
330
313
 
331
- PostHog AI
332
-
333
314
  ```jsx
334
315
  <PostHogCaptureOnViewed
335
316
  name="footer"
@@ -356,8 +337,6 @@ This guide walks you through setting up PostHog for React Router V7 in declarati
356
337
 
357
338
  TSX
358
339
 
359
- PostHog AI
360
-
361
340
  ```jsx
362
341
  posthog.init(import.meta.env.VITE_POSTHOG_PROJECT_TOKEN, {
363
342
  api_host: import.meta.env.VITE_POSTHOG_HOST,