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,157 @@
|
|
|
1
|
+
# prisma dev
|
|
2
|
+
|
|
3
|
+
Starts a local Prisma Postgres database for development. Provides a PostgreSQL-compatible database that runs entirely on your machine.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma dev [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Starts a local PostgreSQL-compatible database
|
|
14
|
+
- Runs in your terminal or as a background process
|
|
15
|
+
- Perfect for development and testing
|
|
16
|
+
- Easy migration to Prisma Postgres cloud in production
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description | Default |
|
|
21
|
+
|--------|-------------|---------|
|
|
22
|
+
| `--name` / `-n` | Name for the database instance | `default` |
|
|
23
|
+
| `--port` / `-p` | HTTP server port | `51213` |
|
|
24
|
+
| `--db-port` / `-P` | Database server port | `51214` |
|
|
25
|
+
| `--shadow-db-port` | Shadow database port (for migrations) | `51215` |
|
|
26
|
+
| `--detach` / `-d` | Run in background | `false` |
|
|
27
|
+
| `--debug` | Enable debug logging | `false` |
|
|
28
|
+
|
|
29
|
+
## Examples
|
|
30
|
+
|
|
31
|
+
### Start local database
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
prisma dev
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Interactive mode with keyboard shortcuts:
|
|
38
|
+
- `q` - Quit
|
|
39
|
+
- `h` - Show HTTP URL
|
|
40
|
+
- `t` - Show TCP URLs
|
|
41
|
+
|
|
42
|
+
### Named instance
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
prisma dev --name myproject
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Useful for multiple projects.
|
|
49
|
+
|
|
50
|
+
### Background mode
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
prisma dev --detach
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Frees your terminal for other commands.
|
|
57
|
+
|
|
58
|
+
### Custom ports
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
prisma dev --port 5000 --db-port 5432
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Instance Management
|
|
65
|
+
|
|
66
|
+
### List all instances
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
prisma dev ls
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Shows all local Prisma Postgres instances with status.
|
|
73
|
+
|
|
74
|
+
### Start existing instance
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
prisma dev start myproject
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Starts a previously created instance in background.
|
|
81
|
+
|
|
82
|
+
### Stop instance
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
prisma dev stop myproject
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Stop with glob pattern
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
prisma dev stop "myproject*"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Stops all instances matching pattern.
|
|
95
|
+
|
|
96
|
+
### Remove instance
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
prisma dev rm myproject
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Removes instance data from filesystem.
|
|
103
|
+
|
|
104
|
+
### Force remove (stops first)
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
prisma dev rm myproject --force
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Configuration
|
|
111
|
+
|
|
112
|
+
Configure your `prisma.config.ts` to use local Prisma Postgres:
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
import 'dotenv/config'
|
|
116
|
+
import { defineConfig, env } from 'prisma/config'
|
|
117
|
+
|
|
118
|
+
export default defineConfig({
|
|
119
|
+
schema: 'prisma/schema.prisma',
|
|
120
|
+
migrations: {
|
|
121
|
+
path: 'prisma/migrations',
|
|
122
|
+
},
|
|
123
|
+
datasource: {
|
|
124
|
+
// Local Prisma Postgres URL (from prisma dev output)
|
|
125
|
+
url: env('DATABASE_URL'),
|
|
126
|
+
},
|
|
127
|
+
})
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Workflow
|
|
131
|
+
|
|
132
|
+
1. Start local database:
|
|
133
|
+
```bash
|
|
134
|
+
prisma dev
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
2. In another terminal, run migrations:
|
|
138
|
+
```bash
|
|
139
|
+
prisma migrate dev
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
3. Generate client:
|
|
143
|
+
```bash
|
|
144
|
+
prisma generate
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
4. Run your application
|
|
148
|
+
|
|
149
|
+
## Production Migration
|
|
150
|
+
|
|
151
|
+
When ready for production, switch to Prisma Postgres cloud:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
prisma init --db
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Update your `DATABASE_URL` to the cloud connection string.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# prisma format
|
|
2
|
+
|
|
3
|
+
Formats your Prisma schema file.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma format [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Fixes formatting (indentation, spacing)
|
|
14
|
+
- Adds missing back-relations (e.g., adds the other side of a relation)
|
|
15
|
+
- Adds missing relation arguments (e.g., `fields`, `references`)
|
|
16
|
+
- Sorts fields and attributes (opinionated)
|
|
17
|
+
|
|
18
|
+
## Options
|
|
19
|
+
|
|
20
|
+
| Option | Description |
|
|
21
|
+
|--------|-------------|
|
|
22
|
+
| `--schema` | Path to schema file |
|
|
23
|
+
| `--config` | Custom path to your Prisma config file |
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
### Format default schema
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
prisma format
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Format specific schema
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
prisma format --schema=./custom/schema.prisma
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Behavior
|
|
40
|
+
|
|
41
|
+
`prisma format` modifies the file in place. It is equivalent to "Prettier for Prisma schemas" but also has semantic understanding to fix/add missing schema definitions.
|
|
42
|
+
|
|
43
|
+
## Use in Editor
|
|
44
|
+
|
|
45
|
+
Most Prisma editor extensions (VS Code, WebStorm) run `prisma format` automatically on save. This command is useful for:
|
|
46
|
+
- CI pipelines (check formatting)
|
|
47
|
+
- CLI-based workflows
|
|
48
|
+
- Fixing large schema refactors
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# prisma generate
|
|
2
|
+
|
|
3
|
+
Generates assets based on the generator blocks in your Prisma schema, most commonly Prisma Client.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma generate [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Bun Runtime
|
|
12
|
+
|
|
13
|
+
If you're using Bun, run Prisma with `bunx --bun` so it doesn't fall back to Node.js:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bunx --bun prisma generate
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## What It Does
|
|
20
|
+
|
|
21
|
+
1. Reads your `schema.prisma` file
|
|
22
|
+
2. Generates a customized Prisma Client based on your models
|
|
23
|
+
3. Outputs to the directory specified in the generator block
|
|
24
|
+
|
|
25
|
+
## Options
|
|
26
|
+
|
|
27
|
+
| Option | Description |
|
|
28
|
+
|--------|-------------|
|
|
29
|
+
| `--schema` | Custom path to your Prisma schema |
|
|
30
|
+
| `--config` | Custom path to your Prisma config file |
|
|
31
|
+
| `--sql` | Generate typed sql module |
|
|
32
|
+
| `--watch` | Watch the Prisma schema and rerun after a change |
|
|
33
|
+
| `--generator` | Generator to use (may be provided multiple times) |
|
|
34
|
+
| `--no-hints` | Hides the hint messages but still outputs errors and warnings |
|
|
35
|
+
| `--require-models` | Do not allow generating a client without models |
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
### Basic generation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
prisma generate
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Watch mode (development)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
prisma generate --watch
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Auto-regenerates when `schema.prisma` changes.
|
|
52
|
+
|
|
53
|
+
### Specific generator
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
prisma generate --generator client
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Multiple generators
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
prisma generate --generator client --generator zod_schemas
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Typed SQL generation
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
prisma generate --sql
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Schema Configuration
|
|
72
|
+
|
|
73
|
+
```prisma
|
|
74
|
+
generator client {
|
|
75
|
+
provider = "prisma-client"
|
|
76
|
+
output = "../generated"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Current Generator Behavior
|
|
81
|
+
|
|
82
|
+
- `prisma-client` is the standard generator
|
|
83
|
+
- `output` is required when using `prisma-client`
|
|
84
|
+
- `prisma-client` supports both ESM and CommonJS via `moduleFormat`
|
|
85
|
+
- `compilerBuild` supports `fast` and `small` query compiler artifacts
|
|
86
|
+
- Use TypeScript `satisfies` for typed query fragments with `prisma-client`
|
|
87
|
+
- Import Prisma Client from your generated output path, for example:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { PrismaClient } from '../generated/prisma/client'
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Compiler Build Tuning
|
|
94
|
+
|
|
95
|
+
Use `compilerBuild` when you need to trade artifact size against the default build:
|
|
96
|
+
|
|
97
|
+
```prisma
|
|
98
|
+
generator client {
|
|
99
|
+
provider = "prisma-client"
|
|
100
|
+
output = "../generated"
|
|
101
|
+
compilerBuild = "small"
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
- `fast` is the default build for most targets
|
|
106
|
+
- `small` is useful for size-constrained targets
|
|
107
|
+
- Prisma defaults `vercel-edge` targets to `small`
|
|
108
|
+
|
|
109
|
+
## Common Patterns
|
|
110
|
+
|
|
111
|
+
### After schema changes
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
prisma migrate dev --name my_migration
|
|
115
|
+
prisma generate
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Run `prisma generate` whenever you need refreshed client code after schema-changing commands.
|
|
119
|
+
|
|
120
|
+
### CI/CD pipeline
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
prisma generate
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Run before building your application.
|
|
127
|
+
|
|
128
|
+
### Multiple generators
|
|
129
|
+
|
|
130
|
+
```prisma
|
|
131
|
+
generator client {
|
|
132
|
+
provider = "prisma-client"
|
|
133
|
+
output = "../generated"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
generator zod {
|
|
137
|
+
provider = "zod-prisma-types"
|
|
138
|
+
output = "../generated/zod"
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
prisma generate # Runs all generators
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Output Structure
|
|
147
|
+
|
|
148
|
+
After running `prisma generate`, your output directory contains:
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
generated/
|
|
152
|
+
├── browser.ts
|
|
153
|
+
├── client.ts
|
|
154
|
+
├── commonInputTypes.ts
|
|
155
|
+
├── models/
|
|
156
|
+
├── enums.ts
|
|
157
|
+
├── models.ts
|
|
158
|
+
└── ...
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Import the client:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
import { PrismaClient, Prisma } from '../generated/prisma/client'
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Import browser-safe types:
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
import { Prisma } from '../generated/prisma/browser'
|
|
171
|
+
import { Role } from '../generated/prisma/enums'
|
|
172
|
+
import type { UserModel } from '../generated/prisma/models/User'
|
|
173
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# prisma init
|
|
2
|
+
|
|
3
|
+
Bootstraps a fresh Prisma ORM project in the current directory.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma init [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Bun Runtime
|
|
12
|
+
|
|
13
|
+
If you're using Bun, run Prisma with `bunx --bun` so it doesn't fall back to Node.js:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bunx --bun prisma init
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## What It Creates
|
|
20
|
+
|
|
21
|
+
- `prisma/schema.prisma` - Your Prisma schema file
|
|
22
|
+
- `prisma.config.ts` - TypeScript configuration for Prisma CLI
|
|
23
|
+
- `.env` - Environment variables (DATABASE_URL)
|
|
24
|
+
- `.gitignore` - Ensures `.env` is ignored and appends the generated client path
|
|
25
|
+
|
|
26
|
+
## Options
|
|
27
|
+
|
|
28
|
+
| Option | Description | Default |
|
|
29
|
+
|--------|-------------|---------|
|
|
30
|
+
| `--datasource-provider` | Database provider: `postgresql`, `mysql`, `sqlite`, `sqlserver`, `mongodb`, `cockroachdb` | `postgresql` |
|
|
31
|
+
| `--db` | Provisions a fully managed Prisma Postgres database on the Prisma Data Platform | - |
|
|
32
|
+
| `--url` | Define a custom datasource url | - |
|
|
33
|
+
| `--generator-provider` | Define the generator provider to use | `prisma-client` |
|
|
34
|
+
| `--output` | Define Prisma Client generator output path to use | - |
|
|
35
|
+
| `--preview-feature` | Define a preview feature to use | - |
|
|
36
|
+
| `--with-model` | Add example model to created schema file | - |
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
### Basic initialization
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
prisma init
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Creates a PostgreSQL project setup.
|
|
47
|
+
|
|
48
|
+
### SQLite project
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
prisma init --datasource-provider sqlite
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### MySQL with custom URL
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
prisma init --datasource-provider mysql --url "mysql://user:password@localhost:3306/mydb"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Prisma Postgres (cloud)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
prisma init --db
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Opens browser for authentication, creates cloud database instance.
|
|
67
|
+
|
|
68
|
+
### Add an example model
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
prisma init --with-model
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Adds a starter model to the generated schema.
|
|
75
|
+
|
|
76
|
+
### With preview features
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
prisma init --preview-feature relationJoins --preview-feature fullTextSearch
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Generated Schema
|
|
83
|
+
|
|
84
|
+
```prisma
|
|
85
|
+
generator client {
|
|
86
|
+
provider = "prisma-client"
|
|
87
|
+
output = "../generated/prisma"
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
datasource db {
|
|
91
|
+
provider = "postgresql"
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Generated Config (Node.js default)
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
// prisma.config.ts
|
|
99
|
+
import "dotenv/config";
|
|
100
|
+
import { defineConfig } from 'prisma/config'
|
|
101
|
+
|
|
102
|
+
export default defineConfig({
|
|
103
|
+
schema: 'prisma/schema.prisma',
|
|
104
|
+
migrations: {
|
|
105
|
+
path: 'prisma/migrations',
|
|
106
|
+
},
|
|
107
|
+
datasource: {
|
|
108
|
+
url: process.env['DATABASE_URL'],
|
|
109
|
+
},
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Generated Config (Bun)
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
import { defineConfig, env } from 'prisma/config'
|
|
117
|
+
|
|
118
|
+
export default defineConfig({
|
|
119
|
+
schema: 'prisma/schema.prisma',
|
|
120
|
+
migrations: {
|
|
121
|
+
path: 'prisma/migrations',
|
|
122
|
+
},
|
|
123
|
+
datasource: {
|
|
124
|
+
url: env('DATABASE_URL'),
|
|
125
|
+
},
|
|
126
|
+
})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Next Steps After Init
|
|
130
|
+
|
|
131
|
+
1. Configure `DATABASE_URL` in `.env` (and let `prisma.config.ts` read it)
|
|
132
|
+
2. Define your models in `prisma/schema.prisma`
|
|
133
|
+
3. Run `prisma dev` for local development or connect to remote DB
|
|
134
|
+
4. Run `prisma migrate dev` to create migrations
|
|
135
|
+
5. Run `prisma generate` to generate Prisma Client
|
|
136
|
+
6. Run `prisma db seed` explicitly if you want seed data
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# prisma mcp
|
|
2
|
+
|
|
3
|
+
Starts Prisma's MCP server for AI development tools.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma mcp
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Starts a Model Context Protocol (MCP) server for your Prisma project
|
|
14
|
+
- Exposes Prisma schema and database context to compatible AI tools
|
|
15
|
+
- Helps AI assistants understand models, generate queries, and suggest migrations
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
prisma mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Typical Use Cases
|
|
24
|
+
|
|
25
|
+
- Connect Prisma to ChatGPT, Claude, or other MCP-aware tools
|
|
26
|
+
- Give an AI assistant access to your Prisma schema structure
|
|
27
|
+
- Help an agent propose queries, schema updates, and migration steps with project context
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- Run this from the project that contains your Prisma schema and `prisma.config.ts`
|
|
32
|
+
- The command is separate from Prisma Studio and does not open a browser UI
|
|
33
|
+
- The MCP server wraps Prisma CLI commands. For exact behavior of commands like `migrate dev` or `migrate reset`, follow the underlying CLI command docs rather than relying only on the MCP tool descriptions.
|
|
34
|
+
|
|
35
|
+
## References
|
|
36
|
+
|
|
37
|
+
- [Prisma CLI `mcp` command](https://docs.prisma.io/docs/cli/mcp)
|
|
38
|
+
- [Prisma MCP Server](https://www.prisma.io/docs/ai/tools/chatgpt)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# prisma migrate deploy
|
|
2
|
+
|
|
3
|
+
Applies pending migrations in production/staging environments.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
prisma migrate deploy
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
- Applies all pending migrations from `prisma/migrations/`
|
|
14
|
+
- Updates `_prisma_migrations` table
|
|
15
|
+
- Does NOT generate new migrations
|
|
16
|
+
- Does NOT run seed scripts
|
|
17
|
+
- Safe for CI/CD and production
|
|
18
|
+
|
|
19
|
+
## Options
|
|
20
|
+
|
|
21
|
+
| Option | Description |
|
|
22
|
+
|--------|-------------|
|
|
23
|
+
| `--schema` | Custom path to your Prisma schema |
|
|
24
|
+
| `--config` | Custom path to your Prisma config file |
|
|
25
|
+
|
|
26
|
+
## When to Use
|
|
27
|
+
|
|
28
|
+
- Production deployments
|
|
29
|
+
- Staging environments
|
|
30
|
+
- CI/CD pipelines
|
|
31
|
+
- Any non-development environment
|
|
32
|
+
|
|
33
|
+
## Examples
|
|
34
|
+
|
|
35
|
+
### Basic deployment
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
prisma migrate deploy
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### In CI/CD pipeline
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
# GitHub Actions example
|
|
45
|
+
- name: Apply migrations
|
|
46
|
+
run: npx prisma migrate deploy
|
|
47
|
+
env:
|
|
48
|
+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Docker deployment
|
|
52
|
+
|
|
53
|
+
```dockerfile
|
|
54
|
+
# Run migrations before starting app
|
|
55
|
+
CMD npx prisma migrate deploy && node dist/index.js
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Comparison with migrate dev
|
|
59
|
+
|
|
60
|
+
| Feature | migrate dev | migrate deploy |
|
|
61
|
+
|---------|-------------|----------------|
|
|
62
|
+
| Creates migrations | Yes | No |
|
|
63
|
+
| Applies migrations | Yes | Yes |
|
|
64
|
+
| Detects drift | Yes | No |
|
|
65
|
+
| Prompts for input | Yes | No |
|
|
66
|
+
| Uses shadow database | Yes | No |
|
|
67
|
+
| Safe for production | No | Yes |
|
|
68
|
+
| Resets on issues | Prompts | Fails |
|
|
69
|
+
|
|
70
|
+
## Production Workflow
|
|
71
|
+
|
|
72
|
+
1. **Development**: Create migrations locally
|
|
73
|
+
```bash
|
|
74
|
+
prisma migrate dev --name add_feature
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
2. **Commit**: Include migration files in version control
|
|
78
|
+
```bash
|
|
79
|
+
git add prisma/migrations
|
|
80
|
+
git commit -m "Add feature migration"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
3. **Deploy**: Apply in production
|
|
84
|
+
```bash
|
|
85
|
+
prisma migrate deploy
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Error Handling
|
|
89
|
+
|
|
90
|
+
### Failed migration
|
|
91
|
+
|
|
92
|
+
If a migration fails, `migrate deploy` exits with error. The failed migration is marked as failed in `_prisma_migrations`.
|
|
93
|
+
|
|
94
|
+
To fix:
|
|
95
|
+
1. Resolve the issue (fix SQL, database state, etc.)
|
|
96
|
+
2. Mark as resolved: `prisma migrate resolve --applied <migration_name>`
|
|
97
|
+
3. Re-run: `prisma migrate deploy`
|
|
98
|
+
|
|
99
|
+
### Check status first
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
prisma migrate status
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Shows pending and applied migrations before deploying.
|
|
106
|
+
|
|
107
|
+
## Configuration
|
|
108
|
+
|
|
109
|
+
Ensure `prisma.config.ts` has the production database URL:
|
|
110
|
+
|
|
111
|
+
```typescript
|
|
112
|
+
import 'dotenv/config'
|
|
113
|
+
import { defineConfig, env } from 'prisma/config'
|
|
114
|
+
|
|
115
|
+
export default defineConfig({
|
|
116
|
+
datasource: {
|
|
117
|
+
url: env('DATABASE_URL'),
|
|
118
|
+
},
|
|
119
|
+
})
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Best Practices
|
|
123
|
+
|
|
124
|
+
1. Always run `migrate status` before `migrate deploy` in CI
|
|
125
|
+
2. Have a rollback plan (backup before migrations)
|
|
126
|
+
3. Test migrations in staging first
|
|
127
|
+
4. Never use `migrate dev` in production
|