@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,242 @@
1
+ # Logging — Sentry PHP SDK
2
+
3
+ > Minimum SDK versions: `sentry/sentry` ≥ 4.12.0 · `sentry/sentry-laravel` ≥ 4.15.0 ·
4
+ > `sentry/sentry-symfony` ≥ 5.4.0
5
+
6
+ ## Overview
7
+
8
+ Sentry PHP structured logs are **separate from error reporting**. They produce
9
+ searchable log records in the Sentry Logs UI. The feature must be explicitly enabled
10
+ with `enable_logs: true`.
11
+
12
+ ## Configuration
13
+
14
+ ### PHP (base SDK)
15
+
16
+ ```php
17
+ \Sentry\init([
18
+ 'dsn' => '___PUBLIC_DSN___',
19
+ 'enable_logs' => true,
20
+ ]);
21
+ ```
22
+
23
+ ### Laravel (`.env`)
24
+
25
+ ```bash
26
+ LOG_CHANNEL=stack
27
+ LOG_STACK=single,sentry_logs
28
+ SENTRY_ENABLE_LOGS=true
29
+ LOG_LEVEL=info
30
+ SENTRY_LOG_LEVEL=warning # optional: Sentry-specific threshold
31
+ ```
32
+
33
+ `config/sentry.php`:
34
+
35
+ ```php
36
+ 'enable_logs' => env('SENTRY_ENABLE_LOGS', false),
37
+ 'logs_channel_level' => env('SENTRY_LOG_LEVEL', env('LOG_LEVEL', 'debug')),
38
+ ```
39
+
40
+ > For SDK versions ≤ 4.16.0, also add `sentry_logs` to `config/logging.php` channels
41
+ > manually. Versions > 4.16.0 auto-register it.
42
+
43
+ ### Symfony (`config/packages/sentry.yaml` + `monolog.yaml`)
44
+
45
+ ```yaml
46
+ # config/packages/sentry.yaml
47
+ sentry:
48
+ options:
49
+ enable_logs: true
50
+ ```
51
+
52
+ ```yaml
53
+ # config/packages/monolog.yaml
54
+ monolog:
55
+ handlers:
56
+ sentry_logs:
57
+ type: service
58
+ id: Sentry\SentryBundle\Monolog\LogsHandler
59
+ ```
60
+
61
+ ```yaml
62
+ # config/services.yaml
63
+ services:
64
+ Sentry\SentryBundle\Monolog\LogsHandler:
65
+ arguments:
66
+ - !php/const Monolog\Logger::INFO
67
+ ```
68
+
69
+ ## Code Examples
70
+
71
+ ### PHP — direct logger API
72
+
73
+ ```php
74
+ \Sentry\logger()->trace('Starting request processing');
75
+ \Sentry\logger()->debug('Cache lookup for key %s', values: ['user:42']);
76
+ \Sentry\logger()->info('User logged in');
77
+ \Sentry\logger()->warn('Rate limit approaching for %s', values: ['/api/v1/users']);
78
+ \Sentry\logger()->error('Payment failed for order %s', values: [$orderId]);
79
+ \Sentry\logger()->fatal('Database connection pool exhausted');
80
+
81
+ // Must flush at end of script (CLI) or long-running processes
82
+ \Sentry\logger()->flush();
83
+ ```
84
+
85
+ ### PHP — with custom attributes
86
+
87
+ ```php
88
+ \Sentry\logger()->warn('This is a warning log with attributes.', attributes: [
89
+ 'attribute1' => 'string',
90
+ 'attribute2' => 1,
91
+ 'attribute3' => 1.0,
92
+ 'attribute4' => true,
93
+ ]);
94
+ ```
95
+
96
+ ### PHP — Monolog bridge
97
+
98
+ ```php
99
+ use Monolog\Level;
100
+ use Monolog\Logger;
101
+
102
+ \Sentry\init([
103
+ 'dsn' => '___PUBLIC_DSN___',
104
+ 'enable_logs' => true,
105
+ ]);
106
+
107
+ $log = new Logger('app');
108
+ $log->pushHandler(new \Sentry\Monolog\LogsHandler(
109
+ hub: \Sentry\SentrySdk::getCurrentHub(),
110
+ level: Level::Info,
111
+ ));
112
+
113
+ $log->info('Application started');
114
+ $log->error('Something went wrong', ['user_id' => 42]);
115
+
116
+ \Sentry\logger()->flush();
117
+ ```
118
+
119
+ ### Laravel — Laravel Log facade
120
+
121
+ ```php
122
+ use Illuminate\Support\Facades\Log;
123
+
124
+ Log::info('This is an info message');
125
+ Log::warning('User {id} failed to login.', ['id' => $user->id]);
126
+ Log::error('Payment failed', [
127
+ 'user_id' => auth()->id(),
128
+ 'order_id' => $orderId,
129
+ ]);
130
+
131
+ // Send only to Sentry (not to other channels)
132
+ Log::channel('sentry_logs')->error('Critical failure in payment module');
133
+ ```
134
+
135
+ ### Symfony — via injected LoggerInterface
136
+
137
+ ```php
138
+ // Inject via constructor or autowiring
139
+ $this->logger->info('User {id} logged in', ['id' => $userId]);
140
+ $this->logger->warning('Slow query detected', ['duration_ms' => 850]);
141
+ $this->logger->error('Payment processing failed', [
142
+ 'user_id' => $userId,
143
+ 'action' => 'checkout',
144
+ ]);
145
+ ```
146
+
147
+ ### Filtering with `before_send_log`
148
+
149
+ **PHP / Laravel:**
150
+
151
+ ```php
152
+ \Sentry\init([
153
+ 'dsn' => '___PUBLIC_DSN___',
154
+ 'enable_logs' => true,
155
+ 'before_send_log' => function (\Sentry\Logs\Log $log): ?\Sentry\Logs\Log {
156
+ if ($log->getLevel() === \Sentry\Logs\LogLevel::info()) {
157
+ return null; // drop info logs
158
+ }
159
+ return $log;
160
+ },
161
+ ]);
162
+ ```
163
+
164
+ **Symfony** (uses service ID, not a closure):
165
+
166
+ ```yaml
167
+ sentry:
168
+ options:
169
+ before_send_log: "sentry.callback.before_send_log"
170
+ ```
171
+
172
+ ```php
173
+ // App\Service\Sentry
174
+ public function getBeforeSendLog(): callable
175
+ {
176
+ return function (\Sentry\Logs\Log $log): ?\Sentry\Logs\Log {
177
+ if ($log->getLevel() === \Sentry\Logs\LogLevel::info()) {
178
+ return null;
179
+ }
180
+ return $log;
181
+ };
182
+ }
183
+ ```
184
+
185
+ ## Two Log Channel Types in Laravel
186
+
187
+ | Channel | Driver | Purpose |
188
+ | ------------- | ------------- | --------------------------------------------------------- |
189
+ | `sentry` | `sentry` | Sends log messages as Sentry **error events/breadcrumbs** |
190
+ | `sentry_logs` | `sentry_logs` | Sends **structured logs** to the Sentry Logs product |
191
+
192
+ These are independent — use `sentry_logs` for the structured logs feature.
193
+
194
+ ## Log Levels
195
+
196
+ | Method | PSR Level |
197
+ | --------- | --------- |
198
+ | `trace()` | debug |
199
+ | `debug()` | debug |
200
+ | `info()` | info |
201
+ | `warn()` | warning |
202
+ | `error()` | error |
203
+ | `fatal()` | critical |
204
+
205
+ ## Automatically Added Attributes
206
+
207
+ Every log record receives these automatically:
208
+
209
+ | Attribute | Description |
210
+ | ---------------------------------------- | ------------------------------------- |
211
+ | `sentry.environment` | Environment from SDK config |
212
+ | `sentry.release` | Release from SDK config |
213
+ | `sentry.sdk.name` / `sentry.sdk.version` | SDK metadata |
214
+ | `sentry.server.address` | Server hostname |
215
+ | `sentry.message.template` | Parameterized template string |
216
+ | `sentry.message.parameter.N` | Template parameter values |
217
+ | `user.id`, `user.name`, `user.email` | Active scope user (if set) |
218
+ | `sentry.origin` | Log origin (e.g., `auto.log.monolog`) |
219
+
220
+ ## Flushing
221
+
222
+ Logs are buffered and must be flushed to be sent:
223
+
224
+ | Context | Behavior |
225
+ | ----------------- | ------------------------------------------------------------- |
226
+ | PHP (CLI/scripts) | Call `\Sentry\logger()->flush()` manually at end of execution |
227
+ | Laravel | Auto-flushed via `app->terminating()` callback |
228
+ | Symfony (HTTP) | Auto-flushed on `kernel.terminate` by `LogRequestListener` |
229
+ | Symfony (console) | Auto-flushed on `console.terminate` by `ConsoleListener` |
230
+
231
+ **Long-running CLI tasks:** Call `\Sentry\logger()->flush()` periodically to avoid
232
+ memory buildup.
233
+
234
+ ## Troubleshooting
235
+
236
+ | Issue | Solution |
237
+ | --------------------------- | ----------------------------------------------------------------------------------- |
238
+ | Logs not appearing | Verify `enable_logs: true` and that `\Sentry\logger()->flush()` is called |
239
+ | Laravel logs missing | Check `LOG_STACK` includes `sentry_logs` and `LOG_LEVEL` permits expected messages |
240
+ | Symfony logs missing | Verify `LogsHandler` is registered in `monolog.yaml` and `enable_logs: true` is set |
241
+ | Tinker session missing logs | Manually call `\Sentry\logger()->flush()` — Tinker skips normal lifecycle |
242
+ | Info logs filtered out | Check `before_send_log` callback and `SENTRY_LOG_LEVEL` threshold |
@@ -0,0 +1,193 @@
1
+ # Metrics — Sentry PHP SDK
2
+
3
+ > Minimum SDK versions: `sentry/sentry` ≥ 4.19.0 · `sentry/sentry-laravel` ≥ 4.20.0 ·
4
+ > `sentry/sentry-symfony` ≥ 5.8.0
5
+
6
+ ## Overview
7
+
8
+ Custom metrics (counters, distributions, gauges) are enabled by default — no extra flag
9
+ required. Use `\Sentry\traceMetrics()` as the entry point.
10
+
11
+ > **Note:** The old `\Sentry\metrics()` API is **fully deprecated** — all methods are
12
+ > no-ops. Use `\Sentry\traceMetrics()` instead.
13
+
14
+ ## Metric Types
15
+
16
+ | Type | Method | Aggregations | Use for |
17
+ | ------------ | ---------------- | ------------------------- | --------------------------------------- |
18
+ | Counter | `count()` | sum | Event occurrences, request counts |
19
+ | Distribution | `distribution()` | p90, min, max, avg | Latencies, sizes — supports percentiles |
20
+ | Gauge | `gauge()` | min, max, avg, sum, count | Current values — no percentiles |
21
+
22
+ ## Code Examples
23
+
24
+ ### Counter — event occurrences
25
+
26
+ ```php
27
+ \Sentry\traceMetrics()->count('button-click', 5, [
28
+ 'browser' => 'Firefox',
29
+ 'app_version' => '1.0.0',
30
+ ]);
31
+ ```
32
+
33
+ ### Distribution — percentile analysis
34
+
35
+ Best for latencies, response sizes, durations where p90/p99 matter:
36
+
37
+ ```php
38
+ use \Sentry\Metrics\Unit;
39
+
40
+ \Sentry\traceMetrics()->distribution('page-load', 15.0, ['page' => '/home'], Unit::millisecond());
41
+ ```
42
+
43
+ ### Gauge — space-efficient aggregates
44
+
45
+ Use when high cardinality is a concern; no percentile support:
46
+
47
+ ```php
48
+ use \Sentry\Metrics\Unit;
49
+
50
+ \Sentry\traceMetrics()->gauge('active-connections', 42.0, ['region' => 'eu-west'], Unit::none());
51
+ ```
52
+
53
+ ### Flushing manually
54
+
55
+ Metrics are buffered (up to 1000 entries).
56
+ Flush explicitly in CLI scripts or when emitting high volumes:
57
+
58
+ ```php
59
+ \Sentry\traceMetrics()->flush();
60
+ ```
61
+
62
+ ### Filtering with `before_send_metric`
63
+
64
+ **PHP / Laravel:**
65
+
66
+ ```php
67
+ use \Sentry\Metrics\Types\Metric;
68
+
69
+ \Sentry\init([
70
+ 'dsn' => '___PUBLIC_DSN___',
71
+ 'before_send_metric' => static function (Metric $metric): ?Metric {
72
+ if ($metric->getName() === 'removed-metric') {
73
+ return null; // drop this metric
74
+ }
75
+ return $metric;
76
+ },
77
+ ]);
78
+ ```
79
+
80
+ **Symfony** (uses service ID, not a closure):
81
+
82
+ ```yaml
83
+ sentry:
84
+ options:
85
+ enable_metrics: true
86
+ before_send_metric: 'App\Sentry\BeforeSendMetricCallback'
87
+ ```
88
+
89
+ ## Units
90
+
91
+ ```php
92
+ use \Sentry\Metrics\Unit;
93
+
94
+ // Duration
95
+ Unit::nanosecond() Unit::microsecond() Unit::millisecond()
96
+ Unit::second() Unit::minute() Unit::hour()
97
+ Unit::day() Unit::week()
98
+
99
+ // Information
100
+ Unit::bit() Unit::byte()
101
+ Unit::kilobyte() Unit::megabyte() Unit::gigabyte()
102
+ Unit::terabyte()
103
+
104
+ // Fraction
105
+ Unit::ratio() Unit::percent()
106
+
107
+ // Dimensionless
108
+ Unit::none()
109
+ ```
110
+
111
+ ## Flushing
112
+
113
+ Metrics are buffered in a ring buffer (capacity: 1000 entries):
114
+
115
+ | Context | Behavior |
116
+ | ----------------- | ----------------------------------------------- |
117
+ | PHP (CLI/scripts) | Call `\Sentry\traceMetrics()->flush()` manually |
118
+ | Laravel | Auto-flushed at end of each request or command |
119
+ | Symfony (HTTP) | Auto-flushed on `kernel.terminate` |
120
+ | Symfony (console) | Auto-flushed on `console.terminate` |
121
+
122
+ **Buffer limit:** When more than 1000 metrics are buffered, the oldest entries are
123
+ dropped. Flush periodically in high-volume scripts.
124
+
125
+ ## Auto-Flush Threshold
126
+
127
+ Use `metric_flush_threshold` to automatically flush buffered metrics after N entries,
128
+ without needing to call `flush()` manually:
129
+
130
+ **PHP / Laravel:**
131
+
132
+ ```php
133
+ \Sentry\init([
134
+ 'dsn' => '___PUBLIC_DSN___',
135
+ 'metric_flush_threshold' => 500, // flush automatically after 500 metrics
136
+ ]);
137
+ ```
138
+
139
+ **Symfony:**
140
+
141
+ ```yaml
142
+ sentry:
143
+ options:
144
+ metric_flush_threshold: 500
145
+ ```
146
+
147
+ This is useful in CLI scripts or workers that emit metrics continuously.
148
+ The threshold triggers a flush mid-process so the buffer never fills to its 1000-entry
149
+ cap.
150
+
151
+ ## Symfony Configuration
152
+
153
+ ```yaml
154
+ sentry:
155
+ options:
156
+ enable_metrics: true # default: true
157
+ attach_metric_code_locations: true # attach file/line info
158
+ metric_flush_threshold: 500 # auto-flush after N metrics (optional)
159
+ before_send_metric: 'App\Sentry\BeforeSendMetricCallback'
160
+ ```
161
+
162
+ ## Automatically Added Attributes
163
+
164
+ Every metric receives these automatically:
165
+
166
+ | Attribute | Description |
167
+ | ---------------------------------------- | ---------------------------------------------------- |
168
+ | `sentry.environment` | Environment from SDK config |
169
+ | `sentry.release` | Release from SDK config |
170
+ | `sentry.sdk.name` / `sentry.sdk.version` | SDK metadata |
171
+ | `server.address` | Server hostname |
172
+ | `user.id`, `user.name`, `user.email` | Active scope user (only if `send_default_pii: true`) |
173
+
174
+ ## Best Practices
175
+
176
+ - Keep attribute cardinality low — avoid user IDs, UUIDs, or timestamps as attribute
177
+ values
178
+ - Use `distribution` over `gauge` when you need percentile analysis (p90, p99)
179
+ - Prefix metric names with your service: `"payments.charge_time"` not `"charge_time"`
180
+ - In high-throughput scripts, flush periodically to prevent the buffer from dropping old
181
+ entries
182
+ - Laravel closures in `config/sentry.php` may cause issues with `config:cache` — see
183
+ [Laravel closures config docs](https://docs.sentry.io/platforms/php/guides/laravel/configuration/laravel-options/#closures-and-config-caching)
184
+
185
+ ## Troubleshooting
186
+
187
+ | Issue | Solution |
188
+ | ------------------------------------------- | ------------------------------------------------------------------------------ |
189
+ | Metrics not appearing | Verify SDK version meets minimum; check `enable_metrics` is `true` |
190
+ | Metrics being dropped | Buffer cap is 1000 — flush periodically with `\Sentry\traceMetrics()->flush()` |
191
+ | No percentiles in Sentry UI | Switch from `gauge` to `distribution` — gauges do not support percentiles |
192
+ | High cardinality warning | Reduce attribute values — avoid per-user or per-request identifiers |
193
+ | Old `\Sentry\metrics()` calls doing nothing | Migrate to `\Sentry\traceMetrics()` — the old API is fully deprecated |
@@ -0,0 +1,115 @@
1
+ # Profiling — Sentry PHP SDK
2
+
3
+ > Requires the **Excimer** PHP extension (Linux/macOS only — Windows not supported)
4
+
5
+ ## Prerequisites
6
+
7
+ **Excimer extension** must be installed:
8
+
9
+ ```bash
10
+ # Linux (recommended)
11
+ apt-get install php-excimer
12
+
13
+ # PECL
14
+ pecl install excimer
15
+
16
+ # Enable (if needed)
17
+ phpenmod -s fpm excimer
18
+ ```
19
+
20
+ Excimer requires PHP 7.2+ and does **not** support Windows.
21
+
22
+ ## Version Requirements
23
+
24
+ | Framework | Min SDK Version |
25
+ | ---------- | ------------------------------- |
26
+ | PHP (base) | `sentry/sentry` ≥ 3.15.0 |
27
+ | Laravel | `sentry/sentry-laravel` ≥ 3.3.0 |
28
+ | Symfony | `sentry/sentry-symfony` ≥ 4.7.0 |
29
+
30
+ ## Configuration
31
+
32
+ Profiling requires `traces_sample_rate > 0`. `profiles_sample_rate` is relative to
33
+ `traces_sample_rate`.
34
+
35
+ ### PHP (base SDK)
36
+
37
+ ```php
38
+ \Sentry\init([
39
+ 'dsn' => '___PUBLIC_DSN___',
40
+ 'traces_sample_rate' => 1.0,
41
+ 'profiles_sample_rate' => 1.0, // relative to traces_sample_rate
42
+ ]);
43
+ ```
44
+
45
+ ### Laravel (`config/sentry.php`)
46
+
47
+ ```php
48
+ return [
49
+ 'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),
50
+ 'traces_sample_rate' => env('SENTRY_TRACES_SAMPLE_RATE') === null ? null : (float) env('SENTRY_TRACES_SAMPLE_RATE'),
51
+ 'profiles_sample_rate' => env('SENTRY_PROFILES_SAMPLE_RATE') === null ? null : (float) env('SENTRY_PROFILES_SAMPLE_RATE'),
52
+ ];
53
+ ```
54
+
55
+ `.env`:
56
+
57
+ ```bash
58
+ SENTRY_TRACES_SAMPLE_RATE=1.0
59
+ SENTRY_PROFILES_SAMPLE_RATE=1.0
60
+ ```
61
+
62
+ ### Symfony (`config/packages/sentry.yaml`)
63
+
64
+ ```yaml
65
+ sentry:
66
+ options:
67
+ traces_sample_rate: 1.0
68
+ profiles_sample_rate: 1.0
69
+ ```
70
+
71
+ ## How `profiles_sample_rate` Works
72
+
73
+ `profiles_sample_rate` is a **fraction of already-sampled transactions**, not of all
74
+ requests:
75
+
76
+ ```
77
+ Effective profiling rate = traces_sample_rate × profiles_sample_rate
78
+
79
+ Examples:
80
+ traces_sample_rate: 1.0, profiles_sample_rate: 1.0 → 100% of requests profiled
81
+ traces_sample_rate: 0.5, profiles_sample_rate: 0.5 → 25% of requests profiled
82
+ traces_sample_rate: 0.1, profiles_sample_rate: 1.0 → 10% of requests profiled
83
+ ```
84
+
85
+ ## Reducing Latency Impact
86
+
87
+ Profiling data is sent to Sentry after generating the response, not before:
88
+
89
+ - **Laravel (FastCGI):** Uses terminable middleware — data sent **after** response is
90
+ dispatched
91
+ - **Symfony (FastCGI):** Uses `kernel.terminate` event — same behavior
92
+ - **Non-FastCGI servers:** Use a local [Relay](https://docs.sentry.io/product/relay/)
93
+ instance:
94
+
95
+ ```
96
+ PHP App → local Relay (127.0.0.1) → Sentry Cloud
97
+ ```
98
+
99
+ ## Best Practices
100
+
101
+ - Start with `profiles_sample_rate: 1.0` in development to verify setup
102
+ - In production, reduce `traces_sample_rate` (e.g., `0.1`) — profiling follows
103
+ automatically
104
+ - Profiling has no meaningful overhead on Linux with Excimer; Relay is only needed to
105
+ avoid latency on non-FastCGI servers
106
+ - Profiles are capped at **30 seconds** per transaction
107
+
108
+ ## Troubleshooting
109
+
110
+ | Issue | Solution |
111
+ | ------------------------------------ | ----------------------------------------------------------------------------------- |
112
+ | No profiles appearing | Verify Excimer is installed (`php -m \| grep excimer`) and `traces_sample_rate > 0` |
113
+ | `profiles_sample_rate has no effect` | Check SDK version meets minimum requirement |
114
+ | Windows deployment | Profiling is not supported on Windows — use Linux or macOS |
115
+ | High latency from profiling | Use FastCGI (terminable middleware) or deploy a local Relay instance |