quiver-cli 0.1.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 (281) hide show
  1. package/README.md +188 -0
  2. package/bin/quiver-cli.mjs +2 -0
  3. package/dist/cli.js +3074 -0
  4. package/package.json +55 -0
  5. package/template/.agents/AGENTS.md +25 -0
  6. package/template/.agents/commands/cp.md +116 -0
  7. package/template/.agents/commands/next-setup.md +1064 -0
  8. package/template/.agents/commands/tf-readme.md +38 -0
  9. package/template/.agents/config.json +60 -0
  10. package/template/.agents/skills/agent-browser/SKILL.md +55 -0
  11. package/template/.agents/skills/apps/skybridge/SKILL.md +46 -0
  12. package/template/.agents/skills/apps/skybridge/references/architecture.md +175 -0
  13. package/template/.agents/skills/apps/skybridge/references/copy-template.md +24 -0
  14. package/template/.agents/skills/apps/skybridge/references/csp.md +33 -0
  15. package/template/.agents/skills/apps/skybridge/references/deploy.md +33 -0
  16. package/template/.agents/skills/apps/skybridge/references/discover.md +84 -0
  17. package/template/.agents/skills/apps/skybridge/references/download-file.md +77 -0
  18. package/template/.agents/skills/apps/skybridge/references/fetch-and-render-data.md +151 -0
  19. package/template/.agents/skills/apps/skybridge/references/oauth.md +115 -0
  20. package/template/.agents/skills/apps/skybridge/references/open-external-links.md +71 -0
  21. package/template/.agents/skills/apps/skybridge/references/prompt-llm.md +20 -0
  22. package/template/.agents/skills/apps/skybridge/references/publish.md +19 -0
  23. package/template/.agents/skills/apps/skybridge/references/run-locally.md +51 -0
  24. package/template/.agents/skills/apps/skybridge/references/state-and-context.md +151 -0
  25. package/template/.agents/skills/apps/skybridge/references/ui-guidelines.md +205 -0
  26. package/template/.agents/skills/code/cleanup/SKILL.md +26 -0
  27. package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +3810 -0
  28. package/template/.agents/skills/code/vercel-react-best-practices/README.md +123 -0
  29. package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +149 -0
  30. package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +15 -0
  31. package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +46 -0
  32. package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +28 -0
  33. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  34. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  35. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  36. package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  37. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  38. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  39. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +82 -0
  40. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  41. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +28 -0
  42. package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  43. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  44. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
  45. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  46. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  47. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  48. package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  49. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  50. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  51. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  52. package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  53. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  54. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  55. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  56. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  57. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  58. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  59. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  60. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  61. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  62. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  63. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  64. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
  65. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  66. package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  67. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  68. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  69. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  70. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  71. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  72. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  73. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  74. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  75. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  76. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  77. package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  78. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  79. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  80. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  81. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  82. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  83. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  84. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  85. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  86. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  87. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  88. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  89. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  90. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  91. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  92. package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  93. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  94. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  95. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  96. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  97. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  98. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
  99. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
  100. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  101. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  102. package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +38 -0
  103. package/template/.agents/skills/data/prisma-cli/SKILL.md +247 -0
  104. package/template/.agents/skills/data/prisma-cli/references/db-execute.md +78 -0
  105. package/template/.agents/skills/data/prisma-cli/references/db-pull.md +185 -0
  106. package/template/.agents/skills/data/prisma-cli/references/db-push.md +148 -0
  107. package/template/.agents/skills/data/prisma-cli/references/db-seed.md +188 -0
  108. package/template/.agents/skills/data/prisma-cli/references/debug.md +46 -0
  109. package/template/.agents/skills/data/prisma-cli/references/dev.md +157 -0
  110. package/template/.agents/skills/data/prisma-cli/references/format.md +48 -0
  111. package/template/.agents/skills/data/prisma-cli/references/generate.md +173 -0
  112. package/template/.agents/skills/data/prisma-cli/references/init.md +136 -0
  113. package/template/.agents/skills/data/prisma-cli/references/mcp.md +38 -0
  114. package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +127 -0
  115. package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +145 -0
  116. package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +89 -0
  117. package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +78 -0
  118. package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +57 -0
  119. package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +65 -0
  120. package/template/.agents/skills/data/prisma-cli/references/studio.md +137 -0
  121. package/template/.agents/skills/data/prisma-cli/references/validate.md +53 -0
  122. package/template/.agents/skills/data/prisma-client-api/SKILL.md +216 -0
  123. package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +223 -0
  124. package/template/.agents/skills/data/prisma-client-api/references/constructor.md +208 -0
  125. package/template/.agents/skills/data/prisma-client-api/references/filters.md +256 -0
  126. package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +281 -0
  127. package/template/.agents/skills/data/prisma-client-api/references/query-options.md +276 -0
  128. package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +194 -0
  129. package/template/.agents/skills/data/prisma-client-api/references/relations.md +308 -0
  130. package/template/.agents/skills/data/prisma-client-api/references/transactions.md +184 -0
  131. package/template/.agents/skills/design/impeccable/SKILL.md +176 -0
  132. package/template/.agents/skills/design/impeccable/reference/adapt.md +311 -0
  133. package/template/.agents/skills/design/impeccable/reference/animate.md +201 -0
  134. package/template/.agents/skills/design/impeccable/reference/audit.md +133 -0
  135. package/template/.agents/skills/design/impeccable/reference/bolder.md +113 -0
  136. package/template/.agents/skills/design/impeccable/reference/brand.md +108 -0
  137. package/template/.agents/skills/design/impeccable/reference/clarify.md +288 -0
  138. package/template/.agents/skills/design/impeccable/reference/codex.md +105 -0
  139. package/template/.agents/skills/design/impeccable/reference/colorize.md +257 -0
  140. package/template/.agents/skills/design/impeccable/reference/craft.md +123 -0
  141. package/template/.agents/skills/design/impeccable/reference/critique.md +767 -0
  142. package/template/.agents/skills/design/impeccable/reference/delight.md +302 -0
  143. package/template/.agents/skills/design/impeccable/reference/distill.md +111 -0
  144. package/template/.agents/skills/design/impeccable/reference/document.md +429 -0
  145. package/template/.agents/skills/design/impeccable/reference/extract.md +69 -0
  146. package/template/.agents/skills/design/impeccable/reference/harden.md +347 -0
  147. package/template/.agents/skills/design/impeccable/reference/init.md +172 -0
  148. package/template/.agents/skills/design/impeccable/reference/interaction-design.md +189 -0
  149. package/template/.agents/skills/design/impeccable/reference/layout.md +161 -0
  150. package/template/.agents/skills/design/impeccable/reference/live.md +718 -0
  151. package/template/.agents/skills/design/impeccable/reference/onboard.md +234 -0
  152. package/template/.agents/skills/design/impeccable/reference/optimize.md +258 -0
  153. package/template/.agents/skills/design/impeccable/reference/overdrive.md +130 -0
  154. package/template/.agents/skills/design/impeccable/reference/polish.md +241 -0
  155. package/template/.agents/skills/design/impeccable/reference/product.md +60 -0
  156. package/template/.agents/skills/design/impeccable/reference/quieter.md +99 -0
  157. package/template/.agents/skills/design/impeccable/reference/shape.md +165 -0
  158. package/template/.agents/skills/design/impeccable/reference/typeset.md +279 -0
  159. package/template/.agents/skills/design/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  160. package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +94 -0
  161. package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +225 -0
  162. package/template/.agents/skills/design/impeccable/scripts/context.mjs +270 -0
  163. package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +242 -0
  164. package/template/.agents/skills/design/impeccable/scripts/design-parser.mjs +835 -0
  165. package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +198 -0
  166. package/template/.agents/skills/design/impeccable/scripts/detect.mjs +21 -0
  167. package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +1733 -0
  168. package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +244 -0
  169. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +4551 -0
  170. package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  171. package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
  172. package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
  173. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
  174. package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
  175. package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  176. package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +12 -0
  177. package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +198 -0
  178. package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  179. package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
  180. package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +2316 -0
  181. package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +124 -0
  182. package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +101 -0
  183. package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +7 -0
  184. package/template/.agents/skills/design/impeccable/scripts/impeccable-paths.mjs +126 -0
  185. package/template/.agents/skills/design/impeccable/scripts/is-generated.mjs +69 -0
  186. package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +812 -0
  187. package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +123 -0
  188. package/template/.agents/skills/design/impeccable/scripts/live-browser.js +10316 -0
  189. package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
  190. package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +75 -0
  191. package/template/.agents/skills/design/impeccable/scripts/live-completion.mjs +19 -0
  192. package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  193. package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  194. package/template/.agents/skills/design/impeccable/scripts/live-event-validation.mjs +136 -0
  195. package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +557 -0
  196. package/template/.agents/skills/design/impeccable/scripts/live-insert-ui.mjs +458 -0
  197. package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +272 -0
  198. package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
  199. package/template/.agents/skills/design/impeccable/scripts/live-manual-edits-buffer.mjs +152 -0
  200. package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +379 -0
  201. package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +94 -0
  202. package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +2322 -0
  203. package/template/.agents/skills/design/impeccable/scripts/live-session-store.mjs +289 -0
  204. package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +61 -0
  205. package/template/.agents/skills/design/impeccable/scripts/live-svelte-component.mjs +826 -0
  206. package/template/.agents/skills/design/impeccable/scripts/live-sveltekit-adapter.mjs +274 -0
  207. package/template/.agents/skills/design/impeccable/scripts/live-ui-core.mjs +179 -0
  208. package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +894 -0
  209. package/template/.agents/skills/design/impeccable/scripts/live.mjs +246 -0
  210. package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +14 -0
  211. package/template/.agents/skills/design/impeccable/scripts/palette.mjs +633 -0
  212. package/template/.agents/skills/design/impeccable/scripts/pin.mjs +214 -0
  213. package/template/.agents/skills/design/shadcn/SKILL.md +242 -0
  214. package/template/.agents/skills/design/shadcn/agents/openai.yml +5 -0
  215. package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
  216. package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
  217. package/template/.agents/skills/design/shadcn/cli.md +257 -0
  218. package/template/.agents/skills/design/shadcn/customization.md +202 -0
  219. package/template/.agents/skills/design/shadcn/evals/evals.json +47 -0
  220. package/template/.agents/skills/design/shadcn/mcp.md +94 -0
  221. package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +306 -0
  222. package/template/.agents/skills/design/shadcn/rules/composition.md +195 -0
  223. package/template/.agents/skills/design/shadcn/rules/forms.md +192 -0
  224. package/template/.agents/skills/design/shadcn/rules/icons.md +101 -0
  225. package/template/.agents/skills/design/shadcn/rules/styling.md +162 -0
  226. package/template/.agents/skills/find-skills/SKILL.md +142 -0
  227. package/template/.agents/skills/integrations/langfuse/SKILL.md +142 -0
  228. package/template/.agents/skills/integrations/langfuse/references/cli.md +52 -0
  229. package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +100 -0
  230. package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +134 -0
  231. package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +288 -0
  232. package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +234 -0
  233. package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +175 -0
  234. package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +52 -0
  235. package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +88 -0
  236. package/template/.agents/skills/integrations/posthog/SKILL.md +102 -0
  237. package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +63 -0
  238. package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +77 -0
  239. package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +57 -0
  240. package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +140 -0
  241. package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +490 -0
  242. package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +45 -0
  243. package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +139 -0
  244. package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +302 -0
  245. package/template/.agents/skills/integrations/posthog/references/identify-users.md +202 -0
  246. package/template/.agents/skills/integrations/posthog/references/integration-example.md +706 -0
  247. package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +385 -0
  248. package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +43 -0
  249. package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +37 -0
  250. package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +22 -0
  251. package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +38 -0
  252. package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +200 -0
  253. package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +62 -0
  254. package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +197 -0
  255. package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +397 -0
  256. package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +98 -0
  257. package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +120 -0
  258. package/template/.agents/skills/repo/repo-ci/SKILL.md +265 -0
  259. package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +129 -0
  260. package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +800 -0
  261. package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +47 -0
  262. package/template/.agents/skills/repo/repo-init-node/SKILL.md +196 -0
  263. package/template/.agents/skills/skill-creator/LICENSE.txt +202 -0
  264. package/template/.agents/skills/skill-creator/SKILL.md +485 -0
  265. package/template/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  266. package/template/.agents/skills/skill-creator/agents/comparator.md +202 -0
  267. package/template/.agents/skills/skill-creator/agents/grader.md +223 -0
  268. package/template/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  269. package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  270. package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  271. package/template/.agents/skills/skill-creator/references/schemas.md +430 -0
  272. package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  273. package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  274. package/template/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  275. package/template/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  276. package/template/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  277. package/template/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  278. package/template/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  279. package/template/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  280. package/template/.agents/skills/skill-creator/scripts/utils.py +47 -0
  281. package/template/.agents/upstreams.json +80 -0
@@ -0,0 +1,276 @@
1
+ # Query Options
2
+
3
+ Options for controlling query behavior.
4
+
5
+ ## select
6
+
7
+ Choose specific fields to return:
8
+
9
+ ```typescript
10
+ const user = await prisma.user.findUnique({
11
+ where: { id: 1 },
12
+ select: {
13
+ id: true,
14
+ name: true,
15
+ email: true,
16
+ // password: false (excluded by not including)
17
+ }
18
+ })
19
+ // Returns: { id: 1, name: 'Alice', email: 'alice@prisma.io' }
20
+ ```
21
+
22
+ ### Select relations
23
+
24
+ ```typescript
25
+ const user = await prisma.user.findUnique({
26
+ where: { id: 1 },
27
+ select: {
28
+ name: true,
29
+ posts: {
30
+ select: {
31
+ title: true,
32
+ published: true
33
+ }
34
+ }
35
+ }
36
+ })
37
+ ```
38
+
39
+ ### Select with include inside
40
+
41
+ ```typescript
42
+ const user = await prisma.user.findMany({
43
+ select: {
44
+ name: true,
45
+ posts: {
46
+ include: {
47
+ comments: true
48
+ }
49
+ }
50
+ }
51
+ })
52
+ ```
53
+
54
+ ### Select relation count
55
+
56
+ ```typescript
57
+ const users = await prisma.user.findMany({
58
+ select: {
59
+ name: true,
60
+ _count: {
61
+ select: { posts: true }
62
+ }
63
+ }
64
+ })
65
+ // Returns: { name: 'Alice', _count: { posts: 5 } }
66
+ ```
67
+
68
+ ## include
69
+
70
+ Include related records:
71
+
72
+ ```typescript
73
+ const user = await prisma.user.findUnique({
74
+ where: { id: 1 },
75
+ include: {
76
+ posts: true,
77
+ profile: true
78
+ }
79
+ })
80
+ ```
81
+
82
+ ### Filtered include
83
+
84
+ ```typescript
85
+ const user = await prisma.user.findUnique({
86
+ where: { id: 1 },
87
+ include: {
88
+ posts: {
89
+ where: { published: true },
90
+ orderBy: { createdAt: 'desc' },
91
+ take: 5
92
+ }
93
+ }
94
+ })
95
+ ```
96
+
97
+ ### Nested include
98
+
99
+ ```typescript
100
+ const user = await prisma.user.findUnique({
101
+ where: { id: 1 },
102
+ include: {
103
+ posts: {
104
+ include: {
105
+ comments: {
106
+ include: {
107
+ author: true
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ })
114
+ ```
115
+
116
+ ### Include relation count
117
+
118
+ ```typescript
119
+ const users = await prisma.user.findMany({
120
+ include: {
121
+ _count: {
122
+ select: { posts: true, followers: true }
123
+ }
124
+ }
125
+ })
126
+ ```
127
+
128
+ ## omit
129
+
130
+ Exclude specific fields:
131
+
132
+ ```typescript
133
+ const user = await prisma.user.findUnique({
134
+ where: { id: 1 },
135
+ omit: {
136
+ password: true
137
+ }
138
+ })
139
+ // Returns all fields except password
140
+ ```
141
+
142
+ ### Omit in relations
143
+
144
+ ```typescript
145
+ const users = await prisma.user.findMany({
146
+ omit: { password: true },
147
+ include: {
148
+ posts: {
149
+ omit: { content: true }
150
+ }
151
+ }
152
+ })
153
+ ```
154
+
155
+ **Note:** Cannot use `select` and `omit` together.
156
+
157
+ ## where
158
+
159
+ Filter records:
160
+
161
+ ```typescript
162
+ const users = await prisma.user.findMany({
163
+ where: {
164
+ email: { contains: '@prisma.io' },
165
+ role: 'ADMIN'
166
+ }
167
+ })
168
+ ```
169
+
170
+ See `filters.md` for detailed filter operators.
171
+
172
+ ## orderBy
173
+
174
+ Sort results:
175
+
176
+ ```typescript
177
+ // Single field
178
+ const users = await prisma.user.findMany({
179
+ orderBy: { name: 'asc' }
180
+ })
181
+
182
+ // Multiple fields
183
+ const users = await prisma.user.findMany({
184
+ orderBy: [
185
+ { role: 'desc' },
186
+ { name: 'asc' }
187
+ ]
188
+ })
189
+ ```
190
+
191
+ ### Order by relation
192
+
193
+ ```typescript
194
+ const users = await prisma.user.findMany({
195
+ orderBy: {
196
+ posts: { _count: 'desc' }
197
+ }
198
+ })
199
+ ```
200
+
201
+ ### Null handling
202
+
203
+ ```typescript
204
+ const users = await prisma.user.findMany({
205
+ orderBy: {
206
+ name: { sort: 'asc', nulls: 'last' }
207
+ }
208
+ })
209
+ ```
210
+
211
+ ## take & skip
212
+
213
+ Pagination:
214
+
215
+ ```typescript
216
+ // First page
217
+ const users = await prisma.user.findMany({
218
+ take: 10,
219
+ skip: 0
220
+ })
221
+
222
+ // Second page
223
+ const users = await prisma.user.findMany({
224
+ take: 10,
225
+ skip: 10
226
+ })
227
+ ```
228
+
229
+ ### Negative take (reverse)
230
+
231
+ ```typescript
232
+ const lastUsers = await prisma.user.findMany({
233
+ take: -10,
234
+ orderBy: { id: 'asc' }
235
+ })
236
+ // Returns last 10 users
237
+ ```
238
+
239
+ ## cursor
240
+
241
+ Cursor-based pagination:
242
+
243
+ ```typescript
244
+ // First page
245
+ const firstPage = await prisma.user.findMany({
246
+ take: 10,
247
+ orderBy: { id: 'asc' }
248
+ })
249
+
250
+ // Next page using cursor
251
+ const nextPage = await prisma.user.findMany({
252
+ take: 10,
253
+ skip: 1, // Skip the cursor record
254
+ cursor: { id: firstPage[firstPage.length - 1].id },
255
+ orderBy: { id: 'asc' }
256
+ })
257
+ ```
258
+
259
+ ## distinct
260
+
261
+ Return unique values:
262
+
263
+ ```typescript
264
+ const cities = await prisma.user.findMany({
265
+ distinct: ['city'],
266
+ select: { city: true }
267
+ })
268
+ ```
269
+
270
+ ### Multiple distinct fields
271
+
272
+ ```typescript
273
+ const locations = await prisma.user.findMany({
274
+ distinct: ['city', 'country']
275
+ })
276
+ ```
@@ -0,0 +1,194 @@
1
+ # Raw Queries
2
+
3
+ Execute raw SQL when Prisma's query API isn't sufficient.
4
+
5
+ ## $queryRaw
6
+
7
+ Execute SELECT queries and get typed results:
8
+
9
+ ```typescript
10
+ const users = await prisma.$queryRaw`
11
+ SELECT * FROM "User" WHERE email LIKE ${'%@prisma.io'}
12
+ `
13
+ ```
14
+
15
+ ### With type
16
+
17
+ ```typescript
18
+ type User = { id: number; email: string; name: string | null }
19
+
20
+ const users = await prisma.$queryRaw<User[]>`
21
+ SELECT id, email, name FROM "User" WHERE role = ${'ADMIN'}
22
+ `
23
+ ```
24
+
25
+ ### Dynamic table/column names
26
+
27
+ Use `Prisma.raw()` for identifiers (not safe for user input):
28
+
29
+ ```typescript
30
+ import { Prisma } from '../generated/client'
31
+
32
+ const column = 'email'
33
+ const users = await prisma.$queryRaw`
34
+ SELECT ${Prisma.raw(column)} FROM "User"
35
+ `
36
+ ```
37
+
38
+ ### With Prisma.sql
39
+
40
+ Build queries dynamically:
41
+
42
+ ```typescript
43
+ import { Prisma } from '../generated/client'
44
+
45
+ const email = 'alice@prisma.io'
46
+ const query = Prisma.sql`SELECT * FROM "User" WHERE email = ${email}`
47
+ const users = await prisma.$queryRaw(query)
48
+ ```
49
+
50
+ ### Join multiple SQL fragments
51
+
52
+ ```typescript
53
+ import { Prisma } from '../generated/client'
54
+
55
+ const conditions = [
56
+ Prisma.sql`role = ${'ADMIN'}`,
57
+ Prisma.sql`verified = ${true}`
58
+ ]
59
+
60
+ const users = await prisma.$queryRaw`
61
+ SELECT * FROM "User"
62
+ WHERE ${Prisma.join(conditions, ' AND ')}
63
+ `
64
+ ```
65
+
66
+ ## $executeRaw
67
+
68
+ Execute INSERT, UPDATE, DELETE (returns affected count):
69
+
70
+ ```typescript
71
+ const count = await prisma.$executeRaw`
72
+ UPDATE "User" SET verified = true WHERE email LIKE ${'%@prisma.io'}
73
+ `
74
+ console.log(`Updated ${count} users`)
75
+ ```
76
+
77
+ ### Delete example
78
+
79
+ ```typescript
80
+ const deleted = await prisma.$executeRaw`
81
+ DELETE FROM "User" WHERE "deletedAt" < ${thirtyDaysAgo}
82
+ `
83
+ ```
84
+
85
+ ### Insert example
86
+
87
+ ```typescript
88
+ const inserted = await prisma.$executeRaw`
89
+ INSERT INTO "Log" (message, level, timestamp)
90
+ VALUES (${message}, ${level}, ${new Date()})
91
+ `
92
+ ```
93
+
94
+ ## $queryRawUnsafe / $executeRawUnsafe
95
+
96
+ For fully dynamic queries (use with caution!):
97
+
98
+ ```typescript
99
+ // ⚠️ SQL injection risk - only use with trusted input
100
+ const table = 'User'
101
+ const users = await prisma.$queryRawUnsafe(
102
+ `SELECT * FROM "${table}" WHERE id = $1`,
103
+ userId
104
+ )
105
+ ```
106
+
107
+ ### Parameterized unsafe query
108
+
109
+ ```typescript
110
+ const result = await prisma.$executeRawUnsafe(
111
+ 'UPDATE "User" SET name = $1 WHERE id = $2',
112
+ 'Alice',
113
+ 1
114
+ )
115
+ ```
116
+
117
+ ## SQL Injection Prevention
118
+
119
+ ### Safe (parameterized)
120
+
121
+ ```typescript
122
+ // ✅ User input is parameterized
123
+ const email = userInput
124
+ const users = await prisma.$queryRaw`
125
+ SELECT * FROM "User" WHERE email = ${email}
126
+ `
127
+ ```
128
+
129
+ ### Unsafe (concatenation)
130
+
131
+ ```typescript
132
+ // ❌ SQL injection vulnerability!
133
+ const email = userInput
134
+ const users = await prisma.$queryRawUnsafe(
135
+ `SELECT * FROM "User" WHERE email = '${email}'`
136
+ )
137
+ ```
138
+
139
+ ## Database-Specific Features
140
+
141
+ ### PostgreSQL
142
+
143
+ ```typescript
144
+ // Array operations
145
+ const users = await prisma.$queryRaw`
146
+ SELECT * FROM "User" WHERE 'admin' = ANY(roles)
147
+ `
148
+
149
+ // JSON operations
150
+ const users = await prisma.$queryRaw`
151
+ SELECT * FROM "User" WHERE metadata->>'theme' = 'dark'
152
+ `
153
+ ```
154
+
155
+ ### MySQL
156
+
157
+ ```typescript
158
+ // Full-text search
159
+ const posts = await prisma.$queryRaw`
160
+ SELECT * FROM Post WHERE MATCH(title, content) AGAINST(${searchTerm})
161
+ `
162
+ ```
163
+
164
+ ## Transactions with Raw Queries
165
+
166
+ ```typescript
167
+ await prisma.$transaction(async (tx) => {
168
+ await tx.$executeRaw`UPDATE "Account" SET balance = balance - ${amount} WHERE id = ${senderId}`
169
+ await tx.$executeRaw`UPDATE "Account" SET balance = balance + ${amount} WHERE id = ${recipientId}`
170
+ })
171
+ ```
172
+
173
+ ## Handling Results
174
+
175
+ ### BigInt handling
176
+
177
+ PostgreSQL returns BigInt for COUNT:
178
+
179
+ ```typescript
180
+ const result = await prisma.$queryRaw<[{ count: bigint }]>`
181
+ SELECT COUNT(*) as count FROM "User"
182
+ `
183
+ const count = Number(result[0].count)
184
+ ```
185
+
186
+ ### Date handling
187
+
188
+ ```typescript
189
+ type Result = { createdAt: Date }
190
+ const users = await prisma.$queryRaw<Result[]>`
191
+ SELECT "createdAt" FROM "User"
192
+ `
193
+ // createdAt is already a Date object
194
+ ```