@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,552 @@
1
+ # Symfony — Sentry SDK Deep Dive
2
+
3
+ > Package: `sentry/sentry-symfony` · Requires `sentry/sentry ^4.20.0`\
4
+ > Symfony versions: `^4.4.20` through `^8.0`
5
+
6
+ ---
7
+
8
+ ## Installation & Setup
9
+
10
+ ### Requirements
11
+
12
+ - PHP `^7.2 | ^8.0`
13
+ - Symfony `^4.4.20`–`^8.0`
14
+ - `zend.exception_ignore_args: Off` in `php.ini` (required for stack trace arguments)
15
+
16
+ ### Install
17
+
18
+ ```bash
19
+ composer require sentry/sentry-symfony
20
+ ```
21
+
22
+ **With Symfony Flex**, this automatically:
23
+
24
+ - Registers the bundle in `config/bundles.php`
25
+ - Creates `config/packages/sentry.yaml`
26
+ - Adds `SENTRY_DSN` to `.env`
27
+
28
+ **Without Flex**, register manually:
29
+
30
+ ```php
31
+ // config/bundles.php
32
+ return [
33
+ Sentry\SentryBundle\SentryBundle::class => ['all' => true],
34
+ ];
35
+ ```
36
+
37
+ ### Environment Variable Setup
38
+
39
+ ```env
40
+ ###> sentry/sentry-symfony ###
41
+ SENTRY_DSN="___PUBLIC_DSN___"
42
+ ###< sentry/sentry-symfony ###
43
+ ```
44
+
45
+ ### Verify
46
+
47
+ ```bash
48
+ php bin/console sentry:test
49
+ ```
50
+
51
+ ---
52
+
53
+ ## `config/packages/sentry.yaml` — Complete Schema
54
+
55
+ ```yaml
56
+ sentry:
57
+ dsn: "%env(SENTRY_DSN)%" # The ONLY mandatory option
58
+ register_error_listener: true # Register Symfony error event listener
59
+ register_error_handler: true # Register PHP error/exception handlers
60
+
61
+ options:
62
+ # Release & environment
63
+ environment: "%kernel.environment%" # Default: kernel env (not "production")
64
+ release: "%env(default::SENTRY_RELEASE)%"
65
+ server_name: "web-01"
66
+
67
+ # Error monitoring
68
+ sample_rate: 1.0
69
+ ignore_exceptions:
70
+ - "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException"
71
+ - "Symfony\\Component\\HttpKernel\\Exception\\BadRequestHttpException"
72
+ error_types: "E_ALL & ~E_NOTICE"
73
+ before_send: "sentry.callback.before_send" # DIC service ID
74
+
75
+ # Tracing
76
+ traces_sample_rate: 0.1
77
+ traces_sampler: "sentry.callback.traces_sampler"
78
+ ignore_transactions:
79
+ - "GET /health"
80
+ before_send_transaction: "sentry.callback.before_send_transaction"
81
+ trace_propagation_targets:
82
+ - "example.com"
83
+
84
+ # Profiling
85
+ profiles_sample_rate: 0.1
86
+
87
+ # Logs
88
+ enable_logs: true
89
+ before_send_log: "sentry.callback.before_send_log"
90
+
91
+ # Metrics
92
+ enable_metrics: true
93
+ before_send_metric: "sentry.callback.before_send_metric"
94
+
95
+ # Breadcrumbs
96
+ max_breadcrumbs: 100
97
+ before_breadcrumb: "sentry.callback.before_breadcrumb"
98
+
99
+ # Context
100
+ context_lines: 5
101
+ attach_stacktrace: false
102
+ send_default_pii: false
103
+ max_request_body_size: "medium" # none|never|small|medium|always
104
+ capture_silenced_errors: false
105
+ max_value_length: 1024
106
+ in_app_exclude:
107
+ - "%kernel.cache_dir%"
108
+ - "%kernel.project_dir%/vendor"
109
+ in_app_include:
110
+ - "%kernel.project_dir%/src"
111
+
112
+ # Tags
113
+ tags:
114
+ server: "web-01"
115
+ region: "us-east-1"
116
+
117
+ # Transport
118
+ http_proxy: "proxy.example.com:8080"
119
+ http_connect_timeout: 2
120
+ http_timeout: 5
121
+
122
+ # Serialization
123
+ class_serializers:
124
+ App\User: "App\\Sentry\\Serializer\\UserSerializer"
125
+
126
+ # Symfony Messenger integration
127
+ messenger:
128
+ enabled: true
129
+ capture_soft_fails: true
130
+ isolate_breadcrumbs_by_message: false
131
+
132
+ # Symfony auto-instrumentation
133
+ tracing:
134
+ enabled: true
135
+ dbal:
136
+ enabled: true
137
+ connections:
138
+ - default
139
+ twig:
140
+ enabled: true
141
+ cache:
142
+ enabled: true
143
+ http_client:
144
+ enabled: true
145
+ console:
146
+ excluded_commands:
147
+ - "messenger:consume"
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Symfony-Specific Defaults
153
+
154
+ These differ from the plain PHP SDK:
155
+
156
+ | Option | Plain PHP Default | Symfony Default |
157
+ | ---------------- | -------------------------------------- | --------------------------------------------------------------------------------------- |
158
+ | `environment` | `SENTRY_ENVIRONMENT` or `"production"` | `%kernel.environment%` (kernel env) |
159
+ | `release` | `SENTRY_RELEASE` env | Auto-detected via `PrettyVersions::getRootPackageVersion()` |
160
+ | `in_app_exclude` | `[]` | Auto-includes `%kernel.cache_dir%`, `%kernel.build_dir%`, `%kernel.project_dir%/vendor` |
161
+
162
+ ---
163
+
164
+ ## Bundle-Level Options
165
+
166
+ | Option | Type | Default | Description |
167
+ | ------------------------- | -------------- | ------- | ----------------------------------------------------------------------- |
168
+ | `dsn` | `scalar\|null` | `null` | Sentry DSN |
169
+ | `register_error_listener` | `boolean` | `true` | Register Symfony `ErrorListener` event subscriber on `kernel.exception` |
170
+ | `register_error_handler` | `boolean` | `true` | Register PHP-level error/exception handlers |
171
+ | `logger` | `scalar\|null` | `null` | Service ID of a PSR-3 `LoggerInterface` for SDK debug logging |
172
+
173
+ ---
174
+
175
+ ## Callable Options — DIC Service Pattern
176
+
177
+ Symfony’s YAML configuration cannot hold inline PHP closures.
178
+ All callable options must reference a **DIC service ID** whose factory method returns
179
+ the callable.
180
+
181
+ ```yaml
182
+ # config/packages/sentry.yaml
183
+ sentry:
184
+ options:
185
+ before_send: "sentry.callback.before_send"
186
+ traces_sampler: "sentry.callback.traces_sampler"
187
+ before_send_log: "sentry.callback.before_send_log"
188
+
189
+ # config/services.yaml
190
+ services:
191
+ sentry.callback.before_send:
192
+ class: 'App\Service\SentryCallbacks'
193
+ factory: ['@App\Service\SentryCallbacks', "getBeforeSend"]
194
+
195
+ sentry.callback.traces_sampler:
196
+ class: 'App\Service\SentryCallbacks'
197
+ factory: ['@App\Service\SentryCallbacks', "getTracesSampler"]
198
+
199
+ sentry.callback.before_send_log:
200
+ class: 'App\Service\SentryCallbacks'
201
+ factory: ['@App\Service\SentryCallbacks', "getBeforeSendLog"]
202
+ ```
203
+
204
+ ```php
205
+ // src/Service/SentryCallbacks.php
206
+ namespace App\Service;
207
+
208
+ class SentryCallbacks
209
+ {
210
+ public function getBeforeSend(): callable
211
+ {
212
+ return function (\Sentry\Event $event, ?\Sentry\EventHint $hint): ?\Sentry\Event {
213
+ if ($hint?->exception instanceof MyIgnoredException) {
214
+ return null;
215
+ }
216
+ return $event;
217
+ };
218
+ }
219
+
220
+ public function getTracesSampler(): callable
221
+ {
222
+ return function (\Sentry\Tracing\SamplingContext $context): float {
223
+ return $context->getParentSampled() ? 1.0 : 0.25;
224
+ };
225
+ }
226
+
227
+ public function getBeforeSendLog(): callable
228
+ {
229
+ return function (\Sentry\Logs\Log $log): ?\Sentry\Logs\Log {
230
+ if ($log->getLevel() === \Sentry\Logs\LogLevel::info()) {
231
+ return null; // drop info logs
232
+ }
233
+ return $log;
234
+ };
235
+ }
236
+ }
237
+ ```
238
+
239
+ This pattern applies to: `before_send`, `before_send_transaction`,
240
+ `before_send_check_in`, `before_send_log`, `before_send_metric`, `before_breadcrumb`,
241
+ `traces_sampler`, `transport`, `http_client`, `logger`, `class_serializers` values.
242
+
243
+ ---
244
+
245
+ ## Auto-Instrumented Operations
246
+
247
+ | Operation | Span Op | Requires |
248
+ | -------------------------------- | ----------------------------- | -------------------------- |
249
+ | HTTP main request | `http.server` | Always |
250
+ | HTTP sub-request | `http.server` (child span) | Always |
251
+ | Console command | `console.command` | Always |
252
+ | Outbound HTTP calls | `http.client` | `symfony/http-client` |
253
+ | Doctrine DB prepare | `db.sql.prepare` | `doctrine/doctrine-bundle` |
254
+ | Doctrine DB query | `db.sql.query` | `doctrine/doctrine-bundle` |
255
+ | Doctrine DB exec | `db.sql.exec` | `doctrine/doctrine-bundle` |
256
+ | Doctrine TX begin | `db.sql.transaction.begin` | `doctrine/doctrine-bundle` |
257
+ | Doctrine TX commit | `db.sql.transaction.commit` | `doctrine/doctrine-bundle` |
258
+ | Doctrine TX rollback | `db.sql.transaction.rollback` | `doctrine/doctrine-bundle` |
259
+ | PSR-6 cache get/put/delete/flush | `cache.*` | `symfony/cache` |
260
+ | Twig template render | `view.render` | `symfony/twig-bundle` |
261
+
262
+ **Doctrine span data fields:** `db.system`, `db.user`, `db.name`, `server.address`,
263
+ `server.port`
264
+
265
+ **⚠️ HTTP client tracing warning:** “Using HTTP client tracing will not execute your
266
+ requests concurrently.”
267
+ — tracing wraps each request synchronously.
268
+
269
+ ### Tracing Sub-Config
270
+
271
+ ```yaml
272
+ sentry:
273
+ tracing:
274
+ enabled: true
275
+ dbal:
276
+ enabled: true
277
+ connections: [default] # Specify which DB connections to trace
278
+ twig:
279
+ enabled: true
280
+ cache:
281
+ enabled: true
282
+ http_client:
283
+ enabled: true
284
+ console:
285
+ excluded_commands:
286
+ - "messenger:consume" # Always excluded by default
287
+ - "app:my-command"
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Structured Logs (≥ 5.4.0)
293
+
294
+ ```yaml
295
+ # config/packages/monolog.yaml
296
+ monolog:
297
+ handlers:
298
+ sentry_logs:
299
+ type: service
300
+ id: Sentry\SentryBundle\Monolog\LogsHandler
301
+
302
+ # config/services.yaml
303
+ services:
304
+ Sentry\SentryBundle\Monolog\LogsHandler:
305
+ arguments:
306
+ - !php/const Monolog\Logger::INFO # Minimum log level
307
+
308
+ # config/packages/sentry.yaml
309
+ sentry:
310
+ options:
311
+ enable_logs: true
312
+ ```
313
+
314
+ ```php
315
+ // Usage — inject LoggerInterface via DI
316
+ class MyService
317
+ {
318
+ public function __construct(private \Psr\Log\LoggerInterface $logger) {}
319
+
320
+ public function doSomething(int $userId): void
321
+ {
322
+ $this->logger->info('User logged in');
323
+ $this->logger->warning('User {id} failed to login.', ['id' => $userId]);
324
+ $this->logger->error('Something went wrong', [
325
+ 'user_id' => $userId,
326
+ 'action' => 'update_profile',
327
+ ]);
328
+ }
329
+ }
330
+ ```
331
+
332
+ **Auto-flush:**
333
+
334
+ - HTTP requests: flushed on `kernel.terminate`
335
+ - Console commands: flushed on `console.terminate`
336
+
337
+ ### Traditional Monolog Handler (Error Events, Not Structured Logs)
338
+
339
+ For sending log messages as Sentry error events (not the Logs product):
340
+
341
+ ```yaml
342
+ # config/services.yaml
343
+ services:
344
+ app.sentry.handler:
345
+ class: Sentry\Monolog\Handler
346
+ arguments:
347
+ - '@Sentry\State\HubInterface'
348
+ - !php/const Monolog\Logger::WARNING
349
+
350
+ Sentry\Monolog\BreadcrumbHandler:
351
+ arguments:
352
+ - '@Sentry\State\HubInterface'
353
+ - !php/const Monolog\Logger::WARNING
354
+
355
+ # config/packages/monolog.yaml
356
+ monolog:
357
+ handlers:
358
+ sentry:
359
+ type: service
360
+ id: app.sentry.handler
361
+ sentry_buffer:
362
+ type: buffer
363
+ handler: sentry
364
+ level: notice
365
+ buffer_size: 50
366
+ ```
367
+
368
+ The `BufferFlushPass` compiler pass auto-discovers `BufferHandler` instances and flushes
369
+ them on `kernel.terminate`, `console.command`, `console.terminate`, and `console.error`.
370
+
371
+ ---
372
+
373
+ ## Messenger Integration
374
+
375
+ The Messenger integration provides error capture for queue workers (not tracing spans):
376
+
377
+ ```yaml
378
+ sentry:
379
+ messenger:
380
+ enabled: true # Auto-enabled when MessageBusInterface exists
381
+ capture_soft_fails: true # Capture failures that will be retried
382
+ isolate_breadcrumbs_by_message: false # Separate breadcrumb buffer per message
383
+ ```
384
+
385
+ | Option | Default | Description |
386
+ | -------------------------------- | ------- | ------------------------------------------------------------------------- |
387
+ | `enabled` | `true` | Enable Messenger integration |
388
+ | `capture_soft_fails` | `true` | Capture exceptions even if the message will be retried |
389
+ | `isolate_breadcrumbs_by_message` | `false` | Push/pop scope per message — prevents breadcrumb leakage between messages |
390
+
391
+ **What it captures:**
392
+
393
+ - Tags events with `messenger.receiver_name`, `messenger.message_class`,
394
+ `messenger.message_bus`
395
+ - Unwraps nested exceptions from `HandlerFailedException`,
396
+ `DelayedMessageHandlingException`, `WrappedExceptionsInterface`
397
+ - Sets `ExceptionMechanism(isHandled: $willRetry)` — retried failures are marked as
398
+ handled
399
+ - Flushes the client after each failure (background workers have no shutdown hook)
400
+
401
+ **⚠️ No tracing spans:** There is no `MessengerTracingMiddleware` in the current SDK —
402
+ Messenger integration is error-capture only.
403
+ Use `captureCheckIn()` manually for cron-like queue monitoring.
404
+
405
+ ---
406
+
407
+ ## Cron Monitoring
408
+
409
+ The Symfony SDK has no dedicated scheduled-task integration.
410
+ Use the PHP SDK functions directly:
411
+
412
+ ```php
413
+ use Sentry\CheckInStatus;
414
+ use Sentry\MonitorConfig;
415
+ use Sentry\MonitorSchedule;
416
+
417
+ // Two-step check-in (recommended)
418
+ $checkInId = \Sentry\captureCheckIn(
419
+ slug: 'my-cron-job',
420
+ status: CheckInStatus::inProgress(),
421
+ );
422
+
423
+ // ... do work ...
424
+
425
+ \Sentry\captureCheckIn(
426
+ slug: 'my-cron-job',
427
+ status: CheckInStatus::ok(),
428
+ checkInId: $checkInId,
429
+ );
430
+
431
+ // Wrapper approach
432
+ \Sentry\withMonitor(
433
+ slug: 'my-cron-job',
434
+ callback: fn () => $this->doWork(),
435
+ );
436
+
437
+ // With programmatic monitor config
438
+ $monitorConfig = new \Sentry\MonitorConfig(
439
+ \Sentry\MonitorSchedule::crontab('*/10 * * * *'),
440
+ checkinMargin: 5,
441
+ maxRuntime: 15,
442
+ timezone: 'Europe/Vienna',
443
+ failureIssueThreshold: 2,
444
+ recoveryThreshold: 5,
445
+ );
446
+
447
+ $checkInId = \Sentry\captureCheckIn(
448
+ slug: 'my-cron-job',
449
+ status: CheckInStatus::inProgress(),
450
+ monitorConfig: $monitorConfig,
451
+ );
452
+ ```
453
+
454
+ **Filter check-ins:**
455
+
456
+ ```yaml
457
+ sentry:
458
+ options:
459
+ before_send_check_in: "App\\Sentry\\BeforeSendCheckInCallback"
460
+ ```
461
+
462
+ ---
463
+
464
+ ## Console Command Tracing & Monitoring
465
+
466
+ ### Error Capture (`ConsoleListener`)
467
+
468
+ Auto-enabled. Tags every console command scope with:
469
+
470
+ - `console.command` — command name
471
+ - `console.command.exit_code` — exit code
472
+ - `Full command` — full command with arguments (extra context)
473
+
474
+ Flushes logs AND metrics on `console.terminate`.
475
+
476
+ ### Tracing (`TracingConsoleListener`)
477
+
478
+ ```yaml
479
+ sentry:
480
+ tracing:
481
+ console:
482
+ excluded_commands:
483
+ - "messenger:consume" # Always excluded
484
+ ```
485
+
486
+ Creates transactions with:
487
+
488
+ - `op: 'console.command'`
489
+ - `origin: 'auto.console'`
490
+ - `source: TransactionSource::task()`
491
+ - Status: `ok()` if exit code 0, `internalError()` otherwise
492
+
493
+ ---
494
+
495
+ ## Event Listeners Auto-Registered
496
+
497
+ | Listener | Events | Description |
498
+ | --------------------------- | -------------------------------------- | ------------------------------------------------- |
499
+ | `ErrorListener` | `kernel.exception` | Captures all uncaught exceptions |
500
+ | `RequestListener` | `kernel.request`, `kernel.controller` | Sets IP (PII-gated); tags route name |
501
+ | `ConsoleCommandListener` | `console.command`, `console.terminate` | Tags scope, flushes on terminate |
502
+ | `MessengerListener` | Messenger worker events | Captures failures, optional scope isolation |
503
+ | `LoginListener` | Symfony Security login events | Captures authenticated user context |
504
+ | `TracingRequestListener` | `kernel.request`, `kernel.terminate` | Creates/finishes transaction for HTTP requests |
505
+ | `TracingSubRequestListener` | `kernel.request` (subrequest) | Creates child spans for sub-requests |
506
+ | `TracingConsoleListener` | `console.command`, `console.terminate` | Creates/finishes transaction for console commands |
507
+
508
+ ### Distributed Tracing — Automatic Header Handling
509
+
510
+ The `TracingRequestListener` automatically reads incoming trace headers:
511
+
512
+ ```php
513
+ // Accepts both Sentry and W3C trace context formats:
514
+ $request->headers->get('sentry-trace') // Sentry format
515
+ $request->headers->get('traceparent') // W3C format
516
+ $request->headers->get('baggage')
517
+ ```
518
+
519
+ The `AbstractTraceableHttpClient` decorator automatically injects outbound headers on
520
+ all Symfony HTTP Client requests:
521
+
522
+ ```
523
+ sentry-trace: <value>
524
+ baggage: <value>
525
+ traceparent: <value> # W3C trace context
526
+ ```
527
+
528
+ Respects `trace_propagation_targets` — only injects headers to matching hostnames.
529
+
530
+ ---
531
+
532
+ ## Metrics (≥ 5.8.0)
533
+
534
+ ```php
535
+ use function Sentry\traceMetrics;
536
+
537
+ traceMetrics()->count('button-click', 5, ['browser' => 'Firefox']);
538
+ traceMetrics()->distribution('page-load', 15.0, ['page' => '/home'], \Sentry\Unit::millisecond());
539
+ traceMetrics()->gauge('memory-usage', memory_get_usage(), ['worker' => 'web-01']);
540
+ ```
541
+
542
+ **Config:**
543
+
544
+ ```yaml
545
+ sentry:
546
+ options:
547
+ enable_metrics: true
548
+ before_send_metric: "App\\Sentry\\BeforeSendMetricCallback"
549
+ ```
550
+
551
+ **Auto-flush:** Flushed automatically on `kernel.terminate` and `console.terminate` — no
552
+ manual flush needed in typical web/console contexts.