@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,48 @@
1
+ # Integration Reference — Sentry Android SDK
2
+
3
+ ### Built-in (Auto-Enabled)
4
+
5
+ These integrations activate automatically when `SentryAndroid.init()` is called:
6
+
7
+ | Integration | What it does |
8
+ | ------------------------------------- | ---------------------------------------------------------------------- |
9
+ | `UncaughtExceptionHandlerIntegration` | Captures all uncaught Java/Kotlin exceptions |
10
+ | `AnrIntegration` | ANR detection via watchdog thread (5s) + ApplicationExitInfo (API 30+) |
11
+ | `NdkIntegration` | Native (C/C++) crash capture via `sentry-native` |
12
+ | `ActivityLifecycleIntegration` | Auto-instruments Activity create/resume/pause for TTID/TTFD |
13
+ | `AppStartMetrics` | Measures cold/warm/hot app start time |
14
+ | `NetworkBreadcrumbsIntegration` | Records connectivity changes as breadcrumbs |
15
+ | `SystemEventsBreadcrumbsIntegration` | Records battery, screen on/off, etc. |
16
+ | `AppLifecycleIntegration` | Records foreground/background transitions |
17
+ | `UserInteractionIntegration` | Breadcrumbs for taps, swipes, input events |
18
+ | `CurrentActivityIntegration` | Tracks active Activity for context |
19
+
20
+ ### Optional Integrations
21
+
22
+ Add the artifact to your `dependencies {}` block (versions managed by BOM):
23
+
24
+ | Integration | Artifact | When to add |
25
+ | --------------------- | --------------------------------------- | ----------------------------------------------- |
26
+ | **Timber** | `io.sentry:sentry-android-timber` | App uses Timber for logging |
27
+ | **Fragment** | `io.sentry:sentry-android-fragment` | App uses Jetpack Fragments (lifecycle tracing) |
28
+ | **Compose** | `io.sentry:sentry-compose-android` | App uses Jetpack Compose (navigation + masking) |
29
+ | **Navigation** | `io.sentry:sentry-android-navigation` | App uses Jetpack Navigation Component |
30
+ | **OkHttp** | `io.sentry:sentry-okhttp` | App uses OkHttp or Retrofit |
31
+ | **Room/SQLite** | `io.sentry:sentry-android-sqlite` | App uses Room or raw SQLite |
32
+ | **Apollo 3** | `io.sentry:sentry-apollo-3` | App uses Apollo GraphQL v3 |
33
+ | **Apollo 4** | `io.sentry:sentry-apollo-4` | App uses Apollo GraphQL v4 |
34
+ | **Kotlin Extensions** | `io.sentry:sentry-kotlin-extensions` | Kotlin coroutines context propagation |
35
+ | **Ktor Client** | `io.sentry:sentry-ktor-client` | App uses Ktor HTTP client |
36
+ | **LaunchDarkly** | `io.sentry:sentry-launchdarkly-android` | App uses LaunchDarkly feature flags |
37
+
38
+ ### Gradle Plugin Bytecode Instrumentation
39
+
40
+ The plugin can inject instrumentation automatically (no source changes):
41
+
42
+ | Feature | Instruments | Enable via |
43
+ | ---------- | -------------------------------------- | --------------------------------- |
44
+ | `DATABASE` | Room DAO, SupportSQLiteOpenHelper | `tracingInstrumentation.features` |
45
+ | `FILE_IO` | FileInputStream, FileOutputStream | `tracingInstrumentation.features` |
46
+ | `OKHTTP` | OkHttpClient.Builder automatically | `tracingInstrumentation.features` |
47
+ | `COMPOSE` | NavHostController auto-instrumentation | `tracingInstrumentation.features` |
48
+ | `LOGCAT` | `android.util.Log` capturing | `tracingInstrumentation.features` |
@@ -0,0 +1,374 @@
1
+ # Logging — Sentry Android SDK
2
+
3
+ > **Minimum SDK:** `io.sentry:sentry-android:8.12.0`\
4
+ > **Status:** Stable\
5
+ > **Enabled by default:** No — must opt in explicitly\
6
+ > **Docs:** https://docs.sentry.io/platforms/android/logs/
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ Sentry Structured Logs capture application log events as searchable, filterable records
13
+ in the Sentry Logs UI. Unlike breadcrumbs (which are attached to errors), structured
14
+ logs are standalone events with typed attributes and are queryable independently.
15
+
16
+ Logging is **opt-in** — the feature is entirely inert until
17
+ `options.logs.isEnabled = true` is set.
18
+
19
+ ---
20
+
21
+ ## Enabling Logs
22
+
23
+ **Code (preferred — allows dynamic configuration):**
24
+
25
+ ```kotlin
26
+ SentryAndroid.init(this) { options ->
27
+ options.dsn = "https://YOUR_KEY@sentry.io/YOUR_PROJECT_ID"
28
+ options.logs.isEnabled = true
29
+ }
30
+ ```
31
+
32
+ **AndroidManifest.xml:**
33
+
34
+ ```xml
35
+ <application>
36
+ <meta-data
37
+ android:name="io.sentry.logs.enabled"
38
+ android:value="true" />
39
+ </application>
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Configuration
45
+
46
+ ```kotlin
47
+ SentryAndroid.init(this) { options ->
48
+ options.logs.isEnabled = true
49
+
50
+ // Optional: filter or mutate logs before they are sent
51
+ options.logs.setBeforeSend { event ->
52
+ // Drop TRACE logs in production
53
+ if (!BuildConfig.DEBUG && event.level == SentryLogLevel.TRACE) {
54
+ return@setBeforeSend null // null = drop the event
55
+ }
56
+ // Redact PII
57
+ val body = event.body ?: return@setBeforeSend event
58
+ if (body.contains("password", ignoreCase = true)) {
59
+ event.setBody("[REDACTED]")
60
+ }
61
+ event
62
+ }
63
+ }
64
+ ```
65
+
66
+ ### Configuration Reference
67
+
68
+ | Option | Type | Default | Description |
69
+ | -------------------- | ------------------------ | ------- | ----------------------------------------------------------------------- |
70
+ | `logs.isEnabled` | `Boolean` | `false` | Master switch — must be `true` for all logging features |
71
+ | `logs.setBeforeSend` | `BeforeSendLogCallback?` | `null` | Filter or mutate log events before transmission. Return `null` to drop. |
72
+
73
+ ---
74
+
75
+ ## Code Examples
76
+
77
+ ### Basic Level Methods
78
+
79
+ ```kotlin
80
+ import io.sentry.Sentry
81
+ import io.sentry.SentryLogLevel
82
+ import io.sentry.SentryAttribute
83
+ import io.sentry.SentryAttributes
84
+ import io.sentry.logger.SentryLogParameters
85
+
86
+ // Six log levels — all accept printf-style format strings
87
+ Sentry.logger().trace("Entering %s.%s()", className, methodName)
88
+ Sentry.logger().debug("Cache lookup for key: %s", cacheKey)
89
+ Sentry.logger().info("User %s logged in", userId)
90
+ Sentry.logger().warn("Rate limit approaching: %d / %d requests used", current, max)
91
+ Sentry.logger().error("Payment failed after %d retries", retries)
92
+ Sentry.logger().fatal("Database unavailable: %s", host)
93
+ ```
94
+
95
+ **Java:**
96
+
97
+ ```java
98
+ Sentry.logger().info("User %s logged in", userId);
99
+ Sentry.logger().error("Payment failed after %d retries", retries);
100
+ ```
101
+
102
+ ### Structured Attributes
103
+
104
+ Attach typed key-value pairs to make log events queryable by attribute values in Sentry:
105
+
106
+ ```kotlin
107
+ Sentry.logger().log(
108
+ SentryLogLevel.INFO,
109
+ SentryLogParameters.create(
110
+ SentryAttributes.of(
111
+ SentryAttribute.stringAttribute("user.id", userId),
112
+ SentryAttribute.stringAttribute("order.id", orderId),
113
+ SentryAttribute.stringAttribute("payment.method", "card"),
114
+ SentryAttribute.booleanAttribute("is_retry", false),
115
+ SentryAttribute.integerAttribute("item_count", 3),
116
+ SentryAttribute.doubleAttribute("total_usd", 49.99)
117
+ )
118
+ ),
119
+ "Checkout completed for user %s",
120
+ userId
121
+ )
122
+ ```
123
+
124
+ **Attribute factory methods:**
125
+
126
+ ```kotlin
127
+ SentryAttribute.stringAttribute("key", "value") // String
128
+ SentryAttribute.booleanAttribute("key", true) // Boolean
129
+ SentryAttribute.integerAttribute("key", 42) // Int / Long
130
+ SentryAttribute.doubleAttribute("key", 3.14) // Double / Float
131
+ SentryAttribute.named("key", anyObject) // type inferred at runtime
132
+ ```
133
+
134
+ **From a map:**
135
+
136
+ ```kotlin
137
+ val attrs = SentryAttributes.fromMap(mapOf(
138
+ "user.id" to userId,
139
+ "request.id" to requestId,
140
+ "duration" to durationMs
141
+ ))
142
+ Sentry.logger().log(SentryLogLevel.INFO, SentryLogParameters.create(attrs), "API call completed")
143
+ ```
144
+
145
+ ### Custom Timestamp (Backfilling)
146
+
147
+ ```kotlin
148
+ val ts = SentryAutoDateProvider().now()
149
+ Sentry.logger().log(
150
+ SentryLogLevel.INFO,
151
+ SentryLogParameters.create(
152
+ ts,
153
+ SentryAttributes.of(
154
+ SentryAttribute.stringAttribute("event", "purchase_complete"),
155
+ SentryAttribute.stringAttribute("order.id", orderId)
156
+ )
157
+ ),
158
+ "Order %s fulfilled",
159
+ orderId
160
+ )
161
+ ```
162
+
163
+ ### Production Pattern — Screen Lifecycle
164
+
165
+ ```kotlin
166
+ class ProductDetailActivity : AppCompatActivity() {
167
+
168
+ override fun onCreate(savedInstanceState: Bundle?) {
169
+ super.onCreate(savedInstanceState)
170
+ val productId = intent.getStringExtra("product_id")
171
+
172
+ Sentry.logger().info(
173
+ SentryLogParameters.create(
174
+ SentryAttributes.of(
175
+ SentryAttribute.stringAttribute("screen", "ProductDetail"),
176
+ SentryAttribute.stringAttribute("product.id", productId ?: "unknown")
177
+ )
178
+ ),
179
+ "Screen opened: ProductDetail"
180
+ )
181
+ }
182
+ }
183
+ ```
184
+
185
+ ### Production Pattern — API Call Logging
186
+
187
+ ```kotlin
188
+ suspend fun fetchUserProfile(userId: String): UserProfile {
189
+ Sentry.logger().debug("Fetching profile for user %s", userId)
190
+ val t0 = SystemClock.elapsedRealtime()
191
+
192
+ return try {
193
+ val profile = api.getUser(userId)
194
+ Sentry.logger().info(
195
+ SentryLogParameters.create(
196
+ SentryAttributes.of(
197
+ SentryAttribute.stringAttribute("user.id", userId),
198
+ SentryAttribute.integerAttribute("duration_ms", (SystemClock.elapsedRealtime() - t0).toInt())
199
+ )
200
+ ),
201
+ "Profile fetch succeeded for user %s",
202
+ userId
203
+ )
204
+ profile
205
+ } catch (e: Exception) {
206
+ Sentry.logger().error(
207
+ SentryLogParameters.create(
208
+ SentryAttributes.of(
209
+ SentryAttribute.stringAttribute("user.id", userId),
210
+ SentryAttribute.integerAttribute("duration_ms", (SystemClock.elapsedRealtime() - t0).toInt()),
211
+ SentryAttribute.stringAttribute("error", e.message ?: "unknown")
212
+ )
213
+ ),
214
+ "Profile fetch failed for user %s",
215
+ userId
216
+ )
217
+ throw e
218
+ }
219
+ }
220
+ ```
221
+
222
+ ---
223
+
224
+ ## Timber Integration
225
+
226
+ `SentryTimberIntegration` bridges Timber logs into the Sentry Logs pipeline.
227
+ Requires `sentry-android-timber`.
228
+
229
+ **Dependency:**
230
+
231
+ ```groovy
232
+ implementation("io.sentry:sentry-android-timber:8.33.0")
233
+ ```
234
+
235
+ **Setup:**
236
+
237
+ ```kotlin
238
+ SentryAndroid.init(this) { options ->
239
+ options.logs.isEnabled = true
240
+
241
+ options.addIntegration(
242
+ SentryTimberIntegration(
243
+ minEventLevel = SentryLevel.ERROR, // Timber.e() → Sentry error events
244
+ minBreadcrumbLevel = SentryLevel.INFO, // Timber.i() → breadcrumbs
245
+ minLogsLevel = SentryLogLevel.DEBUG, // Timber.d() → Sentry structured logs
246
+ )
247
+ )
248
+ }
249
+
250
+ // Plant Timber separately — SDK does not plant for you
251
+ if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
252
+ ```
253
+
254
+ **Timber priority → SentryLogLevel mapping:**
255
+
256
+ | Timber Priority | `SentryLogLevel` |
257
+ | --------------- | ---------------- |
258
+ | `Log.VERBOSE` | `TRACE` |
259
+ | `Log.DEBUG` | `DEBUG` |
260
+ | `Log.INFO` | `INFO` |
261
+ | `Log.WARN` | `WARN` |
262
+ | `Log.ERROR` | `ERROR` |
263
+ | `Log.ASSERT` | `FATAL` |
264
+
265
+ Each Timber-sourced log carries `sentry.origin = "auto.log.timber"` for filtering in
266
+ `beforeSend`.
267
+
268
+ ---
269
+
270
+ ## Logcat Auto-Integration (Gradle Plugin)
271
+
272
+ With the Sentry Android Gradle plugin, `android.util.Log` calls are
273
+ bytecode-instrumented at build time and forwarded to Sentry Logs automatically — **no
274
+ source code changes needed**:
275
+
276
+ ```groovy
277
+ // android/build.gradle (module)
278
+ sentry {
279
+ autoInstallation.enabled = true
280
+ tracingInstrumentation {
281
+ features = [InstrumentationFeature.LOGCAT]
282
+ }
283
+ }
284
+ ```
285
+
286
+ Without the plugin, only manual `Sentry.logger()` calls and the Timber integration
287
+ capture logs.
288
+
289
+ ---
290
+
291
+ ## Auto-Attached Attributes
292
+
293
+ The SDK automatically enriches every log event with the following attributes:
294
+
295
+ | Attribute Key | Value | Notes |
296
+ | -------------------------------------- | ------------------------------------------------------ | ------------------------------------------------- |
297
+ | `sentry.origin` | `"manual"` / `"auto.log.timber"` / `"auto.log.logcat"` | Per integration |
298
+ | `sentry.message.template` | Original format string | e.g. `"User %s logged in"` |
299
+ | `sentry.message.parameter.0` … `.N` | Format argument values | |
300
+ | `sentry.sdk.name` | `"sentry.java.android"` | |
301
+ | `sentry.sdk.version` | `"8.33.0"` | |
302
+ | `sentry.environment` | Configured environment | |
303
+ | `sentry.release` | Configured release string | |
304
+ | `sentry.replay_id` | Active replay session UUID | Only when Session Replay is recording |
305
+ | `sentry._internal.replay_is_buffering` | `"true"` | Only in `onErrorSampleRate` buffer mode |
306
+ | `user.id` | From `scope.user.id` | Added regardless of `sendDefaultPii` since 8.33.0 |
307
+ | `user.name` | From `scope.user.username` | |
308
+ | `user.email` | From `scope.user.email` | |
309
+
310
+ > **8.33.0 change:** `user.id`, `user.name`, `user.email` now attach to logs regardless
311
+ > of `sendDefaultPii`. Use `beforeSend` to suppress PII if needed.
312
+
313
+ ---
314
+
315
+ ## Log Levels Reference
316
+
317
+ | Level | `SentryLogLevel` constant | OTel Severity | When to Use |
318
+ | ------- | ------------------------- | ------------- | ------------------------------------------------ |
319
+ | `trace` | `TRACE` (1) | 1 | Step-by-step internals, loop iterations |
320
+ | `debug` | `DEBUG` (5) | 5 | Development diagnostics |
321
+ | `info` | `INFO` (9) | 9 | Business events, user actions, state transitions |
322
+ | `warn` | `WARN` (13) | 13 | Recoverable errors, approaching limits |
323
+ | `error` | `ERROR` (17) | 17 | Failures requiring investigation |
324
+ | `fatal` | `FATAL` (21) | 21 | Unrecoverable failures — app or subsystem down |
325
+
326
+ ---
327
+
328
+ ## Batch Processing
329
+
330
+ The SDK batches log events for efficiency:
331
+
332
+ | Parameter | Value |
333
+ | ---------------- | ----------------------------------------------------------------------- |
334
+ | Flush delay | 5 seconds after the first queued event |
335
+ | Max batch size | 100 events per HTTP envelope |
336
+ | Max queue size | 1,000 events (events silently dropped above this) |
337
+ | Background flush | Yes — `AndroidLoggerBatchProcessor` flushes when app goes to background |
338
+
339
+ ---
340
+
341
+ ## Best Practices
342
+
343
+ 1. **Enable in `Application.onCreate()`** — set `options.logs.isEnabled = true` before
344
+ any log calls
345
+ 2. **Use structured attributes** — pass typed key-value pairs instead of embedding
346
+ values in message strings; they become queryable columns in the Logs UI
347
+ 3. **Use `beforeSend` for level filtering** — drop `TRACE`/`DEBUG` in production to
348
+ reduce quota usage
349
+ 4. **Redact PII in `beforeSend`** — since 8.33.0 user attributes attach regardless of
350
+ `sendDefaultPii`
351
+ 5. **Prefer `Sentry.logger()` over Timber for new code** — direct API provides full type
352
+ safety for attributes
353
+ 6. **Plant Timber separately** — `SentryTimberIntegration` does not call
354
+ `Timber.plant()`; you must do it yourself
355
+ 7. **Don’t call `Sentry.logger()` before `SentryAndroid.init()`** — calls before init
356
+ are silently dropped
357
+ 8. **Keep queue headroom** — avoid bursts that exceed 1,000 queued events; excess is
358
+ silently dropped
359
+
360
+ ---
361
+
362
+ ## Troubleshooting
363
+
364
+ | Issue | Solution |
365
+ | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
366
+ | Logs not appearing in Sentry | Verify `options.logs.isEnabled = true` is set in `SentryAndroid.init()` — the feature is disabled by default |
367
+ | Logs appearing but missing attributes | Ensure you pass a `SentryLogParameters` with `SentryAttributes.of(...)` — plain format args are not queryable as attributes |
368
+ | Timber logs not forwarded | Add `SentryTimberIntegration` to `options.addIntegration()` and plant a `Timber.DebugTree()` separately |
369
+ | Timber logs not reaching Sentry as structured logs | Check `minLogsLevel` on `SentryTimberIntegration` — default is `INFO`; set to `DEBUG` to capture debug-level logs |
370
+ | Logs disappear silently under heavy load | Queue is capped at 1,000 events; use `beforeSend` to drop verbose levels before they queue up |
371
+ | `user.id` appearing in logs unexpectedly | Since SDK 8.33.0, user fields attach regardless of `sendDefaultPii`; use `beforeSend` to strip them |
372
+ | Logcat `Log.*` calls not captured | Requires the Sentry Android Gradle plugin with `InstrumentationFeature.LOGCAT` enabled at build time |
373
+ | `beforeSend` not called | Check that `options.logs.isEnabled = true` — `beforeSend` is only invoked when the feature is enabled |
374
+ | Logs lost on crash | Known limitation: in-memory queued events may not reach Sentry before the process is killed |