@cubis/foundry 0.3.11 → 0.3.13
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/Ai Agent Workflow/powers/accessibility/POWER.md +3 -1
- package/Ai Agent Workflow/powers/api-designer/POWER.md +11 -22
- package/Ai Agent Workflow/powers/api-designer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/api-patterns/POWER.md +75 -5
- package/Ai Agent Workflow/powers/api-patterns/SKILL.md +74 -4
- package/Ai Agent Workflow/powers/app-builder/POWER.md +70 -5
- package/Ai Agent Workflow/powers/app-builder/SKILL.md +68 -4
- package/Ai Agent Workflow/powers/architecture/POWER.md +50 -5
- package/Ai Agent Workflow/powers/architecture/SKILL.md +48 -4
- package/Ai Agent Workflow/powers/architecture-designer/POWER.md +11 -21
- package/Ai Agent Workflow/powers/architecture-designer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/ask-questions-if-underspecified/POWER.md +88 -0
- package/Ai Agent Workflow/powers/atlassian-mcp/POWER.md +91 -0
- package/Ai Agent Workflow/powers/atlassian-mcp/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/bash-linux/POWER.md +194 -5
- package/Ai Agent Workflow/powers/bash-linux/SKILL.md +192 -4
- package/Ai Agent Workflow/powers/behavioral-modes/POWER.md +237 -5
- package/Ai Agent Workflow/powers/behavioral-modes/SKILL.md +235 -4
- package/Ai Agent Workflow/powers/brainstorming/POWER.md +158 -5
- package/Ai Agent Workflow/powers/brainstorming/SKILL.md +156 -4
- package/Ai Agent Workflow/powers/building-mcp-server-on-cloudflare/POWER.md +261 -0
- package/Ai Agent Workflow/powers/building-mcp-server-on-cloudflare/SKILL.md +7 -7
- package/Ai Agent Workflow/powers/changelog-generator/POWER.md +106 -0
- package/Ai Agent Workflow/powers/clean-code/POWER.md +195 -5
- package/Ai Agent Workflow/powers/clean-code/SKILL.md +194 -4
- package/Ai Agent Workflow/powers/cli-developer/POWER.md +3 -0
- package/Ai Agent Workflow/powers/code-documenter/POWER.md +14 -25
- package/Ai Agent Workflow/powers/code-documenter/SKILL.md +8 -8
- package/Ai Agent Workflow/powers/code-review-checklist/POWER.md +104 -5
- package/Ai Agent Workflow/powers/code-review-checklist/SKILL.md +102 -4
- package/Ai Agent Workflow/powers/code-reviewer/POWER.md +12 -19
- package/Ai Agent Workflow/powers/code-reviewer/SKILL.md +6 -6
- package/Ai Agent Workflow/powers/database-skills/POWER.md +97 -13
- package/Ai Agent Workflow/powers/database-skills/SKILL.md +90 -21
- package/Ai Agent Workflow/powers/datadog-automation/POWER.md +238 -0
- package/Ai Agent Workflow/powers/debugging-wizard/POWER.md +11 -23
- package/Ai Agent Workflow/powers/debugging-wizard/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/deployment-procedures/POWER.md +236 -5
- package/Ai Agent Workflow/powers/deployment-procedures/SKILL.md +234 -4
- package/Ai Agent Workflow/powers/design-system-builder/POWER.md +3 -0
- package/Ai Agent Workflow/powers/devops-engineer/POWER.md +14 -28
- package/Ai Agent Workflow/powers/devops-engineer/SKILL.md +8 -8
- package/Ai Agent Workflow/powers/documentation-templates/POWER.md +189 -5
- package/Ai Agent Workflow/powers/documentation-templates/SKILL.md +187 -4
- package/Ai Agent Workflow/powers/error-ux-observability/POWER.md +3 -1
- package/Ai Agent Workflow/powers/fastapi-expert/POWER.md +87 -0
- package/Ai Agent Workflow/powers/fastapi-expert/SKILL.md +6 -6
- package/Ai Agent Workflow/powers/fastify-patterns/POWER.md +10 -16
- package/Ai Agent Workflow/powers/fastify-patterns/SKILL.md +4 -4
- package/Ai Agent Workflow/powers/feature-forge/POWER.md +91 -0
- package/Ai Agent Workflow/powers/feature-forge/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/find-bugs/POWER.md +78 -0
- package/Ai Agent Workflow/powers/fix-review/POWER.md +262 -0
- package/Ai Agent Workflow/powers/fix-review/SKILL.md +8 -8
- package/Ai Agent Workflow/powers/flutter-code-reviewer/POWER.md +3 -0
- package/Ai Agent Workflow/powers/flutter-expert/POWER.md +7 -4
- package/Ai Agent Workflow/powers/flutter-expert/SKILL.md +4 -4
- package/Ai Agent Workflow/powers/flutter-security-reviewer/POWER.md +3 -0
- package/Ai Agent Workflow/powers/flutter-test-master/POWER.md +3 -0
- package/Ai Agent Workflow/powers/frontend-design/POWER.md +413 -5
- package/Ai Agent Workflow/powers/frontend-design/SKILL.md +411 -4
- package/Ai Agent Workflow/powers/game-development/POWER.md +162 -5
- package/Ai Agent Workflow/powers/game-development/SKILL.md +160 -4
- package/Ai Agent Workflow/powers/geo-fundamentals/POWER.md +150 -5
- package/Ai Agent Workflow/powers/geo-fundamentals/SKILL.md +149 -4
- package/Ai Agent Workflow/powers/git-commit/POWER.md +3 -0
- package/Ai Agent Workflow/powers/github-automation/POWER.md +230 -0
- package/Ai Agent Workflow/powers/golang-pro/POWER.md +87 -0
- package/Ai Agent Workflow/powers/golang-pro/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/gorouter-restoration/POWER.md +3 -0
- package/Ai Agent Workflow/powers/graphql-architect/POWER.md +89 -0
- package/Ai Agent Workflow/powers/graphql-architect/SKILL.md +6 -6
- package/Ai Agent Workflow/powers/i18n-localization/POWER.md +149 -5
- package/Ai Agent Workflow/powers/i18n-localization/SKILL.md +147 -4
- package/Ai Agent Workflow/powers/intelligent-routing/POWER.md +330 -5
- package/Ai Agent Workflow/powers/intelligent-routing/SKILL.md +328 -4
- package/Ai Agent Workflow/powers/javascript-pro/POWER.md +88 -0
- package/Ai Agent Workflow/powers/javascript-pro/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/legacy-modernizer/POWER.md +87 -0
- package/Ai Agent Workflow/powers/legacy-modernizer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/lint-and-validate/POWER.md +40 -6
- package/Ai Agent Workflow/powers/lint-and-validate/SKILL.md +38 -5
- package/Ai Agent Workflow/powers/mcp-builder/POWER.md +179 -0
- package/Ai Agent Workflow/powers/mcp-builder/SKILL.md +114 -266
- package/Ai Agent Workflow/powers/mcp-developer/POWER.md +88 -0
- package/Ai Agent Workflow/powers/mcp-developer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/microservices-architect/POWER.md +11 -24
- package/Ai Agent Workflow/powers/microservices-architect/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/mobile-design/POWER.md +389 -5
- package/Ai Agent Workflow/powers/mobile-design/SKILL.md +387 -4
- package/Ai Agent Workflow/powers/monitoring-expert/POWER.md +80 -0
- package/Ai Agent Workflow/powers/monitoring-expert/SKILL.md +8 -8
- package/Ai Agent Workflow/powers/nestjs-expert/POWER.md +13 -26
- package/Ai Agent Workflow/powers/nestjs-expert/SKILL.md +7 -7
- package/Ai Agent Workflow/powers/next-best-practices/POWER.md +155 -0
- package/Ai Agent Workflow/powers/next-cache-components/POWER.md +363 -0
- package/Ai Agent Workflow/powers/next-upgrade/POWER.md +53 -0
- package/Ai Agent Workflow/powers/nextjs-developer/POWER.md +4 -1
- package/Ai Agent Workflow/powers/nextjs-react-expert/POWER.md +282 -6
- package/Ai Agent Workflow/powers/nextjs-react-expert/SKILL.md +279 -4
- package/Ai Agent Workflow/powers/nodejs-best-practices/POWER.md +328 -5
- package/Ai Agent Workflow/powers/nodejs-best-practices/SKILL.md +326 -4
- package/Ai Agent Workflow/powers/oneup-design/POWER.md +3 -0
- package/Ai Agent Workflow/powers/openapi-docs/POWER.md +13 -20
- package/Ai Agent Workflow/powers/openapi-docs/SKILL.md +7 -7
- package/Ai Agent Workflow/powers/parallel-agents/POWER.md +170 -5
- package/Ai Agent Workflow/powers/parallel-agents/SKILL.md +168 -4
- package/Ai Agent Workflow/powers/performance-profiling/POWER.md +138 -5
- package/Ai Agent Workflow/powers/performance-profiling/SKILL.md +136 -4
- package/Ai Agent Workflow/powers/plan-writing/POWER.md +147 -5
- package/Ai Agent Workflow/powers/plan-writing/SKILL.md +145 -4
- package/Ai Agent Workflow/powers/playwright-expert/POWER.md +83 -0
- package/Ai Agent Workflow/powers/playwright-expert/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/postman/POWER.md +5 -4
- package/Ai Agent Workflow/powers/powershell-windows/POWER.md +162 -5
- package/Ai Agent Workflow/powers/powershell-windows/SKILL.md +160 -4
- package/Ai Agent Workflow/powers/prompt-engineer/POWER.md +3 -0
- package/Ai Agent Workflow/powers/python-patterns/POWER.md +436 -5
- package/Ai Agent Workflow/powers/python-patterns/SKILL.md +434 -4
- package/Ai Agent Workflow/powers/python-pro/POWER.md +87 -0
- package/Ai Agent Workflow/powers/python-pro/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/react-best-practices/POWER.md +139 -0
- package/Ai Agent Workflow/powers/react-expert/POWER.md +87 -0
- package/Ai Agent Workflow/powers/react-expert/SKILL.md +7 -7
- package/Ai Agent Workflow/powers/red-team-tactics/POWER.md +194 -5
- package/Ai Agent Workflow/powers/red-team-tactics/SKILL.md +192 -4
- package/Ai Agent Workflow/powers/refactor/POWER.md +3 -0
- package/Ai Agent Workflow/powers/riverpod-3/POWER.md +3 -0
- package/Ai Agent Workflow/powers/rust-engineer/POWER.md +89 -0
- package/Ai Agent Workflow/powers/rust-engineer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/rust-pro/POWER.md +171 -5
- package/Ai Agent Workflow/powers/rust-pro/SKILL.md +169 -4
- package/Ai Agent Workflow/powers/saas-builder/POWER.md +84 -161
- package/Ai Agent Workflow/powers/sarif-parsing/POWER.md +482 -0
- package/Ai Agent Workflow/powers/secure-code-guardian/POWER.md +86 -0
- package/Ai Agent Workflow/powers/secure-code-guardian/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/security-reviewer/POWER.md +12 -25
- package/Ai Agent Workflow/powers/security-reviewer/SKILL.md +6 -6
- package/Ai Agent Workflow/powers/semgrep/POWER.md +420 -0
- package/Ai Agent Workflow/powers/semgrep/SKILL.md +3 -3
- package/Ai Agent Workflow/powers/sentry-automation/POWER.md +235 -0
- package/Ai Agent Workflow/powers/seo-fundamentals/POWER.md +124 -5
- package/Ai Agent Workflow/powers/seo-fundamentals/SKILL.md +122 -4
- package/Ai Agent Workflow/powers/server-management/POWER.md +156 -5
- package/Ai Agent Workflow/powers/server-management/SKILL.md +154 -4
- package/Ai Agent Workflow/powers/spec-miner/POWER.md +85 -0
- package/Ai Agent Workflow/powers/spec-miner/SKILL.md +4 -4
- package/Ai Agent Workflow/powers/sre-engineer/POWER.md +90 -0
- package/Ai Agent Workflow/powers/sre-engineer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/static-analysis/POWER.md +116 -0
- package/Ai Agent Workflow/powers/static-analysis/SKILL.md +1 -1
- package/Ai Agent Workflow/powers/stripe-best-practices/POWER.md +36 -0
- package/Ai Agent Workflow/powers/sub-agents/POWER.md +180 -0
- package/Ai Agent Workflow/powers/sub-agents/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/systematic-debugging/POWER.md +104 -5
- package/Ai Agent Workflow/powers/systematic-debugging/SKILL.md +102 -4
- package/Ai Agent Workflow/powers/tailwind-patterns/POWER.md +264 -5
- package/Ai Agent Workflow/powers/tailwind-patterns/SKILL.md +262 -4
- package/Ai Agent Workflow/powers/tdd-workflow/POWER.md +144 -5
- package/Ai Agent Workflow/powers/tdd-workflow/SKILL.md +142 -4
- package/Ai Agent Workflow/powers/terraform-engineer/POWER.md +89 -0
- package/Ai Agent Workflow/powers/terraform-engineer/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/test-master/POWER.md +16 -42
- package/Ai Agent Workflow/powers/test-master/SKILL.md +10 -10
- package/Ai Agent Workflow/powers/testing-patterns/POWER.md +173 -5
- package/Ai Agent Workflow/powers/testing-patterns/SKILL.md +171 -4
- package/Ai Agent Workflow/powers/typescript-pro/POWER.md +11 -22
- package/Ai Agent Workflow/powers/typescript-pro/SKILL.md +5 -5
- package/Ai Agent Workflow/powers/ui-ux-pro-max/POWER.md +389 -0
- package/Ai Agent Workflow/powers/ux-ui-consistency/POWER.md +3 -1
- package/Ai Agent Workflow/powers/variant-analysis/POWER.md +145 -0
- package/Ai Agent Workflow/powers/vercel-ai-gateway/POWER.md +82 -0
- package/Ai Agent Workflow/powers/vercel-ai-gateway/SKILL.md +79 -0
- package/Ai Agent Workflow/powers/vercel-ai-sdk/POWER.md +62 -0
- package/Ai Agent Workflow/powers/vercel-ai-sdk/SKILL.md +59 -0
- package/Ai Agent Workflow/powers/vercel-caching/POWER.md +86 -0
- package/Ai Agent Workflow/powers/vercel-caching/SKILL.md +83 -0
- package/Ai Agent Workflow/powers/vercel-cli/POWER.md +88 -0
- package/Ai Agent Workflow/powers/vercel-cli/SKILL.md +85 -0
- package/Ai Agent Workflow/powers/vercel-deployments/POWER.md +104 -0
- package/Ai Agent Workflow/powers/vercel-deployments/SKILL.md +101 -0
- package/Ai Agent Workflow/powers/vercel-domains/POWER.md +76 -12
- package/Ai Agent Workflow/powers/vercel-domains/SKILL.md +73 -12
- package/Ai Agent Workflow/powers/vercel-firewall/POWER.md +75 -0
- package/Ai Agent Workflow/powers/vercel-firewall/SKILL.md +72 -0
- package/Ai Agent Workflow/powers/vercel-flags/POWER.md +76 -0
- package/Ai Agent Workflow/powers/vercel-flags/SKILL.md +73 -0
- package/Ai Agent Workflow/powers/vercel-functions/POWER.md +84 -0
- package/Ai Agent Workflow/powers/vercel-functions/SKILL.md +81 -0
- package/Ai Agent Workflow/powers/vercel-observability/POWER.md +103 -0
- package/Ai Agent Workflow/powers/vercel-observability/SKILL.md +100 -0
- package/Ai Agent Workflow/powers/vercel-platform/POWER.md +127 -0
- package/Ai Agent Workflow/powers/vercel-platform/SKILL.md +124 -0
- package/Ai Agent Workflow/powers/vercel-routing/POWER.md +82 -0
- package/Ai Agent Workflow/powers/vercel-routing/SKILL.md +79 -0
- package/Ai Agent Workflow/powers/vercel-storage/POWER.md +77 -0
- package/Ai Agent Workflow/powers/vercel-storage/SKILL.md +74 -0
- package/Ai Agent Workflow/powers/vulnerability-scanner/POWER.md +271 -5
- package/Ai Agent Workflow/powers/vulnerability-scanner/SKILL.md +269 -4
- package/Ai Agent Workflow/powers/web-design-guidelines/POWER.md +52 -5
- package/Ai Agent Workflow/powers/web-design-guidelines/SKILL.md +50 -4
- package/Ai Agent Workflow/powers/web-perf/POWER.md +196 -0
- package/Ai Agent Workflow/powers/webapp-testing/POWER.md +190 -0
- package/Ai Agent Workflow/powers/webapp-testing/SKILL.md +160 -69
- package/Ai Agent Workflow/powers/wrangler/POWER.md +890 -0
- package/Ai Agent Workflow/scripts/generate-powers.mjs +410 -0
- package/Ai Agent Workflow/skills/database-skills/README.md +2 -1
- package/Ai Agent Workflow/skills/database-skills/SKILL.md +1 -1
- package/Ai Agent Workflow/skills/skills_index.json +212 -1047
- package/Ai Agent Workflow/skills/vercel-ai-gateway/SKILL.md +79 -0
- package/Ai Agent Workflow/skills/vercel-ai-sdk/SKILL.md +59 -0
- package/Ai Agent Workflow/skills/vercel-caching/SKILL.md +83 -0
- package/Ai Agent Workflow/skills/vercel-cli/SKILL.md +85 -0
- package/Ai Agent Workflow/skills/vercel-deployments/SKILL.md +101 -0
- package/Ai Agent Workflow/skills/vercel-domains/SKILL.md +57 -13
- package/Ai Agent Workflow/skills/vercel-firewall/SKILL.md +72 -0
- package/Ai Agent Workflow/skills/vercel-flags/SKILL.md +73 -0
- package/Ai Agent Workflow/skills/vercel-functions/SKILL.md +81 -0
- package/Ai Agent Workflow/skills/vercel-observability/SKILL.md +100 -0
- package/Ai Agent Workflow/skills/vercel-platform/SKILL.md +124 -0
- package/Ai Agent Workflow/skills/vercel-routing/SKILL.md +79 -0
- package/Ai Agent Workflow/skills/vercel-storage/SKILL.md +74 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/manifest.json +9 -276
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/agents/backend-specialist.md +2 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/agents/database-architect.md +7 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/agents/mobile-developer.md +1 -1
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/agents/performance-optimizer.md +2 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/agents/vercel-expert.md +5 -1
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/antigravity/workflows/database.md +8 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/agents/backend-specialist.md +2 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/agents/database-architect.md +7 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/agents/mobile-developer.md +1 -1
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/agents/performance-optimizer.md +2 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/agents/vercel-expert.md +5 -1
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/codex/workflows/database.md +8 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/backend-specialist.md +46 -30
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/code-archaeologist.md +38 -24
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/database-architect.md +43 -27
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/debugger.md +50 -42
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/devops-engineer.md +51 -49
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/documentation-writer.md +14 -12
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/explorer-agent.md +13 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/frontend-specialist.md +29 -27
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/game-developer.md +31 -29
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/mobile-developer.md +81 -73
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/orchestrator.md +107 -82
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/penetration-tester.md +49 -47
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/performance-optimizer.md +46 -40
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/product-manager.md +39 -22
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/product-owner.md +42 -29
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/project-planner.md +109 -100
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/qa-automation-engineer.md +42 -34
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/security-auditor.md +53 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/seo-specialist.md +25 -23
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/test-engineer.md +40 -38
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/agents/vercel-expert.md +5 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +348 -26
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-ai-gateway/SKILL.md +69 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-ai-sdk/SKILL.md +53 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-caching/SKILL.md +73 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-cli/SKILL.md +76 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-deployments/SKILL.md +88 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-domains/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-firewall/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-flags/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-functions/SKILL.md +71 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-observability/SKILL.md +87 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-platform/SKILL.md +108 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-routing/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/vercel-storage/SKILL.md +66 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/workflows/database.md +8 -5
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/rules/.cursorrules +55 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/skills_index.json +348 -26
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-ai-gateway/SKILL.md +69 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-ai-sdk/SKILL.md +53 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-caching/SKILL.md +73 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-cli/SKILL.md +76 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-deployments/SKILL.md +88 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-domains/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-firewall/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-flags/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-functions/SKILL.md +71 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-observability/SKILL.md +87 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-platform/SKILL.md +108 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-routing/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/vercel-storage/SKILL.md +66 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/rules/.windsurfrules +55 -2
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/skills_index.json +348 -26
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-ai-gateway/SKILL.md +69 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-ai-sdk/SKILL.md +53 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-caching/SKILL.md +73 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-cli/SKILL.md +76 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-deployments/SKILL.md +88 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-domains/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-firewall/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-flags/SKILL.md +64 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-functions/SKILL.md +71 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-observability/SKILL.md +87 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-platform/SKILL.md +108 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-routing/SKILL.md +70 -0
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/vercel-storage/SKILL.md +66 -0
- package/README.md +11 -0
- package/bin/cubis.js +110 -57
- package/package.json +6 -2
- package/Ai Agent Workflow/powers/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/powers/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/powers/mongoose-nestjs/steering/migrations.md +0 -630
- package/Ai Agent Workflow/powers/mongoose-nestjs/steering/repository-pattern.md +0 -661
- package/Ai Agent Workflow/powers/mongoose-nestjs/steering/schema-design.md +0 -559
- package/Ai Agent Workflow/powers/mongoose-nestjs/steering/transactions.md +0 -445
- package/Ai Agent Workflow/powers/postgres-pro/SKILL.md +0 -87
- package/Ai Agent Workflow/powers/postgres-pro/steering/extensions.md +0 -404
- package/Ai Agent Workflow/powers/postgres-pro/steering/jsonb.md +0 -321
- package/Ai Agent Workflow/powers/postgres-pro/steering/maintenance.md +0 -481
- package/Ai Agent Workflow/powers/postgres-pro/steering/performance.md +0 -265
- package/Ai Agent Workflow/powers/postgres-pro/steering/replication.md +0 -446
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/steering/migrations.md +0 -630
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/steering/repository-pattern.md +0 -661
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/steering/schema-design.md +0 -559
- package/Ai Agent Workflow/powers/postman/mongoose-nestjs/steering/transactions.md +0 -445
- package/Ai Agent Workflow/powers/sql-pro/SKILL.md +0 -86
- package/Ai Agent Workflow/powers/sql-pro/steering/database-design.md +0 -402
- package/Ai Agent Workflow/powers/sql-pro/steering/dialect-differences.md +0 -419
- package/Ai Agent Workflow/powers/sql-pro/steering/optimization.md +0 -384
- package/Ai Agent Workflow/powers/sql-pro/steering/query-patterns.md +0 -285
- package/Ai Agent Workflow/powers/sql-pro/steering/window-functions.md +0 -328
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/AGENTS.md +0 -90
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/README.md +0 -116
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/SKILL.md +0 -64
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/_contributing.md +0 -171
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/_sections.md +0 -39
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/_template.md +0 -34
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/advanced-full-text-search.md +0 -55
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/advanced-jsonb-indexing.md +0 -49
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/conn-idle-timeout.md +0 -46
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/conn-limits.md +0 -44
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/conn-pooling.md +0 -41
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/conn-prepared-statements.md +0 -46
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/data-batch-inserts.md +0 -54
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/data-n-plus-one.md +0 -53
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/data-pagination.md +0 -50
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/data-upsert.md +0 -50
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/lock-advisory.md +0 -56
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/lock-deadlock-prevention.md +0 -68
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/lock-short-transactions.md +0 -50
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/lock-skip-locked.md +0 -54
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/monitor-explain-analyze.md +0 -45
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/monitor-pg-stat-statements.md +0 -55
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/monitor-vacuum-analyze.md +0 -55
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/query-composite-indexes.md +0 -44
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/query-covering-indexes.md +0 -40
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/query-index-types.md +0 -48
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/query-missing-indexes.md +0 -43
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/query-partial-indexes.md +0 -45
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/schema-data-types.md +0 -46
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/schema-foreign-key-indexes.md +0 -59
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/schema-lowercase-identifiers.md +0 -55
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/schema-partitioning.md +0 -55
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/schema-primary-keys.md +0 -61
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/security-privileges.md +0 -54
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/security-rls-basics.md +0 -50
- package/Ai Agent Workflow/powers/supabase-postgres-best-practices/steering/security-rls-performance.md +0 -57
- package/Ai Agent Workflow/powers/vercel-2fa-enforcement/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-2fa-enforcement/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-agent-workflows/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-agent-workflows/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-auth-byok/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-gateway-auth-byok/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-gateway-core/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-core/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-fallbacks/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-fallbacks/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-model-routing/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-gateway-model-routing/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-gateway-observability/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-observability/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-gateway-openai-compatible/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-gateway-openai-compatible/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-ai-sdk-core/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-sdk-core/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-sdk-ui/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ai-sdk-ui/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-alerts-monitoring/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-alerts-monitoring/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-audit-logs/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-audit-logs/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-automation/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-automation/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-blob/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-blob/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-bot-management/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-bot-management/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-botid/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-botid/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-build-image-upgrades/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-build-image-upgrades/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-build-output-api/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-build-output-api/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-build-pipeline/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-build-pipeline/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cache-control-headers/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cache-control-headers/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cdn-cache/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cdn-cache/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cdn-purging/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cdn-purging/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cli-core/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-core/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-flags/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-flags/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-mcp/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-mcp/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-microfrontends/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-microfrontends/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-cli-project-domain-env/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-cli-project-domain-env/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-cron-jobs/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-cron-jobs/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-custom-events/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-custom-events/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-data-cache-nextjs/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-data-cache-nextjs/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-deployment-promotion/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-deployment-promotion/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-deployment-protection/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-deployment-protection/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-dns-records/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-dns-records/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-domain-ownership-claims/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-domain-ownership-claims/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-drains-setup/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-drains-setup/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-edge-config/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-edge-config/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-edge-config-integrations/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-edge-config-integrations/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-edge-to-node-migration/POWER.md +0 -23
- package/Ai Agent Workflow/powers/vercel-edge-to-node-migration/SKILL.md +0 -23
- package/Ai Agent Workflow/powers/vercel-environments/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-environments/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-firewall-core/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-firewall-core/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-flags-cli-workflows/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-flags-cli-workflows/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-flags-dashboard/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-dashboard/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-explorer/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-explorer/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-openfeature/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-openfeature/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-platform/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-platform/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-sdk/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-flags-sdk/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-fluid-compute/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-fluid-compute/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-function-config/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-function-config/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-functions-core/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-functions-core/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-functions-edge-runtime/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-functions-edge-runtime/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-functions-nodejs/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-functions-nodejs/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-functions-python/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-functions-python/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-generated-urls/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-generated-urls/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-git-deployments/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-git-deployments/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-image-optimization/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-image-optimization/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-integrations-native/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-integrations-native/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-isr/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-isr/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-log-drain-reference/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-log-drain-reference/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-log-trace-correlation/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-log-trace-correlation/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-marketplace-partner-api/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-marketplace-partner-api/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-marketplace-storage-postgres/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-marketplace-storage-postgres/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-marketplace-storage-redis/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-marketplace-storage-redis/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-mcp-for-agents/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-mcp-for-agents/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-microfrontends/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-microfrontends/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-monorepos/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-monorepos/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-multi-tenant/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-multi-tenant/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-nameservers/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-nameservers/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-observability-overview/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-observability-overview/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-og-image-generation/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-og-image-generation/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-oidc-federation/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-oidc-federation/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-project-configuration/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-project-configuration/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-protection-bypass-automation/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-protection-bypass-automation/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-rbac-access-groups/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-rbac-access-groups/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-redirects-rewrites/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-redirects-rewrites/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-remote-caching/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-remote-caching/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-request-collapsing/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-request-collapsing/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-rest-api/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-rest-api/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-routing-middleware/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-routing-middleware/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-runtime-cache/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-runtime-cache/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-runtime-logs/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-runtime-logs/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-sdk/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-sdk/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-secure-compute/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-secure-compute/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-session-tracing/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-session-tracing/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-speed-insights/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-speed-insights/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ssl-certificates/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-ssl-certificates/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-static-ips/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-static-ips/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-storage-migrations/POWER.md +0 -20
- package/Ai Agent Workflow/powers/vercel-storage-migrations/SKILL.md +0 -20
- package/Ai Agent Workflow/powers/vercel-tracing-otel/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-tracing-otel/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-waf-custom-rules/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-waf-custom-rules/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-waf-rate-limiting/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-waf-rate-limiting/SKILL.md +0 -22
- package/Ai Agent Workflow/powers/vercel-web-analytics/POWER.md +0 -21
- package/Ai Agent Workflow/powers/vercel-web-analytics/SKILL.md +0 -21
- package/Ai Agent Workflow/powers/vercel-webhooks-and-checks/POWER.md +0 -22
- package/Ai Agent Workflow/powers/vercel-webhooks-and-checks/SKILL.md +0 -22
- package/Ai Agent Workflow/skills/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/skills/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/skills/mongoose-nestjs/references/migrations.md +0 -630
- package/Ai Agent Workflow/skills/mongoose-nestjs/references/repository-pattern.md +0 -661
- package/Ai Agent Workflow/skills/mongoose-nestjs/references/schema-design.md +0 -559
- package/Ai Agent Workflow/skills/mongoose-nestjs/references/transactions.md +0 -445
- package/Ai Agent Workflow/skills/postgres-pro/SKILL.md +0 -87
- package/Ai Agent Workflow/skills/postgres-pro/references/extensions.md +0 -404
- package/Ai Agent Workflow/skills/postgres-pro/references/jsonb.md +0 -321
- package/Ai Agent Workflow/skills/postgres-pro/references/maintenance.md +0 -481
- package/Ai Agent Workflow/skills/postgres-pro/references/performance.md +0 -265
- package/Ai Agent Workflow/skills/postgres-pro/references/replication.md +0 -446
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/references/migrations.md +0 -630
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/references/repository-pattern.md +0 -661
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/references/schema-design.md +0 -559
- package/Ai Agent Workflow/skills/postman/mongoose-nestjs/references/transactions.md +0 -445
- package/Ai Agent Workflow/skills/sql-pro/SKILL.md +0 -86
- package/Ai Agent Workflow/skills/sql-pro/references/database-design.md +0 -402
- package/Ai Agent Workflow/skills/sql-pro/references/dialect-differences.md +0 -419
- package/Ai Agent Workflow/skills/sql-pro/references/optimization.md +0 -384
- package/Ai Agent Workflow/skills/sql-pro/references/query-patterns.md +0 -285
- package/Ai Agent Workflow/skills/sql-pro/references/window-functions.md +0 -328
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/AGENTS.md +0 -90
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/README.md +0 -116
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/SKILL.md +0 -64
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/_contributing.md +0 -171
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/_template.md +0 -34
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
- package/Ai Agent Workflow/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -57
- package/Ai Agent Workflow/skills/vercel-2fa-enforcement/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-agent-workflows/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-auth-byok/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-core/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-fallbacks/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-model-routing/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-observability/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-gateway-openai-compatible/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-sdk-core/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ai-sdk-ui/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-alerts-monitoring/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-audit-logs/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-automation/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-blob/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-bot-management/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-botid/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-build-image-upgrades/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-build-output-api/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-build-pipeline/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cache-control-headers/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cdn-cache/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cdn-purging/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cli-core/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cli-flags/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cli-mcp/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cli-microfrontends/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cli-project-domain-env/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-cron-jobs/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-custom-events/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-data-cache-nextjs/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-deployment-promotion/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-deployment-protection/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-dns-records/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-domain-ownership-claims/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-drains-setup/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-edge-config/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-edge-config-integrations/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-edge-to-node-migration/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-environments/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-firewall-core/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-cli-workflows/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-dashboard/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-explorer/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-openfeature/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-platform/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-flags-sdk/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-fluid-compute/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-function-config/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-functions-core/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-functions-edge-runtime/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-functions-nodejs/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-functions-python/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-generated-urls/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-git-deployments/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-image-optimization/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-integrations-native/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-isr/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-log-drain-reference/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-log-trace-correlation/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-marketplace-partner-api/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-marketplace-storage-postgres/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-marketplace-storage-redis/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-mcp-for-agents/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-microfrontends/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-monorepos/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-multi-tenant/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-nameservers/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-observability-overview/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-og-image-generation/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-oidc-federation/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-project-configuration/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-protection-bypass-automation/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-rbac-access-groups/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-redirects-rewrites/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-remote-caching/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-request-collapsing/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-rest-api/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-routing-middleware/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-runtime-cache/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-runtime-logs/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-sdk/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-secure-compute/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-session-tracing/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-speed-insights/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-ssl-certificates/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-static-ips/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-storage-migrations/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-tracing-otel/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-waf-custom-rules/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-waf-rate-limiting/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-web-analytics/SKILL.md +0 -36
- package/Ai Agent Workflow/skills/vercel-webhooks-and-checks/SKILL.md +0 -36
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/references/migrations.md +0 -630
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/references/repository-pattern.md +0 -661
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/references/schema-design.md +0 -559
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/mongoose-nestjs/references/transactions.md +0 -445
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/SKILL.md +0 -87
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/references/extensions.md +0 -404
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/references/jsonb.md +0 -321
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/references/maintenance.md +0 -481
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/references/performance.md +0 -265
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/postgres-pro/references/replication.md +0 -446
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/SKILL.md +0 -86
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/references/database-design.md +0 -402
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/references/dialect-differences.md +0 -419
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/references/optimization.md +0 -384
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/references/query-patterns.md +0 -285
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/sql-pro/references/window-functions.md +0 -328
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/AGENTS.md +0 -90
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/README.md +0 -116
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/SKILL.md +0 -64
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/_contributing.md +0 -171
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/_template.md +0 -34
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/copilot/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -57
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/references/migrations.md +0 -630
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/references/repository-pattern.md +0 -661
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/references/schema-design.md +0 -559
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/mongoose-nestjs/references/transactions.md +0 -445
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/SKILL.md +0 -87
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/references/extensions.md +0 -404
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/references/jsonb.md +0 -321
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/references/maintenance.md +0 -481
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/references/performance.md +0 -265
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/postgres-pro/references/replication.md +0 -446
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/SKILL.md +0 -86
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/references/database-design.md +0 -402
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/references/dialect-differences.md +0 -419
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/references/optimization.md +0 -384
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/references/query-patterns.md +0 -285
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/sql-pro/references/window-functions.md +0 -328
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/AGENTS.md +0 -90
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/README.md +0 -116
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/SKILL.md +0 -64
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/_contributing.md +0 -171
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/_template.md +0 -34
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/cursor/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -57
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/POWER.md +0 -211
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/SKILL.md +0 -202
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/references/migrations.md +0 -630
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/references/repository-pattern.md +0 -661
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/references/schema-design.md +0 -559
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/mongoose-nestjs/references/transactions.md +0 -445
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/SKILL.md +0 -87
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/references/extensions.md +0 -404
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/references/jsonb.md +0 -321
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/references/maintenance.md +0 -481
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/references/performance.md +0 -265
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/postgres-pro/references/replication.md +0 -446
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/SKILL.md +0 -86
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/references/database-design.md +0 -402
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/references/dialect-differences.md +0 -419
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/references/optimization.md +0 -384
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/references/query-patterns.md +0 -285
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/sql-pro/references/window-functions.md +0 -328
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/AGENTS.md +0 -90
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/README.md +0 -116
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/SKILL.md +0 -64
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/_contributing.md +0 -171
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/_sections.md +0 -39
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/_template.md +0 -34
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +0 -49
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/conn-limits.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/conn-pooling.md +0 -41
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +0 -53
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/data-pagination.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/data-upsert.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/lock-advisory.md +0 -56
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +0 -68
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +0 -44
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +0 -40
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/query-index-types.md +0 -48
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +0 -43
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +0 -45
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/schema-data-types.md +0 -46
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +0 -59
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/schema-partitioning.md +0 -55
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +0 -61
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/security-privileges.md +0 -54
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/security-rls-basics.md +0 -50
- package/Ai Agent Workflow/workflows/agent-environment-setup/platforms/windsurf/skills/supabase-postgres-best-practices/references/security-rls-performance.md +0 -57
|
@@ -1,404 +0,0 @@
|
|
|
1
|
-
# PostgreSQL Extensions
|
|
2
|
-
|
|
3
|
-
## Extension Management
|
|
4
|
-
|
|
5
|
-
```sql
|
|
6
|
-
-- List available extensions
|
|
7
|
-
SELECT * FROM pg_available_extensions ORDER BY name;
|
|
8
|
-
|
|
9
|
-
-- List installed extensions
|
|
10
|
-
SELECT * FROM pg_extension;
|
|
11
|
-
|
|
12
|
-
-- Install extension
|
|
13
|
-
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
|
|
14
|
-
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
15
|
-
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
|
16
|
-
|
|
17
|
-
-- Drop extension
|
|
18
|
-
DROP EXTENSION pg_stat_statements;
|
|
19
|
-
|
|
20
|
-
-- Update extension
|
|
21
|
-
ALTER EXTENSION pg_stat_statements UPDATE TO '1.10';
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## pg_stat_statements (Query Performance)
|
|
25
|
-
|
|
26
|
-
```sql
|
|
27
|
-
-- Install and configure
|
|
28
|
-
CREATE EXTENSION pg_stat_statements;
|
|
29
|
-
|
|
30
|
-
-- postgresql.conf:
|
|
31
|
-
-- shared_preload_libraries = 'pg_stat_statements'
|
|
32
|
-
-- pg_stat_statements.max = 10000
|
|
33
|
-
-- pg_stat_statements.track = all
|
|
34
|
-
|
|
35
|
-
-- Top 10 slowest queries by mean time
|
|
36
|
-
SELECT
|
|
37
|
-
query,
|
|
38
|
-
calls,
|
|
39
|
-
total_exec_time,
|
|
40
|
-
mean_exec_time,
|
|
41
|
-
max_exec_time,
|
|
42
|
-
stddev_exec_time,
|
|
43
|
-
rows
|
|
44
|
-
FROM pg_stat_statements
|
|
45
|
-
ORDER BY mean_exec_time DESC
|
|
46
|
-
LIMIT 10;
|
|
47
|
-
|
|
48
|
-
-- Most frequently called queries
|
|
49
|
-
SELECT
|
|
50
|
-
query,
|
|
51
|
-
calls,
|
|
52
|
-
total_exec_time,
|
|
53
|
-
mean_exec_time
|
|
54
|
-
FROM pg_stat_statements
|
|
55
|
-
ORDER BY calls DESC
|
|
56
|
-
LIMIT 10;
|
|
57
|
-
|
|
58
|
-
-- Most time-consuming queries (total time)
|
|
59
|
-
SELECT
|
|
60
|
-
query,
|
|
61
|
-
calls,
|
|
62
|
-
total_exec_time / 1000 as total_seconds,
|
|
63
|
-
mean_exec_time,
|
|
64
|
-
(total_exec_time / sum(total_exec_time) OVER ()) * 100 as percentage
|
|
65
|
-
FROM pg_stat_statements
|
|
66
|
-
ORDER BY total_exec_time DESC
|
|
67
|
-
LIMIT 10;
|
|
68
|
-
|
|
69
|
-
-- Reset statistics
|
|
70
|
-
SELECT pg_stat_statements_reset();
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## uuid-ossp (UUID Generation)
|
|
74
|
-
|
|
75
|
-
```sql
|
|
76
|
-
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
77
|
-
|
|
78
|
-
-- Generate UUIDs
|
|
79
|
-
SELECT uuid_generate_v1(); -- Time-based + MAC address
|
|
80
|
-
SELECT uuid_generate_v4(); -- Random (most common)
|
|
81
|
-
|
|
82
|
-
-- Use in tables
|
|
83
|
-
CREATE TABLE users (
|
|
84
|
-
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
85
|
-
email TEXT NOT NULL,
|
|
86
|
-
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
-- Insert
|
|
90
|
-
INSERT INTO users (email) VALUES ('user@example.com')
|
|
91
|
-
RETURNING id;
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## pg_trgm (Fuzzy String Matching)
|
|
95
|
-
|
|
96
|
-
```sql
|
|
97
|
-
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
|
98
|
-
|
|
99
|
-
-- Similarity search
|
|
100
|
-
SELECT
|
|
101
|
-
email,
|
|
102
|
-
similarity(email, 'john@example.com') as sim
|
|
103
|
-
FROM users
|
|
104
|
-
WHERE similarity(email, 'john@example.com') > 0.3
|
|
105
|
-
ORDER BY sim DESC;
|
|
106
|
-
|
|
107
|
-
-- LIKE optimization with trigram index
|
|
108
|
-
CREATE INDEX idx_users_email_trgm ON users USING GIN(email gin_trgm_ops);
|
|
109
|
-
|
|
110
|
-
-- Now these queries use index:
|
|
111
|
-
SELECT * FROM users WHERE email ILIKE '%john%';
|
|
112
|
-
SELECT * FROM users WHERE email % 'jon@example.com'; -- Similar to
|
|
113
|
-
|
|
114
|
-
-- Trigram operators
|
|
115
|
-
SELECT 'hello' % 'helo'; -- True (similar)
|
|
116
|
-
SELECT similarity('hello', 'helo'); -- 0.5
|
|
117
|
-
SELECT word_similarity('hello', 'hello world'); -- 1.0
|
|
118
|
-
|
|
119
|
-
-- Set similarity threshold
|
|
120
|
-
SET pg_trgm.similarity_threshold = 0.5;
|
|
121
|
-
SELECT * FROM users WHERE email % 'searchtext';
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## PostGIS (Spatial and Geographic)
|
|
125
|
-
|
|
126
|
-
```sql
|
|
127
|
-
CREATE EXTENSION IF NOT EXISTS postgis;
|
|
128
|
-
|
|
129
|
-
-- Create spatial table
|
|
130
|
-
CREATE TABLE locations (
|
|
131
|
-
id SERIAL PRIMARY KEY,
|
|
132
|
-
name TEXT NOT NULL,
|
|
133
|
-
geom GEOMETRY(Point, 4326) -- WGS84 lat/lng
|
|
134
|
-
);
|
|
135
|
-
|
|
136
|
-
-- Add spatial index
|
|
137
|
-
CREATE INDEX idx_locations_geom ON locations USING GIST(geom);
|
|
138
|
-
|
|
139
|
-
-- Insert point (longitude, latitude)
|
|
140
|
-
INSERT INTO locations (name, geom)
|
|
141
|
-
VALUES ('NYC', ST_SetSRID(ST_MakePoint(-74.0060, 40.7128), 4326));
|
|
142
|
-
|
|
143
|
-
-- Distance queries (in meters)
|
|
144
|
-
SELECT
|
|
145
|
-
name,
|
|
146
|
-
ST_Distance(
|
|
147
|
-
geom::geography,
|
|
148
|
-
ST_SetSRID(ST_MakePoint(-73.9857, 40.7484), 4326)::geography
|
|
149
|
-
) as distance_meters
|
|
150
|
-
FROM locations
|
|
151
|
-
ORDER BY distance_meters
|
|
152
|
-
LIMIT 10;
|
|
153
|
-
|
|
154
|
-
-- Within radius (1km = 1000m)
|
|
155
|
-
SELECT * FROM locations
|
|
156
|
-
WHERE ST_DWithin(
|
|
157
|
-
geom::geography,
|
|
158
|
-
ST_SetSRID(ST_MakePoint(-74.0060, 40.7128), 4326)::geography,
|
|
159
|
-
1000
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
-- Bounding box query (very fast with GIST index)
|
|
163
|
-
SELECT * FROM locations
|
|
164
|
-
WHERE geom && ST_MakeEnvelope(-74.1, 40.6, -73.9, 40.8, 4326);
|
|
165
|
-
|
|
166
|
-
-- Contains query
|
|
167
|
-
SELECT * FROM zones
|
|
168
|
-
WHERE ST_Contains(geom, ST_SetSRID(ST_MakePoint(-74.0060, 40.7128), 4326));
|
|
169
|
-
|
|
170
|
-
-- Area calculation
|
|
171
|
-
SELECT
|
|
172
|
-
name,
|
|
173
|
-
ST_Area(geom::geography) / 1000000 as area_km2
|
|
174
|
-
FROM zones;
|
|
175
|
-
|
|
176
|
-
-- GeoJSON export
|
|
177
|
-
SELECT
|
|
178
|
-
name,
|
|
179
|
-
ST_AsGeoJSON(geom) as geojson
|
|
180
|
-
FROM locations;
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## pgvector (Vector Similarity Search)
|
|
184
|
-
|
|
185
|
-
```sql
|
|
186
|
-
CREATE EXTENSION IF NOT EXISTS vector;
|
|
187
|
-
|
|
188
|
-
-- Create table with vector column
|
|
189
|
-
CREATE TABLE embeddings (
|
|
190
|
-
id SERIAL PRIMARY KEY,
|
|
191
|
-
content TEXT,
|
|
192
|
-
embedding vector(1536) -- OpenAI embeddings are 1536 dimensions
|
|
193
|
-
);
|
|
194
|
-
|
|
195
|
-
-- Add vector index (HNSW for better performance)
|
|
196
|
-
CREATE INDEX ON embeddings USING hnsw (embedding vector_cosine_ops);
|
|
197
|
-
-- or IVFFlat for memory efficiency:
|
|
198
|
-
-- CREATE INDEX ON embeddings USING ivfflat (embedding vector_cosine_ops);
|
|
199
|
-
|
|
200
|
-
-- Insert vectors
|
|
201
|
-
INSERT INTO embeddings (content, embedding)
|
|
202
|
-
VALUES ('Hello world', '[0.1, 0.2, 0.3, ...]');
|
|
203
|
-
|
|
204
|
-
-- Similarity search (cosine distance)
|
|
205
|
-
SELECT
|
|
206
|
-
content,
|
|
207
|
-
1 - (embedding <=> '[0.1, 0.2, ...]') as similarity
|
|
208
|
-
FROM embeddings
|
|
209
|
-
ORDER BY embedding <=> '[0.1, 0.2, ...]'
|
|
210
|
-
LIMIT 10;
|
|
211
|
-
|
|
212
|
-
-- Distance operators
|
|
213
|
-
-- <-> L2 distance (Euclidean)
|
|
214
|
-
-- <#> negative inner product
|
|
215
|
-
-- <=> cosine distance (most common for embeddings)
|
|
216
|
-
|
|
217
|
-
-- Set index parameters for better recall
|
|
218
|
-
SET hnsw.ef_search = 100; -- Higher = better recall, slower query
|
|
219
|
-
|
|
220
|
-
-- Bulk insert optimization
|
|
221
|
-
SET maintenance_work_mem = '2GB';
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## pgcrypto (Encryption and Hashing)
|
|
225
|
-
|
|
226
|
-
```sql
|
|
227
|
-
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
|
228
|
-
|
|
229
|
-
-- Hash passwords (use bcrypt)
|
|
230
|
-
INSERT INTO users (email, password_hash)
|
|
231
|
-
VALUES ('user@example.com', crypt('password123', gen_salt('bf', 10)));
|
|
232
|
-
|
|
233
|
-
-- Verify password
|
|
234
|
-
SELECT * FROM users
|
|
235
|
-
WHERE email = 'user@example.com'
|
|
236
|
-
AND password_hash = crypt('password123', password_hash);
|
|
237
|
-
|
|
238
|
-
-- Generate random values
|
|
239
|
-
SELECT gen_random_uuid();
|
|
240
|
-
SELECT gen_random_bytes(32);
|
|
241
|
-
|
|
242
|
-
-- Encrypt/decrypt data
|
|
243
|
-
SELECT
|
|
244
|
-
pgp_sym_encrypt('sensitive data', 'encryption-key'),
|
|
245
|
-
pgp_sym_decrypt(encrypted_column, 'encryption-key')
|
|
246
|
-
FROM table_name;
|
|
247
|
-
|
|
248
|
-
-- Digest functions
|
|
249
|
-
SELECT digest('data', 'sha256');
|
|
250
|
-
SELECT encode(digest('data', 'sha256'), 'hex');
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
## postgres_fdw (Foreign Data Wrapper)
|
|
254
|
-
|
|
255
|
-
```sql
|
|
256
|
-
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
|
|
257
|
-
|
|
258
|
-
-- Create foreign server
|
|
259
|
-
CREATE SERVER remote_db
|
|
260
|
-
FOREIGN DATA WRAPPER postgres_fdw
|
|
261
|
-
OPTIONS (host 'remote-host', port '5432', dbname 'remote_db');
|
|
262
|
-
|
|
263
|
-
-- User mapping
|
|
264
|
-
CREATE USER MAPPING FOR current_user
|
|
265
|
-
SERVER remote_db
|
|
266
|
-
OPTIONS (user 'remote_user', password 'remote_password');
|
|
267
|
-
|
|
268
|
-
-- Import foreign schema
|
|
269
|
-
IMPORT FOREIGN SCHEMA public
|
|
270
|
-
FROM SERVER remote_db
|
|
271
|
-
INTO remote_schema;
|
|
272
|
-
|
|
273
|
-
-- Or create specific foreign table
|
|
274
|
-
CREATE FOREIGN TABLE remote_users (
|
|
275
|
-
id INTEGER,
|
|
276
|
-
email TEXT,
|
|
277
|
-
created_at TIMESTAMPTZ
|
|
278
|
-
)
|
|
279
|
-
SERVER remote_db
|
|
280
|
-
OPTIONS (schema_name 'public', table_name 'users');
|
|
281
|
-
|
|
282
|
-
-- Query remote table (transparent)
|
|
283
|
-
SELECT * FROM remote_users WHERE created_at > NOW() - INTERVAL '1 day';
|
|
284
|
-
|
|
285
|
-
-- Join local and remote tables
|
|
286
|
-
SELECT
|
|
287
|
-
l.id,
|
|
288
|
-
l.name,
|
|
289
|
-
r.email
|
|
290
|
-
FROM local_table l
|
|
291
|
-
JOIN remote_users r ON l.user_id = r.id;
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
## pg_repack (Online Table Reorganization)
|
|
295
|
-
|
|
296
|
-
```sql
|
|
297
|
-
CREATE EXTENSION IF NOT EXISTS pg_repack;
|
|
298
|
-
|
|
299
|
-
-- Repack table (removes bloat, rebuilds indexes)
|
|
300
|
-
-- Run via command line, not SQL:
|
|
301
|
-
-- pg_repack -d mydb -t users
|
|
302
|
-
|
|
303
|
-
-- Check bloat before repack
|
|
304
|
-
SELECT
|
|
305
|
-
schemaname,
|
|
306
|
-
tablename,
|
|
307
|
-
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size,
|
|
308
|
-
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename) -
|
|
309
|
-
pg_relation_size(schemaname||'.'||tablename)) as index_size
|
|
310
|
-
FROM pg_tables
|
|
311
|
-
WHERE schemaname = 'public'
|
|
312
|
-
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
|
|
313
|
-
|
|
314
|
-
-- Repack entire database
|
|
315
|
-
-- pg_repack -d mydb
|
|
316
|
-
|
|
317
|
-
-- Repack with custom order
|
|
318
|
-
-- pg_repack -d mydb -t users -o "created_at DESC"
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
## timescaledb (Time-Series Data)
|
|
322
|
-
|
|
323
|
-
```sql
|
|
324
|
-
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
|
325
|
-
|
|
326
|
-
-- Create hypertable (must have time column)
|
|
327
|
-
CREATE TABLE metrics (
|
|
328
|
-
time TIMESTAMPTZ NOT NULL,
|
|
329
|
-
device_id INTEGER,
|
|
330
|
-
temperature DOUBLE PRECISION,
|
|
331
|
-
humidity DOUBLE PRECISION
|
|
332
|
-
);
|
|
333
|
-
|
|
334
|
-
-- Convert to hypertable
|
|
335
|
-
SELECT create_hypertable('metrics', 'time');
|
|
336
|
-
|
|
337
|
-
-- Set chunk interval (default 7 days)
|
|
338
|
-
SELECT set_chunk_time_interval('metrics', INTERVAL '1 day');
|
|
339
|
-
|
|
340
|
-
-- Add compression
|
|
341
|
-
ALTER TABLE metrics SET (
|
|
342
|
-
timescaledb.compress,
|
|
343
|
-
timescaledb.compress_segmentby = 'device_id',
|
|
344
|
-
timescaledb.compress_orderby = 'time DESC'
|
|
345
|
-
);
|
|
346
|
-
|
|
347
|
-
-- Automatic compression policy (compress chunks older than 7 days)
|
|
348
|
-
SELECT add_compression_policy('metrics', INTERVAL '7 days');
|
|
349
|
-
|
|
350
|
-
-- Retention policy (drop chunks older than 30 days)
|
|
351
|
-
SELECT add_retention_policy('metrics', INTERVAL '30 days');
|
|
352
|
-
|
|
353
|
-
-- Continuous aggregates (materialized views for time-series)
|
|
354
|
-
CREATE MATERIALIZED VIEW metrics_hourly
|
|
355
|
-
WITH (timescaledb.continuous) AS
|
|
356
|
-
SELECT
|
|
357
|
-
time_bucket('1 hour', time) AS bucket,
|
|
358
|
-
device_id,
|
|
359
|
-
AVG(temperature) as avg_temp,
|
|
360
|
-
MAX(temperature) as max_temp,
|
|
361
|
-
MIN(temperature) as min_temp
|
|
362
|
-
FROM metrics
|
|
363
|
-
GROUP BY bucket, device_id;
|
|
364
|
-
|
|
365
|
-
-- Refresh policy
|
|
366
|
-
SELECT add_continuous_aggregate_policy('metrics_hourly',
|
|
367
|
-
start_offset => INTERVAL '3 hours',
|
|
368
|
-
end_offset => INTERVAL '1 hour',
|
|
369
|
-
schedule_interval => INTERVAL '1 hour'
|
|
370
|
-
);
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
## Extension Recommendations by Use Case
|
|
374
|
-
|
|
375
|
-
**Query Performance Monitoring:**
|
|
376
|
-
- `pg_stat_statements` (essential)
|
|
377
|
-
- `pg_stat_kcache` (cache hit statistics)
|
|
378
|
-
|
|
379
|
-
**Text Search:**
|
|
380
|
-
- `pg_trgm` (fuzzy matching, LIKE optimization)
|
|
381
|
-
- Built-in full-text search (no extension needed)
|
|
382
|
-
|
|
383
|
-
**Spatial Data:**
|
|
384
|
-
- `postgis` (comprehensive spatial features)
|
|
385
|
-
|
|
386
|
-
**Vector Embeddings / AI:**
|
|
387
|
-
- `pgvector` (for semantic search, RAG applications)
|
|
388
|
-
|
|
389
|
-
**Time-Series:**
|
|
390
|
-
- `timescaledb` (automatic partitioning, compression)
|
|
391
|
-
|
|
392
|
-
**Data Security:**
|
|
393
|
-
- `pgcrypto` (hashing, encryption)
|
|
394
|
-
- `pg_audit` (audit logging)
|
|
395
|
-
|
|
396
|
-
**UUID Support:**
|
|
397
|
-
- `uuid-ossp` (UUID generation)
|
|
398
|
-
|
|
399
|
-
**Cross-Database Queries:**
|
|
400
|
-
- `postgres_fdw` (query remote PostgreSQL)
|
|
401
|
-
- `file_fdw` (query CSV files)
|
|
402
|
-
|
|
403
|
-
**Table Maintenance:**
|
|
404
|
-
- `pg_repack` (online bloat removal)
|
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
# JSONB Operations
|
|
2
|
-
|
|
3
|
-
## JSONB vs JSON
|
|
4
|
-
|
|
5
|
-
```sql
|
|
6
|
-
-- Use JSONB (binary, indexed, faster)
|
|
7
|
-
CREATE TABLE documents (
|
|
8
|
-
id SERIAL PRIMARY KEY,
|
|
9
|
-
data JSONB NOT NULL
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
-- NOT json (text storage, no indexing)
|
|
13
|
-
-- Only use json if you need to preserve exact formatting/whitespace
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## JSONB Operators
|
|
17
|
-
|
|
18
|
-
### Retrieval Operators
|
|
19
|
-
|
|
20
|
-
```sql
|
|
21
|
-
-- -> returns JSONB
|
|
22
|
-
SELECT data -> 'user' FROM documents; -- {"id": 123, "name": "Alice"}
|
|
23
|
-
SELECT data -> 'user' -> 'name' FROM documents; -- "Alice" (still JSONB)
|
|
24
|
-
|
|
25
|
-
-- ->> returns text
|
|
26
|
-
SELECT data ->> 'status' FROM documents; -- active (text)
|
|
27
|
-
SELECT data -> 'user' ->> 'name' FROM documents; -- Alice (text)
|
|
28
|
-
|
|
29
|
-
-- #> for nested paths (JSONB)
|
|
30
|
-
SELECT data #> '{user,address,city}' FROM documents; -- "NYC" (JSONB)
|
|
31
|
-
|
|
32
|
-
-- #>> for nested paths (text)
|
|
33
|
-
SELECT data #>> '{user,address,city}' FROM documents; -- NYC (text)
|
|
34
|
-
|
|
35
|
-
-- Array access
|
|
36
|
-
SELECT data -> 'tags' -> 0 FROM documents; -- First tag
|
|
37
|
-
SELECT jsonb_array_elements(data -> 'tags') FROM documents; -- Expand array
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Containment Operators
|
|
41
|
-
|
|
42
|
-
```sql
|
|
43
|
-
-- @> contains (most useful for indexing)
|
|
44
|
-
SELECT * FROM documents WHERE data @> '{"status": "active"}';
|
|
45
|
-
SELECT * FROM documents WHERE data @> '{"tags": ["postgresql"]}';
|
|
46
|
-
SELECT * FROM documents WHERE data -> 'user' @> '{"role": "admin"}';
|
|
47
|
-
|
|
48
|
-
-- <@ is contained by
|
|
49
|
-
SELECT * FROM documents WHERE '{"status": "active"}' <@ data;
|
|
50
|
-
|
|
51
|
-
-- ? key exists
|
|
52
|
-
SELECT * FROM documents WHERE data ? 'email';
|
|
53
|
-
SELECT * FROM documents WHERE data -> 'user' ? 'email';
|
|
54
|
-
|
|
55
|
-
-- ?| any key exists
|
|
56
|
-
SELECT * FROM documents WHERE data ?| ARRAY['email', 'phone'];
|
|
57
|
-
|
|
58
|
-
-- ?& all keys exist
|
|
59
|
-
SELECT * FROM documents WHERE data ?& ARRAY['email', 'phone'];
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Modification Operators
|
|
63
|
-
|
|
64
|
-
```sql
|
|
65
|
-
-- || concatenate/merge (shallow)
|
|
66
|
-
UPDATE documents SET data = data || '{"updated_at": "2024-01-01"}'::jsonb;
|
|
67
|
-
|
|
68
|
-
-- - remove key
|
|
69
|
-
UPDATE documents SET data = data - 'temp_field';
|
|
70
|
-
|
|
71
|
-
-- #- remove nested path
|
|
72
|
-
UPDATE documents SET data = data #- '{user,temp_field}';
|
|
73
|
-
|
|
74
|
-
-- jsonb_set for deep updates
|
|
75
|
-
UPDATE documents
|
|
76
|
-
SET data = jsonb_set(data, '{user,email}', '"new@example.com"'::jsonb)
|
|
77
|
-
WHERE id = 123;
|
|
78
|
-
|
|
79
|
-
-- jsonb_insert
|
|
80
|
-
UPDATE documents
|
|
81
|
-
SET data = jsonb_insert(data, '{tags,0}', '"new-tag"'::jsonb)
|
|
82
|
-
WHERE id = 123;
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## JSONB Indexing
|
|
86
|
-
|
|
87
|
-
### GIN Index (Default for containment)
|
|
88
|
-
|
|
89
|
-
```sql
|
|
90
|
-
-- Standard GIN index (for @>, ?, ?&, ?| operators)
|
|
91
|
-
CREATE INDEX idx_documents_data ON documents USING GIN(data);
|
|
92
|
-
|
|
93
|
-
-- Queries that benefit:
|
|
94
|
-
SELECT * FROM documents WHERE data @> '{"status": "active"}';
|
|
95
|
-
SELECT * FROM documents WHERE data ? 'email';
|
|
96
|
-
SELECT * FROM documents WHERE data ?& ARRAY['email', 'phone'];
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### GIN Index on Specific Path
|
|
100
|
-
|
|
101
|
-
```sql
|
|
102
|
-
-- Index specific path for better performance
|
|
103
|
-
CREATE INDEX idx_documents_status ON documents USING GIN((data -> 'status'));
|
|
104
|
-
CREATE INDEX idx_documents_user ON documents USING GIN((data -> 'user'));
|
|
105
|
-
|
|
106
|
-
-- Smaller index, faster queries on specific paths
|
|
107
|
-
SELECT * FROM documents WHERE data -> 'status' @> '"active"';
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### GIN Index with jsonb_path_ops
|
|
111
|
-
|
|
112
|
-
```sql
|
|
113
|
-
-- Smaller, faster index for @> queries only
|
|
114
|
-
CREATE INDEX idx_documents_path_ops ON documents USING GIN(data jsonb_path_ops);
|
|
115
|
-
|
|
116
|
-
-- Good for: WHERE data @> '{"key": "value"}'
|
|
117
|
-
-- Bad for: WHERE data ? 'key' (not supported)
|
|
118
|
-
-- ~20% smaller than default GIN, faster for containment
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### B-tree Index on Extracted Values
|
|
122
|
-
|
|
123
|
-
```sql
|
|
124
|
-
-- Index extracted value (most selective)
|
|
125
|
-
CREATE INDEX idx_documents_status_btree ON documents((data ->> 'status'));
|
|
126
|
-
CREATE INDEX idx_documents_user_id ON documents((CAST(data -> 'user' ->> 'id' AS INTEGER)));
|
|
127
|
-
|
|
128
|
-
-- Enables efficient equality and range queries
|
|
129
|
-
SELECT * FROM documents WHERE data ->> 'status' = 'active';
|
|
130
|
-
SELECT * FROM documents WHERE CAST(data -> 'user' ->> 'id' AS INTEGER) > 1000;
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Expression Index for Nested Values
|
|
134
|
-
|
|
135
|
-
```sql
|
|
136
|
-
-- Index deep nested value
|
|
137
|
-
CREATE INDEX idx_documents_user_email ON documents((data #>> '{user,email}'));
|
|
138
|
-
|
|
139
|
-
-- Enables:
|
|
140
|
-
SELECT * FROM documents WHERE data #>> '{user,email}' = 'user@example.com';
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Query Patterns
|
|
144
|
-
|
|
145
|
-
### Filtering
|
|
146
|
-
|
|
147
|
-
```sql
|
|
148
|
-
-- Exact match
|
|
149
|
-
SELECT * FROM documents WHERE data @> '{"status": "active"}';
|
|
150
|
-
|
|
151
|
-
-- Multiple conditions
|
|
152
|
-
SELECT * FROM documents
|
|
153
|
-
WHERE data @> '{"status": "active", "verified": true}';
|
|
154
|
-
|
|
155
|
-
-- Nested conditions
|
|
156
|
-
SELECT * FROM documents
|
|
157
|
-
WHERE data -> 'user' @> '{"role": "admin"}';
|
|
158
|
-
|
|
159
|
-
-- Array containment
|
|
160
|
-
SELECT * FROM documents
|
|
161
|
-
WHERE data -> 'tags' @> '["postgresql"]';
|
|
162
|
-
|
|
163
|
-
-- Text search in JSONB value
|
|
164
|
-
SELECT * FROM documents
|
|
165
|
-
WHERE data ->> 'title' ILIKE '%postgres%';
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
### Aggregation
|
|
169
|
-
|
|
170
|
-
```sql
|
|
171
|
-
-- Extract and aggregate
|
|
172
|
-
SELECT
|
|
173
|
-
data ->> 'status' as status,
|
|
174
|
-
COUNT(*) as count,
|
|
175
|
-
AVG(CAST(data ->> 'score' AS FLOAT)) as avg_score
|
|
176
|
-
FROM documents
|
|
177
|
-
GROUP BY data ->> 'status';
|
|
178
|
-
|
|
179
|
-
-- Array aggregation
|
|
180
|
-
SELECT
|
|
181
|
-
jsonb_agg(data -> 'user') as users
|
|
182
|
-
FROM documents
|
|
183
|
-
WHERE data @> '{"status": "active"}';
|
|
184
|
-
|
|
185
|
-
-- Object aggregation
|
|
186
|
-
SELECT
|
|
187
|
-
jsonb_object_agg(id, data -> 'user') as user_map
|
|
188
|
-
FROM documents
|
|
189
|
-
WHERE data ? 'user';
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### Array Operations
|
|
193
|
-
|
|
194
|
-
```sql
|
|
195
|
-
-- Expand array to rows
|
|
196
|
-
SELECT
|
|
197
|
-
id,
|
|
198
|
-
jsonb_array_elements(data -> 'tags') as tag
|
|
199
|
-
FROM documents;
|
|
200
|
-
|
|
201
|
-
-- Expand array to text
|
|
202
|
-
SELECT
|
|
203
|
-
id,
|
|
204
|
-
jsonb_array_elements_text(data -> 'tags') as tag
|
|
205
|
-
FROM documents;
|
|
206
|
-
|
|
207
|
-
-- Array length
|
|
208
|
-
SELECT * FROM documents
|
|
209
|
-
WHERE jsonb_array_length(data -> 'tags') > 5;
|
|
210
|
-
|
|
211
|
-
-- Filter array elements
|
|
212
|
-
SELECT
|
|
213
|
-
id,
|
|
214
|
-
jsonb_path_query_array(data, '$.tags[*] ? (@ like_regex "^post.*" flag "i")') as postgres_tags
|
|
215
|
-
FROM documents;
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
## JSONB Functions
|
|
219
|
-
|
|
220
|
-
```sql
|
|
221
|
-
-- Build JSONB
|
|
222
|
-
SELECT jsonb_build_object('id', 123, 'name', 'Alice', 'active', true);
|
|
223
|
-
SELECT jsonb_build_array(1, 2, 'three', true);
|
|
224
|
-
|
|
225
|
-
-- Object keys
|
|
226
|
-
SELECT jsonb_object_keys(data) FROM documents;
|
|
227
|
-
|
|
228
|
-
-- Pretty print
|
|
229
|
-
SELECT jsonb_pretty(data) FROM documents;
|
|
230
|
-
|
|
231
|
-
-- Type checking
|
|
232
|
-
SELECT jsonb_typeof(data -> 'score'); -- number, string, array, object, boolean, null
|
|
233
|
-
|
|
234
|
-
-- Strip nulls
|
|
235
|
-
SELECT jsonb_strip_nulls(data) FROM documents;
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## JSONB Path Queries (Postgres 12+)
|
|
239
|
-
|
|
240
|
-
```sql
|
|
241
|
-
-- jsonb_path_query for flexible queries
|
|
242
|
-
SELECT jsonb_path_query(data, '$.user.address.city') FROM documents;
|
|
243
|
-
|
|
244
|
-
-- With filters
|
|
245
|
-
SELECT jsonb_path_query(data, '$.items[*] ? (@.price > 100)') FROM documents;
|
|
246
|
-
|
|
247
|
-
-- Exists check
|
|
248
|
-
SELECT * FROM documents
|
|
249
|
-
WHERE jsonb_path_exists(data, '$.tags[*] ? (@ == "postgresql")');
|
|
250
|
-
|
|
251
|
-
-- Array result
|
|
252
|
-
SELECT jsonb_path_query_array(data, '$.items[*].name') FROM documents;
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
## Performance Best Practices
|
|
256
|
-
|
|
257
|
-
### DO
|
|
258
|
-
|
|
259
|
-
```sql
|
|
260
|
-
-- Use specific path indexes for hot paths
|
|
261
|
-
CREATE INDEX idx_docs_status ON documents((data ->> 'status'));
|
|
262
|
-
|
|
263
|
-
-- Use GIN index with path ops for containment-only queries
|
|
264
|
-
CREATE INDEX idx_docs_pathops ON documents USING GIN(data jsonb_path_ops);
|
|
265
|
-
|
|
266
|
-
-- Extract frequently queried values to columns
|
|
267
|
-
ALTER TABLE documents ADD COLUMN status TEXT GENERATED ALWAYS AS (data ->> 'status') STORED;
|
|
268
|
-
CREATE INDEX idx_docs_status_col ON documents(status);
|
|
269
|
-
|
|
270
|
-
-- Use @> for indexed queries
|
|
271
|
-
WHERE data @> '{"status": "active"}' -- Fast with GIN index
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### DON'T
|
|
275
|
-
|
|
276
|
-
```sql
|
|
277
|
-
-- Don't use ->> with @> (mixing types)
|
|
278
|
-
WHERE data @> '{"score": "100"}' -- Wrong, comparing string
|
|
279
|
-
WHERE CAST(data ->> 'score' AS INTEGER) = 100 -- Better
|
|
280
|
-
|
|
281
|
-
-- Don't query without indexes
|
|
282
|
-
SELECT * FROM documents WHERE data -> 'nested' -> 'deep' ->> 'value' = 'x';
|
|
283
|
-
-- Add index: CREATE INDEX ON documents((data #>> '{nested,deep,value}'));
|
|
284
|
-
|
|
285
|
-
-- Don't store huge arrays in JSONB
|
|
286
|
-
-- If you have 10k+ elements, use a separate table
|
|
287
|
-
|
|
288
|
-
-- Don't use JSONB for high-update columns
|
|
289
|
-
-- Extract to regular column if updated frequently
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
## Schema Validation (Postgres 15+)
|
|
293
|
-
|
|
294
|
-
```sql
|
|
295
|
-
-- Using CHECK constraints
|
|
296
|
-
ALTER TABLE documents
|
|
297
|
-
ADD CONSTRAINT check_data_schema
|
|
298
|
-
CHECK (
|
|
299
|
-
jsonb_typeof(data) = 'object' AND
|
|
300
|
-
data ? 'id' AND
|
|
301
|
-
data ? 'status' AND
|
|
302
|
-
data ->> 'status' IN ('active', 'pending', 'archived')
|
|
303
|
-
);
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
## Migration Patterns
|
|
307
|
-
|
|
308
|
-
```sql
|
|
309
|
-
-- Add JSONB column
|
|
310
|
-
ALTER TABLE users ADD COLUMN metadata JSONB DEFAULT '{}'::jsonb;
|
|
311
|
-
|
|
312
|
-
-- Migrate existing columns to JSONB
|
|
313
|
-
UPDATE users SET metadata = jsonb_build_object(
|
|
314
|
-
'preferences', preferences,
|
|
315
|
-
'settings', settings,
|
|
316
|
-
'flags', flags
|
|
317
|
-
);
|
|
318
|
-
|
|
319
|
-
-- Drop old columns after validation
|
|
320
|
-
ALTER TABLE users DROP COLUMN preferences, DROP COLUMN settings, DROP COLUMN flags;
|
|
321
|
-
```
|