@danieljvdm/dev-kit 1.0.1 → 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 (330) hide show
  1. package/README.md +6 -6
  2. package/package.json +1 -1
  3. package/skill-sources.jsonc +6 -29
  4. package/skill-sources.lock.json +23 -109
  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 +11 -115
  45. package/skills/open-pull-request/agents/openai.yaml +3 -3
  46. package/skills/open-pull-request/references/evidence.md +22 -0
  47. package/skills/open-pull-request/references/explanation.md +21 -0
  48. package/skills/open-pull-request/references/publication.md +21 -0
  49. package/skills/sentry/LICENSE +202 -0
  50. package/skills/sentry/LICENSE-UPSTREAM +21 -0
  51. package/skills/sentry/NOTICE +14 -0
  52. package/skills/sentry/SKILL.md +33 -0
  53. package/skills/sentry/references/alert-payloads.md +105 -0
  54. package/skills/sentry/references/alerts.md +17 -0
  55. package/skills/sentry/references/artifacts.md +25 -0
  56. package/skills/sentry/references/auth-token.md +65 -0
  57. package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
  58. package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
  59. package/skills/sentry/references/concepts/crons.md +50 -0
  60. package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
  61. package/skills/sentry/references/concepts/errors.md +40 -0
  62. package/skills/sentry/references/concepts/logging.md +85 -0
  63. package/skills/sentry/references/concepts/metrics.md +49 -0
  64. package/skills/sentry/references/concepts/monitors.md +78 -0
  65. package/skills/sentry/references/concepts/profiling.md +38 -0
  66. package/skills/sentry/references/concepts/reduce-volume.md +49 -0
  67. package/skills/sentry/references/concepts/releases.md +43 -0
  68. package/skills/sentry/references/concepts/session-replay.md +35 -0
  69. package/skills/sentry/references/concepts/tracing.md +54 -0
  70. package/skills/sentry/references/concepts/user-feedback.md +36 -0
  71. package/skills/sentry/references/debug-artifacts/android.md +68 -0
  72. package/skills/sentry/references/debug-artifacts/apple.md +96 -0
  73. package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
  74. package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
  75. package/skills/sentry/references/debug-artifacts/index.md +75 -0
  76. package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
  77. package/skills/sentry/references/debug-artifacts/matching.md +73 -0
  78. package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
  79. package/skills/sentry/references/first-error-setup.md +25 -0
  80. package/skills/sentry/references/instrumentation.md +30 -0
  81. package/skills/sentry/references/issues.md +32 -0
  82. package/skills/sentry/references/new-project.md +17 -0
  83. package/skills/sentry/references/otel-exporter.md +30 -0
  84. package/skills/sentry/references/release-workflow.md +31 -0
  85. package/skills/sentry/references/releases/ci-pipeline.md +214 -0
  86. package/skills/sentry/references/releases/index.md +93 -0
  87. package/skills/sentry/references/releases/suspect-commits.md +155 -0
  88. package/skills/sentry/references/releases/tagging.md +131 -0
  89. package/skills/sentry/references/releases/troubleshooting.md +67 -0
  90. package/skills/sentry/references/sdks/android/crons.md +305 -0
  91. package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
  92. package/skills/sentry/references/sdks/android/index.md +748 -0
  93. package/skills/sentry/references/sdks/android/integrations.md +48 -0
  94. package/skills/sentry/references/sdks/android/logging.md +374 -0
  95. package/skills/sentry/references/sdks/android/metrics.md +288 -0
  96. package/skills/sentry/references/sdks/android/profiling.md +397 -0
  97. package/skills/sentry/references/sdks/android/session-replay.md +406 -0
  98. package/skills/sentry/references/sdks/android/tracing.md +861 -0
  99. package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
  100. package/skills/sentry/references/sdks/browser/index.md +714 -0
  101. package/skills/sentry/references/sdks/browser/logging.md +315 -0
  102. package/skills/sentry/references/sdks/browser/profiling.md +236 -0
  103. package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
  104. package/skills/sentry/references/sdks/browser/tracing.md +561 -0
  105. package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
  106. package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
  107. package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
  108. package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
  109. package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
  110. package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
  111. package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
  112. package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
  113. package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
  114. package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
  115. package/skills/sentry/references/sdks/cocoa/index.md +497 -0
  116. package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
  117. package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
  118. package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
  119. package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
  120. package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
  121. package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
  122. package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
  123. package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
  124. package/skills/sentry/references/sdks/dotnet/index.md +614 -0
  125. package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
  126. package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
  127. package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
  128. package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
  129. package/skills/sentry/references/sdks/elixir/crons.md +371 -0
  130. package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
  131. package/skills/sentry/references/sdks/elixir/index.md +383 -0
  132. package/skills/sentry/references/sdks/elixir/logging.md +239 -0
  133. package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
  134. package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
  135. package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
  136. package/skills/sentry/references/sdks/flutter/index.md +728 -0
  137. package/skills/sentry/references/sdks/flutter/logging.md +387 -0
  138. package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
  139. package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
  140. package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
  141. package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
  142. package/skills/sentry/references/sdks/go/crons.md +270 -0
  143. package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
  144. package/skills/sentry/references/sdks/go/index.md +324 -0
  145. package/skills/sentry/references/sdks/go/logging.md +354 -0
  146. package/skills/sentry/references/sdks/go/metrics.md +273 -0
  147. package/skills/sentry/references/sdks/go/profiling.md +46 -0
  148. package/skills/sentry/references/sdks/go/tracing.md +366 -0
  149. package/skills/sentry/references/sdks/index.md +41 -0
  150. package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
  151. package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
  152. package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
  153. package/skills/sentry/references/sdks/nestjs/index.md +699 -0
  154. package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
  155. package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
  156. package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
  157. package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
  158. package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
  159. package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
  160. package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
  161. package/skills/sentry/references/sdks/nextjs/index.md +491 -0
  162. package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
  163. package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
  164. package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
  165. package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
  166. package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
  167. package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
  168. package/skills/sentry/references/sdks/node/crons.md +432 -0
  169. package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
  170. package/skills/sentry/references/sdks/node/index.md +942 -0
  171. package/skills/sentry/references/sdks/node/logging.md +380 -0
  172. package/skills/sentry/references/sdks/node/metrics.md +278 -0
  173. package/skills/sentry/references/sdks/node/profiling.md +373 -0
  174. package/skills/sentry/references/sdks/node/tracing.md +878 -0
  175. package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
  176. package/skills/sentry/references/sdks/php/crons.md +265 -0
  177. package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
  178. package/skills/sentry/references/sdks/php/index.md +362 -0
  179. package/skills/sentry/references/sdks/php/laravel.md +542 -0
  180. package/skills/sentry/references/sdks/php/logging.md +242 -0
  181. package/skills/sentry/references/sdks/php/metrics.md +193 -0
  182. package/skills/sentry/references/sdks/php/profiling.md +115 -0
  183. package/skills/sentry/references/sdks/php/symfony.md +552 -0
  184. package/skills/sentry/references/sdks/php/tracing.md +516 -0
  185. package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
  186. package/skills/sentry/references/sdks/python/crons.md +218 -0
  187. package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
  188. package/skills/sentry/references/sdks/python/index.md +361 -0
  189. package/skills/sentry/references/sdks/python/logging.md +234 -0
  190. package/skills/sentry/references/sdks/python/metrics.md +154 -0
  191. package/skills/sentry/references/sdks/python/profiling.md +120 -0
  192. package/skills/sentry/references/sdks/python/tracing.md +364 -0
  193. package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
  194. package/skills/sentry/references/sdks/react/index.md +492 -0
  195. package/skills/sentry/references/sdks/react/logging.md +364 -0
  196. package/skills/sentry/references/sdks/react/profiling.md +322 -0
  197. package/skills/sentry/references/sdks/react/react-features.md +1272 -0
  198. package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
  199. package/skills/sentry/references/sdks/react/tracing.md +1415 -0
  200. package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
  201. package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
  202. package/skills/sentry/references/sdks/react-native/index.md +1030 -0
  203. package/skills/sentry/references/sdks/react-native/logging.md +444 -0
  204. package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
  205. package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
  206. package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
  207. package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
  208. package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
  209. package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
  210. package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
  211. package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
  212. package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
  213. package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
  214. package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
  215. package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
  216. package/skills/sentry/references/sdks/ruby/crons.md +184 -0
  217. package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
  218. package/skills/sentry/references/sdks/ruby/index.md +297 -0
  219. package/skills/sentry/references/sdks/ruby/logging.md +168 -0
  220. package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
  221. package/skills/sentry/references/sdks/ruby/migration.md +321 -0
  222. package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
  223. package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
  224. package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
  225. package/skills/sentry/references/sdks/svelte/index.md +467 -0
  226. package/skills/sentry/references/sdks/svelte/logging.md +344 -0
  227. package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
  228. package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
  229. package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
  230. package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
  231. package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
  232. package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
  233. package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
  234. package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
  235. package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
  236. package/skills/sentry/references/search-query-language.md +226 -0
  237. package/skills/sentry/references/semantics/angular.md +7 -0
  238. package/skills/sentry/references/semantics/app.md +28 -0
  239. package/skills/sentry/references/semantics/art.md +17 -0
  240. package/skills/sentry/references/semantics/aws.md +43 -0
  241. package/skills/sentry/references/semantics/browser.md +34 -0
  242. package/skills/sentry/references/semantics/cache.md +12 -0
  243. package/skills/sentry/references/semantics/client.md +8 -0
  244. package/skills/sentry/references/semantics/cloud.md +12 -0
  245. package/skills/sentry/references/semantics/cloudflare.md +23 -0
  246. package/skills/sentry/references/semantics/code.md +11 -0
  247. package/skills/sentry/references/semantics/culture.md +11 -0
  248. package/skills/sentry/references/semantics/db.md +21 -0
  249. package/skills/sentry/references/semantics/device.md +43 -0
  250. package/skills/sentry/references/semantics/error.md +7 -0
  251. package/skills/sentry/references/semantics/event.md +8 -0
  252. package/skills/sentry/references/semantics/exception.md +10 -0
  253. package/skills/sentry/references/semantics/faas.md +19 -0
  254. package/skills/sentry/references/semantics/file.md +8 -0
  255. package/skills/sentry/references/semantics/flag.md +7 -0
  256. package/skills/sentry/references/semantics/gcp.md +16 -0
  257. package/skills/sentry/references/semantics/gen_ai.md +53 -0
  258. package/skills/sentry/references/semantics/general.md +11 -0
  259. package/skills/sentry/references/semantics/graphql.md +9 -0
  260. package/skills/sentry/references/semantics/grpc.md +19 -0
  261. package/skills/sentry/references/semantics/http.md +34 -0
  262. package/skills/sentry/references/semantics/index.md +63 -0
  263. package/skills/sentry/references/semantics/jsonrpc.md +8 -0
  264. package/skills/sentry/references/semantics/jvm.md +12 -0
  265. package/skills/sentry/references/semantics/koa.md +7 -0
  266. package/skills/sentry/references/semantics/logger.md +7 -0
  267. package/skills/sentry/references/semantics/mcp.md +37 -0
  268. package/skills/sentry/references/semantics/mdc.md +7 -0
  269. package/skills/sentry/references/semantics/messaging.md +23 -0
  270. package/skills/sentry/references/semantics/middleware.md +7 -0
  271. package/skills/sentry/references/semantics/navigation.md +9 -0
  272. package/skills/sentry/references/semantics/nel.md +11 -0
  273. package/skills/sentry/references/semantics/network.md +17 -0
  274. package/skills/sentry/references/semantics/os.md +15 -0
  275. package/skills/sentry/references/semantics/otel.md +10 -0
  276. package/skills/sentry/references/semantics/params.md +7 -0
  277. package/skills/sentry/references/semantics/process.md +14 -0
  278. package/skills/sentry/references/semantics/react.md +7 -0
  279. package/skills/sentry/references/semantics/remix.md +7 -0
  280. package/skills/sentry/references/semantics/resource.md +7 -0
  281. package/skills/sentry/references/semantics/rpc.md +10 -0
  282. package/skills/sentry/references/semantics/score.md +10 -0
  283. package/skills/sentry/references/semantics/sentry.md +69 -0
  284. package/skills/sentry/references/semantics/server.md +8 -0
  285. package/skills/sentry/references/semantics/service.md +8 -0
  286. package/skills/sentry/references/semantics/session.md +7 -0
  287. package/skills/sentry/references/semantics/state.md +7 -0
  288. package/skills/sentry/references/semantics/thread.md +8 -0
  289. package/skills/sentry/references/semantics/timber.md +7 -0
  290. package/skills/sentry/references/semantics/trpc.md +8 -0
  291. package/skills/sentry/references/semantics/ui.md +18 -0
  292. package/skills/sentry/references/semantics/url.md +15 -0
  293. package/skills/sentry/references/semantics/user.md +17 -0
  294. package/skills/sentry/references/semantics/user_agent.md +7 -0
  295. package/skills/sentry/references/semantics/vercel.md +42 -0
  296. package/skills/sentry/references/setup-verification.md +39 -0
  297. package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
  298. package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
  299. package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
  300. package/skills/sentry/references/snapshots/index.md +19 -0
  301. package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
  302. package/skills/sentry/references/snapshots/snapshots.md +123 -0
  303. package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
  304. package/skills/testing/LICENSE +21 -0
  305. package/skills/testing/NOTICE +7 -0
  306. package/skills/testing/SKILL.md +13 -19
  307. package/skills/testing/agents/openai.yaml +1 -2
  308. package/skills/testing/references/selection.md +23 -0
  309. package/skills/testing/references/tdd.md +19 -0
  310. package/skills/testing/references/test-design.md +17 -0
  311. package/src/catalog.ts +1 -7
  312. package/skills/build-effect-apis/SKILL.md +0 -81
  313. package/skills/build-effect-apis/agents/openai.yaml +0 -4
  314. package/skills/build-effect-clis/SKILL.md +0 -92
  315. package/skills/build-effect-clis/agents/openai.yaml +0 -4
  316. package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
  317. package/skills/effect-atom-state/SKILL.md +0 -97
  318. package/skills/effect-atom-state/agents/openai.yaml +0 -4
  319. package/skills/effect-ts/SKILL.md +0 -35
  320. package/skills/effect-ts/agents/openai.yaml +0 -4
  321. /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
  322. /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
  323. /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
  324. /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
  325. /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
  326. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
  327. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
  328. /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
  329. /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
  330. /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
@@ -0,0 +1,444 @@
1
+ # Logging — Sentry React Native SDK
2
+
3
+ > **Minimum SDK:** `@sentry/react-native` ≥7.0.0 for `Sentry.logger` API\
4
+ > **Scope-based attribute setters** (`getGlobalScope`, `withScope`): requires ≥7.8.0\
5
+ > **`consoleLoggingIntegration()`**: requires ≥7.0.0
6
+
7
+ ---
8
+
9
+ ## Enabling Logs
10
+
11
+ `enableLogs` is **off by default** — opt in explicitly:
12
+
13
+ ```typescript
14
+ import * as Sentry from "@sentry/react-native";
15
+
16
+ Sentry.init({
17
+ dsn: "YOUR_DSN",
18
+ enableLogs: true,
19
+ });
20
+ ```
21
+
22
+ Place this in your app entry point — `index.js`, `App.tsx`, or `app/_layout.tsx` (Expo
23
+ Router), depending on your project structure.
24
+
25
+ ---
26
+
27
+ ## Logger API — Six Levels
28
+
29
+ ```typescript
30
+ import * as Sentry from "@sentry/react-native";
31
+
32
+ // Fine-grained debugging — high volume, filter in production
33
+ Sentry.logger.trace("Starting authentication flow", { provider: "oauth" });
34
+
35
+ // Development diagnostics
36
+ Sentry.logger.debug("Cache lookup", { key: "user:123", hit: false });
37
+
38
+ // Normal operations and business milestones
39
+ Sentry.logger.info("Order created", { orderId: "order_456", total: 99.99 });
40
+
41
+ // Degraded state, approaching limits
42
+ Sentry.logger.warn("Rate limit approaching", {
43
+ endpoint: "/api/results/",
44
+ current: 95,
45
+ max: 100,
46
+ });
47
+
48
+ // Failures requiring attention
49
+ Sentry.logger.error("Payment failed", {
50
+ reason: "card_declined",
51
+ userId: "u_1",
52
+ });
53
+
54
+ // Critical failures — app is down
55
+ Sentry.logger.fatal("Database unavailable", { host: "db-primary" });
56
+ ```
57
+
58
+ ### Level Selection Guide
59
+
60
+ | Level | When to Use |
61
+ | ------- | ---------------------------------------------------------------- |
62
+ | `trace` | Step-by-step internals, loop iterations, low-level flow tracking |
63
+ | `debug` | Diagnostic information useful during development |
64
+ | `info` | Business events, user actions, meaningful state transitions |
65
+ | `warn` | Recoverable errors, degraded performance, approaching limits |
66
+ | `error` | Failures that need investigation but don’t crash the app |
67
+ | `fatal` | Unrecoverable failures — app or critical subsystem is down |
68
+
69
+ **Attribute value types:** `string`, `number`, and `boolean` only.
70
+ Other types will be dropped or coerced.
71
+
72
+ ---
73
+
74
+ ## Parameterized Messages with `logger.fmt`
75
+
76
+ Use `Sentry.logger.fmt` as a tagged template literal to make message variables
77
+ **individually searchable** in Sentry.
78
+ Each interpolated value becomes a `message.parameter.N` attribute:
79
+
80
+ ```typescript
81
+ const userId = "user_123";
82
+ const productName = "Widget Pro";
83
+ const amount = 49.99;
84
+
85
+ Sentry.logger.info(Sentry.logger.fmt`User ${userId} purchased ${productName} for $${amount}`);
86
+ // → message.template: "User %s purchased %s for $%s"
87
+ // → message.parameter.0: "user_123"
88
+ // → message.parameter.1: "Widget Pro"
89
+ // → message.parameter.2: 49.99
90
+
91
+ Sentry.logger.error(Sentry.logger.fmt`Failed to load screen ${screenName}: ${error.message}`);
92
+ ```
93
+
94
+ You can now filter and search for logs by individual parameter values in the Sentry Logs
95
+ UI — not just by the full message string.
96
+
97
+ ---
98
+
99
+ ## Structured Attributes
100
+
101
+ Pass attributes as the second argument.
102
+ They become **queryable columns** in Sentry Logs:
103
+
104
+ ```typescript
105
+ Sentry.logger.info("Checkout completed", {
106
+ orderId: order.id,
107
+ userId: user.id,
108
+ cartValue: cart.total,
109
+ itemCount: cart.items.length,
110
+ paymentMethod: "stripe",
111
+ durationMs: Date.now() - startTime,
112
+ });
113
+
114
+ Sentry.logger.error("Navigation failed", {
115
+ fromScreen: "Home",
116
+ toScreen: "Profile",
117
+ errorCode: err.code,
118
+ retryable: true,
119
+ });
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Scope-Based Automatic Attributes (SDK ≥7.8.0)
125
+
126
+ Set attributes once on a scope and they are **automatically attached to all logs**
127
+ emitted within that scope.
128
+
129
+ ### Global scope — entire app lifetime
130
+
131
+ ```typescript
132
+ // In your Sentry.init block or app startup
133
+ Sentry.getGlobalScope().setAttributes({
134
+ app_version: "2.1.0",
135
+ build_number: "42",
136
+ platform: Platform.OS, // "ios" or "android"
137
+ environment: __DEV__ ? "development" : "production",
138
+ });
139
+ ```
140
+
141
+ ### Scoped attributes — single operation or code block
142
+
143
+ ```typescript
144
+ Sentry.withScope(async (scope) => {
145
+ scope.setAttribute("order_id", "ord_789");
146
+ scope.setAttribute("payment_method", "stripe");
147
+
148
+ Sentry.logger.info("Validating cart", { cartId: cart.id });
149
+ // order_id and payment_method included in this log
150
+ await processPayment();
151
+ Sentry.logger.info("Payment complete");
152
+ // order_id and payment_method included here too
153
+ });
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Console Logging Integration
159
+
160
+ Automatically forwards `console.log`, `console.warn`, and `console.error` calls to
161
+ Sentry as structured logs.
162
+ Requires SDK ≥7.0.0.
163
+
164
+ **SDK ≥8.14.0:** Console capture is enabled by default when `enableLogs: true`. Set
165
+ `enableAutoConsoleLogs: false` to disable automatic console capture and use only manual
166
+ `Sentry.logger.*` calls.
167
+
168
+ ```typescript
169
+ Sentry.init({
170
+ dsn: "YOUR_DSN",
171
+ enableLogs: true,
172
+ // SDK ≥8.14.0: console capture is automatic. To disable:
173
+ // enableAutoConsoleLogs: false,
174
+
175
+ // SDK <8.14.0: add consoleLoggingIntegration manually:
176
+ integrations: [
177
+ Sentry.consoleLoggingIntegration({
178
+ levels: ["log", "warn", "error"], // default — adjust as needed
179
+ }),
180
+ ],
181
+ });
182
+
183
+ // These are now automatically forwarded to Sentry:
184
+ console.log("User action:", userId, success);
185
+ // → message.parameter.0: userId
186
+ // → message.parameter.1: success
187
+
188
+ console.warn("Memory pressure detected", memoryUsage);
189
+ console.error("Fetch failed:", error.message);
190
+ ```
191
+
192
+ > **React Native note:** All `console.*` calls in React Native go through the JS bridge.
193
+ > In development, the console capture will forward them all — use `beforeSendLog` to
194
+ > filter out noise before it reaches Sentry.
195
+
196
+ ---
197
+
198
+ ## Filtering with `beforeSendLog`
199
+
200
+ Filter or mutate every log before it is transmitted.
201
+ Return `null` to drop the log entirely:
202
+
203
+ ```typescript
204
+ Sentry.init({
205
+ dsn: "YOUR_DSN",
206
+ enableLogs: true,
207
+ beforeSendLog: (log) => {
208
+ // Drop low-level logs in production to reduce volume
209
+ if (!__DEV__ && (log.level === "trace" || log.level === "debug")) {
210
+ return null;
211
+ }
212
+
213
+ // Scrub sensitive attribute values
214
+ if (log.attributes?.password) {
215
+ delete log.attributes.password;
216
+ }
217
+ if (log.attributes?.credit_card) {
218
+ log.attributes.credit_card = "[REDACTED]";
219
+ }
220
+
221
+ // Drop health check noise from console capture
222
+ if (log.message?.includes("heartbeat")) return null;
223
+
224
+ return log;
225
+ },
226
+ });
227
+ ```
228
+
229
+ The `log` object has the following shape:
230
+
231
+ | Field | Type | Description |
232
+ | ------------ | -------- | -------------------------------------------------------------- |
233
+ | `level` | `string` | `"trace"`, `"debug"`, `"info"`, `"warn"`, `"error"`, `"fatal"` |
234
+ | `message` | `string` | The log message (template-expanded) |
235
+ | `timestamp` | `number` | Unix timestamp |
236
+ | `attributes` | `object` | All structured attributes |
237
+
238
+ ---
239
+
240
+ ## Auto-Generated Attributes
241
+
242
+ The SDK automatically attaches these attributes to every log:
243
+
244
+ | Attribute | Source |
245
+ | ------------------------------------ | -------------------------------------------- |
246
+ | `sentry.environment` | `Sentry.init({ environment })` |
247
+ | `sentry.release` | `Sentry.init({ release })` |
248
+ | `sentry.sdk.name` | SDK internals |
249
+ | `sentry.sdk.version` | SDK internals |
250
+ | `user.id`, `user.name`, `user.email` | `Sentry.setUser()` when set |
251
+ | `sentry.message.template` | `logger.fmt` usage |
252
+ | `sentry.message.parameter.X` | `logger.fmt` interpolated values |
253
+ | `origin` | Identifies which integration emitted the log |
254
+
255
+ ### React Native vs Web — Attribute Differences
256
+
257
+ React Native **does not** emit the following attributes that web SDKs include:
258
+
259
+ - `browser.name` / `browser.version` — not applicable on native
260
+ - `sentry.trace.parent_span_id` — not linked unless using the web tracing stack
261
+ - `sentry.replay_id` — not automatically attached to log events in React Native (mobile
262
+ replay uses a different linking mechanism)
263
+ - `server.address` — server-side only
264
+ - `payload_size` — web-only
265
+
266
+ ---
267
+
268
+ ## Log Correlation with Traces
269
+
270
+ When tracing is enabled, logs emitted inside an active span are **automatically
271
+ correlated** in the Sentry UI. Navigate from a log to its parent span or from a trace to
272
+ all logs emitted during it.
273
+
274
+ ```typescript
275
+ Sentry.init({
276
+ dsn: "YOUR_DSN",
277
+ enableLogs: true,
278
+ tracesSampleRate: 1.0,
279
+ integrations: [
280
+ Sentry.reactNavigationIntegration(), // auto-instruments screen transitions
281
+ ],
282
+ });
283
+
284
+ // Inside a Sentry span, logs get linked automatically
285
+ await Sentry.startSpan({ name: "checkout", op: "ui.action" }, async () => {
286
+ Sentry.logger.info("Validating cart", { cartId: cart.id });
287
+ await validateCart();
288
+
289
+ Sentry.logger.info("Initiating payment", { gateway: "stripe" });
290
+ await processPayment();
291
+
292
+ Sentry.logger.info("Checkout complete", { orderId: newOrder.id });
293
+ });
294
+ // All three logs are linked to the "checkout" span in the Sentry trace view
295
+ ```
296
+
297
+ ---
298
+
299
+ ## Practical Patterns
300
+
301
+ ### Screen lifecycle logging
302
+
303
+ ```typescript
304
+ function ProductScreen({ route }) {
305
+ const { productId } = route.params;
306
+
307
+ useEffect(() => {
308
+ Sentry.logger.info("Screen mounted", {
309
+ screen: "ProductScreen",
310
+ productId,
311
+ });
312
+
313
+ return () => {
314
+ Sentry.logger.debug("Screen unmounted", { screen: "ProductScreen" });
315
+ };
316
+ }, []);
317
+
318
+ const handlePurchase = async () => {
319
+ Sentry.logger.info(Sentry.logger.fmt`User initiated purchase for product ${productId}`);
320
+ try {
321
+ const result = await purchaseProduct(productId);
322
+ Sentry.logger.info("Purchase succeeded", {
323
+ productId,
324
+ orderId: result.orderId,
325
+ });
326
+ } catch (err) {
327
+ Sentry.logger.error("Purchase failed", {
328
+ productId,
329
+ reason: err.message,
330
+ code: err.code,
331
+ });
332
+ }
333
+ };
334
+ }
335
+ ```
336
+
337
+ ### API call logging
338
+
339
+ ```typescript
340
+ async function fetchUserData(userId: string) {
341
+ Sentry.logger.debug(Sentry.logger.fmt`Fetching user data for ${userId}`);
342
+
343
+ const startTime = Date.now();
344
+
345
+ try {
346
+ const response = await api.get(`/users/${userId}`);
347
+ Sentry.logger.info("User data fetched", {
348
+ userId,
349
+ durationMs: Date.now() - startTime,
350
+ status: response.status,
351
+ });
352
+ return response.data;
353
+ } catch (err) {
354
+ Sentry.logger.error("User data fetch failed", {
355
+ userId,
356
+ durationMs: Date.now() - startTime,
357
+ status: err.response?.status,
358
+ message: err.message,
359
+ });
360
+ throw err;
361
+ }
362
+ }
363
+ ```
364
+
365
+ ### Redux action logging
366
+
367
+ ```typescript
368
+ // Log significant state transitions alongside Redux breadcrumbs
369
+ const sentryReduxEnhancer = Sentry.createReduxEnhancer({
370
+ configureScopeWithState: (scope, state) => {
371
+ scope.setTag("user.plan", state.user.subscription);
372
+ },
373
+ });
374
+
375
+ // In your reducers or middleware
376
+ function checkoutMiddleware(store) {
377
+ return (next) => (action) => {
378
+ if (action.type === "checkout/completed") {
379
+ Sentry.logger.info("Checkout completed via Redux", {
380
+ orderId: action.payload.orderId,
381
+ total: action.payload.total,
382
+ });
383
+ }
384
+ return next(action);
385
+ };
386
+ }
387
+ ```
388
+
389
+ ---
390
+
391
+ ## Configuration Reference
392
+
393
+ | Option | Type | Default | Description |
394
+ | --------------------------- | ---------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
395
+ | `enableLogs` | `boolean` | `false` | Master switch — must be `true` for all logging features |
396
+ | `enableAutoConsoleLogs` | `boolean` | `true` | When `enableLogs: true`, automatically capture `console.*` calls. Set `false` to disable auto-capture and use only manual `Sentry.logger.*` (SDK ≥8.14.0) |
397
+ | `beforeSendLog` | `(log) => log \| null` | `undefined` | Filter/mutate logs before transmission |
398
+ | `consoleLoggingIntegration` | integration | not added | Capture `console.*` calls as structured logs |
399
+
400
+ ---
401
+
402
+ ## Performance Considerations
403
+
404
+ - **Log volume:** Every `Sentry.logger.*` call is batched and sent asynchronously —
405
+ there is no synchronous network overhead per call.
406
+ - **Sampling:** Unlike errors and transactions, logs do not currently support sampling
407
+ rates. Use `beforeSendLog` to drop entire log levels in production (e.g., drop `trace`
408
+ and `debug`).
409
+ - **Size limit:** Log payloads over **1 MB** are dropped server-side.
410
+ If logs are silently disappearing, check your Sentry org stats.
411
+ - **Missing logs on crash:** If the app terminates before the SDK flushes its buffer,
412
+ the most recent logs may not reach Sentry.
413
+ This is a known limitation under active improvement.
414
+ - **`console.*` forwarding overhead:** `consoleLoggingIntegration` wraps native console
415
+ methods. In development this is fine; in production, scope it tightly using the
416
+ `levels` option.
417
+
418
+ ---
419
+
420
+ ## Known Limitations
421
+
422
+ | Limitation | Details |
423
+ | -------------------------- | ---------------------------------------------------------------------------------------------------------------- |
424
+ | Crash buffer loss | Logs buffered since last flush are lost on unexpected termination |
425
+ | No per-log sampling | Use `beforeSendLog` to reduce volume; sampling is all-or-nothing |
426
+ | 1 MB size cap | Logs larger than 1 MB are dropped server-side |
427
+ | No `browser.*` attributes | React Native emits no browser context — these columns are empty in the Logs UI |
428
+ | Session Replay not on logs | Expected — mobile replay doesn’t populate this attribute on log events; replay is still linked via trace context |
429
+
430
+ ---
431
+
432
+ ## Troubleshooting
433
+
434
+ | Issue | Solution |
435
+ | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
436
+ | Logs not appearing in Sentry | Check `enableLogs: true` is set in `Sentry.init()` |
437
+ | SDK version too old | Upgrade to `@sentry/react-native` ≥7.0.0 for `Sentry.logger`; ≥7.0.0 for `consoleLoggingIntegration`; ≥7.8.0 for scope attribute setters |
438
+ | `logger.fmt` not creating `parameter.*` attributes | Ensure it is used as a tagged template literal — not as the function call `Sentry.logger.fmt(...)` |
439
+ | Logs disappearing silently | Check Sentry org stats for rate limiting or logs exceeding 1 MB |
440
+ | Attribute values showing `[Filtered]` | Server-side PII scrubbing rule matched — adjust **Data Scrubbing** settings in your Sentry project |
441
+ | `console.log` calls not forwarded | Add `consoleLoggingIntegration()` to `integrations` and ensure the `levels` array includes `"log"` |
442
+ | Too many logs in production | Use `beforeSendLog` to drop `trace`/`debug` levels when `!__DEV__` |
443
+ | Logs not linked to traces | Enable tracing (`tracesSampleRate > 0`) and emit logs inside a `Sentry.startSpan()` callback |
444
+ | Scope attributes not attaching | Upgrade to ≥7.8.0 for `getGlobalScope().setAttributes()` support |