@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,344 @@
1
+ # Logging — Sentry Svelte/SvelteKit SDK
2
+
3
+ > Minimum SDK: `@sentry/sveltekit` ≥9.41.0+ / `@sentry/svelte` ≥9.41.0+ for
4
+ > `Sentry.logger` API\
5
+ > `consoleLoggingIntegration()`: requires ≥10.13.0+\
6
+ > Scope-based attribute setters (`getIsolationScope`, `getGlobalScope`): requires
7
+ > ≥10.32.0+
8
+
9
+ > ⚠️ **Not available via CDN/loader snippet** — NPM install required.
10
+
11
+ ---
12
+
13
+ ## Enabling Logs
14
+
15
+ `enableLogs` is opt-in.
16
+ Add it to every `Sentry.init()` call where you want logs captured.
17
+
18
+ ### SvelteKit — both files
19
+
20
+ ```typescript
21
+ // src/instrumentation.server.ts (or hooks.server.ts for legacy)
22
+ import * as Sentry from "@sentry/sveltekit";
23
+
24
+ Sentry.init({
25
+ dsn: process.env.SENTRY_DSN,
26
+ enableLogs: true,
27
+ });
28
+ ```
29
+
30
+ ```typescript
31
+ // src/hooks.client.ts
32
+ import * as Sentry from "@sentry/sveltekit";
33
+
34
+ Sentry.init({
35
+ dsn: import.meta.env.PUBLIC_SENTRY_DSN ?? import.meta.env.VITE_SENTRY_DSN,
36
+ enableLogs: true,
37
+ });
38
+
39
+ export const handleError = Sentry.handleErrorWithSentry();
40
+ ```
41
+
42
+ ### Standalone Svelte — main.ts
43
+
44
+ ```typescript
45
+ import * as Sentry from "@sentry/svelte";
46
+
47
+ Sentry.init({
48
+ dsn: import.meta.env.VITE_SENTRY_DSN,
49
+ enableLogs: true,
50
+ });
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Logger API — Six Levels
56
+
57
+ ```typescript
58
+ import * as Sentry from "@sentry/sveltekit"; // or "@sentry/svelte"
59
+
60
+ Sentry.logger.trace("Entering processOrder", { fn: "processOrder", orderId: "ord_1" });
61
+ Sentry.logger.debug("Cache lookup", { key: "user:123", hit: false });
62
+ Sentry.logger.info("Order created", { orderId: "order_456", total: 99.99 });
63
+ Sentry.logger.warn("Rate limit approaching", { current: 95, max: 100 });
64
+ Sentry.logger.error("Payment failed", { reason: "card_declined", userId: "u_1" });
65
+ Sentry.logger.fatal("Database unavailable", { host: "db-primary", port: 5432 });
66
+ ```
67
+
68
+ | Level | Intent |
69
+ | ------- | ----------------------------------------------------------------------- |
70
+ | `trace` | Fine-grained debugging, high-volume — filter aggressively in production |
71
+ | `debug` | Development diagnostics |
72
+ | `info` | Normal operations, business milestones |
73
+ | `warn` | Degraded state, near-limit conditions |
74
+ | `error` | Failures requiring attention |
75
+ | `fatal` | Critical failures, system-down conditions |
76
+
77
+ **Attribute value types:** `string`, `number`, `boolean` only.
78
+
79
+ ---
80
+
81
+ ## Parameterized Messages (`logger.fmt`)
82
+
83
+ Use `logger.fmt` tagged template literals to bind variables as **structured, searchable
84
+ attributes** in Sentry:
85
+
86
+ ```typescript
87
+ const userId = "user_123";
88
+ const productName = "Widget Pro";
89
+ const amount = 49.99;
90
+
91
+ Sentry.logger.info(Sentry.logger.fmt`User ${userId} purchased ${productName} for $${amount}`);
92
+ ```
93
+
94
+ Results in:
95
+
96
+ ```
97
+ message.template: "User %s purchased %s for $%s"
98
+ message.parameter.0: "user_123"
99
+ message.parameter.1: "Widget Pro"
100
+ message.parameter.2: 49.99
101
+ ```
102
+
103
+ This allows filtering in Sentry by any individual parameter value, not just the full
104
+ message string.
105
+
106
+ ---
107
+
108
+ ## Console Capture Integration
109
+
110
+ Automatically forwards `console.*` calls to Sentry as structured logs.
111
+ Requires SDK ≥10.13.0.
112
+
113
+ ```typescript
114
+ Sentry.init({
115
+ dsn: "...",
116
+ enableLogs: true,
117
+ integrations: [
118
+ Sentry.consoleLoggingIntegration({
119
+ levels: ["log", "warn", "error"], // which console levels to forward
120
+ }),
121
+ ],
122
+ });
123
+
124
+ // These are now automatically sent to Sentry:
125
+ console.log("User action", { userId: 123, action: "checkout" });
126
+ console.warn("High memory usage", 85, "%");
127
+ console.error("Fetch failed", new Error("timeout"));
128
+ ```
129
+
130
+ `console.log("Text", 123, true)` → `message.parameter.0 = 123`,
131
+ `message.parameter.1 = true`
132
+
133
+ ### Consola integration (SvelteKit server-side)
134
+
135
+ For apps using the `consola` logging library (common in SvelteKit SSR):
136
+
137
+ ```typescript
138
+ // SDK >= 10.12.0
139
+ import consola from "consola";
140
+ import * as Sentry from "@sentry/sveltekit";
141
+
142
+ const reporter = Sentry.createConsolaReporter();
143
+ consola.addReporter(reporter);
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Scope-Based Automatic Attributes (SDK ≥10.32.0)
149
+
150
+ Attributes set on scopes are **automatically added to all subsequent logs** within that
151
+ scope — no need to repeat them on every log call.
152
+
153
+ ### Global scope (process lifetime)
154
+
155
+ ```typescript
156
+ // Set once at startup — applies everywhere, client and server
157
+ Sentry.getGlobalScope().setAttributes({
158
+ service: "checkout-service",
159
+ version: "2.1.0",
160
+ region: "us-east-1",
161
+ });
162
+ ```
163
+
164
+ ### Isolation scope (per-request in SvelteKit)
165
+
166
+ SvelteKit creates a new isolation scope per server request.
167
+ Set per-request context here:
168
+
169
+ ```typescript
170
+ // src/hooks.server.ts — enrich every server log with request context
171
+ import * as Sentry from "@sentry/sveltekit";
172
+ import { sequence } from "@sveltejs/kit/hooks";
173
+
174
+ export const handle = sequence(Sentry.sentryHandle(), async ({ event, resolve }) => {
175
+ Sentry.getIsolationScope().setAttributes({
176
+ org_id: event.locals.user?.orgId,
177
+ user_tier: event.locals.user?.tier,
178
+ request_id: event.request.headers.get("x-request-id") ?? undefined,
179
+ });
180
+ return resolve(event);
181
+ });
182
+ ```
183
+
184
+ ### Current scope (narrowest, single operation)
185
+
186
+ ```typescript
187
+ Sentry.withScope((scope) => {
188
+ scope.setAttribute("order_id", "ord_789");
189
+ scope.setAttribute("payment_method", "stripe");
190
+ Sentry.logger.info("Processing payment", { amount: 49.99 });
191
+ // order_id and payment_method are included in this log only
192
+ });
193
+ ```
194
+
195
+ ---
196
+
197
+ ## Log Filtering with `beforeSendLog`
198
+
199
+ ```typescript
200
+ Sentry.init({
201
+ dsn: "...",
202
+ enableLogs: true,
203
+ beforeSendLog: (log) => {
204
+ // Drop debug logs in production
205
+ if (log.level === "debug" || log.level === "trace") return null;
206
+
207
+ // Scrub sensitive attribute keys
208
+ if (log.attributes?.password) {
209
+ delete log.attributes.password;
210
+ }
211
+ if (log.attributes?.["credit_card"]) {
212
+ log.attributes["credit_card"] = "[REDACTED]";
213
+ }
214
+
215
+ // Drop health-check noise
216
+ if (log.attributes?.["http.target"] === "/health") return null;
217
+
218
+ return log;
219
+ },
220
+ });
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Auto-Generated Attributes
226
+
227
+ The SDK adds these to every log without any developer action:
228
+
229
+ | Attribute | Source | Notes |
230
+ | ----------------------------------------- | ------------------------------ | -------------------------------------------------------------- |
231
+ | `environment` | `Sentry.init({ environment })` | — |
232
+ | `release` | `Sentry.init({ release })` | — |
233
+ | `sdk.name`, `sdk.version` | SDK internals | — |
234
+ | `browser.name`, `browser.version` | User-Agent | Client-side only |
235
+ | `user.id`, `user.name`, `user.email` | `Sentry.setUser()` | When `dataCollection.userInfo: true` (default in SDK ≥10.57.0) |
236
+ | `sentry.trace.parent_span_id` | Active tracing span | If tracing is enabled |
237
+ | `sentry.replay_id` | Active replay session | If Session Replay is enabled |
238
+ | `message.template`, `message.parameter.X` | `logger.fmt` usage | — |
239
+ | `sentry.origin` | Integration-generated logs | — |
240
+
241
+ ---
242
+
243
+ ## Trace + Log Correlation
244
+
245
+ When tracing is enabled alongside logging, logs are **automatically linked** to the
246
+ current trace:
247
+
248
+ ```typescript
249
+ Sentry.init({
250
+ dsn: "...",
251
+ enableLogs: true,
252
+ tracesSampleRate: 1.0,
253
+ integrations: [Sentry.browserTracingIntegration()],
254
+ });
255
+
256
+ // Inside an active span, logs get sentry.trace.parent_span_id automatically
257
+ await Sentry.startSpan({ name: "process-order", op: "task" }, async () => {
258
+ Sentry.logger.info("Validating cart", { cartId: "cart_abc" });
259
+ // ^ this log is linked to the "process-order" span in Sentry UI
260
+ await validateCart();
261
+ Sentry.logger.info("Payment initiated", { gateway: "stripe" });
262
+ });
263
+ ```
264
+
265
+ Navigate from log → parent span, or from span → correlated logs, in the Sentry UI.
266
+
267
+ ---
268
+
269
+ ## SvelteKit Server-Side Logging
270
+
271
+ On the server side, `enableLogs: true` in `instrumentation.server.ts` enables
272
+ `Sentry.logger.*` in:
273
+
274
+ - `hooks.server.ts` handle functions
275
+ - `+page.server.ts` / `+layout.server.ts` load functions
276
+ - API routes (`+server.ts`)
277
+
278
+ ```typescript
279
+ // src/routes/api/orders/+server.ts
280
+ import * as Sentry from "@sentry/sveltekit";
281
+ import { json } from "@sveltejs/kit";
282
+
283
+ export const POST = async ({ request }) => {
284
+ const body = await request.json();
285
+
286
+ Sentry.logger.info(Sentry.logger.fmt`Creating order for user ${body.userId}`);
287
+
288
+ try {
289
+ const order = await createOrder(body);
290
+ Sentry.logger.info("Order created", { orderId: order.id, total: order.total });
291
+ return json(order, { status: 201 });
292
+ } catch (err) {
293
+ Sentry.logger.error("Order creation failed", {
294
+ userId: body.userId,
295
+ reason: (err as Error).message,
296
+ });
297
+ throw err;
298
+ }
299
+ };
300
+ ```
301
+
302
+ ---
303
+
304
+ ## Svelte vs SvelteKit: Key Differences
305
+
306
+ | Concern | Standalone Svelte | SvelteKit |
307
+ | --------------------------- | --------------------- | ---------------------------------------------------- |
308
+ | `enableLogs` location | Single `main.ts` init | Both `hooks.client.ts` + `instrumentation.server.ts` |
309
+ | Server-side logging | ❌ N/A | ✅ Full — `Sentry.logger.*` in any server code |
310
+ | Isolation scope per request | ❌ N/A | ✅ Set in `hooks.server.ts` for per-request context |
311
+ | `consoleLoggingIntegration` | Single init | Both client and server inits |
312
+ | `consola` reporter | N/A (client-only) | Server hooks or load functions |
313
+ | Trace correlation | Client spans only | Client + server spans |
314
+
315
+ ---
316
+
317
+ ## Best Practices
318
+
319
+ - Add `enableLogs: true` to **both** `hooks.client.ts` and `instrumentation.server.ts`
320
+ in SvelteKit — logging is not shared between the two init calls
321
+ - Use `Sentry.logger.fmt` for any log that includes a variable — enables search by value
322
+ in Sentry
323
+ - Set global attributes (`getGlobalScope().setAttributes()`) for service-level metadata
324
+ (service name, version, region)
325
+ - Use `getIsolationScope().setAttributes()` in `hooks.server.ts` to enrich all logs for
326
+ a given request
327
+ - Use `beforeSendLog` to drop `trace`/`debug` logs in production to control volume
328
+ - Avoid logging raw sensitive data even with `beforeSendLog` — filter at the call site
329
+ when possible
330
+
331
+ ---
332
+
333
+ ## Troubleshooting
334
+
335
+ | Issue | Solution |
336
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
337
+ | Logs not appearing in Sentry | Check `enableLogs: true` is set; logs require SDK ≥9.41.0 |
338
+ | Server logs missing, client logs present | Add `enableLogs: true` to `instrumentation.server.ts` (separate init from client) |
339
+ | `logger.fmt` not creating parameters | Ensure you’re calling `Sentry.logger.fmt` as a tagged template — not a function call |
340
+ | Too many log entries (noise) | Use `beforeSendLog` to filter by level; increase `trace`/`debug` filter in production |
341
+ | Logs not linked to traces | Ensure tracing is enabled and active span exists when log is called |
342
+ | `consoleLoggingIntegration` requires upgrade | Upgrade to `@sentry/sveltekit` ≥10.13.0 |
343
+ | Scope attributes not appearing | Upgrade to ≥10.32.0 for `getGlobalScope`/`getIsolationScope` APIs |
344
+ | Log attributes contain `undefined` | Sentry only accepts `string \| number \| boolean` attribute values — filter undefined before passing |