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.
- package/README.md +188 -0
- package/bin/quiver-cli.mjs +2 -0
- package/dist/cli.js +3074 -0
- package/package.json +55 -0
- package/template/.agents/AGENTS.md +25 -0
- package/template/.agents/commands/cp.md +116 -0
- package/template/.agents/commands/next-setup.md +1064 -0
- package/template/.agents/commands/tf-readme.md +38 -0
- package/template/.agents/config.json +60 -0
- package/template/.agents/skills/agent-browser/SKILL.md +55 -0
- package/template/.agents/skills/apps/skybridge/SKILL.md +46 -0
- package/template/.agents/skills/apps/skybridge/references/architecture.md +175 -0
- package/template/.agents/skills/apps/skybridge/references/copy-template.md +24 -0
- package/template/.agents/skills/apps/skybridge/references/csp.md +33 -0
- package/template/.agents/skills/apps/skybridge/references/deploy.md +33 -0
- package/template/.agents/skills/apps/skybridge/references/discover.md +84 -0
- package/template/.agents/skills/apps/skybridge/references/download-file.md +77 -0
- package/template/.agents/skills/apps/skybridge/references/fetch-and-render-data.md +151 -0
- package/template/.agents/skills/apps/skybridge/references/oauth.md +115 -0
- package/template/.agents/skills/apps/skybridge/references/open-external-links.md +71 -0
- package/template/.agents/skills/apps/skybridge/references/prompt-llm.md +20 -0
- package/template/.agents/skills/apps/skybridge/references/publish.md +19 -0
- package/template/.agents/skills/apps/skybridge/references/run-locally.md +51 -0
- package/template/.agents/skills/apps/skybridge/references/state-and-context.md +151 -0
- package/template/.agents/skills/apps/skybridge/references/ui-guidelines.md +205 -0
- package/template/.agents/skills/code/cleanup/SKILL.md +26 -0
- package/template/.agents/skills/code/vercel-react-best-practices/AGENTS.md +3810 -0
- package/template/.agents/skills/code/vercel-react-best-practices/README.md +123 -0
- package/template/.agents/skills/code/vercel-react-best-practices/SKILL.md +149 -0
- package/template/.agents/skills/code/vercel-react-best-practices/metadata.json +15 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/_sections.md +46 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/_template.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/template/.agents/skills/code/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/template/.agents/skills/data/prisma-cli/SKILL.md +247 -0
- package/template/.agents/skills/data/prisma-cli/references/db-execute.md +78 -0
- package/template/.agents/skills/data/prisma-cli/references/db-pull.md +185 -0
- package/template/.agents/skills/data/prisma-cli/references/db-push.md +148 -0
- package/template/.agents/skills/data/prisma-cli/references/db-seed.md +188 -0
- package/template/.agents/skills/data/prisma-cli/references/debug.md +46 -0
- package/template/.agents/skills/data/prisma-cli/references/dev.md +157 -0
- package/template/.agents/skills/data/prisma-cli/references/format.md +48 -0
- package/template/.agents/skills/data/prisma-cli/references/generate.md +173 -0
- package/template/.agents/skills/data/prisma-cli/references/init.md +136 -0
- package/template/.agents/skills/data/prisma-cli/references/mcp.md +38 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-deploy.md +127 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-dev.md +145 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-diff.md +89 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-reset.md +78 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-resolve.md +57 -0
- package/template/.agents/skills/data/prisma-cli/references/migrate-status.md +65 -0
- package/template/.agents/skills/data/prisma-cli/references/studio.md +137 -0
- package/template/.agents/skills/data/prisma-cli/references/validate.md +53 -0
- package/template/.agents/skills/data/prisma-client-api/SKILL.md +216 -0
- package/template/.agents/skills/data/prisma-client-api/references/client-methods.md +223 -0
- package/template/.agents/skills/data/prisma-client-api/references/constructor.md +208 -0
- package/template/.agents/skills/data/prisma-client-api/references/filters.md +256 -0
- package/template/.agents/skills/data/prisma-client-api/references/model-queries.md +281 -0
- package/template/.agents/skills/data/prisma-client-api/references/query-options.md +276 -0
- package/template/.agents/skills/data/prisma-client-api/references/raw-queries.md +194 -0
- package/template/.agents/skills/data/prisma-client-api/references/relations.md +308 -0
- package/template/.agents/skills/data/prisma-client-api/references/transactions.md +184 -0
- package/template/.agents/skills/design/impeccable/SKILL.md +176 -0
- package/template/.agents/skills/design/impeccable/reference/adapt.md +311 -0
- package/template/.agents/skills/design/impeccable/reference/animate.md +201 -0
- package/template/.agents/skills/design/impeccable/reference/audit.md +133 -0
- package/template/.agents/skills/design/impeccable/reference/bolder.md +113 -0
- package/template/.agents/skills/design/impeccable/reference/brand.md +108 -0
- package/template/.agents/skills/design/impeccable/reference/clarify.md +288 -0
- package/template/.agents/skills/design/impeccable/reference/codex.md +105 -0
- package/template/.agents/skills/design/impeccable/reference/colorize.md +257 -0
- package/template/.agents/skills/design/impeccable/reference/craft.md +123 -0
- package/template/.agents/skills/design/impeccable/reference/critique.md +767 -0
- package/template/.agents/skills/design/impeccable/reference/delight.md +302 -0
- package/template/.agents/skills/design/impeccable/reference/distill.md +111 -0
- package/template/.agents/skills/design/impeccable/reference/document.md +429 -0
- package/template/.agents/skills/design/impeccable/reference/extract.md +69 -0
- package/template/.agents/skills/design/impeccable/reference/harden.md +347 -0
- package/template/.agents/skills/design/impeccable/reference/init.md +172 -0
- package/template/.agents/skills/design/impeccable/reference/interaction-design.md +189 -0
- package/template/.agents/skills/design/impeccable/reference/layout.md +161 -0
- package/template/.agents/skills/design/impeccable/reference/live.md +718 -0
- package/template/.agents/skills/design/impeccable/reference/onboard.md +234 -0
- package/template/.agents/skills/design/impeccable/reference/optimize.md +258 -0
- package/template/.agents/skills/design/impeccable/reference/overdrive.md +130 -0
- package/template/.agents/skills/design/impeccable/reference/polish.md +241 -0
- package/template/.agents/skills/design/impeccable/reference/product.md +60 -0
- package/template/.agents/skills/design/impeccable/reference/quieter.md +99 -0
- package/template/.agents/skills/design/impeccable/reference/shape.md +165 -0
- package/template/.agents/skills/design/impeccable/reference/typeset.md +279 -0
- package/template/.agents/skills/design/impeccable/scripts/cleanup-deprecated.mjs +284 -0
- package/template/.agents/skills/design/impeccable/scripts/command-metadata.json +94 -0
- package/template/.agents/skills/design/impeccable/scripts/context-signals.mjs +225 -0
- package/template/.agents/skills/design/impeccable/scripts/context.mjs +270 -0
- package/template/.agents/skills/design/impeccable/scripts/critique-storage.mjs +242 -0
- package/template/.agents/skills/design/impeccable/scripts/design-parser.mjs +835 -0
- package/template/.agents/skills/design/impeccable/scripts/detect-csp.mjs +198 -0
- package/template/.agents/skills/design/impeccable/scripts/detect.mjs +21 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/browser/injected/index.mjs +1733 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/cli/main.mjs +244 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns-browser.js +4551 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/findings.mjs +12 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/node/file-system.mjs +198 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/profile/profiler.mjs +166 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/rules/checks.mjs +2316 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/color.mjs +124 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/constants.mjs +101 -0
- package/template/.agents/skills/design/impeccable/scripts/detector/shared/page.mjs +7 -0
- package/template/.agents/skills/design/impeccable/scripts/impeccable-paths.mjs +126 -0
- package/template/.agents/skills/design/impeccable/scripts/is-generated.mjs +69 -0
- package/template/.agents/skills/design/impeccable/scripts/live-accept.mjs +812 -0
- package/template/.agents/skills/design/impeccable/scripts/live-browser-session.js +123 -0
- package/template/.agents/skills/design/impeccable/scripts/live-browser.js +10316 -0
- package/template/.agents/skills/design/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
- package/template/.agents/skills/design/impeccable/scripts/live-complete.mjs +75 -0
- package/template/.agents/skills/design/impeccable/scripts/live-completion.mjs +19 -0
- package/template/.agents/skills/design/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
- package/template/.agents/skills/design/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
- package/template/.agents/skills/design/impeccable/scripts/live-event-validation.mjs +136 -0
- package/template/.agents/skills/design/impeccable/scripts/live-inject.mjs +557 -0
- package/template/.agents/skills/design/impeccable/scripts/live-insert-ui.mjs +458 -0
- package/template/.agents/skills/design/impeccable/scripts/live-insert.mjs +272 -0
- package/template/.agents/skills/design/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
- package/template/.agents/skills/design/impeccable/scripts/live-manual-edits-buffer.mjs +152 -0
- package/template/.agents/skills/design/impeccable/scripts/live-poll.mjs +379 -0
- package/template/.agents/skills/design/impeccable/scripts/live-resume.mjs +94 -0
- package/template/.agents/skills/design/impeccable/scripts/live-server.mjs +2322 -0
- package/template/.agents/skills/design/impeccable/scripts/live-session-store.mjs +289 -0
- package/template/.agents/skills/design/impeccable/scripts/live-status.mjs +61 -0
- package/template/.agents/skills/design/impeccable/scripts/live-svelte-component.mjs +826 -0
- package/template/.agents/skills/design/impeccable/scripts/live-sveltekit-adapter.mjs +274 -0
- package/template/.agents/skills/design/impeccable/scripts/live-ui-core.mjs +179 -0
- package/template/.agents/skills/design/impeccable/scripts/live-wrap.mjs +894 -0
- package/template/.agents/skills/design/impeccable/scripts/live.mjs +246 -0
- package/template/.agents/skills/design/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/template/.agents/skills/design/impeccable/scripts/palette.mjs +633 -0
- package/template/.agents/skills/design/impeccable/scripts/pin.mjs +214 -0
- package/template/.agents/skills/design/shadcn/SKILL.md +242 -0
- package/template/.agents/skills/design/shadcn/agents/openai.yml +5 -0
- package/template/.agents/skills/design/shadcn/assets/shadcn-small.png +0 -0
- package/template/.agents/skills/design/shadcn/assets/shadcn.png +0 -0
- package/template/.agents/skills/design/shadcn/cli.md +257 -0
- package/template/.agents/skills/design/shadcn/customization.md +202 -0
- package/template/.agents/skills/design/shadcn/evals/evals.json +47 -0
- package/template/.agents/skills/design/shadcn/mcp.md +94 -0
- package/template/.agents/skills/design/shadcn/rules/base-vs-radix.md +306 -0
- package/template/.agents/skills/design/shadcn/rules/composition.md +195 -0
- package/template/.agents/skills/design/shadcn/rules/forms.md +192 -0
- package/template/.agents/skills/design/shadcn/rules/icons.md +101 -0
- package/template/.agents/skills/design/shadcn/rules/styling.md +162 -0
- package/template/.agents/skills/find-skills/SKILL.md +142 -0
- package/template/.agents/skills/integrations/langfuse/SKILL.md +142 -0
- package/template/.agents/skills/integrations/langfuse/references/cli.md +52 -0
- package/template/.agents/skills/integrations/langfuse/references/error-analysis.md +100 -0
- package/template/.agents/skills/integrations/langfuse/references/instrumentation.md +134 -0
- package/template/.agents/skills/integrations/langfuse/references/judge-calibration.md +288 -0
- package/template/.agents/skills/integrations/langfuse/references/prompt-migration.md +234 -0
- package/template/.agents/skills/integrations/langfuse/references/sdk-upgrade.md +175 -0
- package/template/.agents/skills/integrations/langfuse/references/skill-feedback.md +52 -0
- package/template/.agents/skills/integrations/langfuse/references/user-feedback.md +88 -0
- package/template/.agents/skills/integrations/posthog/SKILL.md +102 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-alerts.md +63 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-assigning-issues.md +77 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-fingerprints.md +57 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-monitoring.md +140 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-nextjs.md +490 -0
- package/template/.agents/skills/integrations/posthog/references/error-tracking-source-maps.md +45 -0
- package/template/.agents/skills/integrations/posthog/references/feature-flags-best-practices.md +139 -0
- package/template/.agents/skills/integrations/posthog/references/feature-flags-react.md +302 -0
- package/template/.agents/skills/integrations/posthog/references/identify-users.md +202 -0
- package/template/.agents/skills/integrations/posthog/references/integration-example.md +706 -0
- package/template/.agents/skills/integrations/posthog/references/integration-nextjs.md +385 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-1-begin.md +43 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-2-edit.md +37 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-3-revise.md +22 -0
- package/template/.agents/skills/integrations/posthog/references/integration-step-4-conclude.md +38 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-anthropic.md +200 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-basics.md +62 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-costs.md +197 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-manual-capture.md +397 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-traces.md +98 -0
- package/template/.agents/skills/integrations/posthog/references/llm-analytics-vercel-ai.md +120 -0
- package/template/.agents/skills/repo/repo-ci/SKILL.md +265 -0
- package/template/.agents/skills/repo/repo-init-next-js/SKILL.md +129 -0
- package/template/.agents/skills/repo/repo-init-next-js/references/file-contents.md +800 -0
- package/template/.agents/skills/repo/repo-init-next-js/scripts/setup.sh +47 -0
- package/template/.agents/skills/repo/repo-init-node/SKILL.md +196 -0
- package/template/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/template/.agents/skills/skill-creator/SKILL.md +485 -0
- package/template/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/template/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/template/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/template/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/template/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/template/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/template/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/template/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/template/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/template/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/template/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/template/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/template/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/template/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/template/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/template/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/template/.agents/upstreams.json +80 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# prisma db execute
|
|
2
|
+
|
|
3
|
+
Execute native commands (SQL) to your database.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma db execute [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Connects to your database using the configured datasource
|
|
14
|
+
- Executes a script provided via file (`--file`) or stdin (`--stdin`)
|
|
15
|
+
- Useful for running raw SQL, maintenance tasks, or applying diffs from `migrate diff`
|
|
16
|
+
- Not supported on MongoDB
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description |
|
|
21
|
+
|--------|-------------|
|
|
22
|
+
| `--file` | Path to a file containing the script to execute |
|
|
23
|
+
| `--stdin` | Use terminal standard input as the script |
|
|
24
|
+
| `--config` | Custom path to your Prisma config file |
|
|
25
|
+
|
|
26
|
+
## Current Option Surface
|
|
27
|
+
|
|
28
|
+
`prisma db execute` uses the datasource configured in `prisma.config.ts`. Use `--config` if you need a separate config file for another environment.
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
### Execute from file
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
prisma db execute --file ./script.sql
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Execute from stdin
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
echo "TRUNCATE TABLE User;" | prisma db execute --stdin
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Execute `migrate diff` output
|
|
45
|
+
|
|
46
|
+
Pipe the output of `migrate diff` directly to the database:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
prisma migrate diff \
|
|
50
|
+
--from-empty \
|
|
51
|
+
--to-schema prisma/schema.prisma \
|
|
52
|
+
--script \
|
|
53
|
+
| prisma db execute --stdin
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Configuration
|
|
57
|
+
|
|
58
|
+
Uses `datasource` from `prisma.config.ts`:
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
export default defineConfig({
|
|
62
|
+
datasource: {
|
|
63
|
+
url: env('DATABASE_URL'),
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Use Cases
|
|
69
|
+
|
|
70
|
+
- **Manual Migrations**: Applying raw SQL changes
|
|
71
|
+
- **Data Maintenance**: Truncating tables, cleaning up data
|
|
72
|
+
- **Schema Synchronization**: Applying `migrate diff` scripts
|
|
73
|
+
- **Debugging**: Running test queries (though typically not for fetching data)
|
|
74
|
+
|
|
75
|
+
## Limitations
|
|
76
|
+
|
|
77
|
+
- **No Data Return**: The command reports success/failure, not query results (rows). Use Prisma Client or `prisma studio` to view data.
|
|
78
|
+
- **SQL Only**: Primarily for SQL databases.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# prisma db pull
|
|
2
|
+
|
|
3
|
+
Introspects an existing database and updates your Prisma schema to reflect its structure.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma db pull [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Connects to your database
|
|
14
|
+
- Reads the database schema (tables, columns, relations, indexes)
|
|
15
|
+
- Updates `schema.prisma` with corresponding Prisma models
|
|
16
|
+
- For MongoDB, samples data to infer schema
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description |
|
|
21
|
+
|--------|-------------|
|
|
22
|
+
| `--force` | Ignore current Prisma schema file |
|
|
23
|
+
| `--print` | Print the introspected Prisma schema to stdout |
|
|
24
|
+
| `--schema` | Custom path to your Prisma schema |
|
|
25
|
+
| `--config` | Custom path to your Prisma config file |
|
|
26
|
+
| `--url` | Override the datasource URL from the Prisma config file |
|
|
27
|
+
| `--composite-type-depth` | Specify the depth for introspecting composite types (default: -1 for infinite, 0 = off) |
|
|
28
|
+
| `--schemas` | Specify the database schemas to introspect |
|
|
29
|
+
| `--local-d1` | Generate a Prisma schema from a local Cloudflare D1 database |
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
### Basic introspection
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
prisma db pull
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Preview without writing
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
prisma db pull --print
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Outputs schema to terminal for review.
|
|
46
|
+
|
|
47
|
+
### Force overwrite
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
prisma db pull --force
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Replaces schema file, losing any manual customizations.
|
|
54
|
+
|
|
55
|
+
## Prerequisites
|
|
56
|
+
|
|
57
|
+
Configure database connection in `prisma.config.ts`:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
import 'dotenv/config'
|
|
61
|
+
import { defineConfig, env } from 'prisma/config'
|
|
62
|
+
|
|
63
|
+
export default defineConfig({
|
|
64
|
+
schema: 'prisma/schema.prisma',
|
|
65
|
+
datasource: {
|
|
66
|
+
url: env('DATABASE_URL'),
|
|
67
|
+
},
|
|
68
|
+
})
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Workflow
|
|
72
|
+
|
|
73
|
+
### Starting from existing database
|
|
74
|
+
|
|
75
|
+
1. Initialize Prisma:
|
|
76
|
+
```bash
|
|
77
|
+
prisma init
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
2. Configure database URL
|
|
81
|
+
|
|
82
|
+
3. Pull schema:
|
|
83
|
+
```bash
|
|
84
|
+
prisma db pull
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
4. Review and customize generated schema
|
|
88
|
+
|
|
89
|
+
5. Generate client:
|
|
90
|
+
```bash
|
|
91
|
+
prisma generate
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Syncing changes from database
|
|
95
|
+
|
|
96
|
+
When database changes are made outside Prisma:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
prisma db pull
|
|
100
|
+
prisma generate
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Generated Schema Example
|
|
104
|
+
|
|
105
|
+
Database tables become Prisma models:
|
|
106
|
+
|
|
107
|
+
```sql
|
|
108
|
+
-- Database tables
|
|
109
|
+
CREATE TABLE users (
|
|
110
|
+
id SERIAL PRIMARY KEY,
|
|
111
|
+
email VARCHAR(255) UNIQUE NOT NULL,
|
|
112
|
+
name VARCHAR(100)
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
CREATE TABLE posts (
|
|
116
|
+
id SERIAL PRIMARY KEY,
|
|
117
|
+
title VARCHAR(255) NOT NULL,
|
|
118
|
+
author_id INTEGER REFERENCES users(id)
|
|
119
|
+
);
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Becomes:
|
|
123
|
+
|
|
124
|
+
```prisma
|
|
125
|
+
model users {
|
|
126
|
+
id Int @id @default(autoincrement())
|
|
127
|
+
email String @unique @db.VarChar(255)
|
|
128
|
+
name String? @db.VarChar(100)
|
|
129
|
+
posts posts[]
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
model posts {
|
|
133
|
+
id Int @id @default(autoincrement())
|
|
134
|
+
title String @db.VarChar(255)
|
|
135
|
+
author_id Int?
|
|
136
|
+
users users? @relation(fields: [author_id], references: [id])
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Post-Introspection Cleanup
|
|
141
|
+
|
|
142
|
+
After `db pull`, consider:
|
|
143
|
+
|
|
144
|
+
1. **Rename models** to PascalCase:
|
|
145
|
+
```prisma
|
|
146
|
+
model User { // Was: users
|
|
147
|
+
@@map("users")
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
2. **Rename fields** to camelCase:
|
|
152
|
+
```prisma
|
|
153
|
+
authorId Int? @map("author_id")
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
3. **Add relation names** for clarity:
|
|
157
|
+
```prisma
|
|
158
|
+
author User? @relation("PostAuthor", fields: [authorId], references: [id])
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
4. **Add documentation**:
|
|
162
|
+
```prisma
|
|
163
|
+
/// User account information
|
|
164
|
+
model User {
|
|
165
|
+
/// Primary email for authentication
|
|
166
|
+
email String @unique
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## MongoDB Introspection
|
|
171
|
+
|
|
172
|
+
For MongoDB, `db pull` samples documents to infer schema:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
prisma db pull
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
May require manual refinement since MongoDB is schemaless.
|
|
179
|
+
|
|
180
|
+
## Warning
|
|
181
|
+
|
|
182
|
+
`db pull` overwrites your schema file. Always:
|
|
183
|
+
- Commit current schema before pulling
|
|
184
|
+
- Use `--print` to preview first
|
|
185
|
+
- Backup customizations you want to keep
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# prisma db push
|
|
2
|
+
|
|
3
|
+
Pushes schema changes directly to database without creating migrations. Ideal for prototyping.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma db push [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Syncs your Prisma schema to the database
|
|
14
|
+
- Creates database if it doesn't exist
|
|
15
|
+
- Does NOT create migration files
|
|
16
|
+
- Does NOT track migration history
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description |
|
|
21
|
+
|--------|-------------|
|
|
22
|
+
| `--force-reset` | Force a reset of the database before push |
|
|
23
|
+
| `--accept-data-loss` | Ignore data loss warnings |
|
|
24
|
+
| `--schema` | Custom path to your Prisma schema |
|
|
25
|
+
| `--config` | Custom path to your Prisma config file |
|
|
26
|
+
| `--url` | Override the datasource URL from the Prisma config file |
|
|
27
|
+
|
|
28
|
+
### Follow-up Command
|
|
29
|
+
|
|
30
|
+
- Run `prisma generate` explicitly when you need refreshed client output
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
|
|
34
|
+
### Basic push
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
prisma db push
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Accept data loss
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
prisma db push --accept-data-loss
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Required when changes would delete data (dropping columns, etc.)
|
|
47
|
+
|
|
48
|
+
### Force reset
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
prisma db push --force-reset
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Completely resets database and applies schema.
|
|
55
|
+
|
|
56
|
+
### Full workflow
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
prisma db push
|
|
60
|
+
prisma generate
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## When to Use
|
|
64
|
+
|
|
65
|
+
- **Prototyping** - Rapid schema iteration
|
|
66
|
+
- **Local development** - Quick schema changes
|
|
67
|
+
- **MongoDB** - Primary workflow (migrations not supported)
|
|
68
|
+
- **Testing** - Setting up test databases
|
|
69
|
+
|
|
70
|
+
## When NOT to Use
|
|
71
|
+
|
|
72
|
+
- **Production** - Use `migrate deploy`
|
|
73
|
+
- **Team collaboration** - Use migrations for trackable changes
|
|
74
|
+
- **When you need rollback** - Migrations provide history
|
|
75
|
+
|
|
76
|
+
## Comparison with migrate dev
|
|
77
|
+
|
|
78
|
+
| Feature | db push | migrate dev |
|
|
79
|
+
|---------|---------|-------------|
|
|
80
|
+
| Creates migration files | No | Yes |
|
|
81
|
+
| Tracks history | No | Yes |
|
|
82
|
+
| Requires shadow database | No | Yes |
|
|
83
|
+
| Speed | Faster | Slower |
|
|
84
|
+
| Rollback capability | No | Yes |
|
|
85
|
+
| Best for | Prototyping | Development |
|
|
86
|
+
|
|
87
|
+
## MongoDB Workflow
|
|
88
|
+
|
|
89
|
+
MongoDB doesn't support migrations. Use `db push` exclusively:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Schema changes for MongoDB
|
|
93
|
+
prisma db push
|
|
94
|
+
prisma generate
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Common Patterns
|
|
98
|
+
|
|
99
|
+
### Prototyping workflow
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Make schema changes
|
|
103
|
+
# ...
|
|
104
|
+
|
|
105
|
+
# Push to database
|
|
106
|
+
prisma db push
|
|
107
|
+
|
|
108
|
+
# Generate client
|
|
109
|
+
prisma generate
|
|
110
|
+
|
|
111
|
+
# Test your changes
|
|
112
|
+
# Repeat as needed
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Reset and start fresh
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
prisma db push --force-reset
|
|
119
|
+
prisma db seed
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Handling conflicts
|
|
123
|
+
|
|
124
|
+
If `db push` can't apply changes safely:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
Error: The following changes cannot be applied:
|
|
128
|
+
- Removing field `email` would cause data loss
|
|
129
|
+
|
|
130
|
+
Use --accept-data-loss to proceed
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Decide whether data loss is acceptable, then:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
prisma db push --accept-data-loss
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Transition to Migrations
|
|
140
|
+
|
|
141
|
+
When ready for production, switch to migrations:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Create baseline migration from current schema
|
|
145
|
+
prisma migrate dev --name init
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Then use `migrate dev` for future changes.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# prisma db seed
|
|
2
|
+
|
|
3
|
+
Runs your database seed script to populate data.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma db seed [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Executes your configured seed script
|
|
14
|
+
- Populates database with initial/test data
|
|
15
|
+
- Runs independently (not auto-run by migrations in v7)
|
|
16
|
+
|
|
17
|
+
## Options
|
|
18
|
+
|
|
19
|
+
| Option | Description |
|
|
20
|
+
|--------|-------------|
|
|
21
|
+
| `--config` | Custom path to your Prisma config file |
|
|
22
|
+
| `--` | Pass custom arguments to seed script |
|
|
23
|
+
|
|
24
|
+
## Configuration
|
|
25
|
+
|
|
26
|
+
Configure seed script in `prisma.config.ts`:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import 'dotenv/config'
|
|
30
|
+
import { defineConfig, env } from 'prisma/config'
|
|
31
|
+
|
|
32
|
+
export default defineConfig({
|
|
33
|
+
schema: 'prisma/schema.prisma',
|
|
34
|
+
migrations: {
|
|
35
|
+
path: 'prisma/migrations',
|
|
36
|
+
seed: 'tsx prisma/seed.ts', // Your seed command
|
|
37
|
+
},
|
|
38
|
+
datasource: {
|
|
39
|
+
url: env('DATABASE_URL'),
|
|
40
|
+
},
|
|
41
|
+
})
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Common seed commands
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// TypeScript with tsx
|
|
48
|
+
seed: 'tsx prisma/seed.ts'
|
|
49
|
+
|
|
50
|
+
// TypeScript with ts-node
|
|
51
|
+
seed: 'ts-node prisma/seed.ts'
|
|
52
|
+
|
|
53
|
+
// JavaScript
|
|
54
|
+
seed: 'node prisma/seed.js'
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Seed Script Example
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
// prisma/seed.ts
|
|
61
|
+
import { PrismaClient } from '../generated/client'
|
|
62
|
+
|
|
63
|
+
const prisma = new PrismaClient()
|
|
64
|
+
|
|
65
|
+
async function main() {
|
|
66
|
+
// Create users
|
|
67
|
+
const alice = await prisma.user.upsert({
|
|
68
|
+
where: { email: 'alice@prisma.io' },
|
|
69
|
+
update: {},
|
|
70
|
+
create: {
|
|
71
|
+
email: 'alice@prisma.io',
|
|
72
|
+
name: 'Alice',
|
|
73
|
+
posts: {
|
|
74
|
+
create: {
|
|
75
|
+
title: 'Hello World',
|
|
76
|
+
published: true,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
const bob = await prisma.user.upsert({
|
|
83
|
+
where: { email: 'bob@prisma.io' },
|
|
84
|
+
update: {},
|
|
85
|
+
create: {
|
|
86
|
+
email: 'bob@prisma.io',
|
|
87
|
+
name: 'Bob',
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
console.log({ alice, bob })
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
main()
|
|
95
|
+
.then(async () => {
|
|
96
|
+
await prisma.$disconnect()
|
|
97
|
+
})
|
|
98
|
+
.catch(async (e) => {
|
|
99
|
+
console.error(e)
|
|
100
|
+
await prisma.$disconnect()
|
|
101
|
+
process.exit(1)
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Examples
|
|
106
|
+
|
|
107
|
+
### Run seed
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
prisma db seed
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### With custom arguments
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
prisma db seed -- --environment development
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Arguments after `--` are passed to your seed script.
|
|
120
|
+
|
|
121
|
+
## Current Workflow
|
|
122
|
+
|
|
123
|
+
Run seeding explicitly after migrations when you need seed data:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
prisma migrate dev --name init
|
|
127
|
+
prisma generate
|
|
128
|
+
prisma db seed # Must run explicitly
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Idempotent Seeding
|
|
132
|
+
|
|
133
|
+
Use `upsert` to make seeds re-runnable:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
// Good: Can run multiple times
|
|
137
|
+
await prisma.user.upsert({
|
|
138
|
+
where: { email: 'alice@prisma.io' },
|
|
139
|
+
update: {}, // Don't change existing
|
|
140
|
+
create: { email: 'alice@prisma.io', name: 'Alice' },
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
// Bad: Fails on second run
|
|
144
|
+
await prisma.user.create({
|
|
145
|
+
data: { email: 'alice@prisma.io', name: 'Alice' },
|
|
146
|
+
})
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Common Patterns
|
|
150
|
+
|
|
151
|
+
### Development reset
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
prisma migrate reset --force
|
|
155
|
+
prisma db seed
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Conditional seeding
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
// prisma/seed.ts
|
|
162
|
+
const count = await prisma.user.count()
|
|
163
|
+
if (count === 0) {
|
|
164
|
+
// Only seed if empty
|
|
165
|
+
await seedUsers()
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Environment-specific seeds
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
// prisma/seed.ts
|
|
173
|
+
const env = process.env.NODE_ENV || 'development'
|
|
174
|
+
|
|
175
|
+
if (env === 'development') {
|
|
176
|
+
await seedDevData()
|
|
177
|
+
} else if (env === 'test') {
|
|
178
|
+
await seedTestData()
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Best Practices
|
|
183
|
+
|
|
184
|
+
1. Use `upsert` for idempotent seeds
|
|
185
|
+
2. Keep seeds focused and minimal
|
|
186
|
+
3. Use realistic but fake data
|
|
187
|
+
4. Document required seed data
|
|
188
|
+
5. Version control your seed scripts
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# prisma debug
|
|
2
|
+
|
|
3
|
+
Prints information helpful for debugging and bug reports.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma debug [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Outputs details about your Prisma environment, including:
|
|
14
|
+
- Prisma CLI version
|
|
15
|
+
- Prisma Client version (if installed)
|
|
16
|
+
- Engine binaries (Query Engine, Migration Engine, etc.)
|
|
17
|
+
- Platform information (OS, Architecture)
|
|
18
|
+
- Node.js version
|
|
19
|
+
- Configured datasource provider
|
|
20
|
+
|
|
21
|
+
## Options
|
|
22
|
+
|
|
23
|
+
| Option | Description |
|
|
24
|
+
|--------|-------------|
|
|
25
|
+
| `--schema` | Path to schema file |
|
|
26
|
+
| `--config` | Custom path to your Prisma config file |
|
|
27
|
+
|
|
28
|
+
## Example Output
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
prisma : 7.3.0
|
|
32
|
+
@prisma/client : 7.3.0
|
|
33
|
+
Operating System : darwin
|
|
34
|
+
Architecture : arm64
|
|
35
|
+
Node.js : v20.10.0
|
|
36
|
+
TypeScript : 5.3.3
|
|
37
|
+
Query Compiler : enabled
|
|
38
|
+
PSL : ...
|
|
39
|
+
Schema Engine : ...
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## When to Use
|
|
43
|
+
|
|
44
|
+
- **Troubleshooting**: Checking version mismatches
|
|
45
|
+
- **Reporting Issues**: Including environment info in GitHub issues
|
|
46
|
+
- **Verifying Installation**: Ensuring correct binaries are downloaded
|