zilmate 1.7.8 → 1.8.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/.agents/skills/agent-browser/SKILL.md +55 -0
- package/.agents/skills/agentmail/SKILL.md +282 -0
- package/.agents/skills/agentmail/references/webhooks.md +220 -0
- package/.agents/skills/agentmail/references/websockets.md +263 -0
- package/.agents/skills/ai-elements/SKILL.md +160 -0
- package/.agents/skills/ai-elements/references/agent.md +134 -0
- package/.agents/skills/ai-elements/references/artifact.md +84 -0
- package/.agents/skills/ai-elements/references/attachments.md +190 -0
- package/.agents/skills/ai-elements/references/audio-player.md +134 -0
- package/.agents/skills/ai-elements/references/canvas.md +34 -0
- package/.agents/skills/ai-elements/references/chain-of-thought.md +81 -0
- package/.agents/skills/ai-elements/references/checkpoint.md +183 -0
- package/.agents/skills/ai-elements/references/code-block.md +170 -0
- package/.agents/skills/ai-elements/references/commit.md +177 -0
- package/.agents/skills/ai-elements/references/confirmation.md +262 -0
- package/.agents/skills/ai-elements/references/connection.md +34 -0
- package/.agents/skills/ai-elements/references/context.md +126 -0
- package/.agents/skills/ai-elements/references/controls.md +32 -0
- package/.agents/skills/ai-elements/references/conversation.md +224 -0
- package/.agents/skills/ai-elements/references/edge.md +52 -0
- package/.agents/skills/ai-elements/references/environment-variables.md +102 -0
- package/.agents/skills/ai-elements/references/file-tree.md +72 -0
- package/.agents/skills/ai-elements/references/image.md +146 -0
- package/.agents/skills/ai-elements/references/inline-citation.md +299 -0
- package/.agents/skills/ai-elements/references/jsx-preview.md +104 -0
- package/.agents/skills/ai-elements/references/message.md +237 -0
- package/.agents/skills/ai-elements/references/mic-selector.md +189 -0
- package/.agents/skills/ai-elements/references/model-selector.md +112 -0
- package/.agents/skills/ai-elements/references/node.md +73 -0
- package/.agents/skills/ai-elements/references/open-in-chat.md +67 -0
- package/.agents/skills/ai-elements/references/package-info.md +95 -0
- package/.agents/skills/ai-elements/references/panel.md +33 -0
- package/.agents/skills/ai-elements/references/persona.md +166 -0
- package/.agents/skills/ai-elements/references/plan.md +79 -0
- package/.agents/skills/ai-elements/references/prompt-input.md +579 -0
- package/.agents/skills/ai-elements/references/queue.md +172 -0
- package/.agents/skills/ai-elements/references/reasoning.md +238 -0
- package/.agents/skills/ai-elements/references/sandbox.md +129 -0
- package/.agents/skills/ai-elements/references/schema-display.md +102 -0
- package/.agents/skills/ai-elements/references/shimmer.md +48 -0
- package/.agents/skills/ai-elements/references/snippet.md +64 -0
- package/.agents/skills/ai-elements/references/sources.md +209 -0
- package/.agents/skills/ai-elements/references/speech-input.md +163 -0
- package/.agents/skills/ai-elements/references/stack-trace.md +224 -0
- package/.agents/skills/ai-elements/references/suggestion.md +124 -0
- package/.agents/skills/ai-elements/references/task.md +222 -0
- package/.agents/skills/ai-elements/references/terminal.md +103 -0
- package/.agents/skills/ai-elements/references/test-results.md +157 -0
- package/.agents/skills/ai-elements/references/tool.md +285 -0
- package/.agents/skills/ai-elements/references/toolbar.md +32 -0
- package/.agents/skills/ai-elements/references/transcription.md +120 -0
- package/.agents/skills/ai-elements/references/voice-selector.md +241 -0
- package/.agents/skills/ai-elements/references/web-preview.md +200 -0
- package/.agents/skills/ai-elements/scripts/agent.tsx +61 -0
- package/.agents/skills/ai-elements/scripts/artifact.tsx +127 -0
- package/.agents/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
- package/.agents/skills/ai-elements/scripts/attachments-list.tsx +95 -0
- package/.agents/skills/ai-elements/scripts/attachments.tsx +85 -0
- package/.agents/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
- package/.agents/skills/ai-elements/scripts/audio-player.tsx +68 -0
- package/.agents/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/checkpoint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
- package/.agents/skills/ai-elements/scripts/code-block.tsx +120 -0
- package/.agents/skills/ai-elements/scripts/commit.tsx +94 -0
- package/.agents/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
- package/.agents/skills/ai-elements/scripts/confirmation.tsx +55 -0
- package/.agents/skills/ai-elements/scripts/context.tsx +45 -0
- package/.agents/skills/ai-elements/scripts/conversation.tsx +177 -0
- package/.agents/skills/ai-elements/scripts/environment-variables.tsx +62 -0
- package/.agents/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
- package/.agents/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
- package/.agents/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
- package/.agents/skills/ai-elements/scripts/file-tree.tsx +42 -0
- package/.agents/skills/ai-elements/scripts/image.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/inline-citation.tsx +97 -0
- package/.agents/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
- package/.agents/skills/ai-elements/scripts/message.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/mic-selector.tsx +49 -0
- package/.agents/skills/ai-elements/scripts/model-selector.tsx +365 -0
- package/.agents/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
- package/.agents/skills/ai-elements/scripts/package-info.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/persona-command.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-glint.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-halo.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-mana.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/persona-opal.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/plan.tsx +65 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
- package/.agents/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/prompt-input.tsx +267 -0
- package/.agents/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
- package/.agents/skills/ai-elements/scripts/queue.tsx +295 -0
- package/.agents/skills/ai-elements/scripts/reasoning.tsx +71 -0
- package/.agents/skills/ai-elements/scripts/sandbox.tsx +178 -0
- package/.agents/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
- package/.agents/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
- package/.agents/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
- package/.agents/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
- package/.agents/skills/ai-elements/scripts/schema-display.tsx +110 -0
- package/.agents/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
- package/.agents/skills/ai-elements/scripts/shimmer.tsx +17 -0
- package/.agents/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/snippet.tsx +25 -0
- package/.agents/skills/ai-elements/scripts/sources-custom.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/sources.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/speech-input.tsx +84 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
- package/.agents/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
- package/.agents/skills/ai-elements/scripts/stack-trace.tsx +58 -0
- package/.agents/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
- package/.agents/skills/ai-elements/scripts/suggestion.tsx +32 -0
- package/.agents/skills/ai-elements/scripts/task.tsx +59 -0
- package/.agents/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
- package/.agents/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
- package/.agents/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
- package/.agents/skills/ai-elements/scripts/terminal.tsx +82 -0
- package/.agents/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
- package/.agents/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
- package/.agents/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
- package/.agents/skills/ai-elements/scripts/test-results.tsx +102 -0
- package/.agents/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
- package/.agents/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
- package/.agents/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
- package/.agents/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
- package/.agents/skills/ai-elements/scripts/tool.tsx +222 -0
- package/.agents/skills/ai-elements/scripts/transcription.tsx +290 -0
- package/.agents/skills/ai-elements/scripts/voice-selector.tsx +245 -0
- package/.agents/skills/ai-elements/scripts/web-preview.tsx +115 -0
- package/.agents/skills/ai-sdk/SKILL.md +78 -0
- package/.agents/skills/ai-sdk/references/ai-gateway.md +66 -0
- package/.agents/skills/ai-sdk/references/common-errors.md +443 -0
- package/.agents/skills/ai-sdk/references/devtools.md +52 -0
- package/.agents/skills/ai-sdk/references/type-safe-agents.md +204 -0
- package/.agents/skills/chat-sdk/SKILL.md +240 -0
- package/.agents/skills/composio/AGENTS.md +404 -0
- package/.agents/skills/composio/SKILL.md +55 -0
- package/.agents/skills/composio/rules/_template.md +38 -0
- package/.agents/skills/composio/rules/app-auth-configs.md +224 -0
- package/.agents/skills/composio/rules/app-auth-popup-ui.md +143 -0
- package/.agents/skills/composio/rules/app-connected-accounts.md +240 -0
- package/.agents/skills/composio/rules/app-custom-tools.md +220 -0
- package/.agents/skills/composio/rules/app-execute-tools.md +202 -0
- package/.agents/skills/composio/rules/app-fetch-tools.md +292 -0
- package/.agents/skills/composio/rules/app-modifiers.md +148 -0
- package/.agents/skills/composio/rules/app-tool-versions.md +343 -0
- package/.agents/skills/composio/rules/app-toolkits.md +184 -0
- package/.agents/skills/composio/rules/app-user-context.md +222 -0
- package/.agents/skills/composio/rules/building-with-composio.md +134 -0
- package/.agents/skills/composio/rules/composio-cli.md +223 -0
- package/.agents/skills/composio/rules/setup-api-keys.md +230 -0
- package/.agents/skills/composio/rules/tr-auth-auto.md +110 -0
- package/.agents/skills/composio/rules/tr-auth-connections.md +167 -0
- package/.agents/skills/composio/rules/tr-auth-manual.md +161 -0
- package/.agents/skills/composio/rules/tr-building-chat-ui.md +348 -0
- package/.agents/skills/composio/rules/tr-framework-ai-sdk.md +240 -0
- package/.agents/skills/composio/rules/tr-framework-integration.md +818 -0
- package/.agents/skills/composio/rules/tr-framework-mastra.md +185 -0
- package/.agents/skills/composio/rules/tr-mcp-vs-native.md +248 -0
- package/.agents/skills/composio/rules/tr-session-basic.md +82 -0
- package/.agents/skills/composio/rules/tr-session-config.md +172 -0
- package/.agents/skills/composio/rules/tr-session-lifecycle.md +385 -0
- package/.agents/skills/composio/rules/tr-toolkit-query.md +135 -0
- package/.agents/skills/composio/rules/tr-userid-best-practices.md +476 -0
- package/.agents/skills/composio/rules/triggers-create.md +246 -0
- package/.agents/skills/composio/rules/triggers-manage.md +275 -0
- package/.agents/skills/composio/rules/triggers-subscribe.md +173 -0
- package/.agents/skills/composio/rules/triggers-webhook.md +227 -0
- package/.agents/skills/create-auth-skill/SKILL.md +321 -0
- package/.agents/skills/design-md/README.md +34 -0
- package/.agents/skills/design-md/SKILL.md +172 -0
- package/.agents/skills/design-md/examples/DESIGN.md +154 -0
- package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
- package/.agents/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +321 -0
- package/.agents/skills/firecrawl/rules/install.md +85 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/frontend-design/LICENSE.txt +177 -0
- package/.agents/skills/frontend-design/SKILL.md +55 -0
- package/.agents/skills/linkup-search/SKILL.md +298 -0
- package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
- package/.agents/skills/mcp-builder/SKILL.md +236 -0
- package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
- package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
- package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agents/skills/mobile-android-design/SKILL.md +101 -0
- package/.agents/skills/mobile-android-design/references/android-navigation.md +698 -0
- package/.agents/skills/mobile-android-design/references/compose-components.md +796 -0
- package/.agents/skills/mobile-android-design/references/details.md +337 -0
- package/.agents/skills/mobile-android-design/references/material3-theming.md +604 -0
- package/.agents/skills/mobile-ios-design/SKILL.md +259 -0
- package/.agents/skills/mobile-ios-design/references/hig-patterns.md +529 -0
- package/.agents/skills/mobile-ios-design/references/ios-navigation.md +556 -0
- package/.agents/skills/mobile-ios-design/references/swiftui-components.md +575 -0
- package/.agents/skills/neon-drizzle/SKILL.md +81 -0
- package/.agents/skills/neon-drizzle/guides/existing-project.md +398 -0
- package/.agents/skills/neon-drizzle/guides/new-project.md +312 -0
- package/.agents/skills/neon-drizzle/guides/schema-only.md +415 -0
- package/.agents/skills/neon-drizzle/guides/troubleshooting.md +539 -0
- package/.agents/skills/neon-drizzle/references/adapters.md +478 -0
- package/.agents/skills/neon-drizzle/references/migrations.md +652 -0
- package/.agents/skills/neon-drizzle/references/query-patterns.md +761 -0
- package/.agents/skills/neon-drizzle/scripts/generate-schema.ts +77 -0
- package/.agents/skills/neon-drizzle/scripts/run-migration.ts +133 -0
- package/.agents/skills/neon-drizzle/templates/db-http.ts +6 -0
- package/.agents/skills/neon-drizzle/templates/db-websocket.ts +24 -0
- package/.agents/skills/neon-drizzle/templates/drizzle-config.ts +96 -0
- package/.agents/skills/neon-drizzle/templates/schema-example.ts +231 -0
- package/.agents/skills/neon-postgres/SKILL.md +376 -0
- package/.agents/skills/next-best-practices/SKILL.md +152 -0
- package/.agents/skills/next-best-practices/async-patterns.md +87 -0
- package/.agents/skills/next-best-practices/bundling.md +180 -0
- package/.agents/skills/next-best-practices/data-patterns.md +297 -0
- package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
- package/.agents/skills/next-best-practices/directives.md +73 -0
- package/.agents/skills/next-best-practices/error-handling.md +227 -0
- package/.agents/skills/next-best-practices/file-conventions.md +140 -0
- package/.agents/skills/next-best-practices/font.md +245 -0
- package/.agents/skills/next-best-practices/functions.md +108 -0
- package/.agents/skills/next-best-practices/hydration-error.md +91 -0
- package/.agents/skills/next-best-practices/image.md +173 -0
- package/.agents/skills/next-best-practices/metadata.md +301 -0
- package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
- package/.agents/skills/next-best-practices/route-handlers.md +146 -0
- package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
- package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
- package/.agents/skills/next-best-practices/scripts.md +141 -0
- package/.agents/skills/next-best-practices/self-hosting.md +371 -0
- package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
- package/.agents/skills/playwright-best-practices/SKILL.md +303 -0
- package/.agents/skills/playwright-cli/SKILL.md +404 -0
- package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
- package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
- package/.agents/skills/playwright-cli/references/running-code.md +241 -0
- package/.agents/skills/playwright-cli/references/session-management.md +225 -0
- package/.agents/skills/playwright-cli/references/spec-driven-testing.md +305 -0
- package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
- package/.agents/skills/playwright-cli/references/test-generation.md +134 -0
- package/.agents/skills/playwright-cli/references/tracing.md +139 -0
- package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
- package/.agents/skills/prisma-client-api/SKILL.md +216 -0
- package/.agents/skills/prisma-client-api/references/client-methods.md +223 -0
- package/.agents/skills/prisma-client-api/references/constructor.md +208 -0
- package/.agents/skills/prisma-client-api/references/filters.md +256 -0
- package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
- package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
- package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
- package/.agents/skills/prisma-client-api/references/relations.md +308 -0
- package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
- package/.agents/skills/prisma-database-setup/SKILL.md +192 -0
- package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
- package/.agents/skills/prisma-database-setup/references/mongodb.md +90 -0
- package/.agents/skills/prisma-database-setup/references/mysql.md +126 -0
- package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
- package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
- package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +130 -0
- package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
- package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
- package/.agents/skills/prisma-postgres/SKILL.md +127 -0
- package/.agents/skills/prisma-postgres/references/console-and-connections.md +67 -0
- package/.agents/skills/prisma-postgres/references/create-db-cli.md +136 -0
- package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
- package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
- package/.agents/skills/remotion-best-practices/SKILL.md +340 -0
- package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
- package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
- package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/.agents/skills/remotion-best-practices/rules/compositions.md +133 -0
- package/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/.agents/skills/remotion-best-practices/rules/ffmpeg.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/.agents/skills/remotion-best-practices/rules/google-fonts.md +72 -0
- package/.agents/skills/remotion-best-practices/rules/html-in-canvas.md +122 -0
- package/.agents/skills/remotion-best-practices/rules/images.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/.agents/skills/remotion-best-practices/rules/local-fonts.md +65 -0
- package/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/maplibre.md +458 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/.agents/skills/remotion-best-practices/rules/sequencing.md +144 -0
- package/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/.agents/skills/remotion-best-practices/rules/silence-detection.md +71 -0
- package/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agents/skills/remotion-best-practices/rules/timing.md +136 -0
- package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
- package/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/.agents/skills/remotion-render/SKILL.md +212 -0
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +430 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/stripe-best-practices/SKILL.md +54 -0
- package/.agents/skills/stripe-best-practices/references/billing.md +58 -0
- package/.agents/skills/stripe-best-practices/references/connect.md +173 -0
- package/.agents/skills/stripe-best-practices/references/payments.md +79 -0
- package/.agents/skills/stripe-best-practices/references/security.md +109 -0
- package/.agents/skills/stripe-best-practices/references/tax.md +37 -0
- package/.agents/skills/stripe-best-practices/references/treasury.md +16 -0
- package/.agents/skills/stripe-projects/SKILL.md +132 -0
- package/.agents/skills/supabase/CHANGELOG.md +35 -0
- package/.agents/skills/supabase/SKILL.md +135 -0
- package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.agents/skills/supabase/references/skill-feedback.md +17 -0
- package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.agents/skills/supermemory/LICENSE +201 -0
- package/.agents/skills/supermemory/README.md +221 -0
- package/.agents/skills/supermemory/SKILL.md +172 -0
- package/.agents/skills/supermemory/references/api-reference.md +591 -0
- package/.agents/skills/supermemory/references/architecture.md +557 -0
- package/.agents/skills/supermemory/references/quickstart.md +293 -0
- package/.agents/skills/supermemory/references/sdk-guide.md +655 -0
- package/.agents/skills/supermemory/references/use-cases.md +1033 -0
- package/.agents/skills/supermemory-cli/SKILL.md +490 -0
- package/.agents/skills/tdd/SKILL.md +108 -0
- package/.agents/skills/tdd/mocking.md +59 -0
- package/.agents/skills/tdd/refactoring.md +10 -0
- package/.agents/skills/tdd/tests.md +61 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +661 -0
- package/.agents/skills/ui-ux-pro-max/data +1 -0
- package/.agents/skills/ui-ux-pro-max/scripts +1 -0
- package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
- package/.agents/skills/vercel-react-native-skills/README.md +165 -0
- package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
- package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
- package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
- package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
- package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
- package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
- package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
- package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
- package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
- package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
- package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
- package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
- package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
- package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
- package/dist/index.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# CockroachDB Setup
|
|
2
|
+
|
|
3
|
+
Configure Prisma with CockroachDB.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- CockroachDB cluster
|
|
8
|
+
|
|
9
|
+
## 1. Schema Configuration
|
|
10
|
+
|
|
11
|
+
In `prisma/schema.prisma`:
|
|
12
|
+
|
|
13
|
+
```prisma
|
|
14
|
+
datasource db {
|
|
15
|
+
provider = "cockroachdb"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
generator client {
|
|
19
|
+
provider = "prisma-client"
|
|
20
|
+
output = "../generated"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 2. Config Configuration
|
|
25
|
+
|
|
26
|
+
In `prisma.config.ts`:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { defineConfig, env } from 'prisma/config'
|
|
30
|
+
|
|
31
|
+
export default defineConfig({
|
|
32
|
+
schema: 'prisma/schema.prisma',
|
|
33
|
+
datasource: {
|
|
34
|
+
url: env('DATABASE_URL'),
|
|
35
|
+
},
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 3. Environment Variable
|
|
40
|
+
|
|
41
|
+
In `.env`:
|
|
42
|
+
|
|
43
|
+
```env
|
|
44
|
+
DATABASE_URL="postgresql://user:password@host:26257/db?sslmode=verify-full"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Note: CockroachDB uses the PostgreSQL wire protocol, so the URL often looks like postgresql, but the provider **MUST** be `cockroachdb` in the schema to handle specific CRDB features correctly.
|
|
48
|
+
|
|
49
|
+
## Driver Adapter
|
|
50
|
+
|
|
51
|
+
Use a driver adapter for the standard SQL workflow. CockroachDB is PostgreSQL-compatible, so use the PostgreSQL adapter.
|
|
52
|
+
|
|
53
|
+
1. Install adapter and driver:
|
|
54
|
+
```bash
|
|
55
|
+
npm install @prisma/adapter-pg pg
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
2. Instantiate Prisma Client with the adapter:
|
|
59
|
+
```typescript
|
|
60
|
+
import 'dotenv/config'
|
|
61
|
+
import { PrismaClient } from '../generated/client'
|
|
62
|
+
import { PrismaPg } from '@prisma/adapter-pg'
|
|
63
|
+
|
|
64
|
+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
65
|
+
const prisma = new PrismaClient({ adapter })
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## ID Generation
|
|
69
|
+
|
|
70
|
+
CockroachDB uses `BigInt` or `UUID` for IDs efficiently.
|
|
71
|
+
|
|
72
|
+
```prisma
|
|
73
|
+
model User {
|
|
74
|
+
id BigInt @id @default(autoincrement()) // Uses unique_rowid()
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Or using string UUIDs:
|
|
79
|
+
|
|
80
|
+
```prisma
|
|
81
|
+
model User {
|
|
82
|
+
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Common Issues
|
|
87
|
+
|
|
88
|
+
### Schema Introspection
|
|
89
|
+
Always use `provider = "cockroachdb"` to ensure correct type mapping during `db pull`.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# MongoDB Setup
|
|
2
|
+
|
|
3
|
+
MongoDB projects should stay on the latest Prisma 6.x release. Do not upgrade a MongoDB app to Prisma 7's SQL client path.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- MongoDB 4.2+
|
|
8
|
+
- Replica Set configured (required for transactions)
|
|
9
|
+
- Latest Prisma 6.x release, or your team's pinned Prisma 6 version
|
|
10
|
+
- Node.js 20.19.0+
|
|
11
|
+
- TypeScript 5.4.0+
|
|
12
|
+
|
|
13
|
+
## 1. Schema Configuration
|
|
14
|
+
|
|
15
|
+
Use the standard Prisma 6 MongoDB setup with `prisma-client-js`.
|
|
16
|
+
|
|
17
|
+
In `prisma/schema.prisma`:
|
|
18
|
+
|
|
19
|
+
```prisma
|
|
20
|
+
datasource db {
|
|
21
|
+
provider = "mongodb"
|
|
22
|
+
url = env("DATABASE_URL")
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
generator client {
|
|
26
|
+
provider = "prisma-client-js"
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Driver Adapters
|
|
31
|
+
|
|
32
|
+
Do **not** apply the Prisma 7 SQL adapter setup here. MongoDB does not use a SQL `@prisma/adapter-*` package.
|
|
33
|
+
|
|
34
|
+
### ID Field Requirement
|
|
35
|
+
|
|
36
|
+
MongoDB models **must** have a mapped `_id` field using `@id` and `@map("_id")`, usually of type `String` with `auto()` and `db.ObjectId`.
|
|
37
|
+
|
|
38
|
+
```prisma
|
|
39
|
+
model User {
|
|
40
|
+
id String @id @default(auto()) @map("_id") @db.ObjectId
|
|
41
|
+
email String @unique
|
|
42
|
+
name String?
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Relations
|
|
47
|
+
|
|
48
|
+
Relations in MongoDB expect IDs to be `db.ObjectId` type.
|
|
49
|
+
|
|
50
|
+
```prisma
|
|
51
|
+
model Post {
|
|
52
|
+
id String @id @default(auto()) @map("_id") @db.ObjectId
|
|
53
|
+
author User @relation(fields: [authorId], references: [id])
|
|
54
|
+
authorId String @db.ObjectId
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 2. Environment Variable
|
|
59
|
+
|
|
60
|
+
In `.env`:
|
|
61
|
+
|
|
62
|
+
```env
|
|
63
|
+
DATABASE_URL="mongodb+srv://user:password@cluster.mongodb.net/mydb?retryWrites=true&w=majority"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Migrations vs Introspection
|
|
67
|
+
|
|
68
|
+
- **No Migrations**: MongoDB is schema-less. `prisma migrate` commands **do not work**.
|
|
69
|
+
- **db push**: Use `prisma db push` to sync indexes and constraints.
|
|
70
|
+
- **db pull**: Use `prisma db pull` to generate schema from existing data (sampling).
|
|
71
|
+
|
|
72
|
+
## Current Verification Notes
|
|
73
|
+
|
|
74
|
+
- `prisma init --datasource-provider mongodb` is still implemented in Prisma's CLI source.
|
|
75
|
+
- Prisma's upstream repo still contains MongoDB fixtures and tests.
|
|
76
|
+
- Local verification shows Prisma 7 can still recognize MongoDB inputs, but the generated client path does not provide a supported MongoDB upgrade path.
|
|
77
|
+
- Local verification shows Prisma 6.x works end to end with `prisma-client-js`, `prisma db push`, and `new PrismaClient()` against a MongoDB replica set.
|
|
78
|
+
|
|
79
|
+
## Version Guidance
|
|
80
|
+
|
|
81
|
+
- For MongoDB, stay on the latest available Prisma 6.x release.
|
|
82
|
+
- Treat Prisma 7 MongoDB migration attempts as unsupported until Prisma ships a real MongoDB upgrade path.
|
|
83
|
+
|
|
84
|
+
## Common Issues
|
|
85
|
+
|
|
86
|
+
### "Transactions not supported"
|
|
87
|
+
Ensure your MongoDB instance is a **Replica Set**. Standalone instances do not support transactions. Atlas clusters are replica sets by default.
|
|
88
|
+
|
|
89
|
+
### "Invalid ObjectID"
|
|
90
|
+
Ensure fields referencing IDs are decorated with `@db.ObjectId` if the target is an ObjectID.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# MySQL Setup
|
|
2
|
+
|
|
3
|
+
Configure Prisma with MySQL (or MariaDB).
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- MySQL or MariaDB database
|
|
8
|
+
- Connection string
|
|
9
|
+
|
|
10
|
+
## 1. Schema Configuration
|
|
11
|
+
|
|
12
|
+
In `prisma/schema.prisma`:
|
|
13
|
+
|
|
14
|
+
```prisma
|
|
15
|
+
datasource db {
|
|
16
|
+
provider = "mysql"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
generator client {
|
|
20
|
+
provider = "prisma-client"
|
|
21
|
+
output = "../generated"
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 2. Config Configuration
|
|
26
|
+
|
|
27
|
+
In `prisma.config.ts`:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import { defineConfig, env } from 'prisma/config'
|
|
31
|
+
|
|
32
|
+
export default defineConfig({
|
|
33
|
+
schema: 'prisma/schema.prisma',
|
|
34
|
+
datasource: {
|
|
35
|
+
url: env('DATABASE_URL'),
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 3. Environment Variable
|
|
41
|
+
|
|
42
|
+
In `.env`:
|
|
43
|
+
|
|
44
|
+
```env
|
|
45
|
+
DATABASE_URL="mysql://user:password@localhost:3306/mydb"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Connection String Format
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
mysql://USER:PASSWORD@HOST:PORT/DATABASE
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- **USER**: Database user
|
|
55
|
+
- **PASSWORD**: Password
|
|
56
|
+
- **HOST**: Hostname
|
|
57
|
+
- **PORT**: Port (default 3306)
|
|
58
|
+
- **DATABASE**: Database name
|
|
59
|
+
|
|
60
|
+
## Driver Adapter
|
|
61
|
+
|
|
62
|
+
Use a driver adapter for the standard SQL workflow.
|
|
63
|
+
|
|
64
|
+
1. Install adapter and driver:
|
|
65
|
+
```bash
|
|
66
|
+
npm install @prisma/adapter-mariadb mariadb
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
2. Instantiate Prisma Client with the adapter:
|
|
70
|
+
```typescript
|
|
71
|
+
import 'dotenv/config'
|
|
72
|
+
import { PrismaClient } from '../generated/client'
|
|
73
|
+
import { PrismaMariaDb } from '@prisma/adapter-mariadb'
|
|
74
|
+
|
|
75
|
+
const adapter = new PrismaMariaDb({
|
|
76
|
+
host: 'localhost',
|
|
77
|
+
port: 3306,
|
|
78
|
+
connectionLimit: 5,
|
|
79
|
+
user: process.env.MYSQL_USER,
|
|
80
|
+
password: process.env.MYSQL_PASSWORD,
|
|
81
|
+
database: process.env.MYSQL_DATABASE,
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
const prisma = new PrismaClient({ adapter })
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Text protocol option
|
|
88
|
+
|
|
89
|
+
If you need the MariaDB driver's text protocol instead of the default binary `execute()` path, enable `useTextProtocol` explicitly:
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
import { PrismaClient } from '../generated/client'
|
|
93
|
+
import { PrismaMariaDb } from '@prisma/adapter-mariadb'
|
|
94
|
+
|
|
95
|
+
const adapter = new PrismaMariaDb(process.env.DATABASE_URL!, {
|
|
96
|
+
useTextProtocol: true,
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
const prisma = new PrismaClient({ adapter })
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Use this only when you specifically need text-protocol compatibility for your MariaDB setup.
|
|
103
|
+
|
|
104
|
+
## PlanetScale Setup
|
|
105
|
+
|
|
106
|
+
PlanetScale uses MySQL but requires specific settings because it doesn't support foreign key constraints.
|
|
107
|
+
|
|
108
|
+
In `prisma/schema.prisma`:
|
|
109
|
+
|
|
110
|
+
```prisma
|
|
111
|
+
datasource db {
|
|
112
|
+
provider = "mysql"
|
|
113
|
+
relationMode = "prisma" // Emulate foreign keys in Prisma
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Common Issues
|
|
118
|
+
|
|
119
|
+
### "Too many connections"
|
|
120
|
+
MySQL has a connection limit. Adjust connection pool size in URL:
|
|
121
|
+
```env
|
|
122
|
+
DATABASE_URL="mysql://...?connection_limit=5"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### JSON Support
|
|
126
|
+
MySQL 5.7+ supports JSON. MariaDB 10.2+ supports JSON (as an alias for LONGTEXT with check constraints). Prisma handles this, but verify your version.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# PostgreSQL Setup
|
|
2
|
+
|
|
3
|
+
Configure Prisma with PostgreSQL.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- PostgreSQL database (local or cloud)
|
|
8
|
+
- Connection string
|
|
9
|
+
|
|
10
|
+
## 1. Schema Configuration
|
|
11
|
+
|
|
12
|
+
In `prisma/schema.prisma`:
|
|
13
|
+
|
|
14
|
+
```prisma
|
|
15
|
+
datasource db {
|
|
16
|
+
provider = "postgresql"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
generator client {
|
|
20
|
+
provider = "prisma-client"
|
|
21
|
+
output = "../generated"
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 2. Config Configuration
|
|
26
|
+
|
|
27
|
+
In `prisma.config.ts`:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import { defineConfig, env } from 'prisma/config'
|
|
31
|
+
|
|
32
|
+
export default defineConfig({
|
|
33
|
+
schema: 'prisma/schema.prisma',
|
|
34
|
+
datasource: {
|
|
35
|
+
url: env('DATABASE_URL'),
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 3. Environment Variable
|
|
41
|
+
|
|
42
|
+
In `.env`:
|
|
43
|
+
|
|
44
|
+
```env
|
|
45
|
+
DATABASE_URL="postgresql://user:password@localhost:5432/mydb?schema=public"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Connection String Format
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- **USER**: Database user
|
|
55
|
+
- **PASSWORD**: Password (URL encoded if special chars)
|
|
56
|
+
- **HOST**: Hostname (localhost, IP, or domain)
|
|
57
|
+
- **PORT**: Port (default 5432)
|
|
58
|
+
- **DATABASE**: Database name
|
|
59
|
+
- **SCHEMA**: Schema name (default `public`)
|
|
60
|
+
|
|
61
|
+
## Driver Adapter
|
|
62
|
+
|
|
63
|
+
Use a driver adapter for the standard SQL workflow.
|
|
64
|
+
|
|
65
|
+
1. Install adapter and driver:
|
|
66
|
+
```bash
|
|
67
|
+
npm install @prisma/adapter-pg pg
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
2. Instantiate Prisma Client with the adapter:
|
|
71
|
+
```typescript
|
|
72
|
+
import 'dotenv/config'
|
|
73
|
+
import { PrismaClient } from '../generated/client'
|
|
74
|
+
import { PrismaPg } from '@prisma/adapter-pg'
|
|
75
|
+
|
|
76
|
+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
77
|
+
const prisma = new PrismaClient({ adapter })
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Common Issues
|
|
81
|
+
|
|
82
|
+
### "Can't reach database server"
|
|
83
|
+
- Check host and port
|
|
84
|
+
- Check firewall settings
|
|
85
|
+
- Ensure database is running
|
|
86
|
+
|
|
87
|
+
### "Authentication failed"
|
|
88
|
+
- Check user/password
|
|
89
|
+
- Special characters in password must be URL-encoded
|
|
90
|
+
|
|
91
|
+
### "Schema does not exist"
|
|
92
|
+
- Ensure `?schema=public` (or your schema) is in the URL
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Prisma Client Setup
|
|
2
|
+
|
|
3
|
+
Generate and instantiate Prisma Client for Prisma's standard SQL provider workflow. For MongoDB, follow the provider-specific notes in `references/mongodb.md` instead of copying the SQL adapter example below.
|
|
4
|
+
|
|
5
|
+
## 1. Install dependencies
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install prisma --save-dev
|
|
9
|
+
npm install @prisma/client
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## 2. Add generator block
|
|
13
|
+
|
|
14
|
+
In `prisma/schema.prisma`:
|
|
15
|
+
|
|
16
|
+
```prisma
|
|
17
|
+
generator client {
|
|
18
|
+
provider = "prisma-client"
|
|
19
|
+
output = "../generated"
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`prisma-client` requires an explicit `output` path and does not generate into `node_modules` by default.
|
|
24
|
+
|
|
25
|
+
## 3. Generate Prisma Client
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx prisma generate
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Re-run `prisma generate` after every schema change to keep the client in sync.
|
|
32
|
+
|
|
33
|
+
## 4. Instantiate Prisma Client
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { PrismaClient } from '../generated/client'
|
|
37
|
+
import { PrismaPg } from '@prisma/adapter-pg'
|
|
38
|
+
|
|
39
|
+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
40
|
+
const prisma = new PrismaClient({ adapter })
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
If you change the generator `output`, update the import path to match. For the SQL provider workflow, replace `PrismaPg` with the adapter for your database.
|
|
44
|
+
|
|
45
|
+
## 5. Use a single instance
|
|
46
|
+
|
|
47
|
+
Each `PrismaClient` instance creates a connection pool. Reuse a single instance per app process to avoid exhausting database connections.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Prisma Postgres Setup
|
|
2
|
+
|
|
3
|
+
Configure Prisma with Prisma Postgres (Managed).
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Prisma Postgres is a serverless, managed PostgreSQL database optimized for Prisma.
|
|
8
|
+
|
|
9
|
+
## Setup via CLI
|
|
10
|
+
|
|
11
|
+
You can provision a Prisma Postgres instance directly via the CLI:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
prisma init --db
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This will:
|
|
18
|
+
1. Log you into Prisma Data Platform.
|
|
19
|
+
2. Create a new project and database instance.
|
|
20
|
+
3. Update your `.env` with the connection string.
|
|
21
|
+
|
|
22
|
+
## Connection String
|
|
23
|
+
|
|
24
|
+
For Prisma CLI flows and Accelerate-style usage, you may see a `prisma+postgres://` URL.
|
|
25
|
+
|
|
26
|
+
For Prisma Client with a driver adapter in Node.js, prefer the direct TCP connection string from the Prisma Postgres dashboard:
|
|
27
|
+
|
|
28
|
+
```env
|
|
29
|
+
DATABASE_URL="postgres://identifier:key@db.prisma.io:5432/postgres?sslmode=require"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 1. Schema Configuration
|
|
33
|
+
|
|
34
|
+
In `prisma/schema.prisma`:
|
|
35
|
+
|
|
36
|
+
```prisma
|
|
37
|
+
datasource db {
|
|
38
|
+
provider = "postgresql" // Use postgresql provider
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
generator client {
|
|
42
|
+
provider = "prisma-client"
|
|
43
|
+
output = "../generated"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 2. Config Configuration
|
|
48
|
+
|
|
49
|
+
In `prisma.config.ts`:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { defineConfig, env } from 'prisma/config'
|
|
53
|
+
|
|
54
|
+
export default defineConfig({
|
|
55
|
+
schema: 'prisma/schema.prisma',
|
|
56
|
+
datasource: {
|
|
57
|
+
url: env('DATABASE_URL'),
|
|
58
|
+
},
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Driver Adapter
|
|
63
|
+
|
|
64
|
+
Use a driver adapter for Prisma Postgres in the standard SQL workflow.
|
|
65
|
+
|
|
66
|
+
### Recommended for standard Node.js apps
|
|
67
|
+
|
|
68
|
+
1. Install adapter and driver:
|
|
69
|
+
```bash
|
|
70
|
+
npm install @prisma/adapter-pg pg
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
2. Use the direct TCP connection string from Prisma Console:
|
|
74
|
+
```typescript
|
|
75
|
+
import 'dotenv/config'
|
|
76
|
+
import { PrismaClient } from '../generated/client'
|
|
77
|
+
import { PrismaPg } from '@prisma/adapter-pg'
|
|
78
|
+
|
|
79
|
+
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
80
|
+
const prisma = new PrismaClient({ adapter })
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`PrismaPg` also accepts the connection string directly:
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
const adapter = new PrismaPg(process.env.DATABASE_URL!)
|
|
87
|
+
const prisma = new PrismaClient({ adapter })
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
For PostgreSQL prepared statement naming, pass adapter options as the second argument:
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
import { createHash } from 'node:crypto'
|
|
94
|
+
|
|
95
|
+
const adapter = new PrismaPg(process.env.DATABASE_URL!, {
|
|
96
|
+
statementNameGenerator: ({ sql }) =>
|
|
97
|
+
`prisma_${createHash('sha1').update(sql).digest('hex').slice(0, 16)}`,
|
|
98
|
+
})
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Edge/serverless option
|
|
102
|
+
|
|
103
|
+
Use the Prisma Postgres serverless driver only when you need HTTP/WebSocket transport in environments like Workers or Edge Functions:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npm install @prisma/adapter-ppg @prisma/ppg
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
import { PrismaClient } from '../generated/client'
|
|
111
|
+
import { PrismaPostgresAdapter } from '@prisma/adapter-ppg'
|
|
112
|
+
|
|
113
|
+
const prisma = new PrismaClient({
|
|
114
|
+
adapter: new PrismaPostgresAdapter({
|
|
115
|
+
connectionString: process.env.PRISMA_DIRECT_TCP_URL,
|
|
116
|
+
}),
|
|
117
|
+
})
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
This serverless driver is the specialized path for HTTP/WebSocket-based edge and serverless runtimes, not the default recommendation for standard Node.js apps.
|
|
121
|
+
|
|
122
|
+
## Features
|
|
123
|
+
|
|
124
|
+
- **Serverless**: Scales to zero.
|
|
125
|
+
- **Caching**: Integrated query caching (Accelerate).
|
|
126
|
+
- **Real-time**: Database events (Pulse).
|
|
127
|
+
|
|
128
|
+
## Using with Prisma Client
|
|
129
|
+
|
|
130
|
+
Use the Prisma Postgres adapter shown above when instantiating Prisma Client.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# SQLite Setup
|
|
2
|
+
|
|
3
|
+
Configure Prisma with SQLite.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- None (file-based)
|
|
8
|
+
|
|
9
|
+
## 1. Schema Configuration
|
|
10
|
+
|
|
11
|
+
In `prisma/schema.prisma`:
|
|
12
|
+
|
|
13
|
+
```prisma
|
|
14
|
+
datasource db {
|
|
15
|
+
provider = "sqlite"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
generator client {
|
|
19
|
+
provider = "prisma-client"
|
|
20
|
+
output = "../generated"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## 2. Config Configuration
|
|
25
|
+
|
|
26
|
+
In `prisma.config.ts`:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { defineConfig, env } from 'prisma/config'
|
|
30
|
+
|
|
31
|
+
export default defineConfig({
|
|
32
|
+
schema: 'prisma/schema.prisma',
|
|
33
|
+
datasource: {
|
|
34
|
+
url: env('DATABASE_URL'),
|
|
35
|
+
},
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 3. Environment Variable
|
|
40
|
+
|
|
41
|
+
In `.env`:
|
|
42
|
+
|
|
43
|
+
```env
|
|
44
|
+
DATABASE_URL="file:./dev.db"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Connection String Format
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
file:PATH
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
- **PATH**: Relative path to the database file. Check `prisma.config.ts` if you need to confirm how your app resolves it.
|
|
54
|
+
|
|
55
|
+
## Driver Adapter
|
|
56
|
+
|
|
57
|
+
Use a driver adapter for the standard SQL workflow.
|
|
58
|
+
|
|
59
|
+
1. Install adapter and driver:
|
|
60
|
+
```bash
|
|
61
|
+
npm install @prisma/adapter-better-sqlite3 better-sqlite3
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
2. Instantiate Prisma Client with the adapter:
|
|
65
|
+
```typescript
|
|
66
|
+
import { PrismaClient } from '../generated/client'
|
|
67
|
+
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
|
|
68
|
+
|
|
69
|
+
const adapter = new PrismaBetterSqlite3({
|
|
70
|
+
url: process.env.DATABASE_URL ?? 'file:./dev.db',
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
const prisma = new PrismaClient({ adapter })
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Using Driver Adapter (LibSQL / Turso)
|
|
77
|
+
|
|
78
|
+
For edge compatibility or Turso:
|
|
79
|
+
|
|
80
|
+
1. Install:
|
|
81
|
+
```bash
|
|
82
|
+
npm install @prisma/adapter-libsql @libsql/client
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
2. Instantiate:
|
|
86
|
+
```typescript
|
|
87
|
+
import { PrismaClient } from '../generated/client'
|
|
88
|
+
import { PrismaLibSql } from '@prisma/adapter-libsql'
|
|
89
|
+
|
|
90
|
+
const adapter = new PrismaLibSql({
|
|
91
|
+
url: process.env.TURSO_DATABASE_URL,
|
|
92
|
+
authToken: process.env.TURSO_AUTH_TOKEN,
|
|
93
|
+
})
|
|
94
|
+
const prisma = new PrismaClient({ adapter })
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Limitations
|
|
98
|
+
|
|
99
|
+
- **No Enums**: SQLite doesn't support enums (Prisma polyfills them or treats as String).
|
|
100
|
+
- **No Scalar Lists**: `String[]` is not supported directly.
|
|
101
|
+
- **Concurrency**: Write operations lock the file.
|
|
102
|
+
|
|
103
|
+
## Common Issues
|
|
104
|
+
|
|
105
|
+
### "Database file not found"
|
|
106
|
+
Ensure the path in `DATABASE_URL` is correct relative to where Prisma is running or the schema file. `file:./dev.db` creates it next to schema.
|