quiver-cli 1.3.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 (407) hide show
  1. package/README.md +197 -239
  2. package/dist/cli.js +3163 -2040
  3. package/package.json +10 -11
  4. package/template/.agents/AGENTS.md +0 -26
  5. package/template/.agents/commands/cp.md +0 -108
  6. package/template/.agents/commands/next-setup.md +0 -1064
  7. package/template/.agents/commands/review.md +0 -68
  8. package/template/.agents/commands/terraform-readme.md +0 -38
  9. package/template/.agents/config.json +0 -80
  10. package/template/.agents/plugins/opencode/rtk.ts +0 -34
  11. package/template/.agents/skills/agent-browser/SKILL.md +0 -52
  12. package/template/.agents/skills/apps/skybridge/SKILL.md +0 -52
  13. package/template/.agents/skills/code/cleanup/SKILL.md +0 -26
  14. package/template/.agents/skills/code/improve/SKILL.md +0 -122
  15. package/template/.agents/skills/code/improve/references/audit-playbook.md +0 -130
  16. package/template/.agents/skills/code/improve/references/closing-the-loop.md +0 -96
  17. package/template/.agents/skills/code/improve/references/plan-template.md +0 -197
  18. package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +0 -3810
  19. package/template/.agents/skills/code/vercel-react-best-practices/README.md +0 -123
  20. package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +0 -149
  21. package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +0 -15
  22. package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +0 -46
  23. package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +0 -28
  24. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +0 -56
  25. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  26. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  27. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  28. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  29. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +0 -37
  30. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +0 -82
  31. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  32. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +0 -28
  33. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  34. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +0 -63
  35. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -60
  36. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  37. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  38. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  39. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  40. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  41. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  42. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  43. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  44. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  45. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  46. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  47. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  48. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  49. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  50. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  51. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  52. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  53. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  54. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  55. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +0 -105
  56. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  57. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  58. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  59. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  60. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  61. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  62. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  63. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  64. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  65. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  66. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  67. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  68. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  69. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  70. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  71. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  72. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  73. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  74. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  75. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  76. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  77. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  78. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  79. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  80. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  81. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  82. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  83. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  84. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  85. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  86. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  87. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  88. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  89. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -149
  90. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +0 -50
  91. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  92. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +0 -34
  93. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +0 -38
  94. package/template/.agents/skills/data/prisma-cli/SKILL.md +0 -265
  95. package/template/.agents/skills/data/prisma-cli/references/agent-safety.md +0 -27
  96. package/template/.agents/skills/data/prisma-cli/references/complete.md +0 -22
  97. package/template/.agents/skills/data/prisma-cli/references/db-execute.md +0 -78
  98. package/template/.agents/skills/data/prisma-cli/references/db-pull.md +0 -185
  99. package/template/.agents/skills/data/prisma-cli/references/db-push.md +0 -150
  100. package/template/.agents/skills/data/prisma-cli/references/db-seed.md +0 -188
  101. package/template/.agents/skills/data/prisma-cli/references/debug.md +0 -46
  102. package/template/.agents/skills/data/prisma-cli/references/dev.md +0 -157
  103. package/template/.agents/skills/data/prisma-cli/references/format.md +0 -48
  104. package/template/.agents/skills/data/prisma-cli/references/generate.md +0 -173
  105. package/template/.agents/skills/data/prisma-cli/references/init.md +0 -139
  106. package/template/.agents/skills/data/prisma-cli/references/mcp.md +0 -39
  107. package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +0 -127
  108. package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +0 -145
  109. package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +0 -89
  110. package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +0 -80
  111. package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +0 -57
  112. package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +0 -65
  113. package/template/.agents/skills/data/prisma-cli/references/studio.md +0 -137
  114. package/template/.agents/skills/data/prisma-cli/references/validate.md +0 -53
  115. package/template/.agents/skills/data/prisma-client-api/SKILL.md +0 -216
  116. package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +0 -223
  117. package/template/.agents/skills/data/prisma-client-api/references/constructor.md +0 -221
  118. package/template/.agents/skills/data/prisma-client-api/references/filters.md +0 -256
  119. package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +0 -281
  120. package/template/.agents/skills/data/prisma-client-api/references/query-options.md +0 -276
  121. package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +0 -198
  122. package/template/.agents/skills/data/prisma-client-api/references/relations.md +0 -308
  123. package/template/.agents/skills/data/prisma-client-api/references/transactions.md +0 -184
  124. package/template/.agents/skills/design/impeccable/SKILL.md +0 -84
  125. package/template/.agents/skills/design/impeccable/reference/adapt.md +0 -312
  126. package/template/.agents/skills/design/impeccable/reference/adapt.native.md +0 -58
  127. package/template/.agents/skills/design/impeccable/reference/android.md +0 -46
  128. package/template/.agents/skills/design/impeccable/reference/animate.md +0 -89
  129. package/template/.agents/skills/design/impeccable/reference/audit.md +0 -136
  130. package/template/.agents/skills/design/impeccable/reference/audit.native.md +0 -139
  131. package/template/.agents/skills/design/impeccable/reference/bolder.md +0 -33
  132. package/template/.agents/skills/design/impeccable/reference/clarify.md +0 -94
  133. package/template/.agents/skills/design/impeccable/reference/colorize.md +0 -86
  134. package/template/.agents/skills/design/impeccable/reference/craft-floor.md +0 -44
  135. package/template/.agents/skills/design/impeccable/reference/craft.md +0 -5
  136. package/template/.agents/skills/design/impeccable/reference/critique.md +0 -806
  137. package/template/.agents/skills/design/impeccable/reference/degraded/asset-producer.md +0 -37
  138. package/template/.agents/skills/design/impeccable/reference/degraded/documenter.md +0 -24
  139. package/template/.agents/skills/design/impeccable/reference/degraded/finish-reviewer.md +0 -38
  140. package/template/.agents/skills/design/impeccable/reference/degraded/manual-edit-applier.md +0 -92
  141. package/template/.agents/skills/design/impeccable/reference/delight.md +0 -70
  142. package/template/.agents/skills/design/impeccable/reference/distill.md +0 -111
  143. package/template/.agents/skills/design/impeccable/reference/doctor.md +0 -54
  144. package/template/.agents/skills/design/impeccable/reference/document.md +0 -416
  145. package/template/.agents/skills/design/impeccable/reference/extract.md +0 -69
  146. package/template/.agents/skills/design/impeccable/reference/harden.md +0 -336
  147. package/template/.agents/skills/design/impeccable/reference/hooks.md +0 -111
  148. package/template/.agents/skills/design/impeccable/reference/init.md +0 -131
  149. package/template/.agents/skills/design/impeccable/reference/ios.md +0 -51
  150. package/template/.agents/skills/design/impeccable/reference/layout.md +0 -84
  151. package/template/.agents/skills/design/impeccable/reference/live-setup.md +0 -102
  152. package/template/.agents/skills/design/impeccable/reference/live.md +0 -323
  153. package/template/.agents/skills/design/impeccable/reference/new-work.md +0 -145
  154. package/template/.agents/skills/design/impeccable/reference/onboard.md +0 -234
  155. package/template/.agents/skills/design/impeccable/reference/operate.md +0 -61
  156. package/template/.agents/skills/design/impeccable/reference/optimize.md +0 -258
  157. package/template/.agents/skills/design/impeccable/reference/overdrive.md +0 -127
  158. package/template/.agents/skills/design/impeccable/reference/polish.md +0 -105
  159. package/template/.agents/skills/design/impeccable/reference/quieter.md +0 -99
  160. package/template/.agents/skills/design/impeccable/reference/routing.md +0 -18
  161. package/template/.agents/skills/design/impeccable/reference/shape.md +0 -59
  162. package/template/.agents/skills/design/impeccable/reference/typeset.md +0 -80
  163. package/template/.agents/skills/design/impeccable/reference/visualize.md +0 -46
  164. package/template/.agents/skills/design/impeccable/scripts/build-phase.mjs +0 -1022
  165. package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +0 -94
  166. package/template/.agents/skills/design/impeccable/scripts/comp-diff.mjs +0 -391
  167. package/template/.agents/skills/design/impeccable/scripts/comp-spec.mjs +0 -513
  168. package/template/.agents/skills/design/impeccable/scripts/concept-seed.mjs +0 -814
  169. package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +0 -325
  170. package/template/.agents/skills/design/impeccable/scripts/context.mjs +0 -1565
  171. package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +0 -473
  172. package/template/.agents/skills/design/impeccable/scripts/data/font-index-failures.json +0 -121
  173. package/template/.agents/skills/design/impeccable/scripts/data/font-index.json +0 -1
  174. package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +0 -198
  175. package/template/.agents/skills/design/impeccable/scripts/detect.mjs +0 -30
  176. package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +0 -2204
  177. package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +0 -432
  178. package/template/.agents/skills/design/impeccable/scripts/detector/design-system.mjs +0 -1311
  179. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +0 -9043
  180. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +0 -51
  181. package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +0 -434
  182. package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +0 -1319
  183. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +0 -1241
  184. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +0 -288
  185. package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +0 -189
  186. package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +0 -18
  187. package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +0 -213
  188. package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +0 -166
  189. package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +0 -635
  190. package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +0 -5681
  191. package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +0 -596
  192. package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +0 -127
  193. package/template/.agents/skills/design/impeccable/scripts/detector/shared/fonts.mjs +0 -30
  194. package/template/.agents/skills/design/impeccable/scripts/detector/shared/inline-ignores.mjs +0 -148
  195. package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +0 -7
  196. package/template/.agents/skills/design/impeccable/scripts/doctor.mjs +0 -329
  197. package/template/.agents/skills/design/impeccable/scripts/embed-prompt.mjs +0 -166
  198. package/template/.agents/skills/design/impeccable/scripts/font-match.mjs +0 -457
  199. package/template/.agents/skills/design/impeccable/scripts/generate-image.mjs +0 -447
  200. package/template/.agents/skills/design/impeccable/scripts/hook-admin.mjs +0 -819
  201. package/template/.agents/skills/design/impeccable/scripts/hook-before-edit.mjs +0 -538
  202. package/template/.agents/skills/design/impeccable/scripts/hook-lib.mjs +0 -2490
  203. package/template/.agents/skills/design/impeccable/scripts/hook.mjs +0 -79
  204. package/template/.agents/skills/design/impeccable/scripts/lib/artifact-schema.mjs +0 -93
  205. package/template/.agents/skills/design/impeccable/scripts/lib/composition-catalog.mjs +0 -200
  206. package/template/.agents/skills/design/impeccable/scripts/lib/concept-catalog.mjs +0 -396
  207. package/template/.agents/skills/design/impeccable/scripts/lib/design-parser.mjs +0 -880
  208. package/template/.agents/skills/design/impeccable/scripts/lib/font-fingerprint.mjs +0 -564
  209. package/template/.agents/skills/design/impeccable/scripts/lib/font-index.mjs +0 -130
  210. package/template/.agents/skills/design/impeccable/scripts/lib/hero-checks.mjs +0 -246
  211. package/template/.agents/skills/design/impeccable/scripts/lib/image-metrics.mjs +0 -306
  212. package/template/.agents/skills/design/impeccable/scripts/lib/impeccable-config.mjs +0 -640
  213. package/template/.agents/skills/design/impeccable/scripts/lib/impeccable-paths.mjs +0 -137
  214. package/template/.agents/skills/design/impeccable/scripts/lib/is-generated.mjs +0 -72
  215. package/template/.agents/skills/design/impeccable/scripts/lib/live-path-globs.mjs +0 -37
  216. package/template/.agents/skills/design/impeccable/scripts/lib/open-system-browser.mjs +0 -26
  217. package/template/.agents/skills/design/impeccable/scripts/lib/png.mjs +0 -281
  218. package/template/.agents/skills/design/impeccable/scripts/lib/provider.mjs +0 -5
  219. package/template/.agents/skills/design/impeccable/scripts/lib/raster.mjs +0 -194
  220. package/template/.agents/skills/design/impeccable/scripts/lib/roll-selection.mjs +0 -369
  221. package/template/.agents/skills/design/impeccable/scripts/lib/staleness-deep.mjs +0 -485
  222. package/template/.agents/skills/design/impeccable/scripts/lib/staleness-notice.mjs +0 -169
  223. package/template/.agents/skills/design/impeccable/scripts/lib/staleness.mjs +0 -533
  224. package/template/.agents/skills/design/impeccable/scripts/lib/surface-briefs.mjs +0 -149
  225. package/template/.agents/skills/design/impeccable/scripts/lib/target-args.mjs +0 -42
  226. package/template/.agents/skills/design/impeccable/scripts/lib/target-slug.mjs +0 -33
  227. package/template/.agents/skills/design/impeccable/scripts/lib/template-extensions.mjs +0 -146
  228. package/template/.agents/skills/design/impeccable/scripts/live/accept-css.mjs +0 -617
  229. package/template/.agents/skills/design/impeccable/scripts/live/accept-verify.mjs +0 -60
  230. package/template/.agents/skills/design/impeccable/scripts/live/browser-script-parts.mjs +0 -84
  231. package/template/.agents/skills/design/impeccable/scripts/live/completion.mjs +0 -28
  232. package/template/.agents/skills/design/impeccable/scripts/live/event-validation.mjs +0 -199
  233. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/astro.mjs +0 -47
  234. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/detect-utils.mjs +0 -73
  235. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/index.mjs +0 -143
  236. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/journal.mjs +0 -197
  237. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/nextjs.mjs +0 -49
  238. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/nuxt.mjs +0 -161
  239. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/script-src.mjs +0 -17
  240. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/static-html.mjs +0 -26
  241. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/sveltekit.mjs +0 -71
  242. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/tag-strategy.mjs +0 -247
  243. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/tanstack-start.mjs +0 -70
  244. package/template/.agents/skills/design/impeccable/scripts/live/frameworks/vite-generic.mjs +0 -42
  245. package/template/.agents/skills/design/impeccable/scripts/live/generation-preflight.mjs +0 -149
  246. package/template/.agents/skills/design/impeccable/scripts/live/insert-ui.mjs +0 -458
  247. package/template/.agents/skills/design/impeccable/scripts/live/instructions.mjs +0 -142
  248. package/template/.agents/skills/design/impeccable/scripts/live/manual-apply.mjs +0 -939
  249. package/template/.agents/skills/design/impeccable/scripts/live/manual-edit-routes.mjs +0 -357
  250. package/template/.agents/skills/design/impeccable/scripts/live/manual-edits-buffer.mjs +0 -152
  251. package/template/.agents/skills/design/impeccable/scripts/live/poll-lanes.mjs +0 -14
  252. package/template/.agents/skills/design/impeccable/scripts/live/project-ignores.mjs +0 -139
  253. package/template/.agents/skills/design/impeccable/scripts/live/roots.mjs +0 -508
  254. package/template/.agents/skills/design/impeccable/scripts/live/session-store.mjs +0 -563
  255. package/template/.agents/skills/design/impeccable/scripts/live/source-lock.mjs +0 -105
  256. package/template/.agents/skills/design/impeccable/scripts/live/source-search.mjs +0 -105
  257. package/template/.agents/skills/design/impeccable/scripts/live/svelte-ast.mjs +0 -969
  258. package/template/.agents/skills/design/impeccable/scripts/live/svelte-component.mjs +0 -1366
  259. package/template/.agents/skills/design/impeccable/scripts/live/sveltekit-adapter.mjs +0 -304
  260. package/template/.agents/skills/design/impeccable/scripts/live/tanstack-adapter.mjs +0 -259
  261. package/template/.agents/skills/design/impeccable/scripts/live/ui-surfaces.mjs +0 -75
  262. package/template/.agents/skills/design/impeccable/scripts/live/vocabulary.mjs +0 -171
  263. package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +0 -938
  264. package/template/.agents/skills/design/impeccable/scripts/live-browser-dom.js +0 -146
  265. package/template/.agents/skills/design/impeccable/scripts/live-browser-ignores.js +0 -242
  266. package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +0 -123
  267. package/template/.agents/skills/design/impeccable/scripts/live-browser.js +0 -12551
  268. package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +0 -1200
  269. package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +0 -107
  270. package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +0 -800
  271. package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +0 -51
  272. package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +0 -463
  273. package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +0 -292
  274. package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +0 -368
  275. package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +0 -430
  276. package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +0 -123
  277. package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +0 -1698
  278. package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +0 -71
  279. package/template/.agents/skills/design/impeccable/scripts/live-target.mjs +0 -30
  280. package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +0 -927
  281. package/template/.agents/skills/design/impeccable/scripts/live.mjs +0 -334
  282. package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +0 -14
  283. package/template/.agents/skills/design/impeccable/scripts/palette.mjs +0 -628
  284. package/template/.agents/skills/design/impeccable/scripts/pin.mjs +0 -224
  285. package/template/.agents/skills/design/impeccable/scripts/serve-question.mjs +0 -1783
  286. package/template/.agents/skills/design/impeccable/scripts/surface-brief.mjs +0 -74
  287. package/template/.agents/skills/design/shadcn/SKILL.md +0 -277
  288. package/template/.agents/skills/design/shadcn/agents/openai.yml +0 -5
  289. package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
  290. package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
  291. package/template/.agents/skills/design/shadcn/cli.md +0 -290
  292. package/template/.agents/skills/design/shadcn/customization.md +0 -209
  293. package/template/.agents/skills/design/shadcn/evals/evals.json +0 -77
  294. package/template/.agents/skills/design/shadcn/mcp.md +0 -105
  295. package/template/.agents/skills/design/shadcn/registry.md +0 -277
  296. package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +0 -306
  297. package/template/.agents/skills/design/shadcn/rules/chat.md +0 -250
  298. package/template/.agents/skills/design/shadcn/rules/composition.md +0 -213
  299. package/template/.agents/skills/design/shadcn/rules/forms.md +0 -192
  300. package/template/.agents/skills/design/shadcn/rules/icons.md +0 -101
  301. package/template/.agents/skills/design/shadcn/rules/styling.md +0 -185
  302. package/template/.agents/skills/find-skills/SKILL.md +0 -141
  303. package/template/.agents/skills/hono/SKILL.md +0 -593
  304. package/template/.agents/skills/integrations/langfuse/SKILL.md +0 -150
  305. package/template/.agents/skills/integrations/langfuse/references/ci-cd.md +0 -41
  306. package/template/.agents/skills/integrations/langfuse/references/cli.md +0 -60
  307. package/template/.agents/skills/integrations/langfuse/references/create-dataset.md +0 -35
  308. package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +0 -87
  309. package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +0 -121
  310. package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +0 -293
  311. package/template/.agents/skills/integrations/langfuse/references/prompt-engineering.md +0 -35
  312. package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +0 -79
  313. package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +0 -34
  314. package/template/.agents/skills/integrations/langfuse/references/setting-up-evals.md +0 -65
  315. package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +0 -35
  316. package/template/.agents/skills/integrations/langfuse/references/trace-evaluator-upgrade.md +0 -76
  317. package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +0 -66
  318. package/template/.agents/skills/integrations/langfuse/references/v4-project-migration.md +0 -75
  319. package/template/.agents/skills/integrations/posthog/SKILL.md +0 -102
  320. package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +0 -63
  321. package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +0 -77
  322. package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +0 -57
  323. package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +0 -140
  324. package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +0 -490
  325. package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +0 -45
  326. package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +0 -139
  327. package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +0 -302
  328. package/template/.agents/skills/integrations/posthog/references/identify-users.md +0 -202
  329. package/template/.agents/skills/integrations/posthog/references/integration-example.md +0 -706
  330. package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +0 -385
  331. package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +0 -43
  332. package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +0 -37
  333. package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +0 -22
  334. package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +0 -38
  335. package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +0 -200
  336. package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +0 -62
  337. package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +0 -197
  338. package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +0 -397
  339. package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +0 -98
  340. package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +0 -120
  341. package/template/.agents/skills/repo/repo-ci/SKILL.md +0 -265
  342. package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +0 -129
  343. package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +0 -800
  344. package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +0 -47
  345. package/template/.agents/skills/repo/repo-init-node/SKILL.md +0 -196
  346. package/template/.agents/skills/skill-creator/LICENSE.txt +0 -202
  347. package/template/.agents/skills/skill-creator/SKILL.md +0 -485
  348. package/template/.agents/skills/skill-creator/agents/analyzer.md +0 -274
  349. package/template/.agents/skills/skill-creator/agents/comparator.md +0 -202
  350. package/template/.agents/skills/skill-creator/agents/grader.md +0 -223
  351. package/template/.agents/skills/skill-creator/assets/eval_review.html +0 -146
  352. package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  353. package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  354. package/template/.agents/skills/skill-creator/references/schemas.md +0 -430
  355. package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  356. package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  357. package/template/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
  358. package/template/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
  359. package/template/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
  360. package/template/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
  361. package/template/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
  362. package/template/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
  363. package/template/.agents/skills/skill-creator/scripts/utils.py +0 -47
  364. package/template/.agents/skills/supabase/CHANGELOG.md +0 -78
  365. package/template/.agents/skills/supabase/SKILL.md +0 -149
  366. package/template/.agents/skills/supabase/assets/feedback-issue-template.md +0 -17
  367. package/template/.agents/skills/supabase/references/skill-feedback.md +0 -17
  368. package/template/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +0 -73
  369. package/template/.agents/skills/supabase-postgres-best-practices/SKILL.md +0 -64
  370. package/template/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +0 -170
  371. package/template/.agents/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
  372. package/template/.agents/skills/supabase-postgres-best-practices/references/_template.md +0 -34
  373. package/template/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
  374. package/template/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
  375. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
  376. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
  377. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
  378. package/template/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
  379. package/template/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
  380. package/template/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
  381. package/template/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
  382. package/template/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
  383. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
  384. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
  385. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
  386. package/template/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
  387. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
  388. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
  389. package/template/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
  390. package/template/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
  391. package/template/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
  392. package/template/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
  393. package/template/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
  394. package/template/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
  395. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +0 -80
  396. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
  397. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
  398. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
  399. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
  400. package/template/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
  401. package/template/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
  402. package/template/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
  403. package/template/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -63
  404. package/template/.agents/skills/writing/humanizer/LICENSE +0 -21
  405. package/template/.agents/skills/writing/humanizer/README.md +0 -209
  406. package/template/.agents/skills/writing/humanizer/SKILL.md +0 -456
  407. package/template/.agents/upstreams.json +0 -115
@@ -1,65 +0,0 @@
1
- ---
2
- title: Avoid Duplicate Serialization in RSC Props
3
- impact: LOW
4
- impactDescription: reduces network payload by avoiding duplicate serialization
5
- tags: server, rsc, serialization, props, client-components
6
- ---
7
-
8
- ## Avoid Duplicate Serialization in RSC Props
9
-
10
- **Impact: LOW (reduces network payload by avoiding duplicate serialization)**
11
-
12
- RSC→client serialization deduplicates by object reference, not value. Same reference = serialized once; new reference = serialized again. Do transformations (`.toSorted()`, `.filter()`, `.map()`) in client, not server.
13
-
14
- **Incorrect (duplicates array):**
15
-
16
- ```tsx
17
- // RSC: sends 6 strings (2 arrays × 3 items)
18
- <ClientList usernames={usernames} usernamesOrdered={usernames.toSorted()} />
19
- ```
20
-
21
- **Correct (sends 3 strings):**
22
-
23
- ```tsx
24
- // RSC: send once
25
- <ClientList usernames={usernames} />
26
-
27
- // Client: transform there
28
- 'use client'
29
- const sorted = useMemo(() => [...usernames].sort(), [usernames])
30
- ```
31
-
32
- **Nested deduplication behavior:**
33
-
34
- Deduplication works recursively. Impact varies by data type:
35
-
36
- - `string[]`, `number[]`, `boolean[]`: **HIGH impact** - array + all primitives fully duplicated
37
- - `object[]`: **LOW impact** - array duplicated, but nested objects deduplicated by reference
38
-
39
- ```tsx
40
- // string[] - duplicates everything
41
- usernames={['a','b']} sorted={usernames.toSorted()} // sends 4 strings
42
-
43
- // object[] - duplicates array structure only
44
- users={[{id:1},{id:2}]} sorted={users.toSorted()} // sends 2 arrays + 2 unique objects (not 4)
45
- ```
46
-
47
- **Operations breaking deduplication (create new references):**
48
-
49
- - Arrays: `.toSorted()`, `.filter()`, `.map()`, `.slice()`, `[...arr]`
50
- - Objects: `{...obj}`, `Object.assign()`, `structuredClone()`, `JSON.parse(JSON.stringify())`
51
-
52
- **More examples:**
53
-
54
- ```tsx
55
- // ❌ Bad
56
- <C users={users} active={users.filter(u => u.active)} />
57
- <C product={product} productName={product.name} />
58
-
59
- // ✅ Good
60
- <C users={users} />
61
- <C product={product} />
62
- // Do filtering/destructuring in client
63
- ```
64
-
65
- **Exception:** Pass derived data when transformation is expensive or client doesn't need original.
@@ -1,149 +0,0 @@
1
- ---
2
- title: Hoist Static I/O to Module Level
3
- impact: HIGH
4
- impactDescription: avoids repeated file/network I/O per request
5
- tags: server, io, performance, next.js, route-handlers, og-image
6
- ---
7
-
8
- ## Hoist Static I/O to Module Level
9
-
10
- **Impact: HIGH (avoids repeated file/network I/O per request)**
11
-
12
- When loading static assets (fonts, logos, images, config files) in route handlers or server functions, hoist the I/O operation to module level. Module-level code runs once when the module is first imported, not on every request. This eliminates redundant file system reads or network fetches that would otherwise run on every invocation.
13
-
14
- **Incorrect (reads font file on every request):**
15
-
16
- ```typescript
17
- // app/api/og/route.tsx
18
- import { ImageResponse } from 'next/og'
19
-
20
- export async function GET(request: Request) {
21
- // Runs on EVERY request - expensive!
22
- const fontData = await fetch(
23
- new URL('./fonts/Inter.ttf', import.meta.url)
24
- ).then(res => res.arrayBuffer())
25
-
26
- const logoData = await fetch(
27
- new URL('./images/logo.png', import.meta.url)
28
- ).then(res => res.arrayBuffer())
29
-
30
- return new ImageResponse(
31
- <div style={{ fontFamily: 'Inter' }}>
32
- <img src={logoData} />
33
- Hello World
34
- </div>,
35
- { fonts: [{ name: 'Inter', data: fontData }] }
36
- )
37
- }
38
- ```
39
-
40
- **Correct (loads once at module initialization):**
41
-
42
- ```typescript
43
- // app/api/og/route.tsx
44
- import { ImageResponse } from 'next/og'
45
-
46
- // Module-level: runs ONCE when module is first imported
47
- const fontData = fetch(
48
- new URL('./fonts/Inter.ttf', import.meta.url)
49
- ).then(res => res.arrayBuffer())
50
-
51
- const logoData = fetch(
52
- new URL('./images/logo.png', import.meta.url)
53
- ).then(res => res.arrayBuffer())
54
-
55
- export async function GET(request: Request) {
56
- // Await the already-started promises
57
- const [font, logo] = await Promise.all([fontData, logoData])
58
-
59
- return new ImageResponse(
60
- <div style={{ fontFamily: 'Inter' }}>
61
- <img src={logo} />
62
- Hello World
63
- </div>,
64
- { fonts: [{ name: 'Inter', data: font }] }
65
- )
66
- }
67
- ```
68
-
69
- **Correct (synchronous fs at module level):**
70
-
71
- ```typescript
72
- // app/api/og/route.tsx
73
- import { ImageResponse } from 'next/og'
74
- import { readFileSync } from 'fs'
75
- import { join } from 'path'
76
-
77
- // Synchronous read at module level - blocks only during module init
78
- const fontData = readFileSync(
79
- join(process.cwd(), 'public/fonts/Inter.ttf')
80
- )
81
-
82
- const logoData = readFileSync(
83
- join(process.cwd(), 'public/images/logo.png')
84
- )
85
-
86
- export async function GET(request: Request) {
87
- return new ImageResponse(
88
- <div style={{ fontFamily: 'Inter' }}>
89
- <img src={logoData} />
90
- Hello World
91
- </div>,
92
- { fonts: [{ name: 'Inter', data: fontData }] }
93
- )
94
- }
95
- ```
96
-
97
- **Incorrect (reads config on every call):**
98
-
99
- ```typescript
100
- import fs from 'node:fs/promises'
101
-
102
- export async function processRequest(data: Data) {
103
- const config = JSON.parse(
104
- await fs.readFile('./config.json', 'utf-8')
105
- )
106
- const template = await fs.readFile('./template.html', 'utf-8')
107
-
108
- return render(template, data, config)
109
- }
110
- ```
111
-
112
- **Correct (hoists config and template to module level):**
113
-
114
- ```typescript
115
- import fs from 'node:fs/promises'
116
-
117
- const configPromise = fs
118
- .readFile('./config.json', 'utf-8')
119
- .then(JSON.parse)
120
- const templatePromise = fs.readFile('./template.html', 'utf-8')
121
-
122
- export async function processRequest(data: Data) {
123
- const [config, template] = await Promise.all([
124
- configPromise,
125
- templatePromise,
126
- ])
127
-
128
- return render(template, data, config)
129
- }
130
- ```
131
-
132
- When to use this pattern:
133
-
134
- - Loading fonts for OG image generation
135
- - Loading static logos, icons, or watermarks
136
- - Reading configuration files that don't change at runtime
137
- - Loading email templates or other static templates
138
- - Any static asset that's the same across all requests
139
-
140
- When not to use this pattern:
141
-
142
- - Assets that vary per request or user
143
- - Files that may change during runtime (use caching with TTL instead)
144
- - Large files that would consume too much memory if kept loaded
145
- - Sensitive data that shouldn't persist in memory
146
-
147
- With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute), module-level caching is especially effective because multiple concurrent requests share the same function instance. The static assets stay loaded in memory across requests without cold start penalties.
148
-
149
- In traditional serverless, each cold start re-executes module-level code, but subsequent warm invocations reuse the loaded assets until the instance is recycled.
@@ -1,50 +0,0 @@
1
- ---
2
- title: Avoid Shared Module State for Request Data
3
- impact: HIGH
4
- impactDescription: prevents concurrency bugs and request data leaks
5
- tags: server, rsc, ssr, concurrency, security, state
6
- ---
7
-
8
- ## Avoid Shared Module State for Request Data
9
-
10
- For React Server Components and client components rendered during SSR, avoid using mutable module-level variables to share request-scoped data. Server renders can run concurrently in the same process. If one render writes to shared module state and another render reads it, you can get race conditions, cross-request contamination, and security bugs where one user's data appears in another user's response.
11
-
12
- Treat module scope on the server as process-wide shared memory, not request-local state.
13
-
14
- **Incorrect (request data leaks across concurrent renders):**
15
-
16
- ```tsx
17
- let currentUser: User | null = null
18
-
19
- export default async function Page() {
20
- currentUser = await auth()
21
- return <Dashboard />
22
- }
23
-
24
- async function Dashboard() {
25
- return <div>{currentUser?.name}</div>
26
- }
27
- ```
28
-
29
- If two requests overlap, request A can set `currentUser`, then request B overwrites it before request A finishes rendering `Dashboard`.
30
-
31
- **Correct (keep request data local to the render tree):**
32
-
33
- ```tsx
34
- export default async function Page() {
35
- const user = await auth()
36
- return <Dashboard user={user} />
37
- }
38
-
39
- function Dashboard({ user }: { user: User | null }) {
40
- return <div>{user?.name}</div>
41
- }
42
- ```
43
-
44
- Safe exceptions:
45
-
46
- - Immutable static assets or config loaded once at module scope
47
- - Shared caches intentionally designed for cross-request reuse and keyed correctly
48
- - Process-wide singletons that do not store request- or user-specific mutable data
49
-
50
- For static assets and config, see [Hoist Static I/O to Module Level](./server-hoist-static-io.md).
@@ -1,83 +0,0 @@
1
- ---
2
- title: Parallel Data Fetching with Component Composition
3
- impact: CRITICAL
4
- impactDescription: eliminates server-side waterfalls
5
- tags: server, rsc, parallel-fetching, composition
6
- ---
7
-
8
- ## Parallel Data Fetching with Component Composition
9
-
10
- React Server Components execute sequentially within a tree. Restructure with composition to parallelize data fetching.
11
-
12
- **Incorrect (Sidebar waits for Page's fetch to complete):**
13
-
14
- ```tsx
15
- export default async function Page() {
16
- const header = await fetchHeader()
17
- return (
18
- <div>
19
- <div>{header}</div>
20
- <Sidebar />
21
- </div>
22
- )
23
- }
24
-
25
- async function Sidebar() {
26
- const items = await fetchSidebarItems()
27
- return <nav>{items.map(renderItem)}</nav>
28
- }
29
- ```
30
-
31
- **Correct (both fetch simultaneously):**
32
-
33
- ```tsx
34
- async function Header() {
35
- const data = await fetchHeader()
36
- return <div>{data}</div>
37
- }
38
-
39
- async function Sidebar() {
40
- const items = await fetchSidebarItems()
41
- return <nav>{items.map(renderItem)}</nav>
42
- }
43
-
44
- export default function Page() {
45
- return (
46
- <div>
47
- <Header />
48
- <Sidebar />
49
- </div>
50
- )
51
- }
52
- ```
53
-
54
- **Alternative with children prop:**
55
-
56
- ```tsx
57
- async function Header() {
58
- const data = await fetchHeader()
59
- return <div>{data}</div>
60
- }
61
-
62
- async function Sidebar() {
63
- const items = await fetchSidebarItems()
64
- return <nav>{items.map(renderItem)}</nav>
65
- }
66
-
67
- function Layout({ children }: { children: ReactNode }) {
68
- return (
69
- <div>
70
- <Header />
71
- {children}
72
- </div>
73
- )
74
- }
75
-
76
- export default function Page() {
77
- return (
78
- <Layout>
79
- <Sidebar />
80
- </Layout>
81
- )
82
- }
83
- ```
@@ -1,34 +0,0 @@
1
- ---
2
- title: Parallel Nested Data Fetching
3
- impact: CRITICAL
4
- impactDescription: eliminates server-side waterfalls
5
- tags: server, rsc, parallel-fetching, promise-chaining
6
- ---
7
-
8
- ## Parallel Nested Data Fetching
9
-
10
- When fetching nested data in parallel, chain dependent fetches within each item's promise so a slow item doesn't block the rest.
11
-
12
- **Incorrect (a single slow item blocks all nested fetches):**
13
-
14
- ```tsx
15
- const chats = await Promise.all(
16
- chatIds.map(id => getChat(id))
17
- )
18
-
19
- const chatAuthors = await Promise.all(
20
- chats.map(chat => getUser(chat.author))
21
- )
22
- ```
23
-
24
- If one `getChat(id)` out of 100 is extremely slow, the authors of the other 99 chats can't start loading even though their data is ready.
25
-
26
- **Correct (each item chains its own nested fetch):**
27
-
28
- ```tsx
29
- const chatAuthors = await Promise.all(
30
- chatIds.map(id => getChat(id).then(chat => getUser(chat.author)))
31
- )
32
- ```
33
-
34
- Each item independently chains `getChat` → `getUser`, so a slow chat doesn't block author fetches for the others.
@@ -1,38 +0,0 @@
1
- ---
2
- title: Minimize Serialization at RSC Boundaries
3
- impact: HIGH
4
- impactDescription: reduces data transfer size
5
- tags: server, rsc, serialization, props
6
- ---
7
-
8
- ## Minimize Serialization at RSC Boundaries
9
-
10
- The React Server/Client boundary serializes all object properties into strings and embeds them in the HTML response and subsequent RSC requests. This serialized data directly impacts page weight and load time, so **size matters a lot**. Only pass fields that the client actually uses.
11
-
12
- **Incorrect (serializes all 50 fields):**
13
-
14
- ```tsx
15
- async function Page() {
16
- const user = await fetchUser() // 50 fields
17
- return <Profile user={user} />
18
- }
19
-
20
- 'use client'
21
- function Profile({ user }: { user: User }) {
22
- return <div>{user.name}</div> // uses 1 field
23
- }
24
- ```
25
-
26
- **Correct (serializes only 1 field):**
27
-
28
- ```tsx
29
- async function Page() {
30
- const user = await fetchUser()
31
- return <Profile name={user.name} />
32
- }
33
-
34
- 'use client'
35
- function Profile({ name }: { name: string }) {
36
- return <div>{name}</div>
37
- }
38
- ```
@@ -1,265 +0,0 @@
1
- ---
2
- name: prisma-cli
3
- description: Prisma ORM CLI commands reference covering init, generate, migrate, db, dev, complete, studio, validate, format, debug, and mcp. Use for ORM/database CLI workflows, not the Prisma Platform CLI. Triggers on "prisma init", "prisma generate", "prisma migrate", "prisma db", "prisma complete", "prisma studio", "prisma mcp".
4
- license: MIT
5
- metadata:
6
- author: prisma
7
- version: "7.9.1"
8
- ---
9
-
10
- # Prisma CLI Reference
11
-
12
- Reference for Prisma ORM CLI commands. This skill provides guidance on command usage, options, and best practices for current Prisma ORM releases.
13
-
14
- ## Boundary: Platform and Compute
15
-
16
- Do not confuse the stable ORM command (`prisma`) with the public-beta Platform package (`@prisma/cli`, binary `prisma-cli`). Use `prisma-compute` for Compute apps and workspace auth, and `prisma-postgres` for Platform projects and databases.
17
-
18
- ## When to Apply
19
-
20
- Reference this skill when:
21
- - Setting up a new Prisma project (`prisma init`)
22
- - Generating Prisma Client (`prisma generate`)
23
- - Running database migrations (`prisma migrate`)
24
- - Managing database state (`prisma db push/pull`)
25
- - Using local development database (`prisma dev`)
26
- - Debugging Prisma issues (`prisma debug`)
27
- - Generating shell completions (`prisma complete`)
28
-
29
- ## Rule Categories by Priority
30
-
31
- | Priority | Category | Impact | Prefix |
32
- |----------|----------|--------|--------|
33
- | 1 | Setup | HIGH | `init` |
34
- | 2 | Generation | HIGH | `generate` |
35
- | 3 | Development | HIGH | `dev` |
36
- | 4 | Database | HIGH | `db-` |
37
- | 5 | Migrations | CRITICAL | `migrate-` |
38
- | 6 | Utility | MEDIUM | `complete`, `studio`, `validate`, `format`, `debug`, `mcp` |
39
-
40
- ## Command Categories
41
-
42
- | Category | Commands | Purpose |
43
- |----------|----------|---------|
44
- | Setup | `init` | Initialize a Prisma project |
45
- | Generation | `generate` | Generate Prisma Client |
46
- | Validation | `validate`, `format` | Schema validation and formatting |
47
- | Development | `dev` | Local Prisma Postgres for development |
48
- | Database | `db pull`, `db push`, `db seed`, `db execute` | Direct database operations |
49
- | Migrations | `migrate dev`, `migrate deploy`, `migrate reset`, `migrate status`, `migrate diff`, `migrate resolve` | Schema migrations |
50
- | Utility | `complete`, `studio`, `mcp`, `version`, `debug` | Shell, development, and AI tooling |
51
-
52
- ## Quick Reference
53
-
54
- ### Project Setup
55
-
56
- ```bash
57
- # Initialize new project (creates prisma/ folder and prisma.config.ts)
58
- prisma init
59
-
60
- # Initialize with specific database
61
- prisma init --datasource-provider postgresql
62
- prisma init --datasource-provider mysql
63
- prisma init --datasource-provider sqlite
64
-
65
- # Initialize with Prisma Postgres (cloud)
66
- prisma init --db
67
-
68
- # Initialize with an example model
69
- prisma init --with-model
70
-
71
- ```
72
-
73
- ### Client Generation
74
-
75
- ```bash
76
- # Generate Prisma Client
77
- prisma generate
78
-
79
- # Watch mode for development
80
- prisma generate --watch
81
-
82
- # Generate specific generator only
83
- prisma generate --generator client
84
- ```
85
-
86
- ### Bun Runtime
87
-
88
- When using Bun, always add the `--bun` flag so Prisma runs with the Bun runtime (otherwise it falls back to Node.js because of the CLI shebang):
89
-
90
- ```bash
91
- bunx --bun prisma init
92
- bunx --bun prisma generate
93
- ```
94
-
95
- ### Local Development Database
96
-
97
- ```bash
98
- # Start local Prisma Postgres
99
- prisma dev
100
-
101
- # Start with specific name
102
- prisma dev --name myproject
103
-
104
- # Start in background (detached)
105
- prisma dev --detach
106
-
107
- # List all local instances
108
- prisma dev ls
109
-
110
- # Stop instance
111
- prisma dev stop myproject
112
-
113
- # Remove instance data
114
- prisma dev rm myproject
115
- ```
116
-
117
- ### Database Operations
118
-
119
- ```bash
120
- # Pull schema from existing database
121
- prisma db pull
122
-
123
- # Push schema to database (no migrations)
124
- prisma db push
125
-
126
- # Seed database
127
- prisma db seed
128
-
129
- # Execute raw SQL
130
- prisma db execute --file ./script.sql
131
- ```
132
-
133
- ### Migrations (Development)
134
-
135
- ```bash
136
- # Create and apply migration
137
- prisma migrate dev
138
-
139
- # Create migration with name
140
- prisma migrate dev --name add_users_table
141
-
142
- # Create migration without applying
143
- prisma migrate dev --create-only
144
-
145
- # Reset database and apply all migrations
146
- prisma migrate reset
147
- ```
148
-
149
- ### Migrations (Production)
150
-
151
- ```bash
152
- # Apply pending migrations (CI/CD)
153
- prisma migrate deploy
154
-
155
- # Check migration status
156
- prisma migrate status
157
-
158
- # Compare schemas and generate diff
159
- prisma migrate diff --from-config-datasource --to-schema schema.prisma --script
160
- ```
161
-
162
- ### Utility Commands
163
-
164
- ```bash
165
- # Open Prisma Studio (database GUI)
166
- prisma studio
167
-
168
- # Start Prisma's MCP server for AI tools
169
- prisma mcp
170
-
171
- # Show version info
172
- prisma version
173
- prisma -v
174
-
175
- # Debug information
176
- prisma debug
177
-
178
- # Validate schema
179
- prisma validate
180
-
181
- # Format schema
182
- prisma format
183
-
184
- # Generate shell completion code
185
- prisma complete zsh
186
- ```
187
-
188
- ## AI Safety Checkpoint
189
-
190
- Prisma blocks destructive commands when it detects an AI agent until the agent has obtained explicit user consent. This covers `migrate reset`, `db push --force-reset`, and `db push --accept-data-loss`.
191
-
192
- - Explain the exact data-loss impact and ask for consent immediately before running the command.
193
- - Do not infer consent from earlier or unrelated messages.
194
- - If automation needs the consent variable, set `PRISMA_USER_CONSENT_FOR_DANGEROUS_AI_ACTION` to the user's exact consent message. Do not invent the text.
195
- - The Prisma MCP server deliberately has no `migrate-reset` tool.
196
-
197
- Read `references/agent-safety.md` before any destructive Prisma command.
198
-
199
- ## Current Prisma CLI Setup
200
-
201
- ### New Configuration File
202
-
203
- Use `prisma.config.ts` for CLI configuration:
204
-
205
- ```typescript
206
- import 'dotenv/config'
207
- import { defineConfig, env } from 'prisma/config'
208
-
209
- export default defineConfig({
210
- schema: 'prisma/schema.prisma',
211
- migrations: {
212
- path: 'prisma/migrations',
213
- seed: 'tsx prisma/seed.ts',
214
- },
215
- datasource: {
216
- url: env('DATABASE_URL'),
217
- },
218
- })
219
- ```
220
-
221
- ### Current Command Behavior
222
-
223
- - Run `prisma generate` explicitly after `migrate dev`, `db push`, or other schema syncs when you need fresh client output
224
- - Run `prisma db seed` explicitly after `migrate dev` or `migrate reset` when you need seed data
225
- - Use `prisma db execute --file ...` for raw SQL scripts
226
-
227
- ### Environment Variables
228
-
229
- Load environment variables explicitly in `prisma.config.ts`, commonly with `dotenv`:
230
-
231
- ```typescript
232
- // prisma.config.ts
233
- import 'dotenv/config'
234
- ```
235
-
236
- ## Rule Files
237
-
238
- See individual rule files for detailed command documentation:
239
-
240
- ```
241
- references/init.md - Project initialization
242
- references/generate.md - Client generation
243
- references/dev.md - Local development database
244
- references/db-pull.md - Database introspection
245
- references/db-push.md - Schema push
246
- references/db-seed.md - Database seeding
247
- references/db-execute.md - Raw SQL execution
248
- references/migrate-dev.md - Development migrations
249
- references/migrate-deploy.md - Production migrations
250
- references/migrate-reset.md - Database reset
251
- references/migrate-status.md - Migration status
252
- references/migrate-resolve.md - Migration resolution
253
- references/migrate-diff.md - Schema diffing
254
- references/studio.md - Database GUI
255
- references/mcp.md - Prisma MCP server
256
- references/complete.md - Shell completion generation
257
- references/agent-safety.md - AI consent checkpoint for destructive commands
258
- references/validate.md - Schema validation
259
- references/format.md - Schema formatting
260
- references/debug.md - Debug info
261
- ```
262
-
263
- ## How to Use
264
-
265
- Use the command categories above for navigation, then open the specific command reference file you need.