@cubis/foundry 0.3.10 → 0.3.12
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 +100 -3
- package/Ai Agent Workflow/powers/database-skills/SKILL.md +97 -4
- package/Ai Agent Workflow/powers/database-skills/engines/mongodb/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/mysql/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/neki/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/postgres/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/redis/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/sqlite/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/supabase/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/engines/vitess/POWER.md +10 -0
- package/Ai Agent Workflow/powers/database-skills/steering/readme.md +18 -6
- 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/LATEST_VERSIONS.md +36 -0
- package/Ai Agent Workflow/skills/database-skills/README.md +13 -3
- package/Ai Agent Workflow/skills/database-skills/SKILL.md +85 -20
- package/Ai Agent Workflow/skills/database-skills/skills/mongodb/SKILL.md +29 -7
- package/Ai Agent Workflow/skills/database-skills/skills/mongodb/references/aggregation.md +153 -0
- package/Ai Agent Workflow/skills/database-skills/skills/mongodb/references/modeling.md +95 -4
- package/Ai Agent Workflow/skills/database-skills/skills/mongodb/references/mongoose-nestjs.md +133 -4
- package/Ai Agent Workflow/skills/database-skills/skills/mysql/SKILL.md +33 -7
- package/Ai Agent Workflow/skills/database-skills/skills/mysql/references/locking-ddl.md +103 -4
- package/Ai Agent Workflow/skills/database-skills/skills/mysql/references/query-indexing.md +103 -4
- package/Ai Agent Workflow/skills/database-skills/skills/mysql/references/replication.md +142 -0
- package/Ai Agent Workflow/skills/database-skills/skills/neki/SKILL.md +18 -7
- package/Ai Agent Workflow/skills/database-skills/skills/neki/references/architecture.md +135 -4
- package/Ai Agent Workflow/skills/database-skills/skills/neki/references/operations.md +76 -4
- package/Ai Agent Workflow/skills/database-skills/skills/postgres/SKILL.md +31 -7
- package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/connection-pooling.md +142 -0
- package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/migrations.md +126 -0
- package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/performance-ops.md +116 -4
- package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/schema-indexing.md +78 -4
- package/Ai Agent Workflow/skills/database-skills/skills/redis/SKILL.md +28 -7
- package/Ai Agent Workflow/skills/database-skills/skills/redis/references/cache-patterns.md +153 -4
- package/Ai Agent Workflow/skills/database-skills/skills/redis/references/data-modeling.md +152 -0
- package/Ai Agent Workflow/skills/database-skills/skills/redis/references/operations.md +143 -4
- package/Ai Agent Workflow/skills/database-skills/skills/sqlite/SKILL.md +28 -7
- package/Ai Agent Workflow/skills/database-skills/skills/sqlite/references/local-first.md +94 -4
- package/Ai Agent Workflow/skills/database-skills/skills/sqlite/references/performance.md +104 -4
- package/Ai Agent Workflow/skills/database-skills/skills/supabase/SKILL.md +27 -7
- package/Ai Agent Workflow/skills/database-skills/skills/supabase/references/performance-operations.md +94 -4
- package/Ai Agent Workflow/skills/database-skills/skills/supabase/references/rls-auth.md +105 -4
- package/Ai Agent Workflow/skills/database-skills/skills/vitess/SKILL.md +27 -7
- package/Ai Agent Workflow/skills/database-skills/skills/vitess/references/operational-safety.md +104 -4
- package/Ai Agent Workflow/skills/database-skills/skills/vitess/references/sharding-routing.md +124 -4
- 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 +12 -6
- 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 +11 -2
- 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 +3 -1
- 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 +15 -7
- 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 +11 -2
- 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 +3 -1
- 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 +15 -7
- 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 +47 -24
- 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 +47 -39
- 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 +15 -7
- 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 +7 -0
- 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
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# MongoDB — Aggregation Pipeline
|
|
2
|
+
|
|
3
|
+
## Pipeline basics
|
|
4
|
+
|
|
5
|
+
The aggregation pipeline is a sequence of stages, each transforming the document stream. Stages execute in order.
|
|
6
|
+
|
|
7
|
+
```js
|
|
8
|
+
db.orders.aggregate([
|
|
9
|
+
{ $match: { status: 'complete', userId: 'u42' } }, // filter early
|
|
10
|
+
{ $group: { _id: '$category', total: { $sum: '$amount' }, count: { $sum: 1 } } },
|
|
11
|
+
{ $sort: { total: -1 } },
|
|
12
|
+
{ $limit: 10 },
|
|
13
|
+
{ $project: { category: '$_id', total: 1, count: 1, _id: 0 } }
|
|
14
|
+
])
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Critical rule**: Put `$match` as early as possible to reduce documents flowing through subsequent stages. MongoDB can use indexes for `$match` at the start of a pipeline.
|
|
18
|
+
|
|
19
|
+
## Common stages
|
|
20
|
+
|
|
21
|
+
| Stage | Purpose |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| `$match` | Filter documents (use early, supports indexes) |
|
|
24
|
+
| `$group` | Group by key, apply accumulators (`$sum`, `$avg`, `$min`, `$max`, `$push`, `$addToSet`) |
|
|
25
|
+
| `$project` | Reshape documents (include/exclude/rename/compute fields) |
|
|
26
|
+
| `$sort` | Sort (can use index when at start, before `$group`) |
|
|
27
|
+
| `$limit` / `$skip` | Pagination (prefer range-based — see below) |
|
|
28
|
+
| `$lookup` | Left outer join to another collection |
|
|
29
|
+
| `$unwind` | Flatten an array field into individual documents |
|
|
30
|
+
| `$addFields` | Add computed fields without removing existing |
|
|
31
|
+
| `$facet` | Run multiple sub-pipelines in parallel (for multi-category aggregation) |
|
|
32
|
+
| `$bucket` | Group into ranges (histogram) |
|
|
33
|
+
| `$count` | Count documents |
|
|
34
|
+
| `$out` / `$merge` | Write results to a collection |
|
|
35
|
+
|
|
36
|
+
## $group accumulators
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
{ $group: {
|
|
40
|
+
_id: '$category',
|
|
41
|
+
total: { $sum: '$amount' }, // sum
|
|
42
|
+
average: { $avg: '$amount' }, // average
|
|
43
|
+
max: { $max: '$amount' }, // max
|
|
44
|
+
min: { $min: '$amount' }, // min
|
|
45
|
+
count: { $sum: 1 }, // count rows
|
|
46
|
+
products: { $push: '$productId' }, // array of all values (duplicates kept)
|
|
47
|
+
unique: { $addToSet: '$productId' }, // array of unique values
|
|
48
|
+
first: { $first: '$createdAt' }, // first value in group
|
|
49
|
+
}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## $lookup — joins
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
// Left join orders with users
|
|
56
|
+
db.orders.aggregate([
|
|
57
|
+
{ $match: { status: 'complete' } },
|
|
58
|
+
{ $lookup: {
|
|
59
|
+
from: 'users',
|
|
60
|
+
localField: 'userId',
|
|
61
|
+
foreignField: '_id',
|
|
62
|
+
as: 'user'
|
|
63
|
+
}},
|
|
64
|
+
{ $unwind: { path: '$user', preserveNullAndEmptyArrays: true } },
|
|
65
|
+
{ $project: { total: 1, 'user.name': 1, 'user.email': 1 } }
|
|
66
|
+
])
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`$lookup` is expensive on large collections — **prefer embedding** if data is always accessed together. Always filter with `$match` before `$lookup` to minimize joined documents.
|
|
70
|
+
|
|
71
|
+
Pipeline-style `$lookup` (MongoDB 3.6+) for filtered joins:
|
|
72
|
+
```js
|
|
73
|
+
{ $lookup: {
|
|
74
|
+
from: 'orderItems',
|
|
75
|
+
let: { orderId: '$_id' },
|
|
76
|
+
pipeline: [
|
|
77
|
+
{ $match: { $expr: { $eq: ['$orderId', '$$orderId'] } } },
|
|
78
|
+
{ $project: { sku: 1, qty: 1, _id: 0 } }
|
|
79
|
+
],
|
|
80
|
+
as: 'items'
|
|
81
|
+
}}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## $unwind
|
|
85
|
+
|
|
86
|
+
Flattens array fields — generates one output document per array element:
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
// Input: { _id: 1, tags: ['a', 'b', 'c'] }
|
|
90
|
+
{ $unwind: '$tags' }
|
|
91
|
+
// Output: { _id: 1, tags: 'a' }, { _id: 1, tags: 'b' }, { _id: 1, tags: 'c' }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Watch out: `$unwind` on an array of 1000 elements turns 1 doc into 1000. Use `preserveNullAndEmptyArrays: true` to keep docs with missing/empty arrays.
|
|
95
|
+
|
|
96
|
+
## Pagination in aggregation
|
|
97
|
+
|
|
98
|
+
Avoid `$skip` for deep pagination — it scans all skipped docs.
|
|
99
|
+
|
|
100
|
+
```js
|
|
101
|
+
// BAD: $skip is O(N)
|
|
102
|
+
db.orders.aggregate([
|
|
103
|
+
{ $sort: { createdAt: -1 } },
|
|
104
|
+
{ $skip: 10000 },
|
|
105
|
+
{ $limit: 20 }
|
|
106
|
+
])
|
|
107
|
+
|
|
108
|
+
// GOOD: range-based pagination
|
|
109
|
+
db.orders.aggregate([
|
|
110
|
+
{ $match: { createdAt: { $lt: lastSeenDate }, _id: { $lt: lastSeenId } } },
|
|
111
|
+
{ $sort: { createdAt: -1, _id: -1 } },
|
|
112
|
+
{ $limit: 20 }
|
|
113
|
+
])
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## $facet — parallel aggregations
|
|
117
|
+
|
|
118
|
+
Run multiple sub-pipelines against the same input in one pass:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
db.products.aggregate([
|
|
122
|
+
{ $match: { active: true } },
|
|
123
|
+
{ $facet: {
|
|
124
|
+
byCategory: [
|
|
125
|
+
{ $group: { _id: '$category', count: { $sum: 1 } } }
|
|
126
|
+
],
|
|
127
|
+
priceRange: [
|
|
128
|
+
{ $bucket: { groupBy: '$price', boundaries: [0, 50, 100, 200, 500], default: '500+' } }
|
|
129
|
+
],
|
|
130
|
+
total: [
|
|
131
|
+
{ $count: 'count' }
|
|
132
|
+
]
|
|
133
|
+
}}
|
|
134
|
+
])
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Performance tips
|
|
138
|
+
|
|
139
|
+
- **Index for `$match` and `$sort`**: the pipeline can use an index only for `$match` and `$sort` stages that appear before any `$group`/`$project`/`$unwind`.
|
|
140
|
+
- **Use `allowDiskUse: true`** for large aggregations that exceed the 100MB in-memory sort limit.
|
|
141
|
+
- **`$project` early** to reduce document size flowing through the pipeline.
|
|
142
|
+
- **Avoid `$lookup` on hot paths** — cache results or redesign schema to embed.
|
|
143
|
+
- **Use `$merge` to pre-compute** expensive aggregations into a results collection, then query that.
|
|
144
|
+
|
|
145
|
+
```js
|
|
146
|
+
// Run explain on aggregation
|
|
147
|
+
db.orders.explain('executionStats').aggregate([...])
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Sources
|
|
151
|
+
- Aggregation pipeline: https://www.mongodb.com/docs/manual/aggregation/
|
|
152
|
+
- Pipeline stages reference: https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/
|
|
153
|
+
- Aggregation performance: https://www.mongodb.com/docs/manual/core/aggregation-pipeline-optimization/
|
|
@@ -1,5 +1,96 @@
|
|
|
1
|
-
# MongoDB Modeling
|
|
1
|
+
# MongoDB — Modeling, Indexing, and Pagination
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
-
|
|
3
|
+
## Data modeling philosophy
|
|
4
|
+
|
|
5
|
+
MongoDB is schema-flexible at the storage layer, but **your schema is defined by your queries, not by your data shape**. Model documents for the queries you actually run.
|
|
6
|
+
|
|
7
|
+
### Embed vs reference
|
|
8
|
+
|
|
9
|
+
| Embed | Reference (DBRef / manual) |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Data is always accessed together | Data is accessed independently |
|
|
12
|
+
| 1-to-1 or bounded 1-to-few | 1-to-many with unbounded growth |
|
|
13
|
+
| Child data has no standalone identity | Child data is queried on its own |
|
|
14
|
+
| Written/updated together | Updated at different rates |
|
|
15
|
+
|
|
16
|
+
```js
|
|
17
|
+
// Embed: order with line items (always fetched together, bounded count)
|
|
18
|
+
{ _id: ..., userId: ..., lineItems: [ { sku, qty, price }, ... ] }
|
|
19
|
+
|
|
20
|
+
// Reference: user with orders (orders accessed independently, unbounded)
|
|
21
|
+
{ _id: ..., name: "Alice" } // users collection
|
|
22
|
+
{ _id: ..., userId: <ref>, total: 99 } // orders collection
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Avoid embedding unbounded arrays — document size limit is 16MB and large docs slow query/update performance.
|
|
26
|
+
|
|
27
|
+
## Index types and when to use them
|
|
28
|
+
|
|
29
|
+
| Type | Use for |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| **Single field** | Equality, range, sort on one field |
|
|
32
|
+
| **Compound** | Combined equality + range + sort — column order matters |
|
|
33
|
+
| **Multikey** | Fields that are arrays (auto-detected by MongoDB) |
|
|
34
|
+
| **Text** | Full-text search on string fields |
|
|
35
|
+
| **Wildcard** | Arbitrary field access patterns |
|
|
36
|
+
| **2dsphere** | Geospatial queries |
|
|
37
|
+
| **TTL** | Auto-delete documents after expiry |
|
|
38
|
+
|
|
39
|
+
## Compound index design
|
|
40
|
+
|
|
41
|
+
Same leftmost-prefix rule as SQL — **equality fields first, then range, then sort**:
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
// Query: find open orders for a user, sorted by date
|
|
45
|
+
db.orders.find({ userId: X, status: "open" }).sort({ createdAt: -1 })
|
|
46
|
+
|
|
47
|
+
// Correct index: equality fields lead, sort field last
|
|
48
|
+
db.orders.createIndex({ userId: 1, status: 1, createdAt: -1 })
|
|
49
|
+
|
|
50
|
+
// Wrong: sort field before filter — doesn't eliminate docs efficiently
|
|
51
|
+
db.orders.createIndex({ createdAt: -1, userId: 1, status: 1 })
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Reading query plans with explain()
|
|
55
|
+
|
|
56
|
+
```js
|
|
57
|
+
db.orders.find({ userId: 1 }).explain("executionStats")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Key things to check:
|
|
61
|
+
- `winningPlan.stage`: `COLLSCAN` = full scan (bad on large collections), `IXSCAN` = index scan (good).
|
|
62
|
+
- `executionStats.totalDocsExamined` vs `nReturned`: should be close. Large ratio = poor index coverage.
|
|
63
|
+
- `executionStats.executionTimeMillis`: baseline to compare before/after index changes.
|
|
64
|
+
|
|
65
|
+
## Avoid deep skip() pagination
|
|
66
|
+
|
|
67
|
+
`skip(N)` makes MongoDB scan and discard N documents. On large collections this is O(N).
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
// BAD: skip-based pagination
|
|
71
|
+
db.orders.find().sort({ _id: 1 }).skip(10000).limit(20)
|
|
72
|
+
|
|
73
|
+
// GOOD: range-based pagination using last seen _id (or cursor field)
|
|
74
|
+
db.orders.find({ _id: { $gt: lastSeenId } }).sort({ _id: 1 }).limit(20)
|
|
75
|
+
|
|
76
|
+
// For composite sort keys
|
|
77
|
+
db.orders.find({
|
|
78
|
+
$or: [
|
|
79
|
+
{ createdAt: { $lt: lastDate } },
|
|
80
|
+
{ createdAt: lastDate, _id: { $lt: lastId } }
|
|
81
|
+
]
|
|
82
|
+
}).sort({ createdAt: -1, _id: -1 }).limit(20)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Common modeling mistakes
|
|
86
|
+
|
|
87
|
+
- **Storing growing arrays in a document**: the document grows without bound → move to a child collection.
|
|
88
|
+
- **Using `$lookup` as a substitute for embedding**: `$lookup` is expensive; redesign the schema if you always join.
|
|
89
|
+
- **Not projecting fields**: always project only needed fields to reduce document transfer size.
|
|
90
|
+
- **Missing index on high-cardinality filter fields**: every `find()` cold path should have an index.
|
|
91
|
+
|
|
92
|
+
## Sources
|
|
93
|
+
- Explain plans: https://www.mongodb.com/docs/manual/reference/method/db.collection.explain/
|
|
94
|
+
- `skip()` caveats: https://www.mongodb.com/docs/manual/reference/method/cursor.skip/
|
|
95
|
+
- Query plans: https://www.mongodb.com/docs/manual/core/query-plans/
|
|
96
|
+
- Data modeling guide: https://www.mongodb.com/docs/manual/data-modeling/
|
package/Ai Agent Workflow/skills/database-skills/skills/mongodb/references/mongoose-nestjs.md
CHANGED
|
@@ -1,5 +1,134 @@
|
|
|
1
|
-
# Mongoose
|
|
1
|
+
# MongoDB — Mongoose and NestJS Patterns
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## Repository pattern with Mongoose + NestJS
|
|
4
|
+
|
|
5
|
+
Keep data access behind a repository class — don't scatter `Model.find()` calls across services.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
// order.repository.ts
|
|
9
|
+
@Injectable()
|
|
10
|
+
export class OrderRepository {
|
|
11
|
+
constructor(@InjectModel(Order.name) private model: Model<Order>) {}
|
|
12
|
+
|
|
13
|
+
async findByUser(userId: string, limit = 20, afterId?: string): Promise<Order[]> {
|
|
14
|
+
const query: FilterQuery<Order> = { userId };
|
|
15
|
+
if (afterId) query._id = { $gt: new Types.ObjectId(afterId) };
|
|
16
|
+
return this.model
|
|
17
|
+
.find(query)
|
|
18
|
+
.sort({ _id: 1 })
|
|
19
|
+
.limit(limit)
|
|
20
|
+
.lean() // return plain JS objects — skip Mongoose hydration overhead
|
|
21
|
+
.exec();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async create(dto: CreateOrderDto): Promise<Order> {
|
|
25
|
+
return this.model.create(dto);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Schema index definition
|
|
31
|
+
|
|
32
|
+
Define indexes on the schema, not as ad-hoc calls. This makes them part of your codebase and reviewable.
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
@Schema({ timestamps: true })
|
|
36
|
+
export class Order {
|
|
37
|
+
@Prop({ required: true, index: true })
|
|
38
|
+
userId: string;
|
|
39
|
+
|
|
40
|
+
@Prop({ required: true })
|
|
41
|
+
status: string;
|
|
42
|
+
|
|
43
|
+
@Prop({ type: [{ sku: String, qty: Number, price: Number }] })
|
|
44
|
+
lineItems: LineItem[];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Compound index — define at schema level
|
|
48
|
+
OrderSchema.index({ userId: 1, status: 1, createdAt: -1 });
|
|
49
|
+
|
|
50
|
+
// TTL index — auto-delete after 90 days
|
|
51
|
+
OrderSchema.index({ createdAt: 1 }, { expireAfterSeconds: 60 * 60 * 24 * 90 });
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Always track index definitions in migration scripts when adding to existing collections.
|
|
55
|
+
|
|
56
|
+
## Lean reads and projection
|
|
57
|
+
|
|
58
|
+
- `lean()` returns plain JS objects instead of Mongoose Document instances — no hydration overhead, no change tracking. Use for read paths.
|
|
59
|
+
- Always project only what you need to reduce transfer size.
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
// Lean + projection for list endpoints
|
|
63
|
+
this.model
|
|
64
|
+
.find({ userId })
|
|
65
|
+
.select('status createdAt total') // project only needed fields
|
|
66
|
+
.lean()
|
|
67
|
+
.exec();
|
|
68
|
+
|
|
69
|
+
// Full document with Mongoose methods only when saving/updating
|
|
70
|
+
const doc = await this.model.findById(id).exec();
|
|
71
|
+
doc.status = 'complete';
|
|
72
|
+
await doc.save();
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Transactions (MongoDB 4.0+ replica set or sharded cluster)
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
const session = await this.connection.startSession();
|
|
79
|
+
session.startTransaction();
|
|
80
|
+
try {
|
|
81
|
+
await this.orderModel.create([orderData], { session });
|
|
82
|
+
await this.inventoryModel.updateOne(
|
|
83
|
+
{ sku: orderData.sku },
|
|
84
|
+
{ $inc: { qty: -1 } },
|
|
85
|
+
{ session }
|
|
86
|
+
);
|
|
87
|
+
await session.commitTransaction();
|
|
88
|
+
} catch (e) {
|
|
89
|
+
await session.abortTransaction();
|
|
90
|
+
throw e;
|
|
91
|
+
} finally {
|
|
92
|
+
session.endSession();
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Transactions are only needed for multi-document atomicity. Single-document operations are always atomic in MongoDB.
|
|
97
|
+
|
|
98
|
+
## Aggregation pipeline in NestJS
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
const result = await this.model.aggregate([
|
|
102
|
+
{ $match: { userId, status: 'complete' } },
|
|
103
|
+
{ $group: { _id: '$category', total: { $sum: '$amount' } } },
|
|
104
|
+
{ $sort: { total: -1 } },
|
|
105
|
+
{ $limit: 10 },
|
|
106
|
+
]);
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Use `.aggregate()` for reporting/analytics. For regular queries, prefer `.find()` so Mongoose can apply schema type casting.
|
|
110
|
+
|
|
111
|
+
## Connection and pool setup (NestJS module)
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
MongooseModule.forRoot(uri, {
|
|
115
|
+
maxPoolSize: 10, // default 5 — tune to app concurrency
|
|
116
|
+
serverSelectionTimeoutMS: 5000,
|
|
117
|
+
socketTimeoutMS: 45000,
|
|
118
|
+
connectTimeoutMS: 10000,
|
|
119
|
+
})
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Common mistakes
|
|
123
|
+
|
|
124
|
+
- Calling `Model.find()` directly in service/controller — bypasses repository, untestable.
|
|
125
|
+
- Forgetting `.lean()` on list endpoints — returns Mongoose Documents with full overhead.
|
|
126
|
+
- Defining compound indexes ad-hoc in `onModuleInit` — use schema-level definition instead.
|
|
127
|
+
- Not projecting fields on list queries — transfers full documents when only 3 fields are needed.
|
|
128
|
+
- Using `new Model(data).save()` in a loop — batch with `Model.insertMany()` instead.
|
|
129
|
+
|
|
130
|
+
## Sources
|
|
131
|
+
- Mongoose documentation: https://mongoosejs.com/docs/
|
|
132
|
+
- MongoDB index strategies: https://www.mongodb.com/docs/manual/indexes/
|
|
133
|
+
- MongoDB data modeling: https://www.mongodb.com/docs/manual/data-modeling/
|
|
134
|
+
- MongoDB transactions: https://www.mongodb.com/docs/manual/core/transactions/
|
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mysql
|
|
3
|
-
description: MySQL/InnoDB schema design, indexing, query tuning, and operational safety.
|
|
3
|
+
description: MySQL/InnoDB schema design, indexing, pagination, query tuning, and operational safety.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# MySQL
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## Version posture
|
|
9
|
+
|
|
10
|
+
- Prefer **8.4 LTS** for long-lived production stability.
|
|
11
|
+
- Use **9.x Innovation** only when you need newest features and can absorb faster change cadence.
|
|
12
|
+
|
|
13
|
+
## Optimization workflow
|
|
14
|
+
|
|
15
|
+
1. Baseline with `EXPLAIN` and `EXPLAIN ANALYZE`.
|
|
16
|
+
2. Tune indexes around dominant filter and sort paths.
|
|
17
|
+
3. Validate pagination path (`ORDER BY` + index coverage).
|
|
18
|
+
4. Evaluate DDL lock/replication impact before migration.
|
|
19
|
+
|
|
20
|
+
## Indexing techniques
|
|
21
|
+
|
|
22
|
+
- Composite indexes that match predicate and ordering direction.
|
|
23
|
+
- Covering indexes for hot read endpoints.
|
|
24
|
+
- Keep clustered primary key narrow to reduce secondary index overhead.
|
|
25
|
+
- Avoid shotgun indexing; measure write amplification impact.
|
|
26
|
+
|
|
27
|
+
## Pagination techniques
|
|
28
|
+
|
|
29
|
+
- Prefer seek/keyset pagination with deterministic ordering.
|
|
30
|
+
- Include unique tie-breaker for stable page boundaries.
|
|
31
|
+
- Avoid large offset pagination for deep traversal.
|
|
32
|
+
|
|
33
|
+
## Operational guardrails
|
|
34
|
+
|
|
35
|
+
- Treat online DDL mode and lock behavior as explicit rollout risks.
|
|
36
|
+
- Test DDL on production-like data volume and replica topology.
|
|
37
|
+
|
|
38
|
+
## References
|
|
39
|
+
|
|
9
40
|
- `references/query-indexing.md`
|
|
10
41
|
- `references/locking-ddl.md`
|
|
11
|
-
|
|
12
|
-
Key rules:
|
|
13
|
-
- Use `EXPLAIN` before optimization.
|
|
14
|
-
- Prefer online-safe schema change plans.
|
|
15
|
-
- Track lock waits and deadlocks during rollout.
|
|
@@ -1,5 +1,104 @@
|
|
|
1
|
-
# MySQL Locking and DDL
|
|
1
|
+
# MySQL — Locking and DDL Safety
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## Online DDL algorithms
|
|
4
|
+
|
|
5
|
+
MySQL InnoDB can perform many DDL operations without blocking reads/writes. Always check the algorithm before running in production.
|
|
6
|
+
|
|
7
|
+
| Algorithm | Write impact | When used |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| `INSTANT` | None | Adding nullable columns at end (MySQL 8.0+), some metadata-only |
|
|
10
|
+
| `INPLACE` | No copy; may block briefly at start/end | Most index adds, some column modifications |
|
|
11
|
+
| `COPY` | Full table rewrite; blocks writes for duration | Changing primary key, column type changes, some charset changes |
|
|
12
|
+
|
|
13
|
+
Check before applying:
|
|
14
|
+
```sql
|
|
15
|
+
ALTER TABLE orders ADD COLUMN notes TEXT, ALGORITHM=INPLACE, LOCK=NONE;
|
|
16
|
+
-- If MySQL rejects it, it needs COPY → use pt-online-schema-change or gh-ost
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Force dry-run check without applying:
|
|
20
|
+
```sql
|
|
21
|
+
-- Will error if it can't do INPLACE, without touching the table
|
|
22
|
+
ALTER TABLE orders ADD INDEX idx_test (status), ALGORITHM=INPLACE, LOCK=NONE;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Metadata lock (MDL) exposure
|
|
26
|
+
|
|
27
|
+
DDL acquires a Metadata Lock on the table. Even an `INSTANT` or `INPLACE` operation blocks if a long-running transaction or idle connection holds a conflicting MDL.
|
|
28
|
+
|
|
29
|
+
```sql
|
|
30
|
+
-- Check for MDL waiters and holders before running DDL
|
|
31
|
+
SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread,
|
|
32
|
+
b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread,
|
|
33
|
+
b.trx_query blocking_query
|
|
34
|
+
FROM information_schema.innodb_lock_waits w
|
|
35
|
+
JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
|
|
36
|
+
JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;
|
|
37
|
+
|
|
38
|
+
-- Also check for long-running active transactions
|
|
39
|
+
SELECT * FROM information_schema.innodb_trx WHERE trx_started < NOW() - INTERVAL 30 SECOND;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Kill blockers with caution before DDL:
|
|
43
|
+
```sql
|
|
44
|
+
KILL <thread_id>; -- kills connection, rolls back its transaction
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Replication lag impact
|
|
48
|
+
|
|
49
|
+
- `COPY` algorithm: full table rewrite flows through binary log as row events — replica must replay every row.
|
|
50
|
+
- `INPLACE` lock-free DDL: usually light on replicas.
|
|
51
|
+
- Monitor `Seconds_Behind_Master` / `Seconds_Behind_Source` during DDL.
|
|
52
|
+
|
|
53
|
+
```sql
|
|
54
|
+
-- On replica
|
|
55
|
+
SHOW REPLICA STATUS\G
|
|
56
|
+
-- Watch: Seconds_Behind_Source
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Online schema change tools
|
|
60
|
+
|
|
61
|
+
For tables too large or busy for native online DDL:
|
|
62
|
+
- **gh-ost** (GitHub): uses binlog streaming, minimal impact, best for production.
|
|
63
|
+
- **pt-online-schema-change** (Percona): trigger-based, established tooling.
|
|
64
|
+
|
|
65
|
+
Both create a shadow table, migrates data in background, then atomically cuts over with a brief lock.
|
|
66
|
+
|
|
67
|
+
## InnoDB row-level locking
|
|
68
|
+
|
|
69
|
+
- InnoDB locks rows, not tables (except DDL).
|
|
70
|
+
- `SELECT ... FOR UPDATE` takes exclusive row locks — keep duration short.
|
|
71
|
+
- `REPEATABLE READ` (default) uses **gap locks** to prevent phantom reads; causes more lock contention than `READ COMMITTED`.
|
|
72
|
+
- Switch to `READ COMMITTED` for high-contention OLTP workloads:
|
|
73
|
+
```sql
|
|
74
|
+
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Deadlock handling
|
|
78
|
+
|
|
79
|
+
```sql
|
|
80
|
+
-- Show last deadlock detail
|
|
81
|
+
SHOW ENGINE INNODB STATUS\G -- search for LATEST DETECTED DEADLOCK
|
|
82
|
+
|
|
83
|
+
-- Enable deadlock logging
|
|
84
|
+
SET GLOBAL innodb_print_all_deadlocks = ON;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Prevention:
|
|
88
|
+
- Always access rows in a consistent order across transactions.
|
|
89
|
+
- Keep transactions short — do I/O and computation outside the transaction boundary.
|
|
90
|
+
- Retry with exponential backoff on error 1213 (`ER_LOCK_DEADLOCK`).
|
|
91
|
+
|
|
92
|
+
## MySQL release tracks
|
|
93
|
+
|
|
94
|
+
| Track | Description |
|
|
95
|
+
| --- | --- |
|
|
96
|
+
| **LTS** (e.g. 8.4, 9.7+) | Long-term support; production recommended |
|
|
97
|
+
| **Innovation** (8.1, 8.2, etc.) | Frequent releases with new features, shorter support window |
|
|
98
|
+
|
|
99
|
+
Check which features are available for your version before proposing DDL changes.
|
|
100
|
+
|
|
101
|
+
## Sources
|
|
102
|
+
- Online DDL operations: https://dev.mysql.com/doc/refman/8.4/en/innodb-online-ddl-operations.html
|
|
103
|
+
- InnoDB locking: https://dev.mysql.com/doc/refman/8.4/en/innodb-locking.html
|
|
104
|
+
- MySQL release tracks: https://dev.mysql.com/doc/refman/8.4/en/mysql-releases.html
|
|
@@ -1,5 +1,104 @@
|
|
|
1
|
-
# MySQL Query and Indexing
|
|
1
|
+
# MySQL — Query Optimization and Indexing
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## EXPLAIN workflow
|
|
4
|
+
|
|
5
|
+
Always run `EXPLAIN` (or `EXPLAIN ANALYZE`) before and after index changes.
|
|
6
|
+
|
|
7
|
+
```sql
|
|
8
|
+
EXPLAIN SELECT * FROM orders WHERE user_id = 42 ORDER BY created_at DESC LIMIT 20;
|
|
9
|
+
EXPLAIN ANALYZE SELECT ...; -- MySQL 8.0+: shows actual row counts and timing
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Key columns to read:
|
|
13
|
+
|
|
14
|
+
| Column | Red flag |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| `type` | `ALL` = full table scan. Target: `ref`, `eq_ref`, `range`, or `const`. |
|
|
17
|
+
| `Extra` | `Using filesort` = no index satisfying ORDER BY. `Using temporary` = costly in-memory or on-disk sort. |
|
|
18
|
+
| `rows` | Estimated rows examined. Should be close to rows returned. |
|
|
19
|
+
| `key` | Which index MySQL chose. `NULL` = no index used. |
|
|
20
|
+
|
|
21
|
+
## Composite index design (leftmost prefix rule)
|
|
22
|
+
|
|
23
|
+
- Column order is critical: **equality predicates first, then range, then sort**.
|
|
24
|
+
- The planner can use any leading prefix of the index — trailing columns after a range stop being used.
|
|
25
|
+
- **Good**: `(status, user_id, created_at)` for `WHERE status = 'open' AND user_id = 42 ORDER BY created_at`.
|
|
26
|
+
- **Bad**: `(created_at, status)` for `WHERE status = 'open'` — planner must scan the whole index.
|
|
27
|
+
|
|
28
|
+
```sql
|
|
29
|
+
-- Supports: WHERE status = ? ORDER BY created_at
|
|
30
|
+
-- Supports: WHERE status = ? AND user_id = ?
|
|
31
|
+
CREATE INDEX idx_orders_status_user_created ON orders (status, user_id, created_at);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Covering indexes
|
|
35
|
+
|
|
36
|
+
Include all selected columns in the index to avoid a heap row lookup (index-only read).
|
|
37
|
+
|
|
38
|
+
```sql
|
|
39
|
+
-- Query: SELECT status, total FROM orders WHERE user_id = 42
|
|
40
|
+
CREATE INDEX idx_orders_user_covering ON orders (user_id) INCLUDE (status, total);
|
|
41
|
+
-- Or in older MySQL without INCLUDE, use a composite key that covers the columns
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Range predicates in the key stop the index from being used for subsequent columns — use `INCLUDE`-style or a separate index for those.
|
|
45
|
+
|
|
46
|
+
## Seek (cursor) pagination — avoid OFFSET
|
|
47
|
+
|
|
48
|
+
`OFFSET N` forces MySQL to scan and discard N rows. On large tables this is catastrophically slow.
|
|
49
|
+
|
|
50
|
+
```sql
|
|
51
|
+
-- BAD: OFFSET pagination
|
|
52
|
+
SELECT * FROM orders ORDER BY id LIMIT 20 OFFSET 10000;
|
|
53
|
+
|
|
54
|
+
-- GOOD: Seek pagination using last seen ID
|
|
55
|
+
SELECT * FROM orders WHERE id > :last_seen_id ORDER BY id LIMIT 20;
|
|
56
|
+
|
|
57
|
+
-- For composite sort keys
|
|
58
|
+
SELECT * FROM orders
|
|
59
|
+
WHERE (created_at, id) < (:last_created_at, :last_id)
|
|
60
|
+
ORDER BY created_at DESC, id DESC
|
|
61
|
+
LIMIT 20;
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Function calls on indexed columns break index usage
|
|
65
|
+
|
|
66
|
+
```sql
|
|
67
|
+
-- BAD: function call prevents index use
|
|
68
|
+
SELECT * FROM users WHERE YEAR(created_at) = 2025;
|
|
69
|
+
|
|
70
|
+
-- GOOD: range predicate preserves index
|
|
71
|
+
SELECT * FROM users WHERE created_at >= '2025-01-01' AND created_at < '2026-01-01';
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Index maintenance
|
|
75
|
+
|
|
76
|
+
```sql
|
|
77
|
+
-- Find unused indexes (after collecting stats for a while)
|
|
78
|
+
SELECT object_schema, object_name, index_name, count_read
|
|
79
|
+
FROM performance_schema.table_io_waits_summary_by_index_usage
|
|
80
|
+
WHERE count_read = 0 AND object_schema NOT IN ('mysql', 'sys', 'information_schema')
|
|
81
|
+
ORDER BY object_schema, object_name;
|
|
82
|
+
|
|
83
|
+
-- Check index sizes
|
|
84
|
+
SELECT table_name, index_name, stat_value * @@innodb_page_size / 1024 / 1024 AS size_mb
|
|
85
|
+
FROM mysql.innodb_index_stats
|
|
86
|
+
WHERE stat_name = 'size' AND database_name = DATABASE()
|
|
87
|
+
ORDER BY size_mb DESC;
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- Drop indexes with `count_read = 0` — every index adds write and lock overhead.
|
|
91
|
+
- Use `ALTER TABLE ... ADD INDEX ..., ALGORITHM=INPLACE, LOCK=NONE` for online index changes.
|
|
92
|
+
|
|
93
|
+
## Key guardrails
|
|
94
|
+
|
|
95
|
+
- Avoid leading `%` in LIKE (`LIKE '%foo'`) — can't use a B-tree index.
|
|
96
|
+
- Avoid `OR` across different indexed columns — use `UNION ALL` instead.
|
|
97
|
+
- Avoid implicit type coercions in `WHERE` (e.g., `WHERE varchar_col = 123`) — breaks index usage.
|
|
98
|
+
- Batch large INSERTs (500–5000 rows per statement) to reduce per-statement overhead.
|
|
99
|
+
|
|
100
|
+
## Sources
|
|
101
|
+
- Using EXPLAIN: https://dev.mysql.com/doc/refman/8.4/en/using-explain.html
|
|
102
|
+
- Optimization and indexes: https://dev.mysql.com/doc/refman/8.4/en/optimization-indexes.html
|
|
103
|
+
- LIMIT/OFFSET optimization: https://dev.mysql.com/doc/refman/8.4/en/limit-optimization.html
|
|
104
|
+
- performance_schema index stats: https://dev.mysql.com/doc/refman/8.4/en/table-io-waits-summary-by-index-usage-table.html
|