@danieljvdm/dev-kit 1.0.2 → 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 (329) hide show
  1. package/README.md +6 -6
  2. package/package.json +1 -1
  3. package/skill-sources.jsonc +2 -33
  4. package/skill-sources.lock.json +15 -117
  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 +10 -70
  45. package/skills/open-pull-request/references/evidence.md +22 -0
  46. package/skills/open-pull-request/references/explanation.md +21 -0
  47. package/skills/open-pull-request/references/publication.md +21 -0
  48. package/skills/sentry/LICENSE +202 -0
  49. package/skills/sentry/LICENSE-UPSTREAM +21 -0
  50. package/skills/sentry/NOTICE +14 -0
  51. package/skills/sentry/SKILL.md +33 -0
  52. package/skills/sentry/references/alert-payloads.md +105 -0
  53. package/skills/sentry/references/alerts.md +17 -0
  54. package/skills/sentry/references/artifacts.md +25 -0
  55. package/skills/sentry/references/auth-token.md +65 -0
  56. package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
  57. package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
  58. package/skills/sentry/references/concepts/crons.md +50 -0
  59. package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
  60. package/skills/sentry/references/concepts/errors.md +40 -0
  61. package/skills/sentry/references/concepts/logging.md +85 -0
  62. package/skills/sentry/references/concepts/metrics.md +49 -0
  63. package/skills/sentry/references/concepts/monitors.md +78 -0
  64. package/skills/sentry/references/concepts/profiling.md +38 -0
  65. package/skills/sentry/references/concepts/reduce-volume.md +49 -0
  66. package/skills/sentry/references/concepts/releases.md +43 -0
  67. package/skills/sentry/references/concepts/session-replay.md +35 -0
  68. package/skills/sentry/references/concepts/tracing.md +54 -0
  69. package/skills/sentry/references/concepts/user-feedback.md +36 -0
  70. package/skills/sentry/references/debug-artifacts/android.md +68 -0
  71. package/skills/sentry/references/debug-artifacts/apple.md +96 -0
  72. package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
  73. package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
  74. package/skills/sentry/references/debug-artifacts/index.md +75 -0
  75. package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
  76. package/skills/sentry/references/debug-artifacts/matching.md +73 -0
  77. package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
  78. package/skills/sentry/references/first-error-setup.md +25 -0
  79. package/skills/sentry/references/instrumentation.md +30 -0
  80. package/skills/sentry/references/issues.md +32 -0
  81. package/skills/sentry/references/new-project.md +17 -0
  82. package/skills/sentry/references/otel-exporter.md +30 -0
  83. package/skills/sentry/references/release-workflow.md +31 -0
  84. package/skills/sentry/references/releases/ci-pipeline.md +214 -0
  85. package/skills/sentry/references/releases/index.md +93 -0
  86. package/skills/sentry/references/releases/suspect-commits.md +155 -0
  87. package/skills/sentry/references/releases/tagging.md +131 -0
  88. package/skills/sentry/references/releases/troubleshooting.md +67 -0
  89. package/skills/sentry/references/sdks/android/crons.md +305 -0
  90. package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
  91. package/skills/sentry/references/sdks/android/index.md +748 -0
  92. package/skills/sentry/references/sdks/android/integrations.md +48 -0
  93. package/skills/sentry/references/sdks/android/logging.md +374 -0
  94. package/skills/sentry/references/sdks/android/metrics.md +288 -0
  95. package/skills/sentry/references/sdks/android/profiling.md +397 -0
  96. package/skills/sentry/references/sdks/android/session-replay.md +406 -0
  97. package/skills/sentry/references/sdks/android/tracing.md +861 -0
  98. package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
  99. package/skills/sentry/references/sdks/browser/index.md +714 -0
  100. package/skills/sentry/references/sdks/browser/logging.md +315 -0
  101. package/skills/sentry/references/sdks/browser/profiling.md +236 -0
  102. package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
  103. package/skills/sentry/references/sdks/browser/tracing.md +561 -0
  104. package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
  105. package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
  106. package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
  107. package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
  108. package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
  109. package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
  110. package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
  111. package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
  112. package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
  113. package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
  114. package/skills/sentry/references/sdks/cocoa/index.md +497 -0
  115. package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
  116. package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
  117. package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
  118. package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
  119. package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
  120. package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
  121. package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
  122. package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
  123. package/skills/sentry/references/sdks/dotnet/index.md +614 -0
  124. package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
  125. package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
  126. package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
  127. package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
  128. package/skills/sentry/references/sdks/elixir/crons.md +371 -0
  129. package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
  130. package/skills/sentry/references/sdks/elixir/index.md +383 -0
  131. package/skills/sentry/references/sdks/elixir/logging.md +239 -0
  132. package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
  133. package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
  134. package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
  135. package/skills/sentry/references/sdks/flutter/index.md +728 -0
  136. package/skills/sentry/references/sdks/flutter/logging.md +387 -0
  137. package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
  138. package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
  139. package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
  140. package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
  141. package/skills/sentry/references/sdks/go/crons.md +270 -0
  142. package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
  143. package/skills/sentry/references/sdks/go/index.md +324 -0
  144. package/skills/sentry/references/sdks/go/logging.md +354 -0
  145. package/skills/sentry/references/sdks/go/metrics.md +273 -0
  146. package/skills/sentry/references/sdks/go/profiling.md +46 -0
  147. package/skills/sentry/references/sdks/go/tracing.md +366 -0
  148. package/skills/sentry/references/sdks/index.md +41 -0
  149. package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
  150. package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
  151. package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
  152. package/skills/sentry/references/sdks/nestjs/index.md +699 -0
  153. package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
  154. package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
  155. package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
  156. package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
  157. package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
  158. package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
  159. package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
  160. package/skills/sentry/references/sdks/nextjs/index.md +491 -0
  161. package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
  162. package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
  163. package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
  164. package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
  165. package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
  166. package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
  167. package/skills/sentry/references/sdks/node/crons.md +432 -0
  168. package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
  169. package/skills/sentry/references/sdks/node/index.md +942 -0
  170. package/skills/sentry/references/sdks/node/logging.md +380 -0
  171. package/skills/sentry/references/sdks/node/metrics.md +278 -0
  172. package/skills/sentry/references/sdks/node/profiling.md +373 -0
  173. package/skills/sentry/references/sdks/node/tracing.md +878 -0
  174. package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
  175. package/skills/sentry/references/sdks/php/crons.md +265 -0
  176. package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
  177. package/skills/sentry/references/sdks/php/index.md +362 -0
  178. package/skills/sentry/references/sdks/php/laravel.md +542 -0
  179. package/skills/sentry/references/sdks/php/logging.md +242 -0
  180. package/skills/sentry/references/sdks/php/metrics.md +193 -0
  181. package/skills/sentry/references/sdks/php/profiling.md +115 -0
  182. package/skills/sentry/references/sdks/php/symfony.md +552 -0
  183. package/skills/sentry/references/sdks/php/tracing.md +516 -0
  184. package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
  185. package/skills/sentry/references/sdks/python/crons.md +218 -0
  186. package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
  187. package/skills/sentry/references/sdks/python/index.md +361 -0
  188. package/skills/sentry/references/sdks/python/logging.md +234 -0
  189. package/skills/sentry/references/sdks/python/metrics.md +154 -0
  190. package/skills/sentry/references/sdks/python/profiling.md +120 -0
  191. package/skills/sentry/references/sdks/python/tracing.md +364 -0
  192. package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
  193. package/skills/sentry/references/sdks/react/index.md +492 -0
  194. package/skills/sentry/references/sdks/react/logging.md +364 -0
  195. package/skills/sentry/references/sdks/react/profiling.md +322 -0
  196. package/skills/sentry/references/sdks/react/react-features.md +1272 -0
  197. package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
  198. package/skills/sentry/references/sdks/react/tracing.md +1415 -0
  199. package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
  200. package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
  201. package/skills/sentry/references/sdks/react-native/index.md +1030 -0
  202. package/skills/sentry/references/sdks/react-native/logging.md +444 -0
  203. package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
  204. package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
  205. package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
  206. package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
  207. package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
  208. package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
  209. package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
  210. package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
  211. package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
  212. package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
  213. package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
  214. package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
  215. package/skills/sentry/references/sdks/ruby/crons.md +184 -0
  216. package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
  217. package/skills/sentry/references/sdks/ruby/index.md +297 -0
  218. package/skills/sentry/references/sdks/ruby/logging.md +168 -0
  219. package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
  220. package/skills/sentry/references/sdks/ruby/migration.md +321 -0
  221. package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
  222. package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
  223. package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
  224. package/skills/sentry/references/sdks/svelte/index.md +467 -0
  225. package/skills/sentry/references/sdks/svelte/logging.md +344 -0
  226. package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
  227. package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
  228. package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
  229. package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
  230. package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
  231. package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
  232. package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
  233. package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
  234. package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
  235. package/skills/sentry/references/search-query-language.md +226 -0
  236. package/skills/sentry/references/semantics/angular.md +7 -0
  237. package/skills/sentry/references/semantics/app.md +28 -0
  238. package/skills/sentry/references/semantics/art.md +17 -0
  239. package/skills/sentry/references/semantics/aws.md +43 -0
  240. package/skills/sentry/references/semantics/browser.md +34 -0
  241. package/skills/sentry/references/semantics/cache.md +12 -0
  242. package/skills/sentry/references/semantics/client.md +8 -0
  243. package/skills/sentry/references/semantics/cloud.md +12 -0
  244. package/skills/sentry/references/semantics/cloudflare.md +23 -0
  245. package/skills/sentry/references/semantics/code.md +11 -0
  246. package/skills/sentry/references/semantics/culture.md +11 -0
  247. package/skills/sentry/references/semantics/db.md +21 -0
  248. package/skills/sentry/references/semantics/device.md +43 -0
  249. package/skills/sentry/references/semantics/error.md +7 -0
  250. package/skills/sentry/references/semantics/event.md +8 -0
  251. package/skills/sentry/references/semantics/exception.md +10 -0
  252. package/skills/sentry/references/semantics/faas.md +19 -0
  253. package/skills/sentry/references/semantics/file.md +8 -0
  254. package/skills/sentry/references/semantics/flag.md +7 -0
  255. package/skills/sentry/references/semantics/gcp.md +16 -0
  256. package/skills/sentry/references/semantics/gen_ai.md +53 -0
  257. package/skills/sentry/references/semantics/general.md +11 -0
  258. package/skills/sentry/references/semantics/graphql.md +9 -0
  259. package/skills/sentry/references/semantics/grpc.md +19 -0
  260. package/skills/sentry/references/semantics/http.md +34 -0
  261. package/skills/sentry/references/semantics/index.md +63 -0
  262. package/skills/sentry/references/semantics/jsonrpc.md +8 -0
  263. package/skills/sentry/references/semantics/jvm.md +12 -0
  264. package/skills/sentry/references/semantics/koa.md +7 -0
  265. package/skills/sentry/references/semantics/logger.md +7 -0
  266. package/skills/sentry/references/semantics/mcp.md +37 -0
  267. package/skills/sentry/references/semantics/mdc.md +7 -0
  268. package/skills/sentry/references/semantics/messaging.md +23 -0
  269. package/skills/sentry/references/semantics/middleware.md +7 -0
  270. package/skills/sentry/references/semantics/navigation.md +9 -0
  271. package/skills/sentry/references/semantics/nel.md +11 -0
  272. package/skills/sentry/references/semantics/network.md +17 -0
  273. package/skills/sentry/references/semantics/os.md +15 -0
  274. package/skills/sentry/references/semantics/otel.md +10 -0
  275. package/skills/sentry/references/semantics/params.md +7 -0
  276. package/skills/sentry/references/semantics/process.md +14 -0
  277. package/skills/sentry/references/semantics/react.md +7 -0
  278. package/skills/sentry/references/semantics/remix.md +7 -0
  279. package/skills/sentry/references/semantics/resource.md +7 -0
  280. package/skills/sentry/references/semantics/rpc.md +10 -0
  281. package/skills/sentry/references/semantics/score.md +10 -0
  282. package/skills/sentry/references/semantics/sentry.md +69 -0
  283. package/skills/sentry/references/semantics/server.md +8 -0
  284. package/skills/sentry/references/semantics/service.md +8 -0
  285. package/skills/sentry/references/semantics/session.md +7 -0
  286. package/skills/sentry/references/semantics/state.md +7 -0
  287. package/skills/sentry/references/semantics/thread.md +8 -0
  288. package/skills/sentry/references/semantics/timber.md +7 -0
  289. package/skills/sentry/references/semantics/trpc.md +8 -0
  290. package/skills/sentry/references/semantics/ui.md +18 -0
  291. package/skills/sentry/references/semantics/url.md +15 -0
  292. package/skills/sentry/references/semantics/user.md +17 -0
  293. package/skills/sentry/references/semantics/user_agent.md +7 -0
  294. package/skills/sentry/references/semantics/vercel.md +42 -0
  295. package/skills/sentry/references/setup-verification.md +39 -0
  296. package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
  297. package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
  298. package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
  299. package/skills/sentry/references/snapshots/index.md +19 -0
  300. package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
  301. package/skills/sentry/references/snapshots/snapshots.md +123 -0
  302. package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
  303. package/skills/testing/LICENSE +21 -0
  304. package/skills/testing/NOTICE +7 -0
  305. package/skills/testing/SKILL.md +13 -19
  306. package/skills/testing/agents/openai.yaml +1 -2
  307. package/skills/testing/references/selection.md +23 -0
  308. package/skills/testing/references/tdd.md +19 -0
  309. package/skills/testing/references/test-design.md +17 -0
  310. package/src/catalog.ts +1 -7
  311. package/skills/build-effect-apis/SKILL.md +0 -81
  312. package/skills/build-effect-apis/agents/openai.yaml +0 -4
  313. package/skills/build-effect-clis/SKILL.md +0 -92
  314. package/skills/build-effect-clis/agents/openai.yaml +0 -4
  315. package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
  316. package/skills/effect-atom-state/SKILL.md +0 -97
  317. package/skills/effect-atom-state/agents/openai.yaml +0 -4
  318. package/skills/effect-ts/SKILL.md +0 -35
  319. package/skills/effect-ts/agents/openai.yaml +0 -4
  320. /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
  321. /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
  322. /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
  323. /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
  324. /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
  325. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
  326. /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
  327. /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
  328. /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
  329. /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
@@ -0,0 +1,33 @@
1
+ # Component details
2
+
3
+ ## Feedback and continuity
4
+
5
+ Give a button clear pressed and pending states. Keep the control available
6
+ according to the action's actual lifecycle; decorative motion should not add
7
+ latency. Scale can provide press feedback when it does not compromise text or
8
+ hit targets.
9
+
10
+ For related tooltips in a toolbar, consider a shared delay policy: delay the
11
+ first discovery, then let nearby tooltips appear promptly as the user explores.
12
+ Keep hoverable surfaces reachable across small gaps and usable by keyboard.
13
+
14
+ For toasts and other transient content, consider pausing dismissal while the
15
+ user interacts or the page is hidden. Repeated additions and dismissals must
16
+ preserve readable order and stable pointer targets.
17
+
18
+ ## Defaults and API design
19
+
20
+ Choose useful defaults before adding options. Expose variations that represent
21
+ real product needs. Keep the public API simple without concealing ownership or
22
+ introducing global state that conflicts with the application architecture.
23
+
24
+ Use realistic content to judge density, alignment, wrapping, and truncation.
25
+ Compare populated, empty, pending, error, and overflow states when they are
26
+ relevant to the component. Retain focus and selection through updates.
27
+
28
+ ## Evaluate
29
+
30
+ Exercise the flow at normal speed before slow inspection. Compare against the
31
+ rest of the product. If two presentations are both viable and the user wants
32
+ exploration, use a small set of working prototypes with explicit tradeoffs.
33
+ Do not turn a small polish task into a mandatory redesign or multi-day review.
@@ -0,0 +1,50 @@
1
+ # Explore UI alternatives
2
+
3
+ Build distinct responses to the requested brief. Keep the exploration separate
4
+ from production integration until the user chooses or delegates the choice.
5
+
6
+ ## Alternatives
7
+
8
+ Identify the component's job, surrounding UI, existing tokens, and important
9
+ interaction states. Choose a small set of directions that differ in layout,
10
+ density, hierarchy, or interaction. Three is a useful starting point, not a quota.
11
+ Name the distinction so the user knows what each alternative explores.
12
+
13
+ Build in an isolated route or page when there is a project, or in a standalone
14
+ artifact when appropriate. Make relevant interactions work with realistic
15
+ content. Use the same surrounding context to make comparison meaningful.
16
+
17
+ Run the alternatives and check the interactions and console. Capture useful
18
+ evidence when tools permit. Present the picker with a short explanation of
19
+ each direction's tradeoff. Leave the selection to the user unless they have
20
+ already asked you to choose.
21
+
22
+ ## Comparison control
23
+
24
+ Use a compact, accessible selector that stays clear of the work. Render one
25
+ alternative at full size unless side-by-side comparison better serves the
26
+ request. Make the active selection explicit to sighted and assistive users.
27
+
28
+ Provide buttons and optionally number or arrow shortcuts. Ignore shortcuts
29
+ while the user edits an input or holds a modifier. Keep the selector usable by
30
+ keyboard, show focus, and give each alternative a descriptive name.
31
+
32
+ Preserve selection across reload when useful, for example with a validated URL
33
+ parameter. Invalid or missing selections fall back to a valid alternative.
34
+ Switch promptly; avoid adding a transition that obscures the differences.
35
+
36
+ Add replay only for motion that needs it. Define whether changing alternatives
37
+ resets their interaction state; use a keyed remount when reset is intended.
38
+ Adapt appearance to the project and ensure the picker never covers the behavior
39
+ being evaluated.
40
+
41
+ ## Promote a selection
42
+
43
+ Integrate the selected design using the repository's existing component,
44
+ state, and style ownership. Preserve the chosen behavior and verify it in the
45
+ real destination. The prototype may have simplified data or lifecycle handling
46
+ that needs the application's established implementation.
47
+
48
+ Remove temporary alternatives and the picker after integration unless the user
49
+ wants them retained. For another exploration round, keep useful infrastructure
50
+ and vary the chosen direction according to the new brief.
@@ -0,0 +1,39 @@
1
+ # Choose a UI library
2
+
3
+ Match the requested capability to the choices below, then inspect dependencies
4
+ and architecture. If the user names a library, answer about that library; explain
5
+ a material mismatch before suggesting a replacement. Keep an adequate installed
6
+ dependency. Install or migrate only within the requested scope.
7
+
8
+ Effect Atom is our default for shared React state, queries, and mutations.
9
+ Preserve an existing application's state architecture unless migration is part
10
+ of the task. For theme handling, read [themes](themes.md).
11
+
12
+ ## Curated choices
13
+
14
+ These are Dev Kit defaults, subject to the user's chosen tools and repository
15
+ conventions. Check current official documentation before adopting a dependency.
16
+
17
+ | Capability | Default |
18
+ | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
19
+ | Accessible unstyled dialogs, menus, selects, and popovers | [Base UI](https://base-ui.com) |
20
+ | Command menus | [cmdk](https://cmdk.paco.me) |
21
+ | Toasts | [Sonner](https://sonner.emilkowal.ski) |
22
+ | One-time password inputs | [input-otp](https://input-otp.rodz.dev) |
23
+ | Interactive control panels | [Leva](https://github.com/pmndrs/leva); consider [dialkit](https://joshpuckett.me/dialkit) for motion tuning |
24
+ | Springs, layout animation, exit animation, and gestures | [Motion](https://motion.dev); use CSS for simple transitions |
25
+ | Animated numbers | [NumberFlow](https://number-flow.barvian.me) |
26
+ | Animated text | [torph](https://torph.lochie.me/) |
27
+ | 3D globes | [Cobe](https://cobe.vercel.app) |
28
+ | Generated SVG or social images | [Satori](https://github.com/vercel/satori) |
29
+ | Syntax highlighting | [Shiki](https://shiki.style) |
30
+ | Streaming charts | [Liveline](https://github.com/benjitaylor/liveline) |
31
+ | General dashboard charts | [Recharts](https://recharts.org) |
32
+ | Drag and drop | [dnd kit](https://dndkit.com) |
33
+ | Long-list virtualization | [Virtuoso](https://virtuoso.dev) |
34
+ | Shared React state, server queries, mutations, and workflows | Effect Atom; consult the installed Effect documentation and `effect-development` skill when available |
35
+ | Conditional class names | [clsx](https://github.com/lukeed/clsx) |
36
+ | Typed component style variants | [CVA](https://cva.style) |
37
+
38
+ For a capability outside this list, say that the recommendation is outside the
39
+ curated defaults and establish its fit from current primary sources.
@@ -0,0 +1,23 @@
1
+ # Theme ownership
2
+
3
+ Inspect the existing theme preference, CSS selector, document bootstrap, and
4
+ server rendering path before choosing a library. Reuse that implementation
5
+ when it already supports the requested behavior.
6
+
7
+ For our Effect Atom and TanStack applications, keep the shared preference in
8
+ the existing atom or settings service. Let one document integration apply the
9
+ resolved theme. Avoid introducing another state provider for the same value.
10
+
11
+ Distinguish the saved preference, such as light, dark, or system, from the
12
+ resolved color scheme. A system preference should continue following system
13
+ changes. Use the project's existing persistence and SSR conventions to make
14
+ first paint agree with hydration. A browser-only preference needs an appropriate
15
+ pre-paint bootstrap; a server-readable preference must still handle first visits
16
+ and system settings. Verify reload, navigation, and preference changes.
17
+
18
+ `next-themes` has React and React DOM peer dependencies, not a Next.js runtime
19
+ dependency. It can be considered when a project wants its behavior, but is not
20
+ our blanket default. Check how its provider and injected script fit the actual
21
+ SSR setup rather than copying Next.js layout instructions into TanStack Start.
22
+ See the [package metadata](https://github.com/pacocoursey/next-themes/blob/main/next-themes/package.json)
23
+ and [official usage guide](https://github.com/pacocoursey/next-themes).
@@ -1,48 +1,29 @@
1
1
  ---
2
2
  name: dev-kit
3
- description: Set up or reshape TypeScript repositories through agent-led, repo-owned changes. Use when scaffolding a new repository, establishing or modernizing project tooling, adding an application or package, composing a Cloudflare Worker API, ejecting legacy dev-kit.jsonc and dev-kit.lock.json management, or copying and updating curated agent skills with the transient Dev Kit CLI.
3
+ description: Set up TypeScript repositories, change project tooling, migrate legacy Dev Kit management, or maintain repository skills.
4
4
  ---
5
5
 
6
6
  # Dev Kit
7
7
 
8
- Build repositories from intent, then leave every output under normal repository
9
- ownership. Use the transient CLI for catalog and migration mechanics; use agent
10
- judgment for architecture and configuration.
8
+ Build from the user's requirements and leave outputs under normal repository
9
+ ownership. Use the transient CLI for catalog and migration mechanics; inspect
10
+ the existing repository before changing its architecture or configuration.
11
11
 
12
- ## Route
12
+ Read only the references for the requested work:
13
13
 
14
- Read every reference whose branch applies before editing:
14
+ - Scaffold or reorganize a repository: [repository setup](references/repository-setup.md).
15
+ - Adopt the Dev Kit default or Vite+ foundation:
16
+ [TypeScript defaults](references/default-typescript-repository.md).
17
+ - Add or configure a Cloudflare Worker API:
18
+ [Worker API](references/cloudflare-worker-api.md).
19
+ - Remove legacy Dev Kit manifests or managed configuration:
20
+ [legacy ejection](references/legacy-eject.md).
21
+ - Discover, add, update, fork, or detach skills: [skills](references/skills.md).
15
22
 
16
- - Read [repository-setup.md](references/repository-setup.md) for every new,
17
- existing, or expanded repository.
18
- - Read [default-typescript-repository.md](references/default-typescript-repository.md)
19
- when the user wants the Dev Kit default or a Vite+ TypeScript foundation.
20
- - Read [cloudflare-worker-api.md](references/cloudflare-worker-api.md) when adding
21
- a Cloudflare Worker, Worker API, bindings, Durable Objects, or Wrangler.
22
- - Read [legacy-eject.md](references/legacy-eject.md) when `dev-kit.jsonc`,
23
- `dev-kit.lock.json`, `.dev-kit/state.json`, managed markers, or Dev Kit config
24
- imports exist.
25
- - Read [skills.md](references/skills.md) when discovering, adding, refreshing,
26
- merging, or detaching repository skills.
23
+ Preserve repository conventions and existing authorization. Explain material
24
+ architecture or dependency choices when they affect the outcome; infer routine
25
+ placement and naming from the project. Follow installed API documentation and
26
+ the repository's command authority, including its Effect and testing policies.
27
27
 
28
- ## Workflow
29
-
30
- 1. Establish the Git root and read repository instructions. Inventory package
31
- manifests, workspaces, tool configuration, source boundaries, CI, and current
32
- validation commands. Finish with every existing convention that constrains
33
- the change accounted for.
34
- 2. Translate the request into outcomes and invariants. Resolve consequential
35
- choices with the user; infer naming and file placement from repository
36
- evidence. Finish with a coherent target architecture rather than a list of
37
- templates.
38
- 3. Present the material file, dependency, and command changes before broad or
39
- destructive work. Treat existing files as repository-owned and reconcile
40
- them in place.
41
- 4. Implement against current installed APIs and local documentation. When the
42
- repository uses Effect, read `node_modules/effect/AGENTS.md` completely before
43
- writing Effect code and follow its relevant references.
44
- 5. Run the repository's command authority and exercise the changed behavior.
45
- Finish when validation passes and the generated setup works from the same
46
- entry points future contributors will use.
47
- 6. Hand off the architecture and any deliberate choices. The finished repository
48
- has no Dev Kit dependency, manifest, lock, lifecycle hook, or managed output.
28
+ Verify the changed entrypoints with the normal project commands. Generated
29
+ repositories keep no Dev Kit runtime dependency or lifecycle manager.
@@ -1,6 +1,6 @@
1
1
  # Cloudflare Worker API
2
2
 
3
- Use the `build-effect-apis`, `workers-best-practices`, and `wrangler` skills when
3
+ Use the `effect-development` and `cloudflare-workers` skills when
4
4
  they are available. Read current installed or primary Cloudflare documentation
5
5
  before choosing Wrangler configuration, compatibility dates, bindings, or local
6
6
  development commands.
@@ -12,8 +12,8 @@ prefer the narrowest matching skills:
12
12
 
13
13
  ```bash
14
14
  bunx @danieljvdm/dev-kit@latest skills search cloudflare
15
- bunx @danieljvdm/dev-kit@latest skills info workers-best-practices
16
- bunx @danieljvdm/dev-kit@latest skills add workers-best-practices wrangler
15
+ bunx @danieljvdm/dev-kit@latest skills info cloudflare-workers
16
+ bunx @danieljvdm/dev-kit@latest skills add cloudflare-workers
17
17
  ```
18
18
 
19
19
  Treat source families as broad selections: add one only when every member applies.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: effect-development
3
+ description: Set up Effect, implement Atom React state, HTTP APIs or CLIs, and review Effect architecture.
4
+ ---
5
+
6
+ # Effect development
7
+
8
+ Read the repository's `node_modules/effect/AGENTS.md` completely before writing
9
+ or evaluating Effect code, then follow its relevant links. Installed declarations
10
+ and repository policy own version-sensitive APIs and verification commands.
11
+
12
+ Read only the guide for the requested boundary:
13
+
14
+ - React queries, mutations, shared state, workflows, or SSR: [Effect Atom](references/atom/index.md).
15
+ - HTTP contracts, handlers, middleware, or server runtimes: [HTTP APIs](references/api/index.md).
16
+ - Scripts, CI automation, or command-line applications: [CLIs](references/cli/index.md).
17
+ - A requested architecture review or service-boundary refactor: [architecture](references/architecture/index.md).
18
+ - Adding Effect dependencies or its agent guidance: [setup](references/setup.md).
19
+
20
+ For Effect React applications, Effect Atom owns shared state and server data;
21
+ React renders and dispatches. View-local state can stay in React. Keep business
22
+ logic in Effect workflows and declare cross-query invalidation as mutation
23
+ reactivity keys. Read the Atom guide for runtime and registry ownership.
24
+
25
+ Preserve the requested scope. A component edit does not require a server rewrite
26
+ or architecture audit. Follow repository policy for committed tests; changes to
27
+ an atom, endpoint, or script do not by themselves justify a new test.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Effect Development"
3
+ short_description: "Effect Atom state, APIs, scripts, and architecture"
4
+ default_prompt: "Use $effect-development for this Effect change, reading only the guide for its client, server, CLI, or architecture boundary."
@@ -0,0 +1,32 @@
1
+ # Effect HTTP APIs
2
+
3
+ Use the shared `HttpApi` value as the source for request and response schemas,
4
+ server handlers, generated documentation, and clients. Keep transport contracts
5
+ isomorphic and runtime behavior in handlers, services, and Layers.
6
+
7
+ Read repository Effect instructions and inspect installed declarations for
8
+ version-sensitive APIs. Existing imports and the lockfile establish the version
9
+ being changed; a name from another release is not a reason to upgrade it.
10
+
11
+ ## Read for the changed boundary
12
+
13
+ - Endpoint schemas, errors, groups, or API composition:
14
+ [shared contracts](shared-contracts.md).
15
+ - Handler implementation, middleware, or request-scoped services:
16
+ [server and middleware](server-and-middleware.md).
17
+ - Schema codec selection: [typed codecs](schema-codecs.md).
18
+ - Server entrypoint or generated API documentation:
19
+ [runtime assembly](runtime-assembly.md).
20
+ - Workers bindings, Durable Objects, streams, or raw transport routes:
21
+ [Cloudflare Workers](cloudflare-workers.md).
22
+ - Cross-boundary verification: [verification](verification.md).
23
+
24
+ For React client queries, mutations, and invalidation, read the
25
+ [Effect Atom guide](../atom/index.md).
26
+ Change consumers when the requested contract or server change affects them.
27
+
28
+ Let schemas own wire encoding and validation, handlers adapt transport to the
29
+ application, and services own orchestration and persistence. Assemble required
30
+ Layers at the runtime boundary. Verify changed request and failure behavior with
31
+ the repository's commands and testing policy; adding an endpoint does not imply
32
+ a new committed test.
@@ -0,0 +1,15 @@
1
+ # Typed Schema codecs
2
+
3
+ Match the codec to the type known at the call site. Use the typed decode variant
4
+ when the input is the schema's Encoded type, and the typed encode variant when
5
+ it is the schema's Type. Consult installed declarations for the Effect, Sync,
6
+ Exit, Option, Result, or Promise form needed by that boundary.
7
+
8
+ Reserve unknown codecs for values whose declared type is actually unknown,
9
+ such as untyped JSON, external messages, or persistence results. A static
10
+ mismatch with a Schema.Class is not a reason to bypass type checking; construct
11
+ or map the correct schema value first.
12
+
13
+ Follow the repository's policy for lint suppressions at justified untyped
14
+ boundaries. Keep the explanation with the boundary rather than duplicating it
15
+ across contract consumers.
@@ -1,5 +1,10 @@
1
1
  # Verification
2
2
 
3
+ Follow repository testing policy. Use existing checks and direct requests when
4
+ sufficient; add committed tests only for an authorized or evidenced regression.
5
+ Choose from the scenarios below based on the changed boundary, rather than
6
+ creating a test suite for every endpoint edit.
7
+
3
8
  Test the contract spine at its seams. Use the repository's established Effect
4
9
  test integration and command authority.
5
10
 
@@ -48,8 +53,8 @@ decoding are skipped.
48
53
  `HttpApiMiddleware.layerClient` and assert that it transforms the request.
49
54
  - Assert params, query, headers, payload, and expected errors at least once for
50
55
  every changed request shape.
51
- - For Atom clients, complete every applicable scenario in the
52
- `$effect-atom-state` skill's testing reference; use a deterministic HTTP
56
+ - For Atom clients, select the relevant scenarios from the
57
+ [Effect Atom testing reference](../atom/effect-atom-testing.md); use a deterministic HTTP
53
58
  layer so request encoding, invalidation, and lifecycle remain observable.
54
59
 
55
60
  ## Completion matrix
@@ -60,6 +65,6 @@ Account for every changed endpoint across these columns:
60
65
  | ------------------------------------------------ | -------------------------------- | -------------------------------- | ---------------------------------------------- | -------------------------------- |
61
66
  | Params, query, headers, payload, success, errors | Scope, provided services, errors | Identifier, invariants, workflow | Typed call shape, identity, cache/invalidation | Round-trip and boundary behavior |
62
67
 
63
- Completion means every changed endpoint has an entry in every applicable
64
- column, every unknown codec call has a concrete boundary justification, and the
65
- repository's formatter, linter, typechecker, and tests pass.
68
+ Use the matrix when it helps trace a cross-boundary change. Completion means
69
+ the changed behavior is verified, untyped boundaries are justified, and the
70
+ repository's required checks pass. Empty test cells do not mandate new tests.
@@ -1,15 +1,10 @@
1
- ---
2
- name: effect-architecture-audit
3
- description: Audit an Effect TypeScript codebase's services, Layers, dependency ownership, hidden requirements, test substitutes, Schema boundaries, assertions, unknown values, and typed error channels. Use for architecture reviews, service refactors, dependency-injection audits, and type-boundary investigations; do not use as a general Effect API reference.
4
- ---
5
-
6
1
  # Audit Effect Architecture
7
2
 
8
3
  Read the target repository's `node_modules/effect/AGENTS.md` completely before
9
4
  evaluating Effect code. Follow its version-matched references for library APIs;
10
5
  use this skill only for the application-architecture judgments it does not own.
11
6
 
12
- Read [service-and-boundary-audit.md](references/service-and-boundary-audit.md),
7
+ Read [service-and-boundary-audit.md](service-and-boundary-audit.md),
13
8
  then:
14
9
 
15
10
  1. Establish the repository's local architecture and testing rules.
@@ -11,10 +11,10 @@ and expected errors owned by the contract.
11
11
 
12
12
  ## Inventory the client boundary
13
13
 
14
- Before changing Atom code, locate every `RegistryProvider`, runtime factory,
15
- `AtomHttpApi.Service`, query atom, mutation atom, reactivity-key constructor,
16
- and route aggregate. Confirm the installed `effect` and `@effect/atom-react`
17
- versions before copying signatures.
14
+ Trace the affected queries and mutations through their `RegistryProvider`,
15
+ runtime, `AtomHttpApi.Service`, and reactivity keys. Expand the inspection only
16
+ when ownership or invalidation crosses another boundary. Confirm installed
17
+ `effect` and `@effect/atom-react` versions before copying signatures.
18
18
 
19
19
  ## Build one Atom API service
20
20
 
@@ -127,8 +127,10 @@ Choose invalidation breadth from the server write:
127
127
  - invalidate every affected namespace when a write crosses aggregates.
128
128
 
129
129
  Combine invalidation with manual refresh only when two requests are intended.
130
- Keep navigation, toasts, form reset, and presentation-level optimistic state
131
- with the initiating UI.
130
+ Keep mutation-dependent sequencing and optimistic state in the owning workflow
131
+ atom. React renders and dispatches; view-local input and presentation state can
132
+ stay in React. See [workflows](effect-atom-workflows.md) when the action needs
133
+ optimistic updates, navigation, or other follow-up behavior.
132
134
 
133
135
  ## Use a direct client outside React
134
136
 
@@ -1,8 +1,13 @@
1
1
  # Deterministic Effect Atom testing
2
2
 
3
+ Use this reference only when a test is requested or warranted by repository
4
+ policy. Select the cases that reproduce the relevant failure; this is not a
5
+ required suite for every changed atom. Existing tests and app verification may
6
+ already cover the behavior.
7
+
3
8
  Test cache policy below React first with `AtomRegistry.make()`. Add a React
4
- integration test for provider placement, hook behavior, browser-only SSR
5
- boundaries, hydration, or Strict Mode ownership.
9
+ integration test only when the failure involves provider placement, hook
10
+ behavior, browser-only SSR boundaries, hydration, or Strict Mode ownership.
6
11
 
7
12
  Use fake timers, a request counter, controllable Effects, and explicit mounts:
8
13
 
@@ -0,0 +1,40 @@
1
+ # Effect Atom state
2
+
3
+ Effect Atom owns shared client state and server data in an Effect application.
4
+ React renders results and dispatches actions. Keep workflows, optimistic updates,
5
+ and cross-query invalidation in Effect; keep view-local state in React.
6
+
7
+ Read the repository's Effect instructions and inspect installed declarations for
8
+ the APIs being changed. Preserve existing runtime and registry ownership.
9
+
10
+ ## Read for the changed boundary
11
+
12
+ - API clients, queries, or mutations: [client state](effect-atom-client.md).
13
+ - Multi-step actions, optimistic updates, or Promise dispatch:
14
+ [workflows](effect-atom-workflows.md).
15
+ - Registry scope, atom identity, retention, freshness, polling, or cancellation:
16
+ [lifecycle](effect-atom-lifecycle.md).
17
+ - TanStack Start loaders, SSR, hydration, or server functions:
18
+ [TanStack Start](tanstack-start.md).
19
+ - A regression test allowed by repository policy or explicitly requested by the
20
+ user: [testing](effect-atom-testing.md). Read only the relevant cases.
21
+
22
+ ## Ownership constraints
23
+
24
+ - Derive clients from the shared HTTP contract. Change contracts and server
25
+ handlers with the [HTTP API guide](../api/index.md) when that work is in scope.
26
+ - Declare cross-query invalidation as mutation reactivity keys. Queries and
27
+ mutations that must invalidate each other need the same Reactivity instance.
28
+ - Compose multi-step actions in workflow atoms. Return Promise-mode dispatch
29
+ directly to a component with a Promise-shaped contract; put success, failure,
30
+ and sequencing logic in the Effect workflow.
31
+ - Keep optimistic state with the workflow that writes it, keyed by entity where
32
+ needed. Preserve ordinary controlled inputs and view-local toggles in React.
33
+ - Reuse the application's state layer instead of introducing another query or
34
+ shared-state library for a single component.
35
+
36
+ ## Verify
37
+
38
+ Follow the repository's command authority and testing policy. Exercise the
39
+ changed user flow and the relevant invalidation or lifecycle behavior. Reuse
40
+ existing checks; changed atoms do not by themselves justify committed tests.
@@ -34,14 +34,18 @@ Use `BunRuntime` and `BunServices` together when Bun owns the executable. Let
34
34
  If expected errors need custom presentation, catch and render them immediately
35
35
  before `runMain` while preserving CLI control-flow errors such as help output.
36
36
 
37
- ## Test at three seams
37
+ ## Choose a verification boundary
38
+
39
+ Follow repository testing policy before adding a committed test. Use existing
40
+ checks or direct command execution when sufficient. The options below are
41
+ alternatives selected by the changed behavior, not a required three-part suite.
38
42
 
39
43
  1. Test application services directly with deterministic Layers. Cover domain
40
44
  success, expected failure, interruption, and plan/apply separation without
41
45
  involving argument parsing.
42
46
  2. Test thin command handlers through their services when CLI input mapping or
43
47
  output-mode selection contains meaningful logic.
44
- 3. Spawn the real executable for boundary behavior. At minimum cover:
48
+ 3. Spawn the real executable for boundary behavior. Select relevant cases:
45
49
  - root and changed-command `--help`;
46
50
  - representative valid arguments and flags;
47
51
  - missing or invalid input and a non-zero exit;
@@ -0,0 +1,39 @@
1
+ # Effect scripts and CLIs
2
+
3
+ Use Effect for new executable TypeScript scripts in an Effect repository.
4
+ For an existing script, follow repository policy and the requested scope.
5
+ A small maintenance edit does not require converting the whole script;
6
+ undertake that migration when requested or necessary for the change.
7
+
8
+ When changing Effect behavior, read `node_modules/effect/AGENTS.md` and the
9
+ relevant CLI or process reference. A help-text-only edit in an existing script
10
+ needs its declared entrypoint and help output; it does not require API research.
11
+ Use installed signatures and sibling Effect programs when implementing behavior.
12
+
13
+ ## Choose the reference
14
+
15
+ - Designing public arguments, flags, or subcommands:
16
+ [command design](command-design.md).
17
+ - Files, environment, terminal, subprocesses, or runtime differences:
18
+ [processes and platform](processes-and-platform.md).
19
+ - Executable startup, import safety, or verification:
20
+ [entrypoints and testing](entrypoints-and-testing.md).
21
+
22
+ ## Boundaries
23
+
24
+ Use Effect platform services for capabilities. When a required capability is
25
+ missing, isolate the runtime call in a typed Effect adapter. Keep fixed scripts
26
+ simple; they need no command tree when they expose no public command syntax.
27
+
28
+ Arguments and flags own CLI input; schemas own structured input and output.
29
+ Handlers adapt input and presentation, services own application behavior, and
30
+ Layers supply capabilities. One executable edge owns the runtime and signals.
31
+ Keep expected failures typed and preserve a nonzero exit for failure.
32
+
33
+ Keep stdout stable for machine-readable output and send diagnostics elsewhere.
34
+ Automation must be able to supply required inputs without a terminal. For
35
+ consequential mutations, expose a preview or dry-run when useful and honor
36
+ existing authorization. Prompt only on intentionally interactive paths.
37
+
38
+ Verify through the declared entrypoint with the repository's command authority.
39
+ Test only the changed behavior and follow repository policy for committed tests.
@@ -0,0 +1,15 @@
1
+ # Set up Effect
2
+
3
+ Inspect the package boundaries and existing Effect version first. Use the
4
+ repository's package manager and version policy to add Effect where it is
5
+ needed. In a monorepo, make its source and instructions available at the root
6
+ when that is how agents inspect installed APIs. Avoid an unrelated upgrade or
7
+ copying a package-manager command from a different project.
8
+
9
+ Ensure repository agent instructions direct Effect work to the installed
10
+ `node_modules/effect/AGENTS.md`, require reading it completely before writing
11
+ Effect code, and follow its relevant links. For APIs not covered there, consult
12
+ `node_modules/effect/src`.
13
+
14
+ Preserve existing agent guidance and keep one pointer to the installed source
15
+ instead of copying library instructions into the repository.
@@ -1,78 +1,18 @@
1
1
  ---
2
2
  name: open-pull-request
3
- description: Prepare, open, update, or land pull requests with brief summaries, architecture diagrams, API examples, and useful screenshots or videos.
3
+ description: Prepare, open, update, or land pull requests with concise explanations and relevant review evidence.
4
4
  ---
5
5
 
6
6
  # Pull requests
7
7
 
8
- Give the reviewer a high-level account of what changed and why. Usually a
9
- short paragraph or a few bullets is enough. Add a risk, limitation, or manual
10
- deploy step only when it affects their decision. Skip code tours, investigation
11
- history, routine CI recaps, and prescribed sections or accordions.
8
+ Lead with the concrete problem and resulting behavior. Give reviewers the
9
+ context needed to assess the final change; simple changes need only a brief
10
+ summary and relevant validation.
12
11
 
13
- ## Explain architecture and APIs
12
+ - Ownership, data flow, or API changes: [diagrams and examples](references/explanation.md).
13
+ - UI or other visible behavior: [capture and publish evidence](references/evidence.md).
14
+ - Commits, publication, readiness, or landing: [PR workflow](references/publication.md).
14
15
 
15
- Pick the smallest view that makes the change clear, and place it beside the
16
- short explanation it supports. Prefer a diagram or example over a long prose
17
- description; simple changes can stay prose-only.
18
-
19
- - For changes to component ownership, boundaries, or data flow, include a
20
- focused Mermaid architecture chart. Use a sequence diagram when call order
21
- matters. Name the actual components, label the interactions, and make the
22
- changed responsibility or path clear without mapping the whole system.
23
- - For new or changed APIs, show a concrete caller example: an HTTP request and
24
- response, or a typed function/SDK call and its result. Include the inputs,
25
- outputs, and error behavior relevant to the change. Use a small before/after
26
- diff when callers must migrate; show the complete example when the API is new.
27
-
28
- Use fenced Mermaid and code blocks directly in the PR. A call tree or pseudocode
29
- can replace a chart when it explains the change more clearly. Match diagrams
30
- and examples to the final implementation, use safe fixture data, and distinguish
31
- illustrative or expected output from output actually observed during validation.
32
- Include both a chart and an API example when they answer different review
33
- questions, not just to fill sections.
34
-
35
- ## Capture visible behavior
36
-
37
- For UI or visible features, capture the final running implementation during
38
- verification and reuse it for the PR. A screenshot is the default; use a short
39
- video when the sequence matters, such as an agent exchange or animation. Both
40
- are rarely needed. Nonvisual changes need no screenshots or recordings.
41
-
42
- Use existing capture tools; load `playwright-cli` for browser capture. Keep
43
- recordings focused, usually under 30 seconds, without changing product timing.
44
- Use safe fixture data and review the image or whole clip once for correctness
45
- and private content. Treat published assets as public; unreviewed media stays
46
- local. If inspection is unavailable, use a safe alternative or report the
47
- blocker. Do not build viewers, extract frame galleries, or reconstruct GitHub.
48
-
49
- Publish reviewed media with:
50
-
51
- ```sh
52
- vp run publish-pr-asset -- <file> <label> --caption "What this shows"
53
- ```
54
-
55
- Use the returned Markdown in the PR. Keep originals until publication succeeds;
56
- if it fails, report the exact local path. Never extract browser cookies, expose
57
- credentials in arguments, create asset branches, or invent an upload service.
58
-
59
- ## Open or update the PR
60
-
61
- For an already verified change, aim to publish within two minutes:
62
-
63
- 1. Check the base, branch diff, and working tree for accidental changes. Reuse
64
- review, validation, and evidence already completed for unchanged inputs;
65
- `AGENTS.md` owns required checks.
66
- 2. Use Conventional Commits for commits and the title. Commit and push the
67
- intended changes, preserving unrelated work and published history.
68
- 3. Open or update the PR with the short body, useful diagrams or API examples,
69
- and existing evidence. With `gh`, use `--body-file` for multiline text.
70
- 4. Read back base/head, title, and body once with `gh pr view`, then return the
71
- URL. No GitHub browser inspection or wait for CI is required to open it.
72
-
73
- Follow `AGENTS.md` for merge approval and required checks; opening a PR does
74
- not authorize merging it.
75
-
76
- When an existing draft PR is the subject, interpret "open it" or "ready it"
77
- as making it ready for review unless the user asks to view it. State the intended
78
- transition before acting; use `gh pr ready` rather than opening a browser.
16
+ Reuse verification and captures for unchanged inputs. Include limitations or
17
+ manual steps when they affect review. Follow repository merge policy and
18
+ existing authorization; opening a PR does not authorize merging it.