@danieljvdm/dev-kit 1.0.1 → 2.0.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.
Files changed (330) hide show
  1. package/README.md +6 -6
  2. package/package.json +1 -1
  3. package/skill-sources.jsonc +6 -29
  4. package/skill-sources.lock.json +23 -109
  5. package/skills/animate/LICENSE +21 -0
  6. package/skills/animate/NOTICE +10 -0
  7. package/skills/animate/SKILL.md +34 -0
  8. package/skills/animate/references/gestures.md +27 -0
  9. package/skills/animate/references/glossary.md +136 -0
  10. package/skills/animate/references/implementation.md +22 -0
  11. package/skills/animate/references/opportunities.md +18 -0
  12. package/skills/animate/references/principles.md +48 -0
  13. package/skills/animate/references/review.md +19 -0
  14. package/skills/cloudflare-workers/LICENSE +202 -0
  15. package/skills/cloudflare-workers/NOTICE +9 -0
  16. package/skills/cloudflare-workers/SKILL.md +26 -0
  17. package/skills/cloudflare-workers/references/durable-objects.md +68 -0
  18. package/skills/cloudflare-workers/references/sandbox.md +48 -0
  19. package/skills/cloudflare-workers/references/workers.md +63 -0
  20. package/skills/cloudflare-workers/references/wrangler.md +56 -0
  21. package/skills/design-ui/LICENSE +21 -0
  22. package/skills/design-ui/NOTICE +8 -0
  23. package/skills/design-ui/SKILL.md +29 -0
  24. package/skills/design-ui/references/appearance.md +22 -0
  25. package/skills/design-ui/references/components.md +33 -0
  26. package/skills/design-ui/references/exploration.md +50 -0
  27. package/skills/design-ui/references/libraries.md +39 -0
  28. package/skills/design-ui/references/themes.md +23 -0
  29. package/skills/dev-kit/SKILL.md +19 -38
  30. package/skills/dev-kit/references/cloudflare-worker-api.md +1 -1
  31. package/skills/dev-kit/references/skills.md +2 -2
  32. package/skills/effect-development/SKILL.md +27 -0
  33. package/skills/effect-development/agents/openai.yaml +4 -0
  34. package/skills/effect-development/references/api/index.md +32 -0
  35. package/skills/effect-development/references/api/schema-codecs.md +15 -0
  36. package/skills/{build-effect-apis/references → effect-development/references/api}/verification.md +10 -5
  37. package/skills/{effect-architecture-audit/SKILL.md → effect-development/references/architecture/index.md} +1 -6
  38. package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-client.md +8 -6
  39. package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-testing.md +7 -2
  40. package/skills/effect-development/references/atom/index.md +40 -0
  41. package/skills/{build-effect-clis/references → effect-development/references/cli}/entrypoints-and-testing.md +6 -2
  42. package/skills/effect-development/references/cli/index.md +39 -0
  43. package/skills/effect-development/references/setup.md +15 -0
  44. package/skills/open-pull-request/SKILL.md +11 -115
  45. package/skills/open-pull-request/agents/openai.yaml +3 -3
  46. package/skills/open-pull-request/references/evidence.md +22 -0
  47. package/skills/open-pull-request/references/explanation.md +21 -0
  48. package/skills/open-pull-request/references/publication.md +21 -0
  49. package/skills/sentry/LICENSE +202 -0
  50. package/skills/sentry/LICENSE-UPSTREAM +21 -0
  51. package/skills/sentry/NOTICE +14 -0
  52. package/skills/sentry/SKILL.md +33 -0
  53. package/skills/sentry/references/alert-payloads.md +105 -0
  54. package/skills/sentry/references/alerts.md +17 -0
  55. package/skills/sentry/references/artifacts.md +25 -0
  56. package/skills/sentry/references/auth-token.md +65 -0
  57. package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
  58. package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
  59. package/skills/sentry/references/concepts/crons.md +50 -0
  60. package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
  61. package/skills/sentry/references/concepts/errors.md +40 -0
  62. package/skills/sentry/references/concepts/logging.md +85 -0
  63. package/skills/sentry/references/concepts/metrics.md +49 -0
  64. package/skills/sentry/references/concepts/monitors.md +78 -0
  65. package/skills/sentry/references/concepts/profiling.md +38 -0
  66. package/skills/sentry/references/concepts/reduce-volume.md +49 -0
  67. package/skills/sentry/references/concepts/releases.md +43 -0
  68. package/skills/sentry/references/concepts/session-replay.md +35 -0
  69. package/skills/sentry/references/concepts/tracing.md +54 -0
  70. package/skills/sentry/references/concepts/user-feedback.md +36 -0
  71. package/skills/sentry/references/debug-artifacts/android.md +68 -0
  72. package/skills/sentry/references/debug-artifacts/apple.md +96 -0
  73. package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
  74. package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
  75. package/skills/sentry/references/debug-artifacts/index.md +75 -0
  76. package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
  77. package/skills/sentry/references/debug-artifacts/matching.md +73 -0
  78. package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
  79. package/skills/sentry/references/first-error-setup.md +25 -0
  80. package/skills/sentry/references/instrumentation.md +30 -0
  81. package/skills/sentry/references/issues.md +32 -0
  82. package/skills/sentry/references/new-project.md +17 -0
  83. package/skills/sentry/references/otel-exporter.md +30 -0
  84. package/skills/sentry/references/release-workflow.md +31 -0
  85. package/skills/sentry/references/releases/ci-pipeline.md +214 -0
  86. package/skills/sentry/references/releases/index.md +93 -0
  87. package/skills/sentry/references/releases/suspect-commits.md +155 -0
  88. package/skills/sentry/references/releases/tagging.md +131 -0
  89. package/skills/sentry/references/releases/troubleshooting.md +67 -0
  90. package/skills/sentry/references/sdks/android/crons.md +305 -0
  91. package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
  92. package/skills/sentry/references/sdks/android/index.md +748 -0
  93. package/skills/sentry/references/sdks/android/integrations.md +48 -0
  94. package/skills/sentry/references/sdks/android/logging.md +374 -0
  95. package/skills/sentry/references/sdks/android/metrics.md +288 -0
  96. package/skills/sentry/references/sdks/android/profiling.md +397 -0
  97. package/skills/sentry/references/sdks/android/session-replay.md +406 -0
  98. package/skills/sentry/references/sdks/android/tracing.md +861 -0
  99. package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
  100. package/skills/sentry/references/sdks/browser/index.md +714 -0
  101. package/skills/sentry/references/sdks/browser/logging.md +315 -0
  102. package/skills/sentry/references/sdks/browser/profiling.md +236 -0
  103. package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
  104. package/skills/sentry/references/sdks/browser/tracing.md +561 -0
  105. package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
  106. package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
  107. package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
  108. package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
  109. package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
  110. package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
  111. package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
  112. package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
  113. package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
  114. package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
  115. package/skills/sentry/references/sdks/cocoa/index.md +497 -0
  116. package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
  117. package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
  118. package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
  119. package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
  120. package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
  121. package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
  122. package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
  123. package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
  124. package/skills/sentry/references/sdks/dotnet/index.md +614 -0
  125. package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
  126. package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
  127. package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
  128. package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
  129. package/skills/sentry/references/sdks/elixir/crons.md +371 -0
  130. package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
  131. package/skills/sentry/references/sdks/elixir/index.md +383 -0
  132. package/skills/sentry/references/sdks/elixir/logging.md +239 -0
  133. package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
  134. package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
  135. package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
  136. package/skills/sentry/references/sdks/flutter/index.md +728 -0
  137. package/skills/sentry/references/sdks/flutter/logging.md +387 -0
  138. package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
  139. package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
  140. package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
  141. package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
  142. package/skills/sentry/references/sdks/go/crons.md +270 -0
  143. package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
  144. package/skills/sentry/references/sdks/go/index.md +324 -0
  145. package/skills/sentry/references/sdks/go/logging.md +354 -0
  146. package/skills/sentry/references/sdks/go/metrics.md +273 -0
  147. package/skills/sentry/references/sdks/go/profiling.md +46 -0
  148. package/skills/sentry/references/sdks/go/tracing.md +366 -0
  149. package/skills/sentry/references/sdks/index.md +41 -0
  150. package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
  151. package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
  152. package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
  153. package/skills/sentry/references/sdks/nestjs/index.md +699 -0
  154. package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
  155. package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
  156. package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
  157. package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
  158. package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
  159. package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
  160. package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
  161. package/skills/sentry/references/sdks/nextjs/index.md +491 -0
  162. package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
  163. package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
  164. package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
  165. package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
  166. package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
  167. package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
  168. package/skills/sentry/references/sdks/node/crons.md +432 -0
  169. package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
  170. package/skills/sentry/references/sdks/node/index.md +942 -0
  171. package/skills/sentry/references/sdks/node/logging.md +380 -0
  172. package/skills/sentry/references/sdks/node/metrics.md +278 -0
  173. package/skills/sentry/references/sdks/node/profiling.md +373 -0
  174. package/skills/sentry/references/sdks/node/tracing.md +878 -0
  175. package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
  176. package/skills/sentry/references/sdks/php/crons.md +265 -0
  177. package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
  178. package/skills/sentry/references/sdks/php/index.md +362 -0
  179. package/skills/sentry/references/sdks/php/laravel.md +542 -0
  180. package/skills/sentry/references/sdks/php/logging.md +242 -0
  181. package/skills/sentry/references/sdks/php/metrics.md +193 -0
  182. package/skills/sentry/references/sdks/php/profiling.md +115 -0
  183. package/skills/sentry/references/sdks/php/symfony.md +552 -0
  184. package/skills/sentry/references/sdks/php/tracing.md +516 -0
  185. package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
  186. package/skills/sentry/references/sdks/python/crons.md +218 -0
  187. package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
  188. package/skills/sentry/references/sdks/python/index.md +361 -0
  189. package/skills/sentry/references/sdks/python/logging.md +234 -0
  190. package/skills/sentry/references/sdks/python/metrics.md +154 -0
  191. package/skills/sentry/references/sdks/python/profiling.md +120 -0
  192. package/skills/sentry/references/sdks/python/tracing.md +364 -0
  193. package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
  194. package/skills/sentry/references/sdks/react/index.md +492 -0
  195. package/skills/sentry/references/sdks/react/logging.md +364 -0
  196. package/skills/sentry/references/sdks/react/profiling.md +322 -0
  197. package/skills/sentry/references/sdks/react/react-features.md +1272 -0
  198. package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
  199. package/skills/sentry/references/sdks/react/tracing.md +1415 -0
  200. package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
  201. package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
  202. package/skills/sentry/references/sdks/react-native/index.md +1030 -0
  203. package/skills/sentry/references/sdks/react-native/logging.md +444 -0
  204. package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
  205. package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
  206. package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
  207. package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
  208. package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
  209. package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
  210. package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
  211. package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
  212. package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
  213. package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
  214. package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
  215. package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
  216. package/skills/sentry/references/sdks/ruby/crons.md +184 -0
  217. package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
  218. package/skills/sentry/references/sdks/ruby/index.md +297 -0
  219. package/skills/sentry/references/sdks/ruby/logging.md +168 -0
  220. package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
  221. package/skills/sentry/references/sdks/ruby/migration.md +321 -0
  222. package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
  223. package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
  224. package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
  225. package/skills/sentry/references/sdks/svelte/index.md +467 -0
  226. package/skills/sentry/references/sdks/svelte/logging.md +344 -0
  227. package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
  228. package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
  229. package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
  230. package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
  231. package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
  232. package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
  233. package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
  234. package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
  235. package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
  236. package/skills/sentry/references/search-query-language.md +226 -0
  237. package/skills/sentry/references/semantics/angular.md +7 -0
  238. package/skills/sentry/references/semantics/app.md +28 -0
  239. package/skills/sentry/references/semantics/art.md +17 -0
  240. package/skills/sentry/references/semantics/aws.md +43 -0
  241. package/skills/sentry/references/semantics/browser.md +34 -0
  242. package/skills/sentry/references/semantics/cache.md +12 -0
  243. package/skills/sentry/references/semantics/client.md +8 -0
  244. package/skills/sentry/references/semantics/cloud.md +12 -0
  245. package/skills/sentry/references/semantics/cloudflare.md +23 -0
  246. package/skills/sentry/references/semantics/code.md +11 -0
  247. package/skills/sentry/references/semantics/culture.md +11 -0
  248. package/skills/sentry/references/semantics/db.md +21 -0
  249. package/skills/sentry/references/semantics/device.md +43 -0
  250. package/skills/sentry/references/semantics/error.md +7 -0
  251. package/skills/sentry/references/semantics/event.md +8 -0
  252. package/skills/sentry/references/semantics/exception.md +10 -0
  253. package/skills/sentry/references/semantics/faas.md +19 -0
  254. package/skills/sentry/references/semantics/file.md +8 -0
  255. package/skills/sentry/references/semantics/flag.md +7 -0
  256. package/skills/sentry/references/semantics/gcp.md +16 -0
  257. package/skills/sentry/references/semantics/gen_ai.md +53 -0
  258. package/skills/sentry/references/semantics/general.md +11 -0
  259. package/skills/sentry/references/semantics/graphql.md +9 -0
  260. package/skills/sentry/references/semantics/grpc.md +19 -0
  261. package/skills/sentry/references/semantics/http.md +34 -0
  262. package/skills/sentry/references/semantics/index.md +63 -0
  263. package/skills/sentry/references/semantics/jsonrpc.md +8 -0
  264. package/skills/sentry/references/semantics/jvm.md +12 -0
  265. package/skills/sentry/references/semantics/koa.md +7 -0
  266. package/skills/sentry/references/semantics/logger.md +7 -0
  267. package/skills/sentry/references/semantics/mcp.md +37 -0
  268. package/skills/sentry/references/semantics/mdc.md +7 -0
  269. package/skills/sentry/references/semantics/messaging.md +23 -0
  270. package/skills/sentry/references/semantics/middleware.md +7 -0
  271. package/skills/sentry/references/semantics/navigation.md +9 -0
  272. package/skills/sentry/references/semantics/nel.md +11 -0
  273. package/skills/sentry/references/semantics/network.md +17 -0
  274. package/skills/sentry/references/semantics/os.md +15 -0
  275. package/skills/sentry/references/semantics/otel.md +10 -0
  276. package/skills/sentry/references/semantics/params.md +7 -0
  277. package/skills/sentry/references/semantics/process.md +14 -0
  278. package/skills/sentry/references/semantics/react.md +7 -0
  279. package/skills/sentry/references/semantics/remix.md +7 -0
  280. package/skills/sentry/references/semantics/resource.md +7 -0
  281. package/skills/sentry/references/semantics/rpc.md +10 -0
  282. package/skills/sentry/references/semantics/score.md +10 -0
  283. package/skills/sentry/references/semantics/sentry.md +69 -0
  284. package/skills/sentry/references/semantics/server.md +8 -0
  285. package/skills/sentry/references/semantics/service.md +8 -0
  286. package/skills/sentry/references/semantics/session.md +7 -0
  287. package/skills/sentry/references/semantics/state.md +7 -0
  288. package/skills/sentry/references/semantics/thread.md +8 -0
  289. package/skills/sentry/references/semantics/timber.md +7 -0
  290. package/skills/sentry/references/semantics/trpc.md +8 -0
  291. package/skills/sentry/references/semantics/ui.md +18 -0
  292. package/skills/sentry/references/semantics/url.md +15 -0
  293. package/skills/sentry/references/semantics/user.md +17 -0
  294. package/skills/sentry/references/semantics/user_agent.md +7 -0
  295. package/skills/sentry/references/semantics/vercel.md +42 -0
  296. package/skills/sentry/references/setup-verification.md +39 -0
  297. package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
  298. package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
  299. package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
  300. package/skills/sentry/references/snapshots/index.md +19 -0
  301. package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
  302. package/skills/sentry/references/snapshots/snapshots.md +123 -0
  303. package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
  304. package/skills/testing/LICENSE +21 -0
  305. package/skills/testing/NOTICE +7 -0
  306. package/skills/testing/SKILL.md +13 -19
  307. package/skills/testing/agents/openai.yaml +1 -2
  308. package/skills/testing/references/selection.md +23 -0
  309. package/skills/testing/references/tdd.md +19 -0
  310. package/skills/testing/references/test-design.md +17 -0
  311. package/src/catalog.ts +1 -7
  312. package/skills/build-effect-apis/SKILL.md +0 -81
  313. package/skills/build-effect-apis/agents/openai.yaml +0 -4
  314. package/skills/build-effect-clis/SKILL.md +0 -92
  315. package/skills/build-effect-clis/agents/openai.yaml +0 -4
  316. package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
  317. package/skills/effect-atom-state/SKILL.md +0 -97
  318. package/skills/effect-atom-state/agents/openai.yaml +0 -4
  319. package/skills/effect-ts/SKILL.md +0 -35
  320. package/skills/effect-ts/agents/openai.yaml +0 -4
  321. /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
  322. /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
  323. /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
  324. /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
  325. /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
  326. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
  327. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
  328. /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
  329. /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
  330. /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
@@ -0,0 +1,492 @@
1
+ # Sentry React SDK
2
+
3
+ Opinionated wizard that scans your React project and guides you through complete Sentry
4
+ setup.
5
+
6
+ > **Note:** SDK versions and APIs below reflect current Sentry docs at time of writing
7
+ > (`@sentry/react` ≥8.0.0). Always verify against
8
+ > [docs.sentry.io/platforms/javascript/guides/react/](https://docs.sentry.io/platforms/javascript/guides/react/)
9
+ > before implementing.
10
+
11
+ ---
12
+
13
+ ## Phase 1: Detect
14
+
15
+ Run these commands to understand the project before making any recommendations:
16
+
17
+ ```bash
18
+ # Detect React version
19
+ cat package.json | grep -E '"react"|"react-dom"'
20
+
21
+ # Check for existing Sentry
22
+ cat package.json | grep '"@sentry/'
23
+
24
+ # Detect router and framework mode hints
25
+ cat package.json | grep -E '"react-router-dom"|"react-router"|"@react-router/"|"@tanstack/react-router"|"@sentry/react-router"'
26
+
27
+ # Detect state management
28
+ cat package.json | grep -E '"redux"|"@reduxjs/toolkit"'
29
+
30
+ # Detect build tool
31
+ ls vite.config.ts vite.config.js webpack.config.js craco.config.js 2>/dev/null
32
+ cat package.json | grep -E '"vite"|"react-scripts"|"webpack"'
33
+
34
+ # Detect logging libraries
35
+ cat package.json | grep -E '"pino"|"winston"|"loglevel"'
36
+
37
+ # Check for companion backend in adjacent directories
38
+ ls ../backend ../server ../api 2>/dev/null
39
+ cat ../go.mod ../requirements.txt ../Gemfile ../pom.xml 2>/dev/null | head -3
40
+ ```
41
+
42
+ **What to determine:**
43
+
44
+ | Question | Impact |
45
+ | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
46
+ | React 19+? | Use `reactErrorHandler()` hook pattern |
47
+ | React <19? | Use `Sentry.ErrorBoundary` |
48
+ | `@sentry/react` already present? | Skip install, go straight to feature config |
49
+ | React Router Framework mode indicators (`@sentry/react-router`, `@react-router/*`)? | Use [`react-router-framework`](../react-router-framework/index.md) |
50
+ | `react-router-dom` v5 / v6 / v7? | Determines which router integration to use |
51
+ | `@tanstack/react-router`? | Use `tanstackRouterBrowserTracingIntegration()` |
52
+ | Redux in use? | Recommend `createReduxEnhancer()` |
53
+ | Vite detected? | Source maps via `sentryVitePlugin` |
54
+ | CRA (`react-scripts`)? | Source maps via `@sentry/webpack-plugin` in CRACO |
55
+ | Backend directory found? | Trigger Phase 4 cross-link suggestion |
56
+
57
+ ---
58
+
59
+ ## Phase 2: Recommend
60
+
61
+ Present a concrete recommendation based on what you found.
62
+ Don’t ask open-ended questions — lead with a proposal:
63
+
64
+ **Recommended (core coverage):**
65
+
66
+ - ✅ **Error Monitoring** — always; captures unhandled errors, React error boundaries,
67
+ React 19 hooks
68
+ - ✅ **Tracing** — React SPAs benefit from page load, navigation, and API call tracing
69
+ - ✅ **Session Replay** — recommended for user-facing apps; records sessions around
70
+ errors
71
+
72
+ **Optional (enhanced observability):**
73
+
74
+ - ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when structured log
75
+ search is needed
76
+ - ⚡ **Profiling** — JS Self-Profiling API (⚠️ experimental; requires cross-origin
77
+ isolation headers)
78
+
79
+ **Recommendation logic:**
80
+
81
+ | Feature | Recommend when … |
82
+ | ---------------- | ----------------------------------------------------------------------------- |
83
+ | Error Monitoring | **Always** — non-negotiable baseline |
84
+ | Tracing | **Always for React SPAs** — page load + navigation spans are high-value |
85
+ | Session Replay | User-facing app, login flows, or checkout pages |
86
+ | Logging | App needs structured log search or log-to-trace correlation |
87
+ | Profiling | Performance-critical app; server sends `Document-Policy: js-profiling` header |
88
+
89
+ **React-specific extras:**
90
+
91
+ - React 19 detected → set up `reactErrorHandler()` on `createRoot`
92
+ - React Router v5/v6/v7 non-framework detected → configure matching router integration
93
+ (see Phase 3)
94
+ - React Router Framework mode detected → switch to
95
+ [`react-router-framework`](../react-router-framework/index.md)
96
+ - Redux detected → add `createReduxEnhancer()` to Redux store
97
+ - Vite detected → configure `sentryVitePlugin` for source maps (essential for readable
98
+ stack traces)
99
+
100
+ Propose: _“I recommend setting up Error Monitoring + Tracing + Session Replay.
101
+ Want me to also add Logging or Profiling?”_
102
+
103
+ ---
104
+
105
+ ## Phase 3: Guide
106
+
107
+ ### Install
108
+
109
+ ```bash
110
+ npm install @sentry/react --save
111
+ ```
112
+
113
+ ### Create `src/instrument.ts`
114
+
115
+ Sentry must initialize **before any other code runs**. Put `Sentry.init()` in a
116
+ dedicated sidecar file:
117
+
118
+ ```typescript
119
+ import * as Sentry from "@sentry/react";
120
+
121
+ Sentry.init({
122
+ dsn: import.meta.env.VITE_SENTRY_DSN, // Adjust per build tool (see table below)
123
+ environment: import.meta.env.MODE,
124
+ release: import.meta.env.VITE_APP_VERSION, // inject at build time
125
+
126
+ dataCollection: {
127
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
128
+ // https://docs.sentry.io/platforms/javascript/guides/react/configuration/options/#dataCollection
129
+ // userInfo: false,
130
+ // httpBodies: [],
131
+ },
132
+
133
+ integrations: [
134
+ Sentry.browserTracingIntegration(),
135
+ Sentry.replayIntegration({
136
+ maskAllText: true,
137
+ blockAllMedia: true,
138
+ }),
139
+ ],
140
+
141
+ // Tracing
142
+ tracesSampleRate: 1.0, // lower to 0.1–0.2 in production
143
+ tracePropagationTargets: ["localhost", /^https:\/\/yourapi\.io/],
144
+
145
+ // Session Replay
146
+ replaysSessionSampleRate: 0.1,
147
+ replaysOnErrorSampleRate: 1.0,
148
+
149
+ enableLogs: true,
150
+ });
151
+ ```
152
+
153
+ **DSN environment variable by build tool:**
154
+
155
+ | Build Tool | Variable Name | Access in code |
156
+ | ---------------- | ---------------------- | ---------------------------------- |
157
+ | Vite | `VITE_SENTRY_DSN` | `import.meta.env.VITE_SENTRY_DSN` |
158
+ | Create React App | `REACT_APP_SENTRY_DSN` | `process.env.REACT_APP_SENTRY_DSN` |
159
+ | Custom webpack | `SENTRY_DSN` | `process.env.SENTRY_DSN` |
160
+
161
+ ### Entry Point Setup
162
+
163
+ Import `instrument.ts` as the **very first import** in your entry file:
164
+
165
+ ```tsx
166
+ // src/main.tsx (Vite) or src/index.tsx (CRA/webpack)
167
+ import "./instrument"; // ← MUST be first
168
+
169
+ import { StrictMode } from "react";
170
+ import { createRoot } from "react-dom/client";
171
+ import App from "./App";
172
+
173
+ createRoot(document.getElementById("root")!).render(
174
+ <StrictMode>
175
+ <App />
176
+ </StrictMode>,
177
+ );
178
+ ```
179
+
180
+ ### React Version-Specific Error Handling
181
+
182
+ **React 19+** — use `reactErrorHandler()` on `createRoot`:
183
+
184
+ ```tsx
185
+ import { reactErrorHandler } from "@sentry/react";
186
+
187
+ createRoot(document.getElementById("root")!, {
188
+ onUncaughtError: reactErrorHandler(),
189
+ onCaughtError: reactErrorHandler(),
190
+ onRecoverableError: reactErrorHandler(),
191
+ }).render(<App />);
192
+ ```
193
+
194
+ **React <19** — wrap your app in `Sentry.ErrorBoundary`:
195
+
196
+ ```tsx
197
+ import * as Sentry from "@sentry/react";
198
+
199
+ createRoot(document.getElementById("root")!).render(
200
+ <Sentry.ErrorBoundary fallback={<p>Something went wrong</p>} showDialog>
201
+ <App />
202
+ </Sentry.ErrorBoundary>,
203
+ );
204
+ ```
205
+
206
+ Use `<Sentry.ErrorBoundary>` for any sub-tree that should catch errors independently
207
+ (route sections, widgets, etc.).
208
+
209
+ ### Router Integration
210
+
211
+ Configure the matching integration for your router (non-framework mode):
212
+
213
+ | Router | Integration | Notes |
214
+ | ------------------ | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
215
+ | React Router v7 | `reactRouterV7BrowserTracingIntegration` | `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren`, `matchRoutes` from `react-router` |
216
+ | React Router v6 | `reactRouterV6BrowserTracingIntegration` | `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren`, `matchRoutes` from `react-router-dom` |
217
+ | React Router v5 | `reactRouterV5BrowserTracingIntegration` | Wrap routes in `withSentryRouting(Route)` |
218
+ | TanStack Router | `tanstackRouterBrowserTracingIntegration(router)` | Pass router instance — no hooks required |
219
+ | No router / custom | `browserTracingIntegration()` | Names transactions by URL path |
220
+
221
+ **React Router v6/v7 setup:**
222
+
223
+ ```typescript
224
+ // in instrument.ts integrations array:
225
+ import React from "react";
226
+ import {
227
+ createRoutesFromChildren,
228
+ matchRoutes,
229
+ useLocation,
230
+ useNavigationType,
231
+ } from "react-router-dom"; // or "react-router" for v7
232
+ import * as Sentry from "@sentry/react";
233
+ import { reactRouterV6BrowserTracingIntegration } from "@sentry/react";
234
+ import { createBrowserRouter } from "react-router-dom";
235
+
236
+ // Option A — createBrowserRouter (recommended for v6.4+):
237
+ const sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV6(createBrowserRouter);
238
+ const router = sentryCreateBrowserRouter([...routes]);
239
+
240
+ // Option B — createBrowserRouter for React Router v7:
241
+ // const sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV7(createBrowserRouter);
242
+
243
+ // Option C — integration with hooks (v6 without data APIs):
244
+ Sentry.init({
245
+ integrations: [
246
+ reactRouterV6BrowserTracingIntegration({
247
+ useEffect: React.useEffect,
248
+ useLocation,
249
+ useNavigationType,
250
+ matchRoutes,
251
+ createRoutesFromChildren,
252
+ }),
253
+ ],
254
+ });
255
+ ```
256
+
257
+ **TanStack Router setup:**
258
+
259
+ ```typescript
260
+ import { tanstackRouterBrowserTracingIntegration } from "@sentry/react";
261
+
262
+ // Pass your TanStack router instance:
263
+ Sentry.init({
264
+ integrations: [tanstackRouterBrowserTracingIntegration(router)],
265
+ });
266
+ ```
267
+
268
+ ### Redux Integration (when detected)
269
+
270
+ ```typescript
271
+ import * as Sentry from "@sentry/react";
272
+ import { configureStore } from "@reduxjs/toolkit";
273
+
274
+ const store = configureStore({
275
+ reducer: rootReducer,
276
+ enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(Sentry.createReduxEnhancer()),
277
+ });
278
+ ```
279
+
280
+ ### Source Maps Setup (strongly recommended)
281
+
282
+ Without source maps, stack traces show minified code.
283
+ Set up the build plugin to upload source maps automatically:
284
+
285
+ **Vite (`vite.config.ts`):**
286
+
287
+ ```typescript
288
+ import { defineConfig } from "vite";
289
+ import react from "@vitejs/plugin-react";
290
+ import { sentryVitePlugin } from "@sentry/vite-plugin";
291
+
292
+ export default defineConfig({
293
+ build: { sourcemap: "hidden" },
294
+ plugins: [
295
+ react(),
296
+ sentryVitePlugin({
297
+ org: process.env.SENTRY_ORG,
298
+ project: process.env.SENTRY_PROJECT,
299
+ authToken: process.env.SENTRY_AUTH_TOKEN,
300
+ }),
301
+ ],
302
+ });
303
+ ```
304
+
305
+ **Create React App (via CRACO):**
306
+
307
+ ```bash
308
+ npm install @craco/craco @sentry/webpack-plugin --save-dev
309
+ ```
310
+
311
+ ```javascript
312
+ // craco.config.js
313
+ const { sentryWebpackPlugin } = require("@sentry/webpack-plugin");
314
+
315
+ module.exports = {
316
+ webpack: {
317
+ plugins: {
318
+ add: [
319
+ sentryWebpackPlugin({
320
+ org: process.env.SENTRY_ORG,
321
+ project: process.env.SENTRY_PROJECT,
322
+ authToken: process.env.SENTRY_AUTH_TOKEN,
323
+ }),
324
+ ],
325
+ },
326
+ },
327
+ };
328
+ ```
329
+
330
+ `SENTRY_ORG` / `SENTRY_PROJECT` / `SENTRY_AUTH_TOKEN` are build-time values; the auth
331
+ token is a secret (never commit it).
332
+
333
+ ### For Each Agreed Feature
334
+
335
+ Walk through features one at a time.
336
+ Load the reference file, follow its steps, verify before moving on:
337
+
338
+ | Feature | Reference | Load when … |
339
+ | ---------------- | ----------------------- | ------------------------------------------------------------ |
340
+ | Error Monitoring | `./error-monitoring.md` | Always (baseline) |
341
+ | Tracing | `./tracing.md` | SPA navigation / API call tracing |
342
+ | Session Replay | `./session-replay.md` | User-facing app |
343
+ | Logging | `./logging.md` | Structured log search / log-to-trace |
344
+ | Profiling | `./profiling.md` | Performance-critical app |
345
+ | React Features | `./react-features.md` | Redux, component tracking, source maps, integrations catalog |
346
+
347
+ For each feature: `Read ./<feature>.md`, follow steps exactly, verify it works.
348
+
349
+ ---
350
+
351
+ ## Configuration Reference
352
+
353
+ ### Key `Sentry.init()` Options
354
+
355
+ | Option | Type | Default | Notes |
356
+ | -------------------------- | -------------------- | -------------- | -------------------------------------------------------------------------------------------------- |
357
+ | `dsn` | `string` | — | **Required.** SDK disabled when empty |
358
+ | `environment` | `string` | `"production"` | e.g., `"staging"`, `"development"` |
359
+ | `release` | `string` | — | e.g., `"my-app@1.0.0"` or git SHA — links errors to releases |
360
+ | `dataCollection` | `object` | — | Fine-grained control over data collection (see table below); **recommended over `sendDefaultPii`** |
361
+ | `sendDefaultPii` | `boolean` | `false` | ⚠️ **Legacy** — use `dataCollection` instead; includes IP addresses and request headers |
362
+ | `tracesSampleRate` | `number` | — | 0–1; `1.0` in dev, `0.1–0.2` in prod |
363
+ | `tracesSampler` | `function` | — | Per-transaction sampling; overrides rate |
364
+ | `tracePropagationTargets` | `(string\|RegExp)[]` | — | Outgoing URLs that receive distributed tracing headers |
365
+ | `replaysSessionSampleRate` | `number` | — | Fraction of all sessions recorded |
366
+ | `replaysOnErrorSampleRate` | `number` | — | Fraction of error sessions recorded |
367
+ | `enableLogs` | `boolean` | `false` | Enable `Sentry.logger.*` API |
368
+ | `attachStacktrace` | `boolean` | `false` | Stack traces on `captureMessage()` calls |
369
+ | `maxBreadcrumbs` | `number` | `100` | Breadcrumbs stored per event |
370
+ | `debug` | `boolean` | `false` | Verbose SDK output to console |
371
+ | `tunnel` | `string` | — | Proxy URL to bypass ad blockers |
372
+
373
+ ### `dataCollection` Options (SDK ≥10.57.0)
374
+
375
+ Fine-grained control over what data the SDK collects.
376
+ Replaces the simple `sendDefaultPii` boolean with per-feature toggles:
377
+
378
+ | Field | Type | Default | Notes |
379
+ | ---------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
380
+ | `userInfo` | `boolean` | `true` | Collect user IP and headers (equivalent to `sendDefaultPii: true`) |
381
+ | `cookies` | `boolean \| { allow: string[] } \| { deny: string[] }` | `true` | Cookie collection and filtering; `true` = all cookies (sensitive keys filtered) |
382
+ | `httpHeaders.request` | `boolean \| { allow: string[] } \| { deny: string[] }` | `true` | HTTP request header collection |
383
+ | `httpHeaders.response` | `boolean \| { allow: string[] } \| { deny: string[] }` | `true` | HTTP response header collection |
384
+ | `queryParams` | `boolean \| { allow: string[] } \| { deny: string[] }` | `true` | Query parameter collection and filtering |
385
+ | `httpBodies` | `HttpBodyCollectionTarget[]` | `["incomingRequest", "outgoingRequest", "incomingResponse", "outgoingResponse"]` | Collect request/response bodies; options: `'incomingRequest'`, `'outgoingRequest'`, `'incomingResponse'`, `'outgoingResponse'` |
386
+ | `genAI.inputs` | `boolean` | `true` | Record AI model inputs (for AI monitoring) |
387
+ | `genAI.outputs` | `boolean` | `true` | Record AI model outputs (for AI monitoring) |
388
+ | `stackFrameVariables` | `boolean` | `true` | Capture local variable values in stack frames |
389
+ | `frameContextLines` | `number` | `5` | Source code context lines around stack frames |
390
+
391
+ **Example:** Allow only specific cookies and headers:
392
+
393
+ ```typescript
394
+ Sentry.init({
395
+ dataCollection: {
396
+ cookies: { allow: ["session", "user_id"] },
397
+ httpHeaders: {
398
+ request: { allow: ["authorization", "x-request-id"] },
399
+ response: { deny: ["set-cookie"] },
400
+ },
401
+ },
402
+ });
403
+ ```
404
+
405
+ ### React Compatibility Matrix
406
+
407
+ | React Version | Error handling approach | SDK minimum |
408
+ | ------------- | ------------------------------------- | ---------------------- |
409
+ | React 19+ | `reactErrorHandler()` on `createRoot` | `@sentry/react` ≥8.0.0 |
410
+ | React 16–18 | `Sentry.ErrorBoundary` component | `@sentry/react` ≥7.0.0 |
411
+ | React 16 | `componentDidCatch` class boundaries | `@sentry/react` ≥6.0.0 |
412
+
413
+ ---
414
+
415
+ ## Verification
416
+
417
+ Trigger test events to confirm Sentry is receiving data:
418
+
419
+ ```tsx
420
+ // Add a temporary test button anywhere in your app
421
+ import * as Sentry from "@sentry/react";
422
+
423
+ function SentryTest() {
424
+ return (
425
+ <>
426
+ <button
427
+ onClick={() => {
428
+ throw new Error("Sentry React test error");
429
+ }}
430
+ >
431
+ Test Error
432
+ </button>
433
+ <button onClick={() => Sentry.captureMessage("Sentry test message", "info")}>
434
+ Test Message
435
+ </button>
436
+ </>
437
+ );
438
+ }
439
+ ```
440
+
441
+ Check the Sentry dashboard:
442
+
443
+ - **Issues** → error appears within seconds
444
+ - **Traces** → page load and navigation transactions visible
445
+ - **Replays** → session recording visible after page interaction
446
+ - **Logs** → structured log entries if logging enabled
447
+
448
+ Set `debug: true` in `Sentry.init()` and check the browser console if nothing appears.
449
+
450
+ ---
451
+
452
+ ## Phase 4: Cross-Link
453
+
454
+ After completing React setup, check for a companion backend missing Sentry coverage:
455
+
456
+ ```bash
457
+ ls ../backend ../server ../api ../go ../python 2>/dev/null
458
+ cat ../go.mod 2>/dev/null | head -3
459
+ cat ../requirements.txt ../pyproject.toml 2>/dev/null | head -3
460
+ cat ../Gemfile 2>/dev/null | head -3
461
+ cat ../pom.xml 2>/dev/null | grep '<artifactId>' | head -3
462
+ ```
463
+
464
+ If a backend exists without Sentry configured, suggest the matching skill:
465
+
466
+ | Backend detected | Suggest skill |
467
+ | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
468
+ | Go (`go.mod`) | [`go`](../go/index.md) |
469
+ | Python (`requirements.txt`, `pyproject.toml`) | [`python`](../python/index.md) |
470
+ | Ruby (`Gemfile`) | [`ruby`](../ruby/index.md) |
471
+ | Java (`pom.xml`, `build.gradle`) | Use `@sentry/java` — see [docs.sentry.io/platforms/java/](https://docs.sentry.io/platforms/java/) |
472
+ | Node.js (Express, Fastify) | Use `@sentry/node` — see [docs.sentry.io/platforms/javascript/guides/express/](https://docs.sentry.io/platforms/javascript/guides/express/) |
473
+
474
+ ---
475
+
476
+ ## Troubleshooting
477
+
478
+ | Issue | Solution |
479
+ | -------------------------------------- | ----------------------------------------------------------------------------- |
480
+ | Events not appearing | Set `debug: true`, check DSN, open browser console for SDK errors |
481
+ | Source maps not working | Build in production mode (`npm run build`); verify `SENTRY_AUTH_TOKEN` is set |
482
+ | Minified stack traces | Source maps not uploading — check plugin config and auth token |
483
+ | `instrument.ts` not running first | Verify it’s the first import in entry file before React/app imports |
484
+ | React 19 errors not captured | Confirm `reactErrorHandler()` is passed to all three `createRoot` options |
485
+ | React <19 errors not captured | Ensure `<Sentry.ErrorBoundary>` wraps the component tree |
486
+ | Router transactions named `<unknown>` | Add router integration matching your router version |
487
+ | `tracePropagationTargets` not matching | Check regex escaping; default is `localhost` and your DSN origin only |
488
+ | Session replay not recording | Confirm `replayIntegration()` is in init; check `replaysSessionSampleRate` |
489
+ | Redux actions not in breadcrumbs | Add `Sentry.createReduxEnhancer()` to store enhancers |
490
+ | Ad blockers dropping events | Set `tunnel: "/sentry-tunnel"` and add server-side relay endpoint |
491
+ | High replay storage costs | Lower `replaysSessionSampleRate`; keep `replaysOnErrorSampleRate: 1.0` |
492
+ | Profiling not working | Verify `Document-Policy: js-profiling` header is set on document responses |