@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,542 @@
1
+ # Laravel — Sentry SDK Deep Dive
2
+
3
+ > Package: `sentry/sentry-laravel` · Requires `sentry/sentry ^4.21.0`\
4
+ > Laravel versions: `^6.0` through `^12.0` (Lumen supported)
5
+
6
+ ---
7
+
8
+ ## Installation & Setup
9
+
10
+ ### Requirements
11
+
12
+ - PHP `^7.2 | ^8.0`
13
+ - Laravel `^6.0`–`^12.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-laravel
20
+ ```
21
+
22
+ Auto-registration via Laravel Package Discovery — no manual `config/app.php` entry
23
+ needed. Two service providers register automatically:
24
+
25
+ - `Sentry\Laravel\ServiceProvider`
26
+ - `Sentry\Laravel\Tracing\ServiceProvider`
27
+
28
+ ### Step 1 — Hook Exception Handler (Laravel 11+)
29
+
30
+ In `bootstrap/app.php`:
31
+
32
+ ```php
33
+ use Sentry\Laravel\Integration;
34
+
35
+ ->withExceptions(function (Exceptions $exceptions) {
36
+ Integration::handles($exceptions);
37
+ })
38
+ ```
39
+
40
+ For **Laravel 10 and earlier**, add to `app/Exceptions/Handler.php`:
41
+
42
+ ```php
43
+ public function register(): void
44
+ {
45
+ $this->reportable(function (\Throwable $e) {
46
+ \Sentry\Laravel\Integration::captureUnhandledException($e);
47
+ });
48
+ }
49
+ ```
50
+
51
+ ### Step 2 — Publish Config & Set DSN
52
+
53
+ ```bash
54
+ php artisan sentry:publish --dsn=___PUBLIC_DSN___
55
+ ```
56
+
57
+ This creates `config/sentry.php` and writes `SENTRY_LARAVEL_DSN=your_dsn` to `.env`.
58
+
59
+ ### Step 3 — Verify
60
+
61
+ ```bash
62
+ php artisan sentry:test
63
+ ```
64
+
65
+ Or add a test route:
66
+
67
+ ```php
68
+ Route::get('/debug-sentry', function () {
69
+ throw new Exception('My first Sentry error!');
70
+ });
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Environment Variables
76
+
77
+ | Variable | Purpose | Notes |
78
+ | ----------------------------- | ---------------------------------- | ------------------------------------ |
79
+ | `SENTRY_LARAVEL_DSN` | Primary DSN | Takes priority over `SENTRY_DSN` |
80
+ | `SENTRY_DSN` | Generic DSN fallback | Used if `SENTRY_LARAVEL_DSN` not set |
81
+ | `SENTRY_RELEASE` | Release version string | Mapped to `release` option |
82
+ | `SENTRY_ENVIRONMENT` | Environment name | Falls back to `APP_ENV` if not set |
83
+ | `SENTRY_TRACES_SAMPLE_RATE` | Enable/configure tracing | Must be `> 0.0` to enable tracing |
84
+ | `SENTRY_PROFILES_SAMPLE_RATE` | Enable profiling | Relative to traces sample rate |
85
+ | `SENTRY_ENABLE_LOGS` | Enable structured Sentry Logs | `true` / `false` |
86
+ | `SENTRY_SEND_DEFAULT_PII` | Capture PII (IP, etc.) | `true` / `false` |
87
+ | `LOG_CHANNEL` | Laravel log channel | e.g., `stack` |
88
+ | `LOG_STACK` | Stack channels | e.g., `single,sentry_logs` |
89
+ | `LOG_LEVEL` | Log level threshold | e.g., `info` |
90
+ | `SENTRY_LOG_LEVEL` | Sentry-specific log level override | Defaults to `LOG_LEVEL` |
91
+
92
+ ---
93
+
94
+ ## `config/sentry.php` — Complete Options
95
+
96
+ ### Root Options
97
+
98
+ | Key | Default | Description |
99
+ | ---------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------ |
100
+ | `dsn` | `env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN'))` | Sentry DSN |
101
+ | `release` | `env('SENTRY_RELEASE')` | Release version |
102
+ | `environment` | `env('SENTRY_ENVIRONMENT')` | Falls back to `APP_ENV` |
103
+ | `sample_rate` | `1.0` | Error event sample rate (0.0–1.0) |
104
+ | `traces_sample_rate` | `null` | Transaction sample rate; enables tracing when set |
105
+ | `profiles_sample_rate` | `null` | Profile sample rate; relative to traces rate |
106
+ | `enable_logs` | `false` | Enable Sentry structured logs |
107
+ | `send_default_pii` | `false` | Capture PII (IP, cookies, headers) |
108
+ | `ignore_exceptions` | `[]` | Exception FQCNs to suppress |
109
+ | `ignore_transactions` | `['/up']` | Transaction names to suppress (health check) |
110
+ | `logs_channel_level` | `'debug'` | Min log level for the `sentry` log channel (Laravel-only, not forwarded to core SDK) |
111
+
112
+ ### Breadcrumb Options
113
+
114
+ All controlled per-feature in the `breadcrumbs` sub-array:
115
+
116
+ | Key | ENV Variable | Default | What it captures |
117
+ | ---------------------------------- | ------------------------------------------------- | ------- | ------------------------------ |
118
+ | `breadcrumbs.logs` | `SENTRY_BREADCRUMBS_LOGS_ENABLED` | `true` | Log message breadcrumbs |
119
+ | `breadcrumbs.cache` | `SENTRY_BREADCRUMBS_CACHE_ENABLED` | `true` | Cache operation breadcrumbs |
120
+ | `breadcrumbs.livewire` | `SENTRY_BREADCRUMBS_LIVEWIRE_ENABLED` | `true` | Livewire breadcrumbs |
121
+ | `breadcrumbs.sql_queries` | `SENTRY_BREADCRUMBS_SQL_QUERIES_ENABLED` | `true` | SQL query breadcrumbs |
122
+ | `breadcrumbs.sql_bindings` | `SENTRY_BREADCRUMBS_SQL_BINDINGS_ENABLED` | `false` | Include SQL parameter bindings |
123
+ | `breadcrumbs.queue_info` | `SENTRY_BREADCRUMBS_QUEUE_INFO_ENABLED` | `true` | Queue job breadcrumbs |
124
+ | `breadcrumbs.command_info` | `SENTRY_BREADCRUMBS_COMMAND_JOBS_ENABLED` | `true` | Artisan command breadcrumbs |
125
+ | `breadcrumbs.http_client_requests` | `SENTRY_BREADCRUMBS_HTTP_CLIENT_REQUESTS_ENABLED` | `true` | HTTP client breadcrumbs |
126
+ | `breadcrumbs.notifications` | `SENTRY_BREADCRUMBS_NOTIFICATIONS_ENABLED` | `true` | Notification breadcrumbs |
127
+
128
+ ### Tracing Options
129
+
130
+ | Key | ENV Variable | Default | Description |
131
+ | -------------------------------------- | ------------------------------------------- | ------- | ------------------------------------------------------------------------- |
132
+ | `tracing.queue_job_transactions` | `SENTRY_TRACE_QUEUE_ENABLED` | `true` | Queue jobs as root transactions |
133
+ | `tracing.queue_jobs` | `SENTRY_TRACE_QUEUE_JOBS_ENABLED` | `true` | Queue jobs as child spans |
134
+ | `tracing.sql_queries` | `SENTRY_TRACE_SQL_QUERIES_ENABLED` | `true` | SQL queries as spans |
135
+ | `tracing.sql_bindings` | `SENTRY_TRACE_SQL_BINDINGS_ENABLED` | `false` | Include SQL bindings in spans |
136
+ | `tracing.sql_origin` | `SENTRY_TRACE_SQL_ORIGIN_ENABLED` | `true` | Track origin of SQL queries |
137
+ | `tracing.sql_origin_threshold_ms` | `SENTRY_TRACE_SQL_ORIGIN_THRESHOLD_MS` | `100` | Only track origin above this ms |
138
+ | `tracing.views` | `SENTRY_TRACE_VIEWS_ENABLED` | `true` | Blade view rendering spans |
139
+ | `tracing.livewire` | `SENTRY_TRACE_LIVEWIRE_ENABLED` | `true` | Livewire component spans |
140
+ | `tracing.http_client_requests` | `SENTRY_TRACE_HTTP_CLIENT_REQUESTS_ENABLED` | `true` | HTTP client spans |
141
+ | `tracing.cache` | `SENTRY_TRACE_CACHE_ENABLED` | `true` | Cache operation spans |
142
+ | `tracing.redis_commands` | `SENTRY_TRACE_REDIS_COMMANDS` | `false` | Redis command spans |
143
+ | `tracing.redis_origin` | `SENTRY_TRACE_REDIS_ORIGIN_ENABLED` | `true` | Track Redis command origins |
144
+ | `tracing.notifications` | `SENTRY_TRACE_NOTIFICATIONS_ENABLED` | `true` | Notification sending spans |
145
+ | `tracing.missing_routes` | `SENTRY_TRACE_MISSING_ROUTES_ENABLED` | `false` | Track 404 routes as transactions |
146
+ | `tracing.continue_after_response` | `SENTRY_TRACE_CONTINUE_AFTER_RESPONSE` | `true` | Continue traces after response |
147
+ | `tracing.default_integrations` | `SENTRY_TRACE_DEFAULT_INTEGRATIONS_ENABLED` | `true` | Register default tracing integrations |
148
+ | `tracing.features.gen_ai` | `SENTRY_TRACE_GEN_AI_ENABLED` | `true` | Capture Laravel AI spans (requires `laravel/ai`, Sentry Laravel >=4.27.0) |
149
+ | `tracing.features.gen_ai_invoke_agent` | `SENTRY_TRACE_GEN_AI_INVOKE_AGENT_ENABLED` | `true` | Capture Laravel AI agent invocation spans |
150
+ | `tracing.features.gen_ai_chat` | `SENTRY_TRACE_GEN_AI_CHAT_ENABLED` | `true` | Capture Laravel AI chat/provider request spans |
151
+ | `tracing.features.gen_ai_execute_tool` | `SENTRY_TRACE_GEN_AI_EXECUTE_TOOL_ENABLED` | `true` | Capture Laravel AI tool execution spans |
152
+ | `tracing.features.gen_ai_embeddings` | `SENTRY_TRACE_GEN_AI_EMBEDDINGS_ENABLED` | `true` | Capture Laravel AI embedding spans |
153
+
154
+ ---
155
+
156
+ ## Auto-Instrumented Operations
157
+
158
+ The Laravel SDK auto-instruments the following (via `EventHandler` + feature
159
+ integrations):
160
+
161
+ | Operation | Span Op | Minimum Version |
162
+ | ---------------------------- | ----------------------------- | ----------------------------------------------- |
163
+ | HTTP request lifecycle | `http.server` | All |
164
+ | Database queries | `db.sql.query` | All |
165
+ | Database transactions | `db.transaction` | All |
166
+ | View rendering (Blade) | `view.render` | All |
167
+ | Queue job publishing | `queue.publish` | All |
168
+ | Queue job processing | `queue.process` | All |
169
+ | Cache operations | (cache spans) | Laravel ≥ v11.11.0 |
170
+ | HTTP Client requests | (http.client spans) | Laravel ≥ v8.45.0 |
171
+ | Redis operations | (redis spans) | All |
172
+ | Notifications | (notification spans) | All |
173
+ | Livewire components | (livewire spans) | Requires `livewire/livewire` |
174
+ | Lighthouse GraphQL | (graphql spans) | Requires `nuwave/lighthouse` |
175
+ | Folio routes | breadcrumb + transaction name | Requires `laravel/folio` |
176
+ | Filesystem disk operations | (file spans) | Opt-in, see below |
177
+ | Laravel AI agent invocations | `gen_ai.invoke_agent` | `sentry/sentry-laravel` >=4.27.0 + `laravel/ai` |
178
+ | Laravel AI chat requests | `gen_ai.chat` | `sentry/sentry-laravel` >=4.27.0 + `laravel/ai` |
179
+ | Laravel AI tool executions | `gen_ai.execute_tool` | `sentry/sentry-laravel` >=4.27.0 + `laravel/ai` |
180
+ | Laravel AI embeddings | `gen_ai.embeddings` | `sentry/sentry-laravel` >=4.27.0 + `laravel/ai` |
181
+
182
+ ### Laravel AI Instrumentation
183
+
184
+ Laravel AI instrumentation auto-enables when `laravel/ai` is installed and tracing is
185
+ enabled. It captures agent invocations, provider chat requests, tool executions,
186
+ embeddings, token usage, provider/model metadata, and conversation IDs.
187
+
188
+ To capture prompts, responses, tool arguments, tool results, and embeddings input,
189
+ explicitly enable PII capture after confirming the application’s privacy requirements:
190
+
191
+ ```ini
192
+ SENTRY_SEND_DEFAULT_PII=true
193
+ ```
194
+
195
+ For setup and verification steps, read `./ai-monitoring.md`.
196
+
197
+ ### Filesystem Disk Instrumentation (Opt-in)
198
+
199
+ ```php
200
+ // config/filesystems.php — wrap ALL disks
201
+ 'disks' => Sentry\Laravel\Features\Storage\Integration::configureDisks([
202
+ 'local' => [
203
+ 'driver' => 'local',
204
+ 'root' => storage_path('app'),
205
+ ],
206
+ 's3' => [
207
+ 'driver' => 's3',
208
+ // ...
209
+ ],
210
+ ], /* enableSpans: */ true, /* enableBreadcrumbs: */ true),
211
+
212
+ // Or wrap a single disk
213
+ 's3' => Sentry\Laravel\Features\Storage\Integration::configureDisk('s3', [
214
+ // ... disk config ...
215
+ ], /* enableSpans: */ true, /* enableBreadcrumbs: */ true),
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Middleware
221
+
222
+ Three middleware are auto-registered — no manual setup needed:
223
+
224
+ | Middleware | Purpose |
225
+ | ------------------------ | -------------------------------------------------------------------------- |
226
+ | `SetRequestMiddleware` | Converts and caches PSR-7 request early (prevents upload parsing failures) |
227
+ | `SetRequestIpMiddleware` | Sets request IP on Sentry scope |
228
+ | `FlushEventsMiddleware` | Flushes pending events in `terminate()` phase after response sent |
229
+
230
+ The tracing middleware (`Tracing\Middleware`) is auto-prepended via
231
+ `$httpKernel->prependMiddleware()` — it runs before all user middleware and records the
232
+ full boot time.
233
+
234
+ **FastCGI behavior:** On FastCGI, the terminate phase runs after the response is sent to
235
+ the client, so Sentry upload does not add user-visible latency.
236
+ On non-FastCGI (built-in server, RoadRunner), the response is delayed by the Sentry
237
+ upload — use a local Relay proxy in that case.
238
+
239
+ ---
240
+
241
+ ## Log Channels
242
+
243
+ Laravel provides two separate Sentry log channel drivers:
244
+
245
+ ### `sentry` channel — Error Events/Breadcrumbs (classic)
246
+
247
+ Sends log messages as Sentry error events or breadcrumbs.
248
+
249
+ ```php
250
+ // config/logging.php
251
+ 'channels' => [
252
+ 'sentry' => [
253
+ 'driver' => 'sentry',
254
+ 'level' => env('LOG_LEVEL', 'error'),
255
+ 'bubble' => true,
256
+ ],
257
+ ],
258
+ ```
259
+
260
+ ### `sentry_logs` channel — Structured Sentry Logs (≥ 4.15.0)
261
+
262
+ Sends structured logs to the Sentry Logs product (not as error events).
263
+
264
+ ```bash
265
+ # .env
266
+ LOG_CHANNEL=stack
267
+ LOG_STACK=single,sentry_logs
268
+ SENTRY_ENABLE_LOGS=true
269
+ LOG_LEVEL=info
270
+ SENTRY_LOG_LEVEL=warning
271
+ ```
272
+
273
+ ```php
274
+ // config/logging.php (required for SDK <= 4.16.0; auto-registered in > 4.16.0)
275
+ 'sentry_logs' => [
276
+ 'driver' => 'sentry_logs',
277
+ 'level' => env('LOG_LEVEL', 'info'),
278
+ ],
279
+ ```
280
+
281
+ ```php
282
+ // Usage
283
+ use Illuminate\Support\Facades\Log;
284
+
285
+ Log::info('User logged in', ['user_id' => $user->id]);
286
+ Log::warning('User {id} failed to login.', ['id' => $user->id]);
287
+ Log::error('Something went wrong', ['user_id' => auth()->id(), 'action' => 'update_profile']);
288
+
289
+ // Send only to Sentry (bypass other channels)
290
+ Log::channel('sentry_logs')->error('This goes only to Sentry');
291
+ ```
292
+
293
+ **Auto-flush:** When `enable_logs` is `true`, the ServiceProvider registers a
294
+ terminating callback that flushes pending logs automatically.
295
+
296
+ **Troubleshooting Tinker:** `tinker` doesn’t trigger the normal request lifecycle —
297
+ flush manually:
298
+
299
+ ```php
300
+ \Sentry\logger()->flush();
301
+ ```
302
+
303
+ ---
304
+
305
+ ## Queue Integration
306
+
307
+ The queue integration is the most complete in any framework.
308
+ All of the following is automatic when `traces_sample_rate` is set:
309
+
310
+ ### Distributed Tracing Across Queue
311
+
312
+ Trace context is automatically injected into job payloads using these keys:
313
+
314
+ ```php
315
+ const QUEUE_PAYLOAD_BAGGAGE_DATA = 'sentry_baggage_data';
316
+ const QUEUE_PAYLOAD_TRACE_PARENT_DATA = 'sentry_trace_parent_data';
317
+ const QUEUE_PAYLOAD_PUBLISH_TIME = 'sentry_publish_time';
318
+ ```
319
+
320
+ The worker side automatically reads these and calls `continueTrace()` — the queue job
321
+ transaction is linked to the originating HTTP request transaction, giving you end-to-end
322
+ distributed traces.
323
+
324
+ ### Transaction Attributes
325
+
326
+ Queue process transactions include OpenTelemetry-aligned attributes:
327
+
328
+ | Attribute | Description |
329
+ | ----------------------------------- | ------------------------------------- |
330
+ | `messaging.system` | Queue driver (e.g., `redis`, `sqs`) |
331
+ | `messaging.destination.name` | Queue name |
332
+ | `messaging.message.id` | Job ID |
333
+ | `messaging.message.receive.latency` | Time from dispatch to processing (ms) |
334
+
335
+ ### Config
336
+
337
+ ```php
338
+ // config/sentry.php
339
+ 'tracing' => [
340
+ 'queue_job_transactions' => true, // Full distributed transaction per job
341
+ 'queue_jobs' => true, // Child spans for jobs within a transaction
342
+ ],
343
+ 'breadcrumbs' => [
344
+ 'queue_info' => true, // Job name/queue/attempts breadcrumbs
345
+ ],
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Cron Monitoring (Scheduled Tasks)
351
+
352
+ ### `sentryMonitor()` Macro
353
+
354
+ Add to scheduled tasks in `routes/console.php` (Laravel 9+) or `app/Console/Kernel.php`:
355
+
356
+ ```php
357
+ use Illuminate\Support\Facades\Schedule;
358
+
359
+ Schedule::command(SendEmailsCommand::class)
360
+ ->everyHour()
361
+ ->sentryMonitor();
362
+ ```
363
+
364
+ With full configuration:
365
+
366
+ ```php
367
+ Schedule::command(SendEmailsCommand::class)
368
+ ->everyHour()
369
+ ->sentryMonitor(
370
+ monitorSlug: null, // Auto-generated if null
371
+ checkInMargin: 5, // Minutes before check-in is considered missed
372
+ maxRuntime: 15, // Minutes before in-progress is marked timed out
373
+ failureIssueThreshold: 1, // Consecutive failures before creating issue
374
+ recoveryThreshold: 1, // Consecutive successes before resolving issue
375
+ updateMonitorConfig: false, // Set false to configure only in UI
376
+ );
377
+ ```
378
+
379
+ **⚠️ Limitation:** Tasks using `between`, `unlessBetween`, `when`, and `skip` methods
380
+ are **not supported**. Use `cron('...')` for the schedule frequency instead.
381
+
382
+ ### Automatic Slug Generation
383
+
384
+ When no slug is provided:
385
+
386
+ - Commands: `"scheduled_emails-send"` (from command name)
387
+ - Jobs: `"scheduled_send-email-job"` (from reversed class name)
388
+
389
+ ### Automatic Transaction Tracing
390
+
391
+ `ConsoleSchedulingIntegration` also creates tracing transactions for scheduled tasks
392
+ automatically (no additional config beyond `traces_sample_rate`):
393
+
394
+ - `op: 'console.command.scheduled'`
395
+ - `source: TransactionSource::task()`
396
+
397
+ ---
398
+
399
+ ## Artisan Commands
400
+
401
+ | Command | Description |
402
+ | -------------------------------------- | ------------------------------------------------------------------------------------------------ |
403
+ | `php artisan sentry:publish --dsn=DSN` | Publish `config/sentry.php`, write DSN to `.env`, optionally enable PII/tracing, send test event |
404
+ | `php artisan sentry:test` | Send a test exception (and optionally a test transaction) to verify configuration |
405
+ | `php artisan about` | Displays Sentry version/config info (via `AboutCommandIntegration`) |
406
+
407
+ ---
408
+
409
+ ## User Context
410
+
411
+ ```php
412
+ \Sentry\configureScope(function (\Sentry\State\Scope $scope): void {
413
+ $scope->setUser([
414
+ 'id' => auth()->user()->id,
415
+ 'email' => auth()->user()->email,
416
+ ]);
417
+ });
418
+ ```
419
+
420
+ Requires `'send_default_pii' => true` in `config/sentry.php`.
421
+
422
+ ---
423
+
424
+ ## Closures and Config Caching
425
+
426
+ `php artisan config:cache` will **fail** if `config/sentry.php` contains PHP closures
427
+ (e.g., inline `before_send` callbacks).
428
+ Use a static class method callable instead:
429
+
430
+ ```php
431
+ // config/sentry.php — safe for config:cache
432
+ 'before_send' => [App\Sentry\Callbacks::class, 'beforeSend'],
433
+ 'before_send_log' => [App\Sentry\Callbacks::class, 'beforeSendLog'],
434
+ 'before_send_metric' => [App\Sentry\Callbacks::class, 'beforeSendMetric'],
435
+ 'traces_sampler' => [App\Sentry\Callbacks::class, 'tracesSampler'],
436
+ ```
437
+
438
+ ```php
439
+ // app/Sentry/Callbacks.php
440
+ namespace App\Sentry;
441
+
442
+ use Sentry\Event;
443
+ use Sentry\EventHint;
444
+
445
+ class Callbacks
446
+ {
447
+ public static function beforeSend(Event $event, ?EventHint $hint): ?Event
448
+ {
449
+ // return null to drop the event
450
+ return $event;
451
+ }
452
+
453
+ public static function tracesSampler(\Sentry\Tracing\SamplingContext $context): float
454
+ {
455
+ return $context->getParentSampled() ? 1.0 : 0.25;
456
+ }
457
+ }
458
+ ```
459
+
460
+ ---
461
+
462
+ ## Lumen Support
463
+
464
+ ```php
465
+ // bootstrap/app.php
466
+ $app->register(Sentry\Laravel\ServiceProvider::class);
467
+ ```
468
+
469
+ Lumen does not auto-register service providers via Package Discovery.
470
+ No `artisan sentry:publish` — create `config/sentry.php` manually and configure it as a
471
+ Lumen config file:
472
+
473
+ ```php
474
+ $app->configure('sentry');
475
+ ```
476
+
477
+ ---
478
+
479
+ ## Laravel Octane (Long-Running Server)
480
+
481
+ When using Laravel Octane (Swoole/RoadRunner/FrankenPHP), requests are handled in
482
+ long-lived workers. Sentry scope must be isolated per request:
483
+
484
+ ```php
485
+ // The SDK automatically handles this via context isolation
486
+ // when the Octane integration is active
487
+ ```
488
+
489
+ **⚠️ Important:** If using `withScope()` / `configureScope()` for per-request context,
490
+ ensure you’re using `withScope()` (not `configureScope()`) in Octane environments —
491
+ `configureScope()` persists across requests in long-running workers.
492
+
493
+ ---
494
+
495
+ ## Feature Flags (Laravel Pennant)
496
+
497
+ The `PennantIntegration` auto-records Pennant feature flag evaluations:
498
+
499
+ ```php
500
+ use Laravel\Pennant\Feature;
501
+
502
+ // Checked features are automatically added as feature flags in Sentry
503
+ $value = Feature::value('billing-v2');
504
+ $active = Feature::active('new-onboarding');
505
+ ```
506
+
507
+ No configuration needed — enabled automatically when `laravel/pennant` is installed.
508
+
509
+ ---
510
+
511
+ ## Complete `.env` Reference
512
+
513
+ ```bash
514
+ # Required
515
+ SENTRY_LARAVEL_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
516
+
517
+ # Release & environment
518
+ SENTRY_RELEASE=1.0.0
519
+ SENTRY_ENVIRONMENT=production # defaults to APP_ENV
520
+
521
+ # Performance
522
+ SENTRY_TRACES_SAMPLE_RATE=0.1 # 10% of transactions
523
+ SENTRY_PROFILES_SAMPLE_RATE=0.1 # 10% of traced transactions
524
+
525
+ # Logging
526
+ SENTRY_ENABLE_LOGS=true
527
+ LOG_CHANNEL=stack
528
+ LOG_STACK=single,sentry_logs
529
+ LOG_LEVEL=info
530
+ SENTRY_LOG_LEVEL=warning
531
+
532
+ # Privacy
533
+ SENTRY_SEND_DEFAULT_PII=false
534
+
535
+ # Breadcrumb toggles (all default true)
536
+ SENTRY_BREADCRUMBS_SQL_BINDINGS_ENABLED=false
537
+ SENTRY_BREADCRUMBS_CACHE_ENABLED=true
538
+
539
+ # Tracing toggles
540
+ SENTRY_TRACE_REDIS_COMMANDS=false
541
+ SENTRY_TRACE_MISSING_ROUTES_ENABLED=false
542
+ ```