@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,491 @@
1
+ # Sentry Next.js SDK
2
+
3
+ Opinionated wizard that scans your Next.js project and guides you through complete
4
+ Sentry setup across all three runtimes: browser, Node.js server, and Edge.
5
+
6
+ > **Note:** SDK versions and APIs below reflect current Sentry docs at time of writing
7
+ > (`@sentry/nextjs` ≥8.28.0). Always verify against
8
+ > [docs.sentry.io/platforms/javascript/guides/nextjs/](https://docs.sentry.io/platforms/javascript/guides/nextjs/)
9
+ > before implementing.
10
+
11
+ ---
12
+
13
+ ## Phase 1: Detect
14
+
15
+ Run these commands to understand the project before making any recommendations:
16
+
17
+ ```bash
18
+ # Detect Next.js version and existing Sentry
19
+ cat package.json | grep -E '"next"|"@sentry/'
20
+
21
+ # Detect router type (App Router vs Pages Router)
22
+ ls src/app app src/pages pages 2>/dev/null
23
+
24
+ # Check for existing Sentry config files
25
+ ls instrumentation.ts instrumentation-client.ts sentry.server.config.ts sentry.edge.config.ts 2>/dev/null
26
+ ls src/instrumentation.ts src/instrumentation-client.ts 2>/dev/null
27
+
28
+ # Check next.config
29
+ ls next.config.ts next.config.js next.config.mjs 2>/dev/null
30
+
31
+ # Check for existing error boundaries
32
+ find . -name "global-error.tsx" -o -name "_error.tsx" 2>/dev/null | grep -v node_modules
33
+
34
+ # Check build tool
35
+ cat package.json | grep -E '"turbopack"|"webpack"'
36
+
37
+ # Check for logging libraries
38
+ cat package.json | grep -E '"pino"|"winston"|"bunyan"'
39
+
40
+ # Check for companion backend
41
+ ls ../backend ../server ../api 2>/dev/null
42
+ cat ../go.mod ../requirements.txt ../Gemfile 2>/dev/null | head -3
43
+ ```
44
+
45
+ **What to determine:**
46
+
47
+ | Question | Impact |
48
+ | --------------------------------- | --------------------------------------------------------------------------- |
49
+ | Next.js version? | 13+ required; 15+ needed for Turbopack support |
50
+ | App Router or Pages Router? | Determines error boundary files needed (`global-error.tsx` vs `_error.tsx`) |
51
+ | `@sentry/nextjs` already present? | Skip install, go to feature config |
52
+ | Existing `instrumentation.ts`? | Merge Sentry into it rather than replace |
53
+ | Turbopack in use? | Tree-shaking in `withSentryConfig` is webpack-only |
54
+ | Logging library detected? | Recommend Sentry Logs integration |
55
+ | Backend directory found? | Trigger Phase 4 cross-link suggestion |
56
+
57
+ ---
58
+
59
+ ## Phase 2: Recommend
60
+
61
+ Present a concrete recommendation based on what you found.
62
+ Don’t ask open-ended questions — lead with a proposal:
63
+
64
+ **Recommended (core coverage):**
65
+
66
+ - ✅ **Error Monitoring** — always; captures server errors, client errors, server
67
+ actions, and unhandled promise rejections
68
+ - ✅ **Tracing** — server-side request tracing + client-side navigation spans across all
69
+ runtimes
70
+ - ✅ **Session Replay** — recommended for user-facing apps; records sessions around
71
+ errors
72
+
73
+ **Optional (enhanced observability):**
74
+
75
+ - ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when `pino`/`winston`
76
+ or log search is needed
77
+ - ⚡ **Profiling** — continuous profiling; requires `Document-Policy: js-profiling`
78
+ header
79
+ - ⚡ **AI Monitoring** — OpenAI, Vercel AI SDK, Anthropic; recommend when AI/LLM calls
80
+ detected
81
+ - ⚡ **Crons** — detect missed/failed scheduled jobs; recommend when cron patterns
82
+ detected
83
+ - ⚡ **Metrics** — custom metrics via `Sentry.metrics.*`; recommend when custom KPIs or
84
+ business metrics needed
85
+
86
+ **Recommendation logic:**
87
+
88
+ | Feature | Recommend when … |
89
+ | ---------------- | -------------------------------------------------------------------------------- |
90
+ | Error Monitoring | **Always** — non-negotiable baseline |
91
+ | Tracing | **Always for Next.js** — server route tracing + client navigation are high-value |
92
+ | Session Replay | User-facing app, login flows, or checkout pages |
93
+ | Logging | App uses structured logging or needs log-to-trace correlation |
94
+ | Profiling | Performance-critical app; client sets `Document-Policy: js-profiling` |
95
+ | AI Monitoring | App makes OpenAI, Vercel AI SDK, or Anthropic calls |
96
+ | Crons | App has Vercel Cron jobs, scheduled API routes, or `node-cron` usage |
97
+ | Metrics | App needs custom counters, gauges, or histograms via `Sentry.metrics.*` |
98
+
99
+ Propose: _“I recommend setting up Error Monitoring + Tracing + Session Replay.
100
+ Want me to also add Logging or Profiling?”_
101
+
102
+ ---
103
+
104
+ ## Phase 3: Guide
105
+
106
+ ### Option 1: Wizard (Recommended)
107
+
108
+ > **You need to run this yourself** — the wizard opens a browser for login and requires
109
+ > interactive input that the agent can’t handle.
110
+ > Copy-paste into your terminal:
111
+ >
112
+ > ```
113
+ > npx @sentry/wizard@latest -i nextjs
114
+ > ```
115
+ >
116
+ > It handles login, org/project selection, SDK installation, config files
117
+ > (`instrumentation-client.ts`, `sentry.server.config.ts`, `sentry.edge.config.ts`,
118
+ > `instrumentation.ts`), `next.config.ts` wrapping, source map upload, and adds a
119
+ > `/sentry-example-page`.
120
+ >
121
+ > **Once it finishes, come back and skip to [Verification](#verification).**
122
+
123
+ If the user skips the wizard, proceed with Option 2 (Manual Setup) below.
124
+
125
+ ---
126
+
127
+ ### Option 2: Manual Setup
128
+
129
+ #### Install
130
+
131
+ ```bash
132
+ npm install @sentry/nextjs --save
133
+ ```
134
+
135
+ #### Create `instrumentation-client.ts` — Browser / Client Runtime
136
+
137
+ > Older docs used `sentry.client.config.ts` — the current pattern is
138
+ > `instrumentation-client.ts`.
139
+
140
+ ```typescript
141
+ import * as Sentry from "@sentry/nextjs";
142
+
143
+ Sentry.init({
144
+ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN ?? "___PUBLIC_DSN___",
145
+
146
+ dataCollection: {
147
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
148
+ // https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/options/#dataCollection
149
+ // userInfo: false,
150
+ // httpBodies: [],
151
+ },
152
+
153
+ // 100% in dev, 10% in production
154
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1.0 : 0.1,
155
+
156
+ // Session Replay: 10% of all sessions, 100% of sessions with errors
157
+ replaysSessionSampleRate: 0.1,
158
+ replaysOnErrorSampleRate: 1.0,
159
+
160
+ enableLogs: true,
161
+
162
+ integrations: [
163
+ Sentry.replayIntegration(),
164
+ // Optional: user feedback widget
165
+ // Sentry.feedbackIntegration({ colorScheme: "system" }),
166
+ ],
167
+ });
168
+
169
+ // Hook into App Router navigation transitions (App Router only)
170
+ export const onRouterTransitionStart = Sentry.captureRouterTransitionStart;
171
+ ```
172
+
173
+ #### Create `sentry.server.config.ts` — Node.js Server Runtime
174
+
175
+ ```typescript
176
+ import * as Sentry from "@sentry/nextjs";
177
+
178
+ Sentry.init({
179
+ dsn: process.env.SENTRY_DSN ?? "___DSN___",
180
+
181
+ dataCollection: {
182
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
183
+ // https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/options/#dataCollection
184
+ // userInfo: false,
185
+ // httpBodies: [],
186
+ },
187
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1.0 : 0.1,
188
+
189
+ // Attach local variable values to stack frames
190
+ includeLocalVariables: true,
191
+
192
+ enableLogs: true,
193
+ });
194
+ ```
195
+
196
+ #### Create `sentry.edge.config.ts` — Edge Runtime
197
+
198
+ ```typescript
199
+ import * as Sentry from "@sentry/nextjs";
200
+
201
+ Sentry.init({
202
+ dsn: process.env.SENTRY_DSN ?? "___DSN___",
203
+
204
+ dataCollection: {
205
+ // To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
206
+ // https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/options/#dataCollection
207
+ // userInfo: false,
208
+ // httpBodies: [],
209
+ },
210
+ tracesSampleRate: process.env.NODE_ENV === "development" ? 1.0 : 0.1,
211
+
212
+ enableLogs: true,
213
+ });
214
+ ```
215
+
216
+ #### Create `instrumentation.ts` — Server-Side Registration Hook
217
+
218
+ > Requires `experimental.instrumentationHook: true` in `next.config` for Next.js <
219
+ > 14.0.4. It’s stable in 14.0.4+.
220
+
221
+ ```typescript
222
+ import * as Sentry from "@sentry/nextjs";
223
+
224
+ export async function register() {
225
+ if (process.env.NEXT_RUNTIME === "nodejs") {
226
+ await import("./sentry.server.config");
227
+ }
228
+
229
+ if (process.env.NEXT_RUNTIME === "edge") {
230
+ await import("./sentry.edge.config");
231
+ }
232
+ }
233
+
234
+ // Automatically captures all unhandled server-side request errors
235
+ // Requires @sentry/nextjs >= 8.28.0
236
+ export const onRequestError = Sentry.captureRequestError;
237
+ ```
238
+
239
+ **Runtime dispatch:**
240
+
241
+ | `NEXT_RUNTIME` | Config file loaded |
242
+ | ----------------- | ----------------------------------------------------------- |
243
+ | `"nodejs"` | `sentry.server.config.ts` |
244
+ | `"edge"` | `sentry.edge.config.ts` |
245
+ | _(client bundle)_ | `instrumentation-client.ts` (Next.js handles this directly) |
246
+
247
+ #### App Router: Create `app/global-error.tsx`
248
+
249
+ This catches errors in the root layout and React render errors:
250
+
251
+ ```tsx
252
+ "use client";
253
+
254
+ import * as Sentry from "@sentry/nextjs";
255
+ import NextError from "next/error";
256
+ import { useEffect } from "react";
257
+
258
+ export default function GlobalError({ error }: { error: Error & { digest?: string } }) {
259
+ useEffect(() => {
260
+ Sentry.captureException(error);
261
+ }, [error]);
262
+
263
+ return (
264
+ <html>
265
+ <body>
266
+ <NextError statusCode={0} />
267
+ </body>
268
+ </html>
269
+ );
270
+ }
271
+ ```
272
+
273
+ #### Pages Router: Update `pages/_error.tsx`
274
+
275
+ ```tsx
276
+ import * as Sentry from "@sentry/nextjs";
277
+ import type { NextPageContext } from "next";
278
+ import NextErrorComponent from "next/error";
279
+
280
+ type ErrorProps = { statusCode: number };
281
+
282
+ export default function CustomError({ statusCode }: ErrorProps) {
283
+ return <NextErrorComponent statusCode={statusCode} />;
284
+ }
285
+
286
+ CustomError.getInitialProps = async (ctx: NextPageContext) => {
287
+ await Sentry.captureUnderscoreErrorException(ctx);
288
+ return NextErrorComponent.getInitialProps(ctx);
289
+ };
290
+ ```
291
+
292
+ #### Wrap `next.config.ts` with `withSentryConfig()`
293
+
294
+ ```typescript
295
+ import type { NextConfig } from "next";
296
+ import { withSentryConfig } from "@sentry/nextjs";
297
+
298
+ const nextConfig: NextConfig = {
299
+ // your existing Next.js config
300
+ };
301
+
302
+ export default withSentryConfig(nextConfig, {
303
+ org: "___ORG_SLUG___",
304
+ project: "___PROJECT_SLUG___",
305
+
306
+ // Source map upload auth token (see Source Maps section below)
307
+ authToken: process.env.SENTRY_AUTH_TOKEN,
308
+
309
+ // Upload wider set of client source files for better stack trace resolution
310
+ widenClientFileUpload: true,
311
+
312
+ // Create a proxy API route to bypass ad-blockers
313
+ tunnelRoute: "/monitoring",
314
+
315
+ // Suppress non-CI output
316
+ silent: !process.env.CI,
317
+ });
318
+ ```
319
+
320
+ #### Exclude Tunnel Route from Middleware
321
+
322
+ If you have `middleware.ts`, exclude the tunnel path from auth or redirect logic:
323
+
324
+ ```typescript
325
+ // middleware.ts
326
+ export const config = {
327
+ matcher: [
328
+ // Exclude monitoring route, Next.js internals, and static files
329
+ "/((?!monitoring|_next/static|_next/image|favicon.ico).*)",
330
+ ],
331
+ };
332
+ ```
333
+
334
+ ---
335
+
336
+ ### Source Maps Setup
337
+
338
+ `withSentryConfig` uploads source maps on production builds so stack traces show your
339
+ original code instead of minified output.
340
+ The SDK-specific wiring is the `authToken` (plus `widenClientFileUpload`, which improves
341
+ client stack traces) in `next.config.ts`:
342
+
343
+ ```typescript
344
+ withSentryConfig(nextConfig, {
345
+ org: "my-org",
346
+ project: "my-project",
347
+ authToken: process.env.SENTRY_AUTH_TOKEN, // from CI env or a gitignored .env.sentry-build-plugin
348
+ widenClientFileUpload: true,
349
+ });
350
+ ```
351
+
352
+ `SENTRY_AUTH_TOKEN` is a build-time secret, distinct from the DSN.
353
+
354
+ Source maps are uploaded automatically on every `next build`.
355
+
356
+ ---
357
+
358
+ ### For Each Agreed Feature
359
+
360
+ Load the corresponding reference file and follow its steps:
361
+
362
+ | Feature | Reference file | Load when … |
363
+ | ---------------- | ----------------------- | -------------------------------------------------------------------------------------------------- |
364
+ | Error Monitoring | `./error-monitoring.md` | Always (baseline) — App Router error boundaries, Pages Router `_error.tsx`, server action wrapping |
365
+ | Tracing | `./tracing.md` | Server-side request tracing, client navigation, distributed tracing, `tracePropagationTargets` |
366
+ | Session Replay | `./session-replay.md` | User-facing app; privacy masking, canvas recording, network capture |
367
+ | Logging | `./logging.md` | Structured logs, `Sentry.logger.*`, log-to-trace correlation |
368
+ | Profiling | `./profiling.md` | Continuous profiling, `Document-Policy` header, `nodeProfilingIntegration` |
369
+ | AI Monitoring | `./ai-monitoring.md` | App uses OpenAI, Vercel AI SDK, or Anthropic |
370
+ | Crons | `./crons.md` | Vercel Cron, scheduled API routes, `node-cron` |
371
+ | Metrics | `./metrics.md` | Custom counters, gauges, distributions via `Sentry.metrics.*` |
372
+
373
+ For each feature: read the reference file, follow its steps exactly, and verify before
374
+ moving on.
375
+
376
+ ---
377
+
378
+ ## Configuration Reference
379
+
380
+ ### `Sentry.init()` Options
381
+
382
+ | Option | Type | Default | Notes |
383
+ | -------------------------- | --------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
384
+ | `dsn` | `string` | — | Required. Use `NEXT_PUBLIC_SENTRY_DSN` for client, `SENTRY_DSN` for server |
385
+ | `tracesSampleRate` | `number` | — | 0–1; 1.0 in dev, 0.1 in prod recommended |
386
+ | `replaysSessionSampleRate` | `number` | `0.1` | Fraction of all sessions recorded |
387
+ | `replaysOnErrorSampleRate` | `number` | `1.0` | Fraction of error sessions recorded |
388
+ | `dataCollection` | `object` | conservative unless set | Fine-grained control over auto-collected categories (`userInfo`, `cookies`, `httpHeaders`, `httpBodies`, `queryParams`, `genAI`). When omitted, the SDK falls back to `sendDefaultPii` (default `false`). Passing the object — even `{}` — flips unset categories to their permissive defaults; opt out per category. |
389
+ | `includeLocalVariables` | `boolean` | `false` | Attach local variable values to stack frames (server only) |
390
+ | `enableLogs` | `boolean` | `false` | Enable Sentry Logs product |
391
+ | `environment` | `string` | auto | `"production"`, `"staging"`, etc. |
392
+ | `release` | `string` | auto | Set to commit SHA or version tag |
393
+ | `debug` | `boolean` | `false` | Log SDK activity to console |
394
+
395
+ ### `withSentryConfig()` Options
396
+
397
+ | Option | Type | Notes |
398
+ | ----------------------- | --------- | ----------------------------------------------------------- |
399
+ | `org` | `string` | Sentry organization slug |
400
+ | `project` | `string` | Sentry project slug |
401
+ | `authToken` | `string` | Source map upload token (`SENTRY_AUTH_TOKEN`) |
402
+ | `widenClientFileUpload` | `boolean` | Upload more client files for better stack traces |
403
+ | `tunnelRoute` | `string` | API route path for ad-blocker bypass (e.g. `"/monitoring"`) |
404
+ | `silent` | `boolean` | Suppress build output (`!process.env.CI` recommended) |
405
+ | `webpack.treeshake.*` | `object` | Tree-shake SDK features (webpack only, not Turbopack) |
406
+
407
+ ### Environment Variables
408
+
409
+ | Variable | Runtime | Purpose |
410
+ | ------------------------ | ------------- | -------------------------------------------------- |
411
+ | `NEXT_PUBLIC_SENTRY_DSN` | Client | DSN for browser Sentry init (public) |
412
+ | `SENTRY_DSN` | Server / Edge | DSN for server/edge Sentry init |
413
+ | `SENTRY_AUTH_TOKEN` | Build | Source map upload auth token (secret) |
414
+ | `SENTRY_ORG` | Build | Org slug (alternative to `org` in config) |
415
+ | `SENTRY_PROJECT` | Build | Project slug (alternative to `project` in config) |
416
+ | `SENTRY_RELEASE` | Server | Release version string (auto-detected from git) |
417
+ | `NEXT_RUNTIME` | Server / Edge | `"nodejs"` or `"edge"` (set by Next.js internally) |
418
+
419
+ ---
420
+
421
+ ## Verification
422
+
423
+ After wizard or manual setup, verify Sentry is working:
424
+
425
+ ```typescript
426
+ // Add temporarily to a server action or API route, then remove
427
+ import * as Sentry from "@sentry/nextjs";
428
+
429
+ throw new Error("Sentry test error — delete me");
430
+ // or
431
+ Sentry.captureException(new Error("Sentry test error — delete me"));
432
+ ```
433
+
434
+ Then check your [Sentry Issues dashboard](https://sentry.io/issues/) — the error should
435
+ appear within ~30 seconds.
436
+
437
+ **Verification checklist:**
438
+
439
+ | Check | How |
440
+ | ---------------------- | --------------------------------------------- |
441
+ | Client errors captured | Throw in a client component, verify in Sentry |
442
+ | Server errors captured | Throw in a server action or API route |
443
+ | Edge errors captured | Throw in middleware or edge route handler |
444
+ | Source maps working | Check stack trace shows readable file names |
445
+ | Session Replay working | Check Replays tab in Sentry dashboard |
446
+
447
+ ---
448
+
449
+ ## Phase 4: Cross-Link
450
+
451
+ After completing Next.js setup, check for companion services:
452
+
453
+ ```bash
454
+ # Check for backend services in adjacent directories
455
+ ls ../backend ../server ../api ../services 2>/dev/null
456
+
457
+ # Check for backend language indicators
458
+ cat ../go.mod 2>/dev/null | head -3
459
+ cat ../requirements.txt ../pyproject.toml 2>/dev/null | head -3
460
+ cat ../Gemfile 2>/dev/null | head -3
461
+ cat ../pom.xml ../build.gradle 2>/dev/null | head -3
462
+ ```
463
+
464
+ If a backend is found, suggest the matching SDK skill:
465
+
466
+ | Backend detected | Suggest skill |
467
+ | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
468
+ | Go (`go.mod`) | [`go`](../go/index.md) |
469
+ | Python (`requirements.txt`, `pyproject.toml`) | [`python`](../python/index.md) |
470
+ | Ruby (`Gemfile`) | [`ruby`](../ruby/index.md) |
471
+ | Java/Kotlin (`pom.xml`, `build.gradle`) | See [docs.sentry.io/platforms/java/](https://docs.sentry.io/platforms/java/) |
472
+ | Node.js (Express, Fastify, Hapi) | `@sentry/node` — see [docs.sentry.io/platforms/javascript/guides/express/](https://docs.sentry.io/platforms/javascript/guides/express/) |
473
+
474
+ Connecting frontend and backend with the same DSN or linked projects enables
475
+ **distributed tracing** — stack traces that span your browser, Next.js server, and
476
+ backend API in a single trace view.
477
+
478
+ ---
479
+
480
+ ## Troubleshooting
481
+
482
+ | Issue | Cause | Solution |
483
+ | -------------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
484
+ | Events not appearing | DSN misconfigured or `debug: false` hiding errors | Set `debug: true` temporarily; check browser network tab for requests to `sentry.io` |
485
+ | Stack traces show minified code | Source maps not uploading | Check `SENTRY_AUTH_TOKEN` is set; run `next build` and look for “Source Maps” in build output |
486
+ | `onRequestError` not firing | SDK version < 8.28.0 | Upgrade: `npm install @sentry/nextjs@latest` |
487
+ | Edge runtime errors missing | `sentry.edge.config.ts` not loaded | Verify `instrumentation.ts` imports it when `NEXT_RUNTIME === "edge"` |
488
+ | Tunnel route returns 404 | `tunnelRoute` set but Next.js route missing | The plugin creates it automatically; check you ran `next build` after adding `tunnelRoute` |
489
+ | `withSentryConfig` tree-shaking breaks build | Turbopack in use | Tree-shaking options only work with webpack; remove `webpack.treeshake` options when using Turbopack |
490
+ | `global-error.tsx` not catching errors | Missing `"use client"` directive | Add `"use client"` as the very first line of `global-error.tsx` |
491
+ | Session Replay not recording | `replayIntegration()` missing from client init | Add `Sentry.replayIntegration()` to `integrations` in `instrumentation-client.ts` |