@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,303 @@
1
+ # AI Monitoring - Sentry Node.js SDK
2
+
3
+ > Minimum SDK: `@sentry/node` >=10.61.0 (Gen AI span streaming is on by default at this
4
+ > version). OpenAI, Anthropic, LangChain, LangGraph, Google GenAI, Vercel AI SDK
5
+ > auto-instrument and are available since 10.53.0.
6
+
7
+ ## Prerequisites
8
+
9
+ Tracing must be enabled - AI spans require an active trace:
10
+
11
+ ```typescript
12
+ Sentry.init({
13
+ dsn: "...",
14
+ tracesSampleRate: 1.0,
15
+ dataCollection: {
16
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
17
+ // https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
18
+ // userInfo: false,
19
+ // httpBodies: [],
20
+ },
21
+ });
22
+ ```
23
+
24
+ ## Integration Matrix
25
+
26
+ | Integration | Min Library | Auto-Enabled | Status |
27
+ | ---------------------------------- | ----------- | ------------ | ------ |
28
+ | OpenAI (`openai`) | openai 4.0+ | Yes | Stable |
29
+ | Anthropic (`@anthropic-ai/sdk`) | 0.19.2+ | Yes | Stable |
30
+ | Vercel AI SDK (`ai`) | ai 3.0+ | Yes* | Stable |
31
+ | LangChain (`@langchain/core`) | 0.1.0+ | Yes | Stable |
32
+ | LangGraph (`@langchain/langgraph`) | 0.1.0+ | Yes | Stable |
33
+ | Google GenAI (`@google/genai`) | 1.0+ | Yes | Stable |
34
+
35
+ *Vercel AI SDK requires `experimental_telemetry: { isEnabled: true }` on every call.
36
+
37
+ ## PII Control
38
+
39
+ | `dataCollection.genAI` | `recordInputs` | Prompts captured? |
40
+ | ---------------------- | ---------------- | ----------------- |
41
+ | default on | `true` (default) | Yes |
42
+ | `{ inputs: false }` | `true` | No |
43
+ | default on | `false` | No |
44
+
45
+ With `dataCollection`, genAI input/output capture is **on by default**. Supported
46
+ integrations default `recordInputs`/`recordOutputs` to `true` (governed by
47
+ `dataCollection.genAI`). To disable it, set
48
+ `dataCollection: { genAI: { inputs: false, outputs: false } }`. Use integration-level
49
+ options to opt out or override specific integrations.
50
+
51
+ ## Configuration Examples
52
+
53
+ ### Auto-enabled integrations
54
+
55
+ ```typescript
56
+ import * as Sentry from "@sentry/node";
57
+
58
+ Sentry.init({
59
+ dsn: process.env.SENTRY_DSN,
60
+ tracesSampleRate: 1.0,
61
+ dataCollection: {
62
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
63
+ // https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
64
+ // userInfo: false,
65
+ // httpBodies: [],
66
+ },
67
+ });
68
+ // OpenAI, Anthropic, LangChain, LangGraph, Google GenAI activate automatically
69
+ ```
70
+
71
+ ### Explicit configuration with recordInputs/recordOutputs override
72
+
73
+ ```typescript
74
+ Sentry.init({
75
+ dsn: process.env.SENTRY_DSN,
76
+ tracesSampleRate: 1.0,
77
+ dataCollection: {
78
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
79
+ // https://docs.sentry.io/platforms/javascript/guides/node/configuration/options/#dataCollection
80
+ // userInfo: false,
81
+ // httpBodies: [],
82
+ },
83
+ integrations: [Sentry.openAIIntegration(), Sentry.vercelAIIntegration()],
84
+ });
85
+ ```
86
+
87
+ ### Vercel AI SDK per-call telemetry (required)
88
+
89
+ ```typescript
90
+ await generateText({
91
+ model: openai("gpt-4.1"),
92
+ prompt: "Hello",
93
+ experimental_telemetry: { isEnabled: true, recordInputs: true, recordOutputs: true },
94
+ });
95
+ ```
96
+
97
+ ### Browser / Next.js client-side (manual wrapping required)
98
+
99
+ ```typescript
100
+ import OpenAI from "openai";
101
+ import * as Sentry from "@sentry/nextjs"; // or @sentry/browser
102
+
103
+ const openai = Sentry.instrumentOpenAiClient(new OpenAI());
104
+ ```
105
+
106
+ ## Manual Instrumentation - `gen_ai.*` Spans
107
+
108
+ Use when the library isn’t supported, or for wrapping custom AI logic.
109
+
110
+ ### `gen_ai.request` - LLM call
111
+
112
+ ```typescript
113
+ await Sentry.startSpan(
114
+ {
115
+ op: "gen_ai.request",
116
+ name: "chat claude-sonnet-4-6",
117
+ attributes: { "gen_ai.request.model": "claude-sonnet-4-6" },
118
+ },
119
+ async (span) => {
120
+ span.setAttribute("gen_ai.request.messages", JSON.stringify(messages));
121
+ const result = await myClient.chat(messages);
122
+ span.setAttribute("gen_ai.usage.input_tokens", result.usage.inputTokens);
123
+ span.setAttribute("gen_ai.usage.output_tokens", result.usage.outputTokens);
124
+ return result;
125
+ },
126
+ );
127
+ ```
128
+
129
+ ### `gen_ai.invoke_agent` - Agent lifecycle
130
+
131
+ ```typescript
132
+ await Sentry.startSpan(
133
+ {
134
+ op: "gen_ai.invoke_agent",
135
+ name: "invoke_agent Weather Agent",
136
+ attributes: {
137
+ "gen_ai.agent.name": "Weather Agent",
138
+ "gen_ai.request.model": "claude-sonnet-4-6",
139
+ },
140
+ },
141
+ async (span) => {
142
+ const result = await myAgent.run(task);
143
+ span.setAttribute("gen_ai.usage.input_tokens", result.totalInputTokens);
144
+ span.setAttribute("gen_ai.usage.output_tokens", result.totalOutputTokens);
145
+ return result;
146
+ },
147
+ );
148
+ ```
149
+
150
+ ### `gen_ai.execute_tool` - Tool/function call
151
+
152
+ ```typescript
153
+ await Sentry.startSpan(
154
+ {
155
+ op: "gen_ai.execute_tool",
156
+ name: "execute_tool get_weather",
157
+ attributes: {
158
+ "gen_ai.tool.name": "get_weather",
159
+ "gen_ai.tool.type": "function",
160
+ "gen_ai.tool.input": JSON.stringify({ location: "Paris" }),
161
+ },
162
+ },
163
+ async (span) => {
164
+ const result = await getWeather("Paris");
165
+ span.setAttribute("gen_ai.tool.output", JSON.stringify(result));
166
+ return result;
167
+ },
168
+ );
169
+ ```
170
+
171
+ ## Span Attribute Reference
172
+
173
+ ### Common attributes
174
+
175
+ | Attribute | Type | Required | Description |
176
+ | ----------------------- | ------ | -------- | ---------------------------------------------------------------- |
177
+ | `gen_ai.request.model` | string | Yes | Model identifier (e.g., `claude-sonnet-4-6`, `gemini-2.5-flash`) |
178
+ | `gen_ai.operation.name` | string | No | Human-readable operation label |
179
+ | `gen_ai.agent.name` | string | No | Agent name (for agent spans) |
180
+
181
+ ### Model config attributes
182
+
183
+ | Attribute | Type |
184
+ | --------------------------------- | ------ |
185
+ | `gen_ai.request.reasoning_effort` | string |
186
+
187
+ ### Content attributes (captured by default; gated by `dataCollection.genAI` + `recordInputs/recordOutputs`)
188
+
189
+ | Attribute | Type | Description |
190
+ | -------------------------------- | ------ | ------------------------------------- |
191
+ | `gen_ai.request.messages` | string | **JSON-stringified** message array |
192
+ | `gen_ai.request.available_tools` | string | **JSON-stringified** tool definitions |
193
+ | `gen_ai.response.text` | string | **JSON-stringified** response array |
194
+ | `gen_ai.response.tool_calls` | string | **JSON-stringified** tool call array |
195
+
196
+ > Span attributes only accept primitives - arrays/objects must be JSON-stringified.
197
+
198
+ ### Token usage attributes
199
+
200
+ | Attribute | Type | Description |
201
+ | --------------------------------------- | ---- | ----------------------------------------- |
202
+ | `gen_ai.usage.input_tokens` | int | Total input tokens (including cached) |
203
+ | `gen_ai.usage.input_tokens.cached` | int | Subset served from cache |
204
+ | `gen_ai.usage.input_tokens.cache_write` | int | Tokens written to cache (Anthropic) |
205
+ | `gen_ai.usage.output_tokens` | int | Total output tokens (including reasoning) |
206
+ | `gen_ai.usage.output_tokens.reasoning` | int | Subset for chain-of-thought (o3, etc.) |
207
+ | `gen_ai.usage.total_tokens` | int | Sum of input + output |
208
+
209
+ > Cached and reasoning tokens are **subsets** of totals, not additive.
210
+ > Incorrect reporting produces wrong cost calculations.
211
+
212
+ ## Agent Workflow Hierarchy
213
+
214
+ ```
215
+ Transaction
216
+ └── gen_ai.invoke_agent "Weather Agent"
217
+ ├── gen_ai.request "chat claude-sonnet-4-6"
218
+ ├── gen_ai.execute_tool "get_weather"
219
+ ├── gen_ai.request "chat claude-sonnet-4-6" ← follow-up
220
+ └── gen_ai.execute_tool "format_report"
221
+ ```
222
+
223
+ ## Streaming
224
+
225
+ | Integration | Streaming | Token counts in streams |
226
+ | ----------------- | --------- | -------------------------------------------------- |
227
+ | OpenAI | Yes | Requires `stream_options: { include_usage: true }` |
228
+ | Anthropic | Yes | Automatic |
229
+ | Vercel AI SDK | Yes | Automatic (with `experimental_telemetry`) |
230
+ | LangChain | Yes | Tracked |
231
+ | Manual `gen_ai.*` | Yes | Set token counts after stream completes |
232
+
233
+ ## Unsupported Providers
234
+
235
+ | Provider | Workaround |
236
+ | ----------- | ----------------------- |
237
+ | Cohere | Manual `gen_ai.*` spans |
238
+ | AWS Bedrock | Manual `gen_ai.*` spans |
239
+ | Mistral | Manual `gen_ai.*` spans |
240
+ | Groq | Manual `gen_ai.*` spans |
241
+
242
+ ## Sampling Strategy
243
+
244
+ If `tracesSampleRate` < 1.0, use a `tracesSampler` that keeps 100% of gen_ai-related
245
+ transactions while sampling other traffic at a lower rate.
246
+
247
+ ## Conversation Tracking
248
+
249
+ Link AI spans across turns into a chat-style timeline at **Explore > Conversations**.
250
+
251
+ **Prerequisites:** `streamGenAiSpans` defaults to `true` (SDK >=10.61.0, so AI spans
252
+ stream as standalone items) and genAI input/output capture enabled (on by default via
253
+ `dataCollection`) — Conversations reconstructs the chat from input/output attributes, so
254
+ without input/output capture the view will be empty.
255
+
256
+ ```typescript
257
+ import * as Sentry from "@sentry/node";
258
+
259
+ // Set at the start of a conversation
260
+ Sentry.setConversationId("conv_abc123");
261
+
262
+ // All subsequent AI calls carry gen_ai.conversation.id: "conv_abc123"
263
+ await openai.chat.completions.create({
264
+ model: "gpt-5.5",
265
+ messages: [{ role: "user", content: "Hello" }],
266
+ });
267
+
268
+ // Later turns in the same conversation are linked automatically
269
+ await openai.chat.completions.create({
270
+ model: "gpt-5.5",
271
+ messages: [
272
+ { role: "user", content: "Hello" },
273
+ { role: "assistant", content: "Hi there!" },
274
+ { role: "user", content: "What's the weather?" },
275
+ ],
276
+ });
277
+ ```
278
+
279
+ A single conversation can span multiple traces (e.g., page refresh), and a single trace
280
+ can contain multiple conversations.
281
+
282
+ ### User Attribution
283
+
284
+ To populate the **User** column in Conversations, call `setUser` once per request or
285
+ session before any AI calls:
286
+
287
+ ```typescript
288
+ Sentry.setUser({ id: "user_123", email: "jane@example.com", username: "jane" });
289
+ ```
290
+
291
+ ## Troubleshooting
292
+
293
+ | Issue | Solution |
294
+ | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
295
+ | No AI spans appearing | Verify `tracesSampleRate > 0`; check SDK >=10.61.0 |
296
+ | Token counts missing in streams | Add `stream_options: { include_usage: true }` (OpenAI) |
297
+ | Vercel AI spans not tracked | Add `experimental_telemetry: { isEnabled: true }` per call |
298
+ | Browser OpenAI not traced | Use `Sentry.instrumentOpenAiClient()` - auto-instrumentation is server-only |
299
+ | Prompts not captured | genAI capture is on by default; ensure you haven’t set `dataCollection: { genAI: { inputs: false } }`, or pass `recordInputs: true` explicitly |
300
+ | AI Agents Dashboard empty | Ensure traces are being sent; check DSN and `tracesSampleRate` |
301
+ | Wrong cost calculations | Cached/reasoning tokens are subsets of totals, not additions |
302
+ | Conversations view empty | Ensure `streamGenAiSpans` is enabled (default since SDK 10.61.0), genAI capture is on (default; not disabled via `dataCollection: { genAI: { inputs: false } }`), and a conversation ID is set via `Sentry.setConversationId()` |
303
+ | User column shows “Unknown” | Call `Sentry.setUser()` once per request or session |