@danieljvdm/dev-kit 1.0.2 → 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 (329) hide show
  1. package/README.md +6 -6
  2. package/package.json +1 -1
  3. package/skill-sources.jsonc +2 -33
  4. package/skill-sources.lock.json +15 -117
  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 +10 -70
  45. package/skills/open-pull-request/references/evidence.md +22 -0
  46. package/skills/open-pull-request/references/explanation.md +21 -0
  47. package/skills/open-pull-request/references/publication.md +21 -0
  48. package/skills/sentry/LICENSE +202 -0
  49. package/skills/sentry/LICENSE-UPSTREAM +21 -0
  50. package/skills/sentry/NOTICE +14 -0
  51. package/skills/sentry/SKILL.md +33 -0
  52. package/skills/sentry/references/alert-payloads.md +105 -0
  53. package/skills/sentry/references/alerts.md +17 -0
  54. package/skills/sentry/references/artifacts.md +25 -0
  55. package/skills/sentry/references/auth-token.md +65 -0
  56. package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
  57. package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
  58. package/skills/sentry/references/concepts/crons.md +50 -0
  59. package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
  60. package/skills/sentry/references/concepts/errors.md +40 -0
  61. package/skills/sentry/references/concepts/logging.md +85 -0
  62. package/skills/sentry/references/concepts/metrics.md +49 -0
  63. package/skills/sentry/references/concepts/monitors.md +78 -0
  64. package/skills/sentry/references/concepts/profiling.md +38 -0
  65. package/skills/sentry/references/concepts/reduce-volume.md +49 -0
  66. package/skills/sentry/references/concepts/releases.md +43 -0
  67. package/skills/sentry/references/concepts/session-replay.md +35 -0
  68. package/skills/sentry/references/concepts/tracing.md +54 -0
  69. package/skills/sentry/references/concepts/user-feedback.md +36 -0
  70. package/skills/sentry/references/debug-artifacts/android.md +68 -0
  71. package/skills/sentry/references/debug-artifacts/apple.md +96 -0
  72. package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
  73. package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
  74. package/skills/sentry/references/debug-artifacts/index.md +75 -0
  75. package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
  76. package/skills/sentry/references/debug-artifacts/matching.md +73 -0
  77. package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
  78. package/skills/sentry/references/first-error-setup.md +25 -0
  79. package/skills/sentry/references/instrumentation.md +30 -0
  80. package/skills/sentry/references/issues.md +32 -0
  81. package/skills/sentry/references/new-project.md +17 -0
  82. package/skills/sentry/references/otel-exporter.md +30 -0
  83. package/skills/sentry/references/release-workflow.md +31 -0
  84. package/skills/sentry/references/releases/ci-pipeline.md +214 -0
  85. package/skills/sentry/references/releases/index.md +93 -0
  86. package/skills/sentry/references/releases/suspect-commits.md +155 -0
  87. package/skills/sentry/references/releases/tagging.md +131 -0
  88. package/skills/sentry/references/releases/troubleshooting.md +67 -0
  89. package/skills/sentry/references/sdks/android/crons.md +305 -0
  90. package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
  91. package/skills/sentry/references/sdks/android/index.md +748 -0
  92. package/skills/sentry/references/sdks/android/integrations.md +48 -0
  93. package/skills/sentry/references/sdks/android/logging.md +374 -0
  94. package/skills/sentry/references/sdks/android/metrics.md +288 -0
  95. package/skills/sentry/references/sdks/android/profiling.md +397 -0
  96. package/skills/sentry/references/sdks/android/session-replay.md +406 -0
  97. package/skills/sentry/references/sdks/android/tracing.md +861 -0
  98. package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
  99. package/skills/sentry/references/sdks/browser/index.md +714 -0
  100. package/skills/sentry/references/sdks/browser/logging.md +315 -0
  101. package/skills/sentry/references/sdks/browser/profiling.md +236 -0
  102. package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
  103. package/skills/sentry/references/sdks/browser/tracing.md +561 -0
  104. package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
  105. package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
  106. package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
  107. package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
  108. package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
  109. package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
  110. package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
  111. package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
  112. package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
  113. package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
  114. package/skills/sentry/references/sdks/cocoa/index.md +497 -0
  115. package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
  116. package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
  117. package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
  118. package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
  119. package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
  120. package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
  121. package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
  122. package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
  123. package/skills/sentry/references/sdks/dotnet/index.md +614 -0
  124. package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
  125. package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
  126. package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
  127. package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
  128. package/skills/sentry/references/sdks/elixir/crons.md +371 -0
  129. package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
  130. package/skills/sentry/references/sdks/elixir/index.md +383 -0
  131. package/skills/sentry/references/sdks/elixir/logging.md +239 -0
  132. package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
  133. package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
  134. package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
  135. package/skills/sentry/references/sdks/flutter/index.md +728 -0
  136. package/skills/sentry/references/sdks/flutter/logging.md +387 -0
  137. package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
  138. package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
  139. package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
  140. package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
  141. package/skills/sentry/references/sdks/go/crons.md +270 -0
  142. package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
  143. package/skills/sentry/references/sdks/go/index.md +324 -0
  144. package/skills/sentry/references/sdks/go/logging.md +354 -0
  145. package/skills/sentry/references/sdks/go/metrics.md +273 -0
  146. package/skills/sentry/references/sdks/go/profiling.md +46 -0
  147. package/skills/sentry/references/sdks/go/tracing.md +366 -0
  148. package/skills/sentry/references/sdks/index.md +41 -0
  149. package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
  150. package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
  151. package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
  152. package/skills/sentry/references/sdks/nestjs/index.md +699 -0
  153. package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
  154. package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
  155. package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
  156. package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
  157. package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
  158. package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
  159. package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
  160. package/skills/sentry/references/sdks/nextjs/index.md +491 -0
  161. package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
  162. package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
  163. package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
  164. package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
  165. package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
  166. package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
  167. package/skills/sentry/references/sdks/node/crons.md +432 -0
  168. package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
  169. package/skills/sentry/references/sdks/node/index.md +942 -0
  170. package/skills/sentry/references/sdks/node/logging.md +380 -0
  171. package/skills/sentry/references/sdks/node/metrics.md +278 -0
  172. package/skills/sentry/references/sdks/node/profiling.md +373 -0
  173. package/skills/sentry/references/sdks/node/tracing.md +878 -0
  174. package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
  175. package/skills/sentry/references/sdks/php/crons.md +265 -0
  176. package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
  177. package/skills/sentry/references/sdks/php/index.md +362 -0
  178. package/skills/sentry/references/sdks/php/laravel.md +542 -0
  179. package/skills/sentry/references/sdks/php/logging.md +242 -0
  180. package/skills/sentry/references/sdks/php/metrics.md +193 -0
  181. package/skills/sentry/references/sdks/php/profiling.md +115 -0
  182. package/skills/sentry/references/sdks/php/symfony.md +552 -0
  183. package/skills/sentry/references/sdks/php/tracing.md +516 -0
  184. package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
  185. package/skills/sentry/references/sdks/python/crons.md +218 -0
  186. package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
  187. package/skills/sentry/references/sdks/python/index.md +361 -0
  188. package/skills/sentry/references/sdks/python/logging.md +234 -0
  189. package/skills/sentry/references/sdks/python/metrics.md +154 -0
  190. package/skills/sentry/references/sdks/python/profiling.md +120 -0
  191. package/skills/sentry/references/sdks/python/tracing.md +364 -0
  192. package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
  193. package/skills/sentry/references/sdks/react/index.md +492 -0
  194. package/skills/sentry/references/sdks/react/logging.md +364 -0
  195. package/skills/sentry/references/sdks/react/profiling.md +322 -0
  196. package/skills/sentry/references/sdks/react/react-features.md +1272 -0
  197. package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
  198. package/skills/sentry/references/sdks/react/tracing.md +1415 -0
  199. package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
  200. package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
  201. package/skills/sentry/references/sdks/react-native/index.md +1030 -0
  202. package/skills/sentry/references/sdks/react-native/logging.md +444 -0
  203. package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
  204. package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
  205. package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
  206. package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
  207. package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
  208. package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
  209. package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
  210. package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
  211. package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
  212. package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
  213. package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
  214. package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
  215. package/skills/sentry/references/sdks/ruby/crons.md +184 -0
  216. package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
  217. package/skills/sentry/references/sdks/ruby/index.md +297 -0
  218. package/skills/sentry/references/sdks/ruby/logging.md +168 -0
  219. package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
  220. package/skills/sentry/references/sdks/ruby/migration.md +321 -0
  221. package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
  222. package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
  223. package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
  224. package/skills/sentry/references/sdks/svelte/index.md +467 -0
  225. package/skills/sentry/references/sdks/svelte/logging.md +344 -0
  226. package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
  227. package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
  228. package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
  229. package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
  230. package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
  231. package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
  232. package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
  233. package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
  234. package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
  235. package/skills/sentry/references/search-query-language.md +226 -0
  236. package/skills/sentry/references/semantics/angular.md +7 -0
  237. package/skills/sentry/references/semantics/app.md +28 -0
  238. package/skills/sentry/references/semantics/art.md +17 -0
  239. package/skills/sentry/references/semantics/aws.md +43 -0
  240. package/skills/sentry/references/semantics/browser.md +34 -0
  241. package/skills/sentry/references/semantics/cache.md +12 -0
  242. package/skills/sentry/references/semantics/client.md +8 -0
  243. package/skills/sentry/references/semantics/cloud.md +12 -0
  244. package/skills/sentry/references/semantics/cloudflare.md +23 -0
  245. package/skills/sentry/references/semantics/code.md +11 -0
  246. package/skills/sentry/references/semantics/culture.md +11 -0
  247. package/skills/sentry/references/semantics/db.md +21 -0
  248. package/skills/sentry/references/semantics/device.md +43 -0
  249. package/skills/sentry/references/semantics/error.md +7 -0
  250. package/skills/sentry/references/semantics/event.md +8 -0
  251. package/skills/sentry/references/semantics/exception.md +10 -0
  252. package/skills/sentry/references/semantics/faas.md +19 -0
  253. package/skills/sentry/references/semantics/file.md +8 -0
  254. package/skills/sentry/references/semantics/flag.md +7 -0
  255. package/skills/sentry/references/semantics/gcp.md +16 -0
  256. package/skills/sentry/references/semantics/gen_ai.md +53 -0
  257. package/skills/sentry/references/semantics/general.md +11 -0
  258. package/skills/sentry/references/semantics/graphql.md +9 -0
  259. package/skills/sentry/references/semantics/grpc.md +19 -0
  260. package/skills/sentry/references/semantics/http.md +34 -0
  261. package/skills/sentry/references/semantics/index.md +63 -0
  262. package/skills/sentry/references/semantics/jsonrpc.md +8 -0
  263. package/skills/sentry/references/semantics/jvm.md +12 -0
  264. package/skills/sentry/references/semantics/koa.md +7 -0
  265. package/skills/sentry/references/semantics/logger.md +7 -0
  266. package/skills/sentry/references/semantics/mcp.md +37 -0
  267. package/skills/sentry/references/semantics/mdc.md +7 -0
  268. package/skills/sentry/references/semantics/messaging.md +23 -0
  269. package/skills/sentry/references/semantics/middleware.md +7 -0
  270. package/skills/sentry/references/semantics/navigation.md +9 -0
  271. package/skills/sentry/references/semantics/nel.md +11 -0
  272. package/skills/sentry/references/semantics/network.md +17 -0
  273. package/skills/sentry/references/semantics/os.md +15 -0
  274. package/skills/sentry/references/semantics/otel.md +10 -0
  275. package/skills/sentry/references/semantics/params.md +7 -0
  276. package/skills/sentry/references/semantics/process.md +14 -0
  277. package/skills/sentry/references/semantics/react.md +7 -0
  278. package/skills/sentry/references/semantics/remix.md +7 -0
  279. package/skills/sentry/references/semantics/resource.md +7 -0
  280. package/skills/sentry/references/semantics/rpc.md +10 -0
  281. package/skills/sentry/references/semantics/score.md +10 -0
  282. package/skills/sentry/references/semantics/sentry.md +69 -0
  283. package/skills/sentry/references/semantics/server.md +8 -0
  284. package/skills/sentry/references/semantics/service.md +8 -0
  285. package/skills/sentry/references/semantics/session.md +7 -0
  286. package/skills/sentry/references/semantics/state.md +7 -0
  287. package/skills/sentry/references/semantics/thread.md +8 -0
  288. package/skills/sentry/references/semantics/timber.md +7 -0
  289. package/skills/sentry/references/semantics/trpc.md +8 -0
  290. package/skills/sentry/references/semantics/ui.md +18 -0
  291. package/skills/sentry/references/semantics/url.md +15 -0
  292. package/skills/sentry/references/semantics/user.md +17 -0
  293. package/skills/sentry/references/semantics/user_agent.md +7 -0
  294. package/skills/sentry/references/semantics/vercel.md +42 -0
  295. package/skills/sentry/references/setup-verification.md +39 -0
  296. package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
  297. package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
  298. package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
  299. package/skills/sentry/references/snapshots/index.md +19 -0
  300. package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
  301. package/skills/sentry/references/snapshots/snapshots.md +123 -0
  302. package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
  303. package/skills/testing/LICENSE +21 -0
  304. package/skills/testing/NOTICE +7 -0
  305. package/skills/testing/SKILL.md +13 -19
  306. package/skills/testing/agents/openai.yaml +1 -2
  307. package/skills/testing/references/selection.md +23 -0
  308. package/skills/testing/references/tdd.md +19 -0
  309. package/skills/testing/references/test-design.md +17 -0
  310. package/src/catalog.ts +1 -7
  311. package/skills/build-effect-apis/SKILL.md +0 -81
  312. package/skills/build-effect-apis/agents/openai.yaml +0 -4
  313. package/skills/build-effect-clis/SKILL.md +0 -92
  314. package/skills/build-effect-clis/agents/openai.yaml +0 -4
  315. package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
  316. package/skills/effect-atom-state/SKILL.md +0 -97
  317. package/skills/effect-atom-state/agents/openai.yaml +0 -4
  318. package/skills/effect-ts/SKILL.md +0 -35
  319. package/skills/effect-ts/agents/openai.yaml +0 -4
  320. /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
  321. /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
  322. /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
  323. /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
  324. /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
  325. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
  326. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
  327. /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
  328. /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
  329. /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
@@ -0,0 +1,406 @@
1
+ # Tracing — Sentry Svelte/SvelteKit SDK
2
+
3
+ > Minimum SDK: `@sentry/sveltekit` ≥7.0.0+ / `@sentry/svelte` ≥7.0.0+\
4
+ > `Sentry.updateSpanName()`: requires `@sentry/sveltekit` ≥8.47.0+
5
+
6
+ ---
7
+
8
+ ## How Automatic Tracing Works
9
+
10
+ ### SvelteKit
11
+
12
+ | What’s traced | Where | How |
13
+ | ----------------------------------------- | ------------- | ------------------------------------------------------------------- |
14
+ | Client-side page loads | Browser | `browserTracingIntegration()` in `hooks.client.ts` |
15
+ | Client-side navigations | Browser | `browserTracingIntegration()` — SvelteKit router changes |
16
+ | Outbound fetch/XHR requests | Browser | `browserTracingIntegration()` with `tracePropagationTargets` |
17
+ | Server-side request handling | Node | `sentryHandle()` in `hooks.server.ts` |
18
+ | Load functions (`+page.ts`, `+layout.ts`) | Both | Auto via `sentryHandle()` (≥10.8.0) |
19
+ | Server → client trace stitching | SSR → browser | SDK injects `<meta>` tags; `browserTracingIntegration()` reads them |
20
+
21
+ ### Standalone Svelte
22
+
23
+ Only client-side tracing is available.
24
+ All instrumentation happens in a single init call.
25
+
26
+ ---
27
+
28
+ ## Configuration
29
+
30
+ ### SvelteKit — hooks.client.ts
31
+
32
+ ```typescript
33
+ import * as Sentry from "@sentry/sveltekit";
34
+
35
+ Sentry.init({
36
+ dsn: import.meta.env.PUBLIC_SENTRY_DSN ?? import.meta.env.VITE_SENTRY_DSN,
37
+
38
+ integrations: [Sentry.browserTracingIntegration()],
39
+
40
+ tracesSampleRate: 1.0, // 100% in dev; use 0.1–0.2 in production
41
+
42
+ // Which outbound URLs get sentry-trace + baggage headers
43
+ tracePropagationTargets: ["localhost", /^https:\/\/api\.myapp\.com/],
44
+ });
45
+
46
+ export const handleError = Sentry.handleErrorWithSentry();
47
+ ```
48
+
49
+ ### SvelteKit — instrumentation.server.ts (or hooks.server.ts for legacy)
50
+
51
+ ```typescript
52
+ import * as Sentry from "@sentry/sveltekit";
53
+
54
+ Sentry.init({
55
+ dsn: process.env.SENTRY_DSN,
56
+ tracesSampleRate: 1.0,
57
+ // No browserTracingIntegration() here — server-side only
58
+ });
59
+ ```
60
+
61
+ ### SvelteKit — hooks.server.ts
62
+
63
+ ```typescript
64
+ import * as Sentry from "@sentry/sveltekit";
65
+
66
+ export const handleError = Sentry.handleErrorWithSentry();
67
+ // sentryHandle() creates root spans for all incoming requests
68
+ export const handle = Sentry.sentryHandle();
69
+ ```
70
+
71
+ ### Standalone Svelte — main.ts
72
+
73
+ ```typescript
74
+ import * as Sentry from "@sentry/svelte";
75
+ import App from "./App.svelte";
76
+
77
+ Sentry.init({
78
+ dsn: import.meta.env.VITE_SENTRY_DSN,
79
+
80
+ integrations: [Sentry.browserTracingIntegration()],
81
+
82
+ tracesSampleRate: 1.0,
83
+ tracePropagationTargets: ["localhost", /^https:\/\/yourapi\.io/],
84
+ });
85
+
86
+ const app = new App({ target: document.getElementById("app")! });
87
+ export default app;
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Sampling
93
+
94
+ | Option | Behavior |
95
+ | -------------------------------- | --------------------------------------------------------------------- |
96
+ | `tracesSampleRate: 1.0` | Capture 100% of traces (dev / low-traffic) |
97
+ | `tracesSampleRate: 0.2` | Capture 20% uniformly |
98
+ | `tracesSampler: (ctx) => number` | Per-transaction logic; **overrides** `tracesSampleRate` when both set |
99
+ | omit both | Tracing fully disabled — no overhead |
100
+ | `tracesSampleRate: 0` | Code runs but nothing is sent — not the same as disabled |
101
+
102
+ ### Dynamic sampler
103
+
104
+ ```typescript
105
+ Sentry.init({
106
+ tracesSampler: (samplingContext) => {
107
+ const name = samplingContext.transactionContext?.name ?? "";
108
+ if (name === "/health" || name === "/ping") return 0;
109
+ if (name.startsWith("/checkout")) return 1.0;
110
+ return 0.2; // default
111
+ },
112
+ });
113
+ ```
114
+
115
+ ### Disable tracing for production builds (tree-shaking)
116
+
117
+ Set the build flag `__SENTRY_TRACING__ = false` to strip all tracing code at bundle
118
+ time:
119
+
120
+ ```typescript
121
+ // vite.config.ts
122
+ export default defineConfig({
123
+ define: {
124
+ __SENTRY_TRACING__: false,
125
+ },
126
+ });
127
+ ```
128
+
129
+ ---
130
+
131
+ ## `tracePropagationTargets`
132
+
133
+ Controls which outbound requests receive `sentry-trace` and `baggage` headers.
134
+ Essential for distributed tracing between the SvelteKit frontend and your APIs.
135
+
136
+ ```typescript
137
+ tracePropagationTargets: [
138
+ "localhost", // substring match
139
+ /^https:\/\/api\.myapp\.com/, // regex match
140
+ /^https:\/\/internal-service\.io\/api/, // second backend
141
+ ];
142
+ ```
143
+
144
+ - Only matching URLs get distributed tracing headers
145
+ - Prevents leaking trace IDs to third-party services
146
+ - Omit to disable propagation entirely; set to `[""]` to propagate to all URLs
147
+
148
+ ---
149
+
150
+ ## Custom Spans
151
+
152
+ Three APIs with different lifecycle models:
153
+
154
+ ### `Sentry.startSpan()` — recommended, auto-ends
155
+
156
+ ```typescript
157
+ // Async work
158
+ const result = await Sentry.startSpan(
159
+ {
160
+ name: "fetch-user-profile",
161
+ op: "http.client",
162
+ attributes: {
163
+ "user.id": userId,
164
+ "cache.hit": false,
165
+ },
166
+ },
167
+ async () => {
168
+ return await fetchUserProfile(userId);
169
+ },
170
+ );
171
+
172
+ // Sync work
173
+ const parsed = Sentry.startSpan({ name: "parse-payload", op: "deserialize" }, () =>
174
+ JSON.parse(rawPayload),
175
+ );
176
+ ```
177
+
178
+ ### `Sentry.startSpanManual()` — manual `span.end()`
179
+
180
+ Use when the span lifetime doesn’t match a callback (event-driven flows, middleware):
181
+
182
+ ```typescript
183
+ function middleware(_req: Request, res: Response, next: NextFunction) {
184
+ return Sentry.startSpanManual({ name: "express.middleware", op: "middleware" }, (span) => {
185
+ res.once("finish", () => {
186
+ span.setStatus({ code: res.statusCode < 400 ? 1 : 2 }); // 1=ok, 2=error
187
+ span.end();
188
+ });
189
+ return next();
190
+ });
191
+ }
192
+ ```
193
+
194
+ ### `Sentry.startInactiveSpan()` — explicit parent control
195
+
196
+ ```typescript
197
+ // Span is not automatically set as the active span
198
+ const span = Sentry.startInactiveSpan({ name: "background-job", op: "task" });
199
+ await doBackgroundWork();
200
+ span.end();
201
+
202
+ // Explicit parent-child wiring
203
+ const parent = Sentry.startInactiveSpan({ name: "checkout-flow" });
204
+ const child = Sentry.startInactiveSpan({ name: "validate-cart", parentSpan: parent });
205
+ await validateCart();
206
+ child.end();
207
+ parent.end();
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Span Parameters
213
+
214
+ | Parameter | Type | Description |
215
+ | ------------------ | --------------------------------------------- | ------------------------------------------------------------------------- |
216
+ | `name` | `string` | **Required.** Span label in the UI |
217
+ | `op` | `string` | Operation category (e.g., `http.client`, `db.query`, `ui.render`, `task`) |
218
+ | `startTime` | `number` | Unix timestamp override |
219
+ | `attributes` | `Record<string, string \| number \| boolean>` | Key-value metadata |
220
+ | `parentSpan` | `Span` | Explicit parent reference |
221
+ | `onlyIfParent` | `boolean` | Drop span if no active parent exists |
222
+ | `forceTransaction` | `boolean` | Show as top-level transaction in Sentry UI |
223
+
224
+ ---
225
+
226
+ ## Enriching Active Spans
227
+
228
+ ```typescript
229
+ const span = Sentry.getActiveSpan();
230
+ if (span) {
231
+ span.setAttribute("db.rows_affected", 42);
232
+ span.setAttributes({ "cache.key": "user:123", "cache.hit": true });
233
+ span.setStatus({ code: 1 }); // 0=unknown, 1=ok, 2=error
234
+
235
+ // Rename span (SDK ≥8.47.0)
236
+ Sentry.updateSpanName(span, "Updated Span Name");
237
+ }
238
+
239
+ // Inject attributes into all spans globally
240
+ Sentry.init({
241
+ beforeSendSpan(span) {
242
+ span.data = { ...span.data, "app.region": "us-west-2" };
243
+ return span;
244
+ },
245
+ });
246
+ ```
247
+
248
+ ---
249
+
250
+ ## Distributed Tracing: SvelteKit SSR ↔ Client ↔ APIs
251
+
252
+ SvelteKit’s SDK automatically propagates trace context across the full request
253
+ lifecycle:
254
+
255
+ ```
256
+ Browser request
257
+ → SvelteKit server receives request
258
+ → sentryHandle() creates server root span
259
+ → SSR renders HTML with injected <meta name="sentry-trace"> + <meta name="baggage">
260
+ → Browser parses HTML
261
+ → browserTracingIntegration() reads <meta> tags
262
+ → Client span becomes child of SSR span
263
+ → Client makes API call (matching tracePropagationTargets)
264
+ → sentry-trace + baggage headers added to fetch request
265
+ → Backend can continue the trace
266
+ ```
267
+
268
+ All of this is automatic when:
269
+
270
+ 1. `sentryHandle()` is exported from `hooks.server.ts`
271
+ 2. `browserTracingIntegration()` is in client init
272
+ 3. API URLs are listed in `tracePropagationTargets`
273
+
274
+ ---
275
+
276
+ ## Load Function Tracing (SvelteKit)
277
+
278
+ With `sentryHandle()` (≥10.8.0), all load functions are automatically instrumented.
279
+ No wrapper needed.
280
+
281
+ **Legacy setup only** (if using `@sentry/sveltekit` <10.8.0):
282
+
283
+ ```typescript
284
+ // src/routes/+page.ts (client load) — legacy only
285
+ import { wrapLoadWithSentry } from "@sentry/sveltekit";
286
+
287
+ export const load = wrapLoadWithSentry(async ({ fetch, params }) => {
288
+ return { data: await fetch(`/api/${params.id}`).then((r) => r.json()) };
289
+ });
290
+
291
+ // src/routes/+page.server.ts (server load) — legacy only
292
+ import { wrapServerLoadWithSentry } from "@sentry/sveltekit";
293
+
294
+ export const load = wrapServerLoadWithSentry(async ({ params }) => {
295
+ return { id: params.id };
296
+ });
297
+ ```
298
+
299
+ Remove these wrappers when upgrading to `@sentry/sveltekit` ≥10.8.0.
300
+
301
+ ---
302
+
303
+ ## Route-Based Transaction Names
304
+
305
+ SvelteKit automatically names transactions from SvelteKit’s routing system:
306
+
307
+ - `GET /` → `pageload /`
308
+ - `GET /users/[id]` → `pageload /users/[id]`
309
+ - `GET /api/users` → server request span name
310
+
311
+ No manual transaction naming is needed for standard SvelteKit routes.
312
+
313
+ ---
314
+
315
+ ## Performance Data: Web Vitals
316
+
317
+ `browserTracingIntegration()` captures Core Web Vitals automatically:
318
+
319
+ | Metric | What it measures |
320
+ | ------ | ------------------------ |
321
+ | LCP | Largest Contentful Paint |
322
+ | FID | First Input Delay |
323
+ | CLS | Cumulative Layout Shift |
324
+ | TTFB | Time to First Byte |
325
+ | FCP | First Contentful Paint |
326
+
327
+ Visible in the Sentry Performance dashboard under each page transaction.
328
+
329
+ ---
330
+
331
+ ## Flat Span Hierarchy (Browser)
332
+
333
+ By default, browser spans are **flat** — all spans become direct children of the root
334
+ span rather than nesting.
335
+ This avoids incorrect async parent-child associations.
336
+
337
+ To opt into full nesting (for structured waterfall views, at your own risk):
338
+
339
+ ```typescript
340
+ Sentry.init({
341
+ parentSpanIsAlwaysRootSpan: false,
342
+ });
343
+ ```
344
+
345
+ ---
346
+
347
+ ## Filtering Transactions and Spans
348
+
349
+ ```typescript
350
+ Sentry.init({
351
+ // Drop entire transactions by name
352
+ ignoreTransactions: ["/health", "/ping", /_next\/static/],
353
+
354
+ // Filter/modify transactions before send
355
+ beforeSendTransaction(event) {
356
+ if (event.transaction?.startsWith("/_next/")) return null;
357
+ return event;
358
+ },
359
+
360
+ // Filter/modify individual spans (e.g., drop asset spans)
361
+ ignoreSpans: [
362
+ { op: /^browser\.(cache|connect|DNS)$/ },
363
+ { op: "resource.other", name: /.+\.(woff2|ttf|eot)$/ },
364
+ { op: /resource\.(link|script)/, name: /.+\.js.*$/ },
365
+ ],
366
+ });
367
+ ```
368
+
369
+ ---
370
+
371
+ ## Svelte vs SvelteKit: Key Differences
372
+
373
+ | Concern | Standalone Svelte | SvelteKit |
374
+ | ----------------------------- | ------------------- | ---------------------------- |
375
+ | Server-side tracing | ❌ N/A | ✅ Auto via `sentryHandle()` |
376
+ | `browserTracingIntegration()` | In single init call | In `hooks.client.ts` only |
377
+ | Distributed tracing | Client-only | Full SSR → client → backend |
378
+ | Load function tracing | N/A | Auto (≥10.8.0) |
379
+ | Transaction names | URL-based | SvelteKit route patterns |
380
+ | Web Vitals | ✅ Both | ✅ Both |
381
+
382
+ ---
383
+
384
+ ## Best Practices
385
+
386
+ - Use `tracesSampleRate: 1.0` in development; drop to `0.1`–`0.2` in production
387
+ - Never add `browserTracingIntegration()` to server-side init
388
+ - Use `tracePropagationTargets` to restrict trace header injection to your own backends
389
+ - Add `sentryHandle()` before other handles in `sequence()` so it wraps the full request
390
+ lifecycle
391
+ - Use `onlyIfParent: true` on optional spans to avoid orphaned root transactions
392
+
393
+ ---
394
+
395
+ ## Troubleshooting
396
+
397
+ | Issue | Solution |
398
+ | ------------------------------------------------- | ------------------------------------------------------------------------------------- |
399
+ | No transactions in Performance dashboard | Ensure `tracesSampleRate` > 0; check `browserTracingIntegration()` is in client init |
400
+ | Distributed trace not connected (server ↔ client) | Verify `sentryHandle()` is exported from `hooks.server.ts` |
401
+ | API calls not connected to frontend trace | Add API URL to `tracePropagationTargets` |
402
+ | Load functions not instrumented | Upgrade to `@sentry/sveltekit` ≥10.8.0; remove legacy `wrapLoadWithSentry` |
403
+ | `sentryHandle()` breaking other handles | Wrap with `sequence(Sentry.sentryHandle(), myHandle)` from `@sveltejs/kit/hooks` |
404
+ | Web Vitals missing | Confirm `browserTracingIntegration()` is included; check browser support |
405
+ | Spans missing after async gap | Browser flat hierarchy; use `startInactiveSpan` with explicit `parentSpan` |
406
+ | High transaction volume / cost | Lower `tracesSampleRate`; use `tracesSampler` to drop health checks and static assets |
@@ -0,0 +1,149 @@
1
+ # Error Monitoring — Sentry TanStack Start React SDK
2
+
3
+ > Minimum SDK: `@sentry/tanstackstart-react` (alpha)\
4
+ > Framework target: TanStack Start React `1.0 RC`
5
+
6
+ ---
7
+
8
+ ## Automatic vs Manual Capture
9
+
10
+ | Area | Auto Captured? | Mechanism |
11
+ | ------------------------------------- | -------------- | ------------------------------------------------------- |
12
+ | Unhandled client exceptions | ✅ Yes | Browser global handlers after `Sentry.init` |
13
+ | Unhandled promise rejections (client) | ✅ Yes | Browser global handlers |
14
+ | Server request exceptions | ✅ Yes | `sentryGlobalRequestMiddleware` + `wrapFetchWithSentry` |
15
+ | Server function exceptions | ✅ Yes | `sentryGlobalFunctionMiddleware` |
16
+ | Errors swallowed by custom boundaries | ❌ No | Call `Sentry.captureException` manually |
17
+ | SSR render exceptions | ❌ No | Call `Sentry.captureException` manually |
18
+
19
+ Core rule:
20
+
21
+ > If an error is caught and not re-thrown, capture it manually.
22
+
23
+ ---
24
+
25
+ ## Required Server Error Hooks
26
+
27
+ ### Global server middleware (`src/start.ts`)
28
+
29
+ ```tsx
30
+ import {
31
+ sentryGlobalFunctionMiddleware,
32
+ sentryGlobalRequestMiddleware,
33
+ } from "@sentry/tanstackstart-react";
34
+ import { createStart } from "@tanstack/react-start";
35
+
36
+ export const startInstance = createStart(() => {
37
+ return {
38
+ requestMiddleware: [sentryGlobalRequestMiddleware],
39
+ functionMiddleware: [sentryGlobalFunctionMiddleware],
40
+ };
41
+ });
42
+ ```
43
+
44
+ ### Server entry wrapper (`src/server.ts`)
45
+
46
+ ```typescript
47
+ import { wrapFetchWithSentry } from "@sentry/tanstackstart-react";
48
+ import handler, { createServerEntry } from "@tanstack/react-start/server-entry";
49
+
50
+ export default createServerEntry(
51
+ wrapFetchWithSentry({
52
+ fetch(request: Request) {
53
+ return handler.fetch(request);
54
+ },
55
+ }),
56
+ );
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Client-Side Manual Capture
62
+
63
+ ### `captureException`
64
+
65
+ ```tsx
66
+ import * as Sentry from "@sentry/tanstackstart-react";
67
+
68
+ try {
69
+ await riskyOperation();
70
+ } catch (error) {
71
+ Sentry.captureException(error, {
72
+ tags: { area: "checkout" },
73
+ extra: { retryCount: 1 },
74
+ });
75
+ }
76
+ ```
77
+
78
+ ### `captureMessage`
79
+
80
+ ```tsx
81
+ Sentry.captureMessage("Unexpected state encountered", "warning");
82
+ ```
83
+
84
+ ---
85
+
86
+ ## Error Boundaries and TanStack Router `errorComponent`
87
+
88
+ Errors handled by custom boundaries are not automatically reported unless you send them.
89
+
90
+ ```tsx
91
+ import { useEffect } from "react";
92
+ import * as Sentry from "@sentry/tanstackstart-react";
93
+ import { createRoute } from "@tanstack/react-router";
94
+
95
+ const route = createRoute({
96
+ errorComponent: ({ error }) => {
97
+ useEffect(() => {
98
+ Sentry.captureException(error);
99
+ }, [error]);
100
+
101
+ return <div>Something went wrong.</div>;
102
+ },
103
+ });
104
+ ```
105
+
106
+ For class boundaries, wrap with `withErrorBoundary`:
107
+
108
+ ```tsx
109
+ import React from "react";
110
+ import * as Sentry from "@sentry/tanstackstart-react";
111
+
112
+ class MyErrorBoundary extends React.Component {
113
+ render() {
114
+ return this.props.children;
115
+ }
116
+ }
117
+
118
+ export const MySentryWrappedErrorBoundary = Sentry.withErrorBoundary(MyErrorBoundary, {
119
+ fallback: <p>Something went wrong.</p>,
120
+ });
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Enrichment APIs
126
+
127
+ Use standard Sentry context enrichment calls:
128
+
129
+ ```tsx
130
+ Sentry.setUser({ id: "user_123", email: "user@example.com" });
131
+ Sentry.setTag("tenant", "acme");
132
+ Sentry.setContext("checkout", { step: "payment" });
133
+ Sentry.addBreadcrumb({
134
+ category: "ui.click",
135
+ message: "Clicked complete purchase",
136
+ level: "info",
137
+ });
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Troubleshooting
143
+
144
+ | Issue | Solution |
145
+ | ----------------------------------- | ------------------------------------------------------------------------- |
146
+ | Server errors missing | Verify both `wrapFetchWithSentry` and global middleware are in place |
147
+ | Error boundary issues not appearing | Add explicit `captureException` inside `errorComponent` or boundary hooks |
148
+ | Missing user context | Call `setUser` after auth state is known |
149
+ | Duplicate dev errors | Validate behavior in production build; development tooling may rethrow |