@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,265 +0,0 @@
|
|
|
1
|
-
# Performance Optimization
|
|
2
|
-
|
|
3
|
-
## EXPLAIN ANALYZE Fundamentals
|
|
4
|
-
|
|
5
|
-
```sql
|
|
6
|
-
-- Basic EXPLAIN ANALYZE
|
|
7
|
-
EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
|
|
8
|
-
SELECT u.id, u.name, COUNT(o.id) as order_count
|
|
9
|
-
FROM users u
|
|
10
|
-
LEFT JOIN orders o ON u.id = o.user_id
|
|
11
|
-
WHERE u.created_at > '2024-01-01'
|
|
12
|
-
GROUP BY u.id, u.name;
|
|
13
|
-
|
|
14
|
-
-- Key metrics to watch:
|
|
15
|
-
-- Planning Time: Time spent creating query plan
|
|
16
|
-
-- Execution Time: Actual query execution time
|
|
17
|
-
-- Shared Hit Blocks: Data found in cache (good)
|
|
18
|
-
-- Shared Read Blocks: Data read from disk (slow)
|
|
19
|
-
-- Rows: Estimated vs actual row counts
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Reading EXPLAIN Output
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
Seq Scan on users (cost=0.00..1234.56 rows=10000 width=32)
|
|
26
|
-
^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^
|
|
27
|
-
startup..total cost estimate row width
|
|
28
|
-
|
|
29
|
-
Actual time: 0.123..45.678 rows=9876 loops=1
|
|
30
|
-
^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^
|
|
31
|
-
first..last row actual iterations
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Node types (fastest to slowest):**
|
|
35
|
-
- Index Only Scan - Best, data from index only
|
|
36
|
-
- Index Scan - Good, uses index + heap lookup
|
|
37
|
-
- Bitmap Index Scan - Good for multiple conditions
|
|
38
|
-
- Seq Scan - Table scan, OK for small tables
|
|
39
|
-
- Seq Scan on large table - Problem, needs index
|
|
40
|
-
|
|
41
|
-
## Index Strategies
|
|
42
|
-
|
|
43
|
-
### B-tree Indexes (Default)
|
|
44
|
-
|
|
45
|
-
```sql
|
|
46
|
-
-- Single column index
|
|
47
|
-
CREATE INDEX idx_users_email ON users(email);
|
|
48
|
-
|
|
49
|
-
-- Multi-column index (order matters!)
|
|
50
|
-
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);
|
|
51
|
-
-- Good for: WHERE user_id = X ORDER BY created_at DESC
|
|
52
|
-
-- Good for: WHERE user_id = X AND created_at > Y
|
|
53
|
-
-- Bad for: WHERE created_at > Y (doesn't use index)
|
|
54
|
-
|
|
55
|
-
-- Partial index (smaller, faster)
|
|
56
|
-
CREATE INDEX idx_active_users ON users(email) WHERE active = true;
|
|
57
|
-
|
|
58
|
-
-- Expression index
|
|
59
|
-
CREATE INDEX idx_users_lower_email ON users(LOWER(email));
|
|
60
|
-
-- Enables: WHERE LOWER(email) = 'user@example.com'
|
|
61
|
-
|
|
62
|
-
-- Covering index (includes extra columns)
|
|
63
|
-
CREATE INDEX idx_orders_covering ON orders(user_id) INCLUDE (total, created_at);
|
|
64
|
-
-- Enables Index Only Scan
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### GIN Indexes (JSONB, arrays, full-text)
|
|
68
|
-
|
|
69
|
-
```sql
|
|
70
|
-
-- JSONB containment
|
|
71
|
-
CREATE INDEX idx_data_gin ON documents USING GIN(data);
|
|
72
|
-
-- Enables: WHERE data @> '{"status": "active"}'
|
|
73
|
-
|
|
74
|
-
-- JSONB specific paths
|
|
75
|
-
CREATE INDEX idx_data_status ON documents USING GIN((data -> 'status'));
|
|
76
|
-
|
|
77
|
-
-- Array operations
|
|
78
|
-
CREATE INDEX idx_tags_gin ON posts USING GIN(tags);
|
|
79
|
-
-- Enables: WHERE tags @> ARRAY['postgresql', 'performance']
|
|
80
|
-
|
|
81
|
-
-- Full-text search
|
|
82
|
-
CREATE INDEX idx_content_fts ON articles USING GIN(to_tsvector('english', content));
|
|
83
|
-
-- Enables: WHERE to_tsvector('english', content) @@ to_tsquery('postgresql & performance')
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### GiST Indexes (Spatial, ranges, nearest neighbor)
|
|
87
|
-
|
|
88
|
-
```sql
|
|
89
|
-
-- PostGIS spatial index
|
|
90
|
-
CREATE INDEX idx_locations_geom ON locations USING GIST(geom);
|
|
91
|
-
-- Enables: WHERE ST_DWithin(geom, point, 1000)
|
|
92
|
-
|
|
93
|
-
-- Range types
|
|
94
|
-
CREATE INDEX idx_bookings_range ON bookings USING GIST(during);
|
|
95
|
-
-- Enables: WHERE during && '[2024-01-01, 2024-01-31]'::daterange
|
|
96
|
-
|
|
97
|
-
-- Nearest neighbor (KNN)
|
|
98
|
-
CREATE INDEX idx_locations_gist ON locations USING GIST(coordinates);
|
|
99
|
-
-- Enables: ORDER BY coordinates <-> point('0,0') LIMIT 10
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### BRIN Indexes (Large, naturally ordered tables)
|
|
103
|
-
|
|
104
|
-
```sql
|
|
105
|
-
-- Time-series data (insert-only, sorted by time)
|
|
106
|
-
CREATE INDEX idx_metrics_time_brin ON metrics USING BRIN(timestamp);
|
|
107
|
-
-- Very small index, good for WHERE timestamp > NOW() - INTERVAL '1 day'
|
|
108
|
-
|
|
109
|
-
-- Works well with:
|
|
110
|
-
-- - Log tables
|
|
111
|
-
-- - Time-series metrics
|
|
112
|
-
-- - Append-only tables with natural order
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Statistics and Planner
|
|
116
|
-
|
|
117
|
-
```sql
|
|
118
|
-
-- Update statistics (do after bulk changes)
|
|
119
|
-
ANALYZE users;
|
|
120
|
-
ANALYZE; -- All tables
|
|
121
|
-
|
|
122
|
-
-- Check statistics freshness
|
|
123
|
-
SELECT schemaname, tablename, last_analyze, last_autoanalyze
|
|
124
|
-
FROM pg_stat_user_tables
|
|
125
|
-
WHERE schemaname = 'public';
|
|
126
|
-
|
|
127
|
-
-- Increase statistics target for high-cardinality columns
|
|
128
|
-
ALTER TABLE users ALTER COLUMN email SET STATISTICS 1000;
|
|
129
|
-
-- Default is 100, increase for better selectivity estimates
|
|
130
|
-
|
|
131
|
-
-- View column statistics
|
|
132
|
-
SELECT * FROM pg_stats WHERE tablename = 'users' AND attname = 'email';
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Query Optimization Patterns
|
|
136
|
-
|
|
137
|
-
### Problem: Sequential scan on large table
|
|
138
|
-
|
|
139
|
-
```sql
|
|
140
|
-
-- Bad: Full table scan
|
|
141
|
-
SELECT * FROM orders WHERE user_id = 123;
|
|
142
|
-
-- Solution: Add index
|
|
143
|
-
CREATE INDEX idx_orders_user ON orders(user_id);
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Problem: Index not used
|
|
147
|
-
|
|
148
|
-
```sql
|
|
149
|
-
-- Bad: Function prevents index usage
|
|
150
|
-
SELECT * FROM users WHERE LOWER(email) = 'user@example.com';
|
|
151
|
-
-- Solution: Expression index
|
|
152
|
-
CREATE INDEX idx_users_email_lower ON users(LOWER(email));
|
|
153
|
-
|
|
154
|
-
-- Bad: Implicit type conversion
|
|
155
|
-
SELECT * FROM users WHERE id = '123'; -- id is integer
|
|
156
|
-
-- Solution: Use correct type
|
|
157
|
-
SELECT * FROM users WHERE id = 123;
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Problem: Large JOIN inefficiency
|
|
161
|
-
|
|
162
|
-
```sql
|
|
163
|
-
-- Bad: Nested loop on large tables
|
|
164
|
-
EXPLAIN ANALYZE
|
|
165
|
-
SELECT * FROM orders o JOIN users u ON o.user_id = u.id;
|
|
166
|
-
|
|
167
|
-
-- Solutions:
|
|
168
|
-
-- 1. Ensure indexes exist on join columns
|
|
169
|
-
CREATE INDEX idx_orders_user ON orders(user_id);
|
|
170
|
-
-- 2. Update statistics
|
|
171
|
-
ANALYZE orders, users;
|
|
172
|
-
-- 3. Increase work_mem if hash join would be better
|
|
173
|
-
SET work_mem = '256MB';
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Problem: COUNT(*) slow
|
|
177
|
-
|
|
178
|
-
```sql
|
|
179
|
-
-- Bad: Full table scan
|
|
180
|
-
SELECT COUNT(*) FROM orders WHERE status = 'pending';
|
|
181
|
-
|
|
182
|
-
-- Solutions:
|
|
183
|
-
-- 1. Partial index
|
|
184
|
-
CREATE INDEX idx_orders_pending ON orders(id) WHERE status = 'pending';
|
|
185
|
-
|
|
186
|
-
-- 2. Approximate count for large tables
|
|
187
|
-
SELECT reltuples::bigint FROM pg_class WHERE relname = 'orders';
|
|
188
|
-
|
|
189
|
-
-- 3. Materialized count for reports
|
|
190
|
-
CREATE MATERIALIZED VIEW order_counts AS
|
|
191
|
-
SELECT status, COUNT(*) FROM orders GROUP BY status;
|
|
192
|
-
CREATE UNIQUE INDEX ON order_counts(status);
|
|
193
|
-
REFRESH MATERIALIZED VIEW CONCURRENTLY order_counts;
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## Connection Pooling
|
|
197
|
-
|
|
198
|
-
```sql
|
|
199
|
-
-- Check active connections
|
|
200
|
-
SELECT count(*) FROM pg_stat_activity WHERE state = 'active';
|
|
201
|
-
|
|
202
|
-
-- Connection limit reached? Use pgBouncer
|
|
203
|
-
-- pgbouncer.ini:
|
|
204
|
-
-- [databases]
|
|
205
|
-
-- mydb = host=localhost port=5432 dbname=mydb
|
|
206
|
-
-- [pgbouncer]
|
|
207
|
-
-- pool_mode = transaction
|
|
208
|
-
-- max_client_conn = 1000
|
|
209
|
-
-- default_pool_size = 25
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
## Configuration Tuning
|
|
213
|
-
|
|
214
|
-
```sql
|
|
215
|
-
-- Memory settings (for 16GB RAM server)
|
|
216
|
-
shared_buffers = 4GB -- 25% of RAM
|
|
217
|
-
effective_cache_size = 12GB -- 75% of RAM
|
|
218
|
-
work_mem = 64MB -- Per operation
|
|
219
|
-
maintenance_work_mem = 1GB -- For VACUUM, CREATE INDEX
|
|
220
|
-
|
|
221
|
-
-- Checkpoint tuning
|
|
222
|
-
checkpoint_completion_target = 0.9
|
|
223
|
-
wal_buffers = 16MB
|
|
224
|
-
checkpoint_timeout = 10min
|
|
225
|
-
|
|
226
|
-
-- Query planner
|
|
227
|
-
random_page_cost = 1.1 -- Lower for SSD (default 4.0)
|
|
228
|
-
effective_io_concurrency = 200 -- Higher for SSD
|
|
229
|
-
|
|
230
|
-
-- Parallelism (Postgres 10+)
|
|
231
|
-
max_parallel_workers_per_gather = 4
|
|
232
|
-
max_parallel_workers = 8
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Performance Monitoring
|
|
236
|
-
|
|
237
|
-
```sql
|
|
238
|
-
-- Slow queries (requires pg_stat_statements)
|
|
239
|
-
SELECT
|
|
240
|
-
query,
|
|
241
|
-
calls,
|
|
242
|
-
mean_exec_time,
|
|
243
|
-
max_exec_time,
|
|
244
|
-
stddev_exec_time
|
|
245
|
-
FROM pg_stat_statements
|
|
246
|
-
ORDER BY mean_exec_time DESC
|
|
247
|
-
LIMIT 20;
|
|
248
|
-
|
|
249
|
-
-- Cache hit ratio (should be > 99%)
|
|
250
|
-
SELECT
|
|
251
|
-
sum(blks_hit) * 100.0 / sum(blks_hit + blks_read) as cache_hit_ratio
|
|
252
|
-
FROM pg_stat_database;
|
|
253
|
-
|
|
254
|
-
-- Index usage
|
|
255
|
-
SELECT
|
|
256
|
-
schemaname,
|
|
257
|
-
tablename,
|
|
258
|
-
indexname,
|
|
259
|
-
idx_scan,
|
|
260
|
-
idx_tup_read,
|
|
261
|
-
idx_tup_fetch
|
|
262
|
-
FROM pg_stat_user_indexes
|
|
263
|
-
WHERE idx_scan = 0
|
|
264
|
-
AND indexrelname NOT LIKE '%pkey'; -- Unused indexes
|
|
265
|
-
```
|
|
@@ -1,446 +0,0 @@
|
|
|
1
|
-
# PostgreSQL Replication
|
|
2
|
-
|
|
3
|
-
## Streaming Replication (Physical)
|
|
4
|
-
|
|
5
|
-
### Primary Server Setup
|
|
6
|
-
|
|
7
|
-
```sql
|
|
8
|
-
-- postgresql.conf
|
|
9
|
-
wal_level = replica
|
|
10
|
-
max_wal_senders = 10
|
|
11
|
-
max_replication_slots = 10
|
|
12
|
-
wal_keep_size = 1GB # Or 1024MB for older versions
|
|
13
|
-
hot_standby = on
|
|
14
|
-
archive_mode = on
|
|
15
|
-
archive_command = 'cp %p /var/lib/postgresql/wal_archive/%f'
|
|
16
|
-
|
|
17
|
-
-- pg_hba.conf (allow replication connections)
|
|
18
|
-
host replication replicator 10.0.0.0/24 scram-sha-256
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
```sql
|
|
22
|
-
-- Create replication user
|
|
23
|
-
CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD 'secure_password';
|
|
24
|
-
|
|
25
|
-
-- Create replication slot (prevents WAL deletion)
|
|
26
|
-
SELECT * FROM pg_create_physical_replication_slot('replica_1');
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Standby Server Setup
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Stop PostgreSQL on standby
|
|
33
|
-
systemctl stop postgresql
|
|
34
|
-
|
|
35
|
-
# Remove data directory
|
|
36
|
-
rm -rf /var/lib/postgresql/14/main/*
|
|
37
|
-
|
|
38
|
-
# Base backup from primary
|
|
39
|
-
pg_basebackup -h primary-host -D /var/lib/postgresql/14/main \
|
|
40
|
-
-U replicator -P -v -R -X stream -S replica_1
|
|
41
|
-
|
|
42
|
-
# -R creates standby.signal and recovery config
|
|
43
|
-
# -X stream: stream WAL during backup
|
|
44
|
-
# -S replica_1: use replication slot
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
```sql
|
|
48
|
-
-- standby.signal file created by pg_basebackup -R
|
|
49
|
-
-- recovery parameters in postgresql.auto.conf:
|
|
50
|
-
primary_conninfo = 'host=primary-host port=5432 user=replicator password=secure_password'
|
|
51
|
-
primary_slot_name = 'replica_1'
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Monitoring Replication
|
|
55
|
-
|
|
56
|
-
```sql
|
|
57
|
-
-- On primary: Check replication status
|
|
58
|
-
SELECT
|
|
59
|
-
client_addr,
|
|
60
|
-
state,
|
|
61
|
-
sync_state,
|
|
62
|
-
sent_lsn,
|
|
63
|
-
write_lsn,
|
|
64
|
-
flush_lsn,
|
|
65
|
-
replay_lsn,
|
|
66
|
-
pg_wal_lsn_diff(sent_lsn, replay_lsn) as lag_bytes
|
|
67
|
-
FROM pg_stat_replication;
|
|
68
|
-
|
|
69
|
-
-- On standby: Check replay lag
|
|
70
|
-
SELECT
|
|
71
|
-
now() - pg_last_xact_replay_timestamp() AS replication_lag;
|
|
72
|
-
|
|
73
|
-
-- Check replication slots
|
|
74
|
-
SELECT
|
|
75
|
-
slot_name,
|
|
76
|
-
slot_type,
|
|
77
|
-
active,
|
|
78
|
-
restart_lsn,
|
|
79
|
-
pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn) as retained_bytes
|
|
80
|
-
FROM pg_replication_slots;
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Synchronous Replication
|
|
84
|
-
|
|
85
|
-
```sql
|
|
86
|
-
-- postgresql.conf on primary
|
|
87
|
-
synchronous_commit = on
|
|
88
|
-
synchronous_standby_names = 'FIRST 1 (replica_1, replica_2)'
|
|
89
|
-
# Waits for 1 standby to confirm before commit
|
|
90
|
-
|
|
91
|
-
# Options:
|
|
92
|
-
# FIRST n (names): Wait for n standbys
|
|
93
|
-
# ANY n (names): Wait for any n standbys
|
|
94
|
-
# name: Wait for specific standby
|
|
95
|
-
|
|
96
|
-
-- Query to check sync status
|
|
97
|
-
SELECT
|
|
98
|
-
application_name,
|
|
99
|
-
sync_state,
|
|
100
|
-
state
|
|
101
|
-
FROM pg_stat_replication;
|
|
102
|
-
-- sync_state: sync (synchronous), async, potential
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Logical Replication (Row-level)
|
|
106
|
-
|
|
107
|
-
### Publisher Setup
|
|
108
|
-
|
|
109
|
-
```sql
|
|
110
|
-
-- postgresql.conf
|
|
111
|
-
wal_level = logical
|
|
112
|
-
max_replication_slots = 10
|
|
113
|
-
max_wal_senders = 10
|
|
114
|
-
|
|
115
|
-
-- Create publication (all tables)
|
|
116
|
-
CREATE PUBLICATION my_publication FOR ALL TABLES;
|
|
117
|
-
|
|
118
|
-
-- Or specific tables
|
|
119
|
-
CREATE PUBLICATION my_publication FOR TABLE users, orders;
|
|
120
|
-
|
|
121
|
-
-- Or tables matching pattern (PG15+)
|
|
122
|
-
CREATE PUBLICATION my_publication FOR TABLES IN SCHEMA public;
|
|
123
|
-
|
|
124
|
-
-- With row filters (PG15+)
|
|
125
|
-
CREATE PUBLICATION active_users FOR TABLE users WHERE (active = true);
|
|
126
|
-
|
|
127
|
-
-- View publications
|
|
128
|
-
SELECT * FROM pg_publication;
|
|
129
|
-
SELECT * FROM pg_publication_tables;
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Subscriber Setup
|
|
133
|
-
|
|
134
|
-
```sql
|
|
135
|
-
-- Create subscription (creates replication slot on publisher)
|
|
136
|
-
CREATE SUBSCRIPTION my_subscription
|
|
137
|
-
CONNECTION 'host=publisher-host port=5432 dbname=mydb user=replicator password=pass'
|
|
138
|
-
PUBLICATION my_publication;
|
|
139
|
-
|
|
140
|
-
-- Subscription options
|
|
141
|
-
CREATE SUBSCRIPTION my_subscription
|
|
142
|
-
CONNECTION 'host=publisher-host dbname=mydb user=replicator'
|
|
143
|
-
PUBLICATION my_publication
|
|
144
|
-
WITH (
|
|
145
|
-
copy_data = true, -- Initial data copy
|
|
146
|
-
create_slot = true, -- Create replication slot
|
|
147
|
-
enabled = true, -- Start immediately
|
|
148
|
-
slot_name = 'my_sub_slot',
|
|
149
|
-
synchronous_commit = 'off' -- Performance vs durability
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
-- View subscriptions
|
|
153
|
-
SELECT * FROM pg_subscription;
|
|
154
|
-
SELECT * FROM pg_stat_subscription;
|
|
155
|
-
|
|
156
|
-
-- Manage subscription
|
|
157
|
-
ALTER SUBSCRIPTION my_subscription DISABLE;
|
|
158
|
-
ALTER SUBSCRIPTION my_subscription ENABLE;
|
|
159
|
-
ALTER SUBSCRIPTION my_subscription REFRESH PUBLICATION;
|
|
160
|
-
DROP SUBSCRIPTION my_subscription;
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Logical Replication Monitoring
|
|
164
|
-
|
|
165
|
-
```sql
|
|
166
|
-
-- On publisher: Check replication slots
|
|
167
|
-
SELECT
|
|
168
|
-
slot_name,
|
|
169
|
-
plugin,
|
|
170
|
-
slot_type,
|
|
171
|
-
active,
|
|
172
|
-
pg_wal_lsn_diff(pg_current_wal_lsn(), confirmed_flush_lsn) as lag_bytes
|
|
173
|
-
FROM pg_replication_slots
|
|
174
|
-
WHERE slot_type = 'logical';
|
|
175
|
-
|
|
176
|
-
-- On subscriber: Check subscription status
|
|
177
|
-
SELECT
|
|
178
|
-
subname,
|
|
179
|
-
pid,
|
|
180
|
-
received_lsn,
|
|
181
|
-
latest_end_lsn,
|
|
182
|
-
last_msg_send_time,
|
|
183
|
-
last_msg_receipt_time,
|
|
184
|
-
latest_end_time
|
|
185
|
-
FROM pg_stat_subscription;
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## Cascading Replication
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
Primary -> Standby1 -> Standby2
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
```sql
|
|
195
|
-
-- On Standby1 (acts as relay)
|
|
196
|
-
-- postgresql.conf
|
|
197
|
-
hot_standby = on
|
|
198
|
-
max_wal_senders = 10
|
|
199
|
-
wal_keep_size = 1GB
|
|
200
|
-
|
|
201
|
-
-- Standby2 connects to Standby1
|
|
202
|
-
-- Same setup as regular standby, but primary_conninfo points to Standby1
|
|
203
|
-
primary_conninfo = 'host=standby1-host user=replicator...'
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Delayed Replication (Delayed Standby)
|
|
207
|
-
|
|
208
|
-
```sql
|
|
209
|
-
-- On standby: postgresql.conf
|
|
210
|
-
recovery_min_apply_delay = '4h'
|
|
211
|
-
|
|
212
|
-
-- Useful for:
|
|
213
|
-
-- - Protection against accidental data deletion
|
|
214
|
-
-- - Rolling back to specific point in time
|
|
215
|
-
-- - Can promote delayed standby to recover dropped table
|
|
216
|
-
|
|
217
|
-
-- Check delay
|
|
218
|
-
SELECT now() - pg_last_xact_replay_timestamp() AS current_delay;
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
## Failover and Promotion
|
|
222
|
-
|
|
223
|
-
### Manual Failover
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
# On standby server
|
|
227
|
-
# Promote standby to primary
|
|
228
|
-
pg_ctl promote -D /var/lib/postgresql/14/main
|
|
229
|
-
|
|
230
|
-
# Or use SQL
|
|
231
|
-
SELECT pg_promote();
|
|
232
|
-
|
|
233
|
-
# Verify promotion
|
|
234
|
-
SELECT pg_is_in_recovery(); -- Should return false
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### Automatic Failover with pg_auto_failover
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
# Install pg_auto_failover
|
|
241
|
-
apt-get install pg-auto-failover
|
|
242
|
-
|
|
243
|
-
# Setup monitor node
|
|
244
|
-
pg_autoctl create monitor --hostname monitor-host --pgdata /var/lib/monitor
|
|
245
|
-
|
|
246
|
-
# Setup primary
|
|
247
|
-
pg_autoctl create postgres \
|
|
248
|
-
--hostname primary-host \
|
|
249
|
-
--pgdata /var/lib/postgresql/14/main \
|
|
250
|
-
--monitor postgres://monitor-host/pg_auto_failover
|
|
251
|
-
|
|
252
|
-
# Setup standby
|
|
253
|
-
pg_autoctl create postgres \
|
|
254
|
-
--hostname standby-host \
|
|
255
|
-
--pgdata /var/lib/postgresql/14/main \
|
|
256
|
-
--monitor postgres://monitor-host/pg_auto_failover
|
|
257
|
-
|
|
258
|
-
# Check status
|
|
259
|
-
pg_autoctl show state
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### Patroni (Production HA Solution)
|
|
263
|
-
|
|
264
|
-
```yaml
|
|
265
|
-
# patroni.yml
|
|
266
|
-
scope: postgres-cluster
|
|
267
|
-
name: node1
|
|
268
|
-
|
|
269
|
-
restapi:
|
|
270
|
-
listen: 0.0.0.0:8008
|
|
271
|
-
connect_address: node1:8008
|
|
272
|
-
|
|
273
|
-
etcd:
|
|
274
|
-
hosts: etcd1:2379,etcd2:2379,etcd3:2379
|
|
275
|
-
|
|
276
|
-
bootstrap:
|
|
277
|
-
dcs:
|
|
278
|
-
ttl: 30
|
|
279
|
-
loop_wait: 10
|
|
280
|
-
retry_timeout: 10
|
|
281
|
-
maximum_lag_on_failover: 1048576
|
|
282
|
-
postgresql:
|
|
283
|
-
use_pg_rewind: true
|
|
284
|
-
parameters:
|
|
285
|
-
max_connections: 100
|
|
286
|
-
max_wal_senders: 10
|
|
287
|
-
wal_level: replica
|
|
288
|
-
|
|
289
|
-
postgresql:
|
|
290
|
-
listen: 0.0.0.0:5432
|
|
291
|
-
connect_address: node1:5432
|
|
292
|
-
data_dir: /var/lib/postgresql/14/main
|
|
293
|
-
authentication:
|
|
294
|
-
replication:
|
|
295
|
-
username: replicator
|
|
296
|
-
password: repl_password
|
|
297
|
-
superuser:
|
|
298
|
-
username: postgres
|
|
299
|
-
password: postgres_password
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
## Connection Pooling for HA
|
|
303
|
-
|
|
304
|
-
### PgBouncer Configuration
|
|
305
|
-
|
|
306
|
-
```ini
|
|
307
|
-
# pgbouncer.ini
|
|
308
|
-
[databases]
|
|
309
|
-
mydb = host=primary-host port=5432 dbname=mydb
|
|
310
|
-
|
|
311
|
-
[pgbouncer]
|
|
312
|
-
listen_addr = *
|
|
313
|
-
listen_port = 6432
|
|
314
|
-
auth_type = scram-sha-256
|
|
315
|
-
auth_file = /etc/pgbouncer/userlist.txt
|
|
316
|
-
pool_mode = transaction
|
|
317
|
-
max_client_conn = 1000
|
|
318
|
-
default_pool_size = 25
|
|
319
|
-
reserve_pool_size = 5
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### HAProxy for Load Balancing
|
|
323
|
-
|
|
324
|
-
```
|
|
325
|
-
# haproxy.cfg
|
|
326
|
-
frontend postgres_frontend
|
|
327
|
-
bind *:5432
|
|
328
|
-
mode tcp
|
|
329
|
-
default_backend postgres_backend
|
|
330
|
-
|
|
331
|
-
backend postgres_backend
|
|
332
|
-
mode tcp
|
|
333
|
-
option tcp-check
|
|
334
|
-
tcp-check expect string is_master:true
|
|
335
|
-
|
|
336
|
-
server primary primary-host:5432 check
|
|
337
|
-
server standby1 standby1-host:5432 check backup
|
|
338
|
-
server standby2 standby2-host:5432 check backup
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
## Backup and Point-in-Time Recovery (PITR)
|
|
342
|
-
|
|
343
|
-
### WAL Archiving Setup
|
|
344
|
-
|
|
345
|
-
```sql
|
|
346
|
-
-- postgresql.conf
|
|
347
|
-
wal_level = replica
|
|
348
|
-
archive_mode = on
|
|
349
|
-
archive_command = 'test ! -f /backup/wal/%f && cp %p /backup/wal/%f'
|
|
350
|
-
archive_timeout = 300 # Force archive every 5 minutes
|
|
351
|
-
|
|
352
|
-
-- Or use pg_archivecleanup
|
|
353
|
-
archive_command = 'pgbackrest --stanza=main archive-push %p'
|
|
354
|
-
```
|
|
355
|
-
|
|
356
|
-
### Base Backup with pg_basebackup
|
|
357
|
-
|
|
358
|
-
```bash
|
|
359
|
-
# Full backup
|
|
360
|
-
pg_basebackup -h localhost -U postgres \
|
|
361
|
-
-D /backup/base/$(date +%Y%m%d) \
|
|
362
|
-
-Ft -z -P -X fetch
|
|
363
|
-
|
|
364
|
-
# -Ft: tar format
|
|
365
|
-
# -z: gzip compression
|
|
366
|
-
# -P: progress
|
|
367
|
-
# -X fetch: include WAL files
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### Point-in-Time Recovery
|
|
371
|
-
|
|
372
|
-
```bash
|
|
373
|
-
# Stop PostgreSQL
|
|
374
|
-
systemctl stop postgresql
|
|
375
|
-
|
|
376
|
-
# Restore base backup
|
|
377
|
-
rm -rf /var/lib/postgresql/14/main/*
|
|
378
|
-
tar -xzf /backup/base/20241201/base.tar.gz -C /var/lib/postgresql/14/main
|
|
379
|
-
|
|
380
|
-
# Create recovery.signal
|
|
381
|
-
touch /var/lib/postgresql/14/main/recovery.signal
|
|
382
|
-
|
|
383
|
-
# Configure recovery
|
|
384
|
-
# postgresql.conf or postgresql.auto.conf:
|
|
385
|
-
restore_command = 'cp /backup/wal/%f %p'
|
|
386
|
-
recovery_target_time = '2024-12-01 14:30:00'
|
|
387
|
-
# Or: recovery_target_xid, recovery_target_name, recovery_target_lsn
|
|
388
|
-
|
|
389
|
-
# Start PostgreSQL (will recover to target)
|
|
390
|
-
systemctl start postgresql
|
|
391
|
-
|
|
392
|
-
# After recovery, check
|
|
393
|
-
SELECT pg_is_in_recovery(); # Should be false after recovery completes
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
## Monitoring Best Practices
|
|
397
|
-
|
|
398
|
-
```sql
|
|
399
|
-
-- Create monitoring view
|
|
400
|
-
CREATE VIEW replication_status AS
|
|
401
|
-
SELECT
|
|
402
|
-
client_addr,
|
|
403
|
-
application_name,
|
|
404
|
-
state,
|
|
405
|
-
sync_state,
|
|
406
|
-
pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn) / 1024 / 1024 AS lag_mb,
|
|
407
|
-
(pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)::float /
|
|
408
|
-
(1024 * 1024 * 16))::int AS estimated_wal_segments_behind
|
|
409
|
-
FROM pg_stat_replication;
|
|
410
|
-
|
|
411
|
-
-- Alert if lag > 100MB
|
|
412
|
-
SELECT * FROM replication_status WHERE lag_mb > 100;
|
|
413
|
-
|
|
414
|
-
-- Check replication slot disk usage
|
|
415
|
-
SELECT
|
|
416
|
-
slot_name,
|
|
417
|
-
pg_size_pretty(
|
|
418
|
-
pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)
|
|
419
|
-
) as retained_wal
|
|
420
|
-
FROM pg_replication_slots;
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
## Troubleshooting
|
|
424
|
-
|
|
425
|
-
```sql
|
|
426
|
-
-- Replication broken?
|
|
427
|
-
-- 1. Check pg_stat_replication on primary
|
|
428
|
-
SELECT * FROM pg_stat_replication;
|
|
429
|
-
|
|
430
|
-
-- 2. Check logs on standby
|
|
431
|
-
-- tail -f /var/log/postgresql/postgresql-14-main.log
|
|
432
|
-
|
|
433
|
-
-- 3. Check replication slot exists
|
|
434
|
-
SELECT * FROM pg_replication_slots WHERE slot_name = 'replica_1';
|
|
435
|
-
|
|
436
|
-
-- 4. Recreate slot if missing
|
|
437
|
-
SELECT pg_create_physical_replication_slot('replica_1');
|
|
438
|
-
|
|
439
|
-
-- 5. Check WAL files available
|
|
440
|
-
-- ls -lh /var/lib/postgresql/14/main/pg_wal/
|
|
441
|
-
|
|
442
|
-
-- Standby too far behind?
|
|
443
|
-
-- Option 1: Increase wal_keep_size
|
|
444
|
-
-- Option 2: Use replication slots
|
|
445
|
-
-- Option 3: Re-run pg_basebackup
|
|
446
|
-
```
|