@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,41 @@
1
+ # Choose a Sentry SDK reference
2
+
3
+ Inspect the package and runtime being changed. Prefer the existing framework SDK
4
+ when it fits: TanStack Start, Next.js, NestJS, React Router Framework, and React
5
+ Native have integrations beyond generic React or Node. A monorepo can contain
6
+ several targets; a Wrangler file elsewhere does not determine a React screen's SDK.
7
+
8
+ For an existing SDK, read the requested signal file directly under its directory:
9
+ `tracing.md`, `error-monitoring.md`, `logging.md`, `metrics.md`, `crons.md`,
10
+ `profiling.md`, `session-replay.md`, `user-feedback.md`, or `ai-monitoring.md`,
11
+ when present. Use the platform index for new setup, feature support, or an
12
+ initialization question. It is not a prerequisite to every signal change.
13
+
14
+ The retained platform references contain multiple runtimes and feature recipes.
15
+ Inspect headings and read the relevant section, not the whole manual. Apply
16
+ installation, provisioning, and optional-feature recipes only within the requested
17
+ scope; preserve installed versions and consult matching official docs for APIs.
18
+
19
+ | Platform | Setup and feature index |
20
+ | ----------------------------------------------------- | --------------------------------------------------------- |
21
+ | Android | [android](android/index.md) |
22
+ | browser JavaScript | [browser](browser/index.md) |
23
+ | Cloudflare Workers and Pages | [cloudflare](cloudflare/index.md) |
24
+ | Apple platforms (iOS, macOS, tvOS, watchOS, visionOS) | [cocoa](cocoa/index.md) |
25
+ | .NET | [dotnet](dotnet/index.md) |
26
+ | Elixir | [elixir](elixir/index.md) |
27
+ | Go | [go](go/index.md) |
28
+ | NestJS | [nestjs](nestjs/index.md) |
29
+ | Next.js | [nextjs](nextjs/index.md) |
30
+ | Node.js, Bun, and Deno | [node](node/index.md) |
31
+ | PHP | [php](php/index.md) |
32
+ | Python | [python](python/index.md) |
33
+ | Flutter and Dart | [flutter](flutter/index.md) |
34
+ | React Native and Expo | [react-native](react-native/index.md) |
35
+ | React | [react](react/index.md) |
36
+ | React Router Framework | [react-router-framework](react-router-framework/index.md) |
37
+ | TanStack Start React | [tanstack-start](tanstack-start/index.md) |
38
+ | Ruby | [ruby](ruby/index.md) |
39
+ | Svelte and SvelteKit | [svelte](svelte/index.md) |
40
+
41
+ For an unsupported platform, use the [official SDK documentation](https://docs.sentry.io/platforms/).
@@ -0,0 +1,410 @@
1
+ # AI Monitoring — Sentry NestJS SDK
2
+
3
+ > OpenAI integration: `@sentry/nestjs` ≥10.53.0+ Vercel AI SDK integration: ≥10.53.0+
4
+ > Anthropic integration: ≥10.53.0+ Google GenAI integration: ≥10.53.0+
5
+
6
+ > ⚠️ **Tracing must be enabled.** AI monitoring piggybacks on tracing infrastructure.
7
+ > `tracesSampleRate` must be > 0.
8
+
9
+ ---
10
+
11
+ ## Overview
12
+
13
+ Sentry AI Agents Monitoring automatically tracks:
14
+
15
+ - Agent runs and error rates
16
+ - LLM calls (model, token counts, estimated cost)
17
+ - Tool calls and outputs
18
+ - Agent handoffs
19
+ - Full prompt/completion data (opt-in)
20
+ - Performance bottlenecks across the AI pipeline
21
+
22
+ All integrations listed below are **auto-enabled** when the corresponding AI library is
23
+ detected at startup.
24
+ Explicit configuration is only needed to customize `recordInputs`/`recordOutputs`.
25
+
26
+ ---
27
+
28
+ ## Supported AI Libraries
29
+
30
+ | Library | Integration API | Auto-enabled? | Min SDK Version |
31
+ | ---------------------------------------------- | -------------------------------------------------------- | ------------- | --------------- |
32
+ | **OpenAI** (`openai`) | `openAIIntegration` / `instrumentOpenAiClient` | ✅ Yes | **10.53.0** |
33
+ | **Vercel AI SDK** (`ai`) | `vercelAIIntegration` | ✅ Yes | **10.53.0** |
34
+ | **Anthropic** (`@anthropic-ai/sdk`) | `anthropicAIIntegration` / `instrumentAnthropicAiClient` | ✅ Yes | **10.53.0** |
35
+ | **Google GenAI** (`@google/generative-ai`) | — | ✅ Yes | **10.53.0** |
36
+ | **LangChain** (`langchain`, `@langchain/core`) | `langchainIntegration` | ✅ Yes | **10.53.0** |
37
+
38
+ ---
39
+
40
+ ## OpenAI Integration
41
+
42
+ ### Auto-Enabled Setup
43
+
44
+ OpenAI is auto-instrumented — no changes to `instrument.ts` needed:
45
+
46
+ ```typescript
47
+ // instrument.ts
48
+ import * as Sentry from "@sentry/nestjs";
49
+
50
+ Sentry.init({
51
+ dsn: process.env.SENTRY_DSN,
52
+ tracesSampleRate: 1.0,
53
+ dataCollection: {
54
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
55
+ // https://docs.sentry.io/platforms/javascript/guides/nestjs/configuration/options/#dataCollection
56
+ // userInfo: false,
57
+ // httpBodies: [],
58
+ },
59
+ integrations: [Sentry.openAIIntegration()],
60
+ });
61
+ ```
62
+
63
+ ### Manual Wrapping (Alternative)
64
+
65
+ If auto-instrumentation doesn’t capture your client (e.g., custom transport), wrap it
66
+ manually:
67
+
68
+ ```typescript
69
+ import OpenAI from "openai";
70
+ import * as Sentry from "@sentry/nestjs";
71
+
72
+ const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
73
+
74
+ // Wrap once at module level — reuse this client everywhere.
75
+ // Input/output recording is on by default (governed by dataCollection.genAI) unless explicitly overridden.
76
+ const client = Sentry.instrumentOpenAiClient(openai);
77
+ ```
78
+
79
+ ### Streaming — Important
80
+
81
+ For streamed responses, you **must** pass `stream_options: { include_usage: true }`.
82
+ Without this, OpenAI does not include token counts in streamed responses, so Sentry
83
+ cannot capture usage metrics:
84
+
85
+ ```typescript
86
+ @Injectable()
87
+ export class ChatService {
88
+ constructor(private readonly openai: OpenAI) {}
89
+
90
+ async streamChat(messages: Array<{ role: string; content: string }>) {
91
+ const stream = await this.openai.chat.completions.create({
92
+ model: "gpt-4o",
93
+ messages,
94
+ stream: true,
95
+ stream_options: { include_usage: true }, // ← REQUIRED for token tracking
96
+ });
97
+ return stream;
98
+ }
99
+ }
100
+ ```
101
+
102
+ ### OpenAI Configuration Options
103
+
104
+ | Option | Type | Default | Description |
105
+ | --------------- | --------- | ------------------------------------------- | --------------------------------------- |
106
+ | `recordInputs` | `boolean` | `true` (governed by `dataCollection.genAI`) | Capture prompts/messages sent to OpenAI |
107
+ | `recordOutputs` | `boolean` | `true` (governed by `dataCollection.genAI`) | Capture generated text/responses |
108
+
109
+ **Supported versions:** `openai` ≥4.0.0
110
+
111
+ ---
112
+
113
+ ## Vercel AI SDK Integration
114
+
115
+ ### Setup
116
+
117
+ The integration is **auto-enabled** when the `ai` package is detected:
118
+
119
+ ```typescript
120
+ // instrument.ts — customize if needed
121
+ import * as Sentry from "@sentry/nestjs";
122
+
123
+ Sentry.init({
124
+ dsn: process.env.SENTRY_DSN,
125
+ tracesSampleRate: 1.0,
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/nestjs/configuration/options/#dataCollection
129
+ // userInfo: false,
130
+ // httpBodies: [],
131
+ },
132
+ integrations: [Sentry.vercelAIIntegration()],
133
+ });
134
+ ```
135
+
136
+ ### Per-Call Telemetry (Required)
137
+
138
+ You **must** pass `experimental_telemetry: { isEnabled: true }` to every AI SDK function
139
+ call you want traced:
140
+
141
+ ```typescript
142
+ import { Injectable } from "@nestjs/common";
143
+ import { generateText, streamText } from "ai";
144
+ import { openai } from "@ai-sdk/openai";
145
+
146
+ @Injectable()
147
+ export class AiService {
148
+ async generate(prompt: string) {
149
+ const result = await generateText({
150
+ model: openai("gpt-4o"),
151
+ prompt,
152
+ experimental_telemetry: {
153
+ isEnabled: true,
154
+ functionId: "my-text-generation",
155
+ recordInputs: true,
156
+ recordOutputs: true,
157
+ },
158
+ });
159
+ return result.text;
160
+ }
161
+
162
+ async *stream(prompt: string) {
163
+ const { textStream } = await streamText({
164
+ model: openai("gpt-4o"),
165
+ prompt,
166
+ experimental_telemetry: {
167
+ isEnabled: true,
168
+ functionId: "my-stream",
169
+ },
170
+ });
171
+ yield* textStream;
172
+ }
173
+ }
174
+ ```
175
+
176
+ ### Vercel AI SDK Configuration Options
177
+
178
+ | Option | Type | Default | Min SDK | Description |
179
+ | --------------- | --------- | ------- | ------- | -------------------------------------------------------------------------- |
180
+ | `recordInputs` | `boolean` | `true`* | 9.27.0 | Capture inputs. *Defaults to `true` (governed by `dataCollection.genAI`). |
181
+ | `recordOutputs` | `boolean` | `true`* | 9.27.0 | Capture outputs. *Defaults to `true` (governed by `dataCollection.genAI`). |
182
+
183
+ **Supported versions:** `ai` ≥3.0.0
184
+
185
+ ---
186
+
187
+ ## Anthropic Integration
188
+
189
+ ### Setup
190
+
191
+ ```typescript
192
+ // instrument.ts — customize if needed
193
+ import * as Sentry from "@sentry/nestjs";
194
+
195
+ Sentry.init({
196
+ dsn: process.env.SENTRY_DSN,
197
+ tracesSampleRate: 1.0,
198
+ dataCollection: {
199
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
200
+ // https://docs.sentry.io/platforms/javascript/guides/nestjs/configuration/options/#dataCollection
201
+ // userInfo: false,
202
+ // httpBodies: [],
203
+ },
204
+ integrations: [Sentry.anthropicAIIntegration()],
205
+ });
206
+ ```
207
+
208
+ ### Manual Wrapping
209
+
210
+ ```typescript
211
+ import Anthropic from "@anthropic-ai/sdk";
212
+ import * as Sentry from "@sentry/nestjs";
213
+
214
+ const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
215
+
216
+ // Input/output recording is on by default (governed by dataCollection.genAI) unless explicitly overridden.
217
+ const client = Sentry.instrumentAnthropicAiClient(anthropic);
218
+
219
+ const response = await client.messages.create({
220
+ model: "claude-sonnet-4-20250514",
221
+ max_tokens: 1024,
222
+ messages: [{ role: "user", content: "Hello, Claude!" }],
223
+ });
224
+ ```
225
+
226
+ ### Supported Anthropic Operations
227
+
228
+ | Operation | Method |
229
+ | --------------- | ------------------------------- |
230
+ | Create messages | `client.messages.create()` |
231
+ | Stream messages | `client.messages.stream()` |
232
+ | Count tokens | `client.messages.countTokens()` |
233
+ | Beta messages | `client.beta.messages.create()` |
234
+
235
+ **Supported versions:** `@anthropic-ai/sdk` ≥0.19.2
236
+
237
+ ---
238
+
239
+ ## Token Usage Tracking
240
+
241
+ Sentry automatically captures token usage following OpenTelemetry GenAI semantic
242
+ conventions:
243
+
244
+ | Span Attribute | Description |
245
+ | -------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
246
+ | `gen_ai.request.model` | Model name |
247
+ | `gen_ai.request.reasoning_effort` | Reasoning effort level for reasoning models (e.g., `low`, `medium`, `high`). Supported values vary by provider. |
248
+ | `gen_ai.usage.input_tokens` | Prompt/input token count |
249
+ | `gen_ai.usage.output_tokens` | Completion/output token count |
250
+ | `gen_ai.usage.input_tokens.cached` | Cached input tokens |
251
+ | `gen_ai.usage.output_tokens.reasoning` | Reasoning tokens (e.g., o1 models) |
252
+
253
+ **Cost estimates** are sourced from models.dev and OpenRouter.
254
+ Unrecognized models show no estimate.
255
+
256
+ ---
257
+
258
+ ## Prompt/Completion Capture & PII
259
+
260
+ `recordInputs` captures prompts sent to the AI API. `recordOutputs` captures the
261
+ generated text/completions returned.
262
+
263
+ With `dataCollection`, genAI input/output capture is **on by default**. To disable it,
264
+ set `dataCollection: { genAI: { inputs: false, outputs: false } }`:
265
+
266
+ ```typescript
267
+ Sentry.init({
268
+ dsn: process.env.SENTRY_DSN,
269
+ tracesSampleRate: 1.0,
270
+ dataCollection: {
271
+ genAI: { inputs: false, outputs: false },
272
+ },
273
+ });
274
+ ```
275
+
276
+ > ⚠️ **PII warning:** Prompts often contain user-supplied text.
277
+ > If users include personal data in prompts, enabling `recordInputs` will send that data
278
+ > to Sentry. Review your privacy policy before enabling.
279
+
280
+ ---
281
+
282
+ ## Complete NestJS Example
283
+
284
+ ```typescript
285
+ // instrument.ts
286
+ import * as Sentry from "@sentry/nestjs";
287
+
288
+ Sentry.init({
289
+ dsn: process.env.SENTRY_DSN,
290
+ tracesSampleRate: 1.0,
291
+ dataCollection: {
292
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
293
+ // https://docs.sentry.io/platforms/javascript/guides/nestjs/configuration/options/#dataCollection
294
+ // userInfo: false,
295
+ // httpBodies: [],
296
+ },
297
+ enableLogs: true,
298
+ integrations: [
299
+ Sentry.openAIIntegration(),
300
+ Sentry.vercelAIIntegration(),
301
+ Sentry.anthropicAIIntegration(),
302
+ ],
303
+ });
304
+ ```
305
+
306
+ ```typescript
307
+ // ai.controller.ts
308
+ import { Controller, Post, Body } from "@nestjs/common";
309
+ import { AiService } from "./ai.service";
310
+
311
+ @Controller("ai")
312
+ export class AiController {
313
+ constructor(private readonly aiService: AiService) {}
314
+
315
+ @Post("chat")
316
+ async chat(@Body() body: { prompt: string }) {
317
+ return this.aiService.chat(body.prompt);
318
+ }
319
+ }
320
+ ```
321
+
322
+ ```typescript
323
+ // ai.service.ts
324
+ import { Injectable } from "@nestjs/common";
325
+ import OpenAI from "openai";
326
+ import * as Sentry from "@sentry/nestjs";
327
+
328
+ @Injectable()
329
+ export class AiService {
330
+ private readonly openai: OpenAI;
331
+
332
+ constructor() {
333
+ this.openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
334
+ }
335
+
336
+ async chat(prompt: string): Promise<string> {
337
+ const completion = await this.openai.chat.completions.create({
338
+ model: "gpt-4o",
339
+ messages: [{ role: "user", content: prompt }],
340
+ });
341
+ return completion.choices[0].message.content ?? "";
342
+ }
343
+ }
344
+ ```
345
+
346
+ ---
347
+
348
+ ## AI Agents Dashboard
349
+
350
+ Access at **Sentry → AI → Agents** (or **Insights → AI**).
351
+
352
+ | Tab | What you see |
353
+ | ------------ | ------------------------------------------------------------------------- |
354
+ | **Overview** | Agent runs, error rates, duration, LLM calls, tokens used, tool calls |
355
+ | **Models** | Per-model cost estimates, token breakdown (input/output/cached), duration |
356
+ | **Tools** | Per-tool call counts, error rates, input/output for each invocation |
357
+ | **Traces** | Full pipeline from user request to final response with all spans |
358
+
359
+ ---
360
+
361
+ ## Sampling Strategy
362
+
363
+ If your `tracesSampleRate` is below 1.0, you may be losing entire agent runs.
364
+ Use `tracesSampler` patterns that keep 100% of gen_ai-related transactions while
365
+ sampling other traffic at a lower rate.
366
+
367
+ ---
368
+
369
+ ## Conversation Tracking
370
+
371
+ Link AI spans across turns into a chat-style timeline at **Explore > Conversations**.
372
+
373
+ **Prerequisites:** `streamGenAiSpans` defaults to `true` (SDK >=10.61.0, so AI spans
374
+ stream as standalone items) and genAI input/output capture enabled (on by default via
375
+ `dataCollection`) — Conversations reconstructs the chat from input/output attributes, so
376
+ if you’ve disabled genAI capture the view will be empty.
377
+
378
+ ```typescript
379
+ import * as Sentry from "@sentry/nestjs";
380
+
381
+ // Set at the start of a conversation
382
+ Sentry.setConversationId("conv_abc123");
383
+
384
+ // All subsequent AI calls carry gen_ai.conversation.id: "conv_abc123"
385
+ ```
386
+
387
+ A single conversation can span multiple traces, and a single trace can contain multiple
388
+ conversations.
389
+
390
+ ### User Attribution
391
+
392
+ To populate the **User** column in Conversations, call `setUser` once per request or
393
+ session before any AI calls:
394
+
395
+ ```typescript
396
+ Sentry.setUser({ id: "user_123", email: "jane@example.com", username: "jane" });
397
+ ```
398
+
399
+ ## Troubleshooting
400
+
401
+ | Issue | Solution |
402
+ | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
403
+ | No AI spans appearing | Verify `tracesSampleRate` > 0; AI monitoring requires tracing |
404
+ | Token counts missing in streams | Add `stream_options: { include_usage: true }` to all OpenAI streaming calls |
405
+ | `recordInputs`/`recordOutputs` not capturing | genAI capture is on by default; ensure you haven’t set `dataCollection: { genAI: { inputs: false } }`, or explicitly pass `recordInputs: true` / `recordOutputs: true` to the integration |
406
+ | Anthropic spans missing | Check SDK version; add `anthropicAIIntegration()` explicitly |
407
+ | Cost estimates not showing | Model name must match models.dev/OpenRouter pricing data; custom models may show no estimate |
408
+ | Vercel AI spans not tracked | Pass `experimental_telemetry: { isEnabled: true }` to every AI SDK call |
409
+ | No data in AI Agents dashboard | Ensure traces are being sent; check DSN and `tracesSampleRate` |
410
+ | User column shows “Unknown” | Call `Sentry.setUser()` once per request or session |