@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,126 @@
|
|
|
1
|
+
# Postgres — Database Migrations
|
|
2
|
+
|
|
3
|
+
## Core principles
|
|
4
|
+
|
|
5
|
+
- Migrations must be **idempotent** where possible — safe to run more than once.
|
|
6
|
+
- Migrations must be **reversible** — always write a down migration.
|
|
7
|
+
- Every migration runs inside a transaction (unless it contains commands that can't be transactional, like `CREATE INDEX CONCURRENTLY`).
|
|
8
|
+
- Test on a staging environment with a recent production data dump before production.
|
|
9
|
+
|
|
10
|
+
## Migration table (simple self-managed setup)
|
|
11
|
+
|
|
12
|
+
```sql
|
|
13
|
+
CREATE TABLE IF NOT EXISTS _migrations (
|
|
14
|
+
id SERIAL PRIMARY KEY,
|
|
15
|
+
name TEXT NOT NULL UNIQUE,
|
|
16
|
+
applied_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
17
|
+
);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Zero-downtime migration pattern (additive-first)
|
|
21
|
+
|
|
22
|
+
Never make breaking schema changes in the same deploy as the application code that depends on them. Expand, then contract.
|
|
23
|
+
|
|
24
|
+
### Phase 1: Expand (add without breaking)
|
|
25
|
+
```sql
|
|
26
|
+
-- Add new nullable column — safe, no lock, app can read NULL for old rows
|
|
27
|
+
ALTER TABLE orders ADD COLUMN notes TEXT;
|
|
28
|
+
|
|
29
|
+
-- Add new index concurrently — no write lock
|
|
30
|
+
CREATE INDEX CONCURRENTLY idx_orders_notes ON orders (notes) WHERE notes IS NOT NULL;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Phase 2: Backfill (populate data)
|
|
34
|
+
```sql
|
|
35
|
+
-- Backfill in batches — never in one big UPDATE that locks the table
|
|
36
|
+
DO $$
|
|
37
|
+
DECLARE batch_size INT := 1000;
|
|
38
|
+
last_id BIGINT := 0;
|
|
39
|
+
BEGIN
|
|
40
|
+
LOOP
|
|
41
|
+
UPDATE orders SET notes = '' WHERE id > last_id AND notes IS NULL
|
|
42
|
+
RETURNING id INTO last_id;
|
|
43
|
+
EXIT WHEN NOT FOUND;
|
|
44
|
+
PERFORM pg_sleep(0.01); -- brief pause between batches
|
|
45
|
+
END LOOP;
|
|
46
|
+
END $$;
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Phase 3: Constrain (enforce, after app deploys)
|
|
50
|
+
```sql
|
|
51
|
+
-- Add NOT NULL only after backfill is complete and app always sets notes
|
|
52
|
+
-- Use VALIDATE CONSTRAINT to avoid a long table lock
|
|
53
|
+
ALTER TABLE orders ADD CONSTRAINT orders_notes_not_null CHECK (notes IS NOT NULL) NOT VALID;
|
|
54
|
+
ALTER TABLE orders VALIDATE CONSTRAINT orders_notes_not_null;
|
|
55
|
+
-- Later, replace with actual NOT NULL (requires table rewrite — schedule maintenance)
|
|
56
|
+
ALTER TABLE orders ALTER COLUMN notes SET NOT NULL;
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Safe vs unsafe DDL
|
|
60
|
+
|
|
61
|
+
| Operation | Safe online? | Notes |
|
|
62
|
+
| --- | --- | --- |
|
|
63
|
+
| Add nullable column | ✅ | Instant in Postgres 11+ |
|
|
64
|
+
| Add NOT NULL column with DEFAULT | ✅ Postgres 11+ | Older versions rewrite table |
|
|
65
|
+
| Drop column | ✅ | Marks column invisible; no immediate rewrite |
|
|
66
|
+
| Add index | ❌ (blocks writes) | Use `CREATE INDEX CONCURRENTLY` |
|
|
67
|
+
| Add UNIQUE constraint | ❌ | Create unique index concurrently first, then `ADD CONSTRAINT ... USING INDEX` |
|
|
68
|
+
| Rename column | ⚠️ | Breaking change — requires multi-phase deploy |
|
|
69
|
+
| Change column type | ❌ | Usually needs table rewrite; use additive approach |
|
|
70
|
+
| Drop table | ❌ | Irreversible without backup; ensure app no longer references it |
|
|
71
|
+
|
|
72
|
+
## CREATE INDEX CONCURRENTLY
|
|
73
|
+
|
|
74
|
+
The only way to add an index without blocking writes:
|
|
75
|
+
|
|
76
|
+
```sql
|
|
77
|
+
-- Run outside a transaction block (psql \c or separate connection)
|
|
78
|
+
CREATE INDEX CONCURRENTLY idx_orders_user_id ON orders (user_id);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Caveats:
|
|
82
|
+
- Cannot run inside a transaction.
|
|
83
|
+
- Takes longer than regular `CREATE INDEX`.
|
|
84
|
+
- If it fails, leaves an `INVALID` index — drop it and retry:
|
|
85
|
+
```sql
|
|
86
|
+
DROP INDEX CONCURRENTLY idx_orders_user_id;
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Renaming — multi-phase deploy
|
|
90
|
+
|
|
91
|
+
Never rename a column in a single deploy. The app will break.
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Phase 1: Add new column, dual-write in app to both old and new.
|
|
95
|
+
Phase 2: Backfill new column from old.
|
|
96
|
+
Phase 3: Deploy app to read from new column only.
|
|
97
|
+
Phase 4: Remove old column.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Migration tools
|
|
101
|
+
|
|
102
|
+
| Tool | Language | Notes |
|
|
103
|
+
| --- | --- | --- |
|
|
104
|
+
| **Flyway** | Java / CLI | SQL-based, version numbered, popular in enterprise |
|
|
105
|
+
| **Liquibase** | Java / CLI | XML/YAML/SQL, rollback built in |
|
|
106
|
+
| **golang-migrate** | Go / CLI | Simple, SQL-based, widely used in Go projects |
|
|
107
|
+
| **Alembic** | Python | SQLAlchemy-integrated, autogenerate support |
|
|
108
|
+
| **Prisma Migrate** | Node.js | Generates SQL from schema diff, dev-friendly |
|
|
109
|
+
| **Drizzle** | Node.js | TypeScript-first, explicit SQL migrations |
|
|
110
|
+
|
|
111
|
+
For any tool: always store migration files in version control and review them in PRs.
|
|
112
|
+
|
|
113
|
+
## Production checklist before running a migration
|
|
114
|
+
|
|
115
|
+
- [ ] Tested on staging with production data size.
|
|
116
|
+
- [ ] Estimated lock duration checked (`EXPLAIN` or timing on staging).
|
|
117
|
+
- [ ] `CREATE INDEX CONCURRENTLY` used for any new indexes.
|
|
118
|
+
- [ ] Down migration written and tested.
|
|
119
|
+
- [ ] Monitoring dashboard open during migration.
|
|
120
|
+
- [ ] Rollback plan documented.
|
|
121
|
+
- [ ] Maintenance window scheduled if migration is non-online.
|
|
122
|
+
|
|
123
|
+
## Sources
|
|
124
|
+
- ALTER TABLE: https://www.postgresql.org/docs/current/sql-altertable.html
|
|
125
|
+
- CREATE INDEX CONCURRENTLY: https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-CONCURRENTLY
|
|
126
|
+
- Zero-downtime schema changes: https://www.postgresql.org/docs/current/ddl-alter.html
|
package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/performance-ops.md
CHANGED
|
@@ -1,5 +1,117 @@
|
|
|
1
|
-
# Postgres Performance and Operations
|
|
1
|
+
# Postgres — Performance and Operations
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## EXPLAIN workflow
|
|
4
|
+
|
|
5
|
+
Always baseline with `EXPLAIN (ANALYZE, BUFFERS)` before and after any change.
|
|
6
|
+
|
|
7
|
+
```sql
|
|
8
|
+
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
|
|
9
|
+
SELECT * FROM orders WHERE user_id = 42 ORDER BY created_at DESC LIMIT 20;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Key things to read:
|
|
13
|
+
- **Actual vs estimated rows**: large mismatch → run `ANALYZE` on the table.
|
|
14
|
+
- **`Buffers: shared hit / read`**: high `read` → data not cached, I/O bound.
|
|
15
|
+
- **`Seq Scan`** on a large table with a filter → likely missing index.
|
|
16
|
+
- **`Hash Join` vs `Nested Loop`**: nested loop is fast with small inner set; hash join is better for large sets.
|
|
17
|
+
- **`Sort` + `Limit`**: if sorting before limiting, consider an index with matching sort order.
|
|
18
|
+
|
|
19
|
+
## pg_stat_statements
|
|
20
|
+
|
|
21
|
+
Tracks cumulative stats for every query shape. Use to find top queries by total time.
|
|
22
|
+
|
|
23
|
+
```sql
|
|
24
|
+
-- Enable once per cluster
|
|
25
|
+
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
|
|
26
|
+
|
|
27
|
+
-- Top 10 queries by total execution time
|
|
28
|
+
SELECT query, calls, total_exec_time::int, mean_exec_time::int, rows
|
|
29
|
+
FROM pg_stat_statements
|
|
30
|
+
ORDER BY total_exec_time DESC
|
|
31
|
+
LIMIT 10;
|
|
32
|
+
|
|
33
|
+
-- Reset stats after tuning
|
|
34
|
+
SELECT pg_stat_statements_reset();
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## ANALYZE — keeping planner stats fresh
|
|
38
|
+
|
|
39
|
+
Postgres uses per-column statistics (histograms, MCVs) to estimate row counts. Stale stats = bad plans.
|
|
40
|
+
|
|
41
|
+
```sql
|
|
42
|
+
ANALYZE orders; -- single table
|
|
43
|
+
ANALYZE VERBOSE orders; -- with output
|
|
44
|
+
ANALYZE; -- whole database
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- `autovacuum` runs `ANALYZE` automatically when ~10% of rows change. For bulk loads, run manually.
|
|
48
|
+
- Increase `default_statistics_target` (default 100) for columns with skewed distribution:
|
|
49
|
+
```sql
|
|
50
|
+
ALTER TABLE orders ALTER COLUMN status SET STATISTICS 500;
|
|
51
|
+
ANALYZE orders;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## VACUUM and autovacuum
|
|
55
|
+
|
|
56
|
+
Postgres uses MVCC — dead tuples accumulate from UPDATEs and DELETEs. VACUUM reclaims them.
|
|
57
|
+
|
|
58
|
+
```sql
|
|
59
|
+
VACUUM orders; -- reclaim dead tuples (non-blocking)
|
|
60
|
+
VACUUM ANALYZE orders; -- reclaim + refresh stats
|
|
61
|
+
VACUUM FULL orders; -- rewrite table, reclaims disk — needs exclusive lock, use cautiously
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Signs of autovacuum not keeping up:
|
|
65
|
+
```sql
|
|
66
|
+
-- Tables with high dead tuple counts
|
|
67
|
+
SELECT relname, n_dead_tup, n_live_tup, last_autovacuum
|
|
68
|
+
FROM pg_stat_user_tables
|
|
69
|
+
ORDER BY n_dead_tup DESC;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Tuning autovacuum for hot tables:
|
|
73
|
+
```sql
|
|
74
|
+
ALTER TABLE orders SET (
|
|
75
|
+
autovacuum_vacuum_scale_factor = 0.01, -- default 0.2 — trigger earlier
|
|
76
|
+
autovacuum_analyze_scale_factor = 0.005
|
|
77
|
+
);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Connection pooling
|
|
81
|
+
|
|
82
|
+
Postgres spawns one process per connection. At ~200+ connections, overhead is significant.
|
|
83
|
+
- Use **PgBouncer** (transaction pooling) to multiplex app connections.
|
|
84
|
+
- Size pool to available CPU cores × 2–4. Monitor `pg_stat_activity`.
|
|
85
|
+
|
|
86
|
+
```sql
|
|
87
|
+
-- Active connections breakdown
|
|
88
|
+
SELECT state, count(*) FROM pg_stat_activity GROUP BY state;
|
|
89
|
+
|
|
90
|
+
-- Long-running queries
|
|
91
|
+
SELECT pid, now() - query_start AS duration, query, state
|
|
92
|
+
FROM pg_stat_activity
|
|
93
|
+
WHERE state != 'idle' AND query_start < now() - interval '30 seconds';
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Lock monitoring
|
|
97
|
+
|
|
98
|
+
```sql
|
|
99
|
+
-- Blocked queries and what is blocking them
|
|
100
|
+
SELECT blocked.pid, blocked.query, blocking.pid AS blocking_pid, blocking.query AS blocking_query
|
|
101
|
+
FROM pg_stat_activity blocked
|
|
102
|
+
JOIN pg_stat_activity blocking ON blocking.pid = ANY(pg_blocking_pids(blocked.pid))
|
|
103
|
+
WHERE cardinality(pg_blocking_pids(blocked.pid)) > 0;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Key production guardrails
|
|
107
|
+
|
|
108
|
+
- Never run `VACUUM FULL` on a busy production table — takes an exclusive lock.
|
|
109
|
+
- Use `CREATE INDEX CONCURRENTLY` to avoid write blocks.
|
|
110
|
+
- Set `statement_timeout` and `lock_timeout` to prevent runaway queries from starving the system.
|
|
111
|
+
- Avoid long-open transactions — they block autovacuum and cause bloat.
|
|
112
|
+
|
|
113
|
+
## Sources
|
|
114
|
+
- EXPLAIN: https://www.postgresql.org/docs/current/using-explain.html
|
|
115
|
+
- pg_stat_statements: https://www.postgresql.org/docs/current/pgstatstatements.html
|
|
116
|
+
- ANALYZE: https://www.postgresql.org/docs/current/sql-analyze.html
|
|
117
|
+
- VACUUM / autovacuum: https://www.postgresql.org/docs/current/routine-vacuuming.html
|
package/Ai Agent Workflow/skills/database-skills/skills/postgres/references/schema-indexing.md
CHANGED
|
@@ -1,5 +1,79 @@
|
|
|
1
|
-
# Postgres Schema and Indexing
|
|
1
|
+
# Postgres — Schema Design and Indexing
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
-
|
|
3
|
+
## Schema design
|
|
4
|
+
|
|
5
|
+
- Declare `NOT NULL` on every column that should never be null; reduces planner uncertainty and storage overhead.
|
|
6
|
+
- Use `CHECK` constraints for domain rules (`amount > 0`, `status IN (...)`) — they are enforced transactionally and inform the planner.
|
|
7
|
+
- Use `FOREIGN KEY` constraints for referential integrity; add indexes on FK columns to prevent sequential scans during cascades and joins.
|
|
8
|
+
- Prefer `BIGINT` generated identity columns or UUIDs (v7 for sortability) as primary keys. Avoid random UUIDs as clustered keys on write-heavy tables — they fragment B-tree pages.
|
|
9
|
+
- Use `TEXT` over `VARCHAR(n)` unless you need the length constraint enforced at the DB layer.
|
|
10
|
+
- Prefer `TIMESTAMPTZ` over `TIMESTAMP` for all time columns.
|
|
11
|
+
|
|
12
|
+
## Index types and when to use them
|
|
13
|
+
|
|
14
|
+
| Type | When to use |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| **B-tree** (default) | Equality, range, `ORDER BY`, `LIKE 'prefix%'` |
|
|
17
|
+
| **GIN** | JSONB containment (`@>`), full-text search, array overlap (`&&`) |
|
|
18
|
+
| **GiST** | Geometric types, range type overlap, nearest-neighbor search |
|
|
19
|
+
| **BRIN** | Append-mostly tables (time-series, logs) with high physical correlation |
|
|
20
|
+
| **Hash** | Pure equality lookups only (`=`), smaller than B-tree |
|
|
21
|
+
|
|
22
|
+
## Multicolumn (composite) indexes
|
|
23
|
+
|
|
24
|
+
- Column order matters: place equality predicates first, then range/sort columns.
|
|
25
|
+
- The planner can use a composite index for any leading prefix of its columns.
|
|
26
|
+
- Example: `(status, created_at)` supports `WHERE status = 'open' ORDER BY created_at` but NOT `WHERE created_at > ...` alone without a full scan.
|
|
27
|
+
|
|
28
|
+
```sql
|
|
29
|
+
CREATE INDEX idx_orders_status_created ON orders (status, created_at DESC);
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Partial indexes
|
|
33
|
+
|
|
34
|
+
- Index only the rows that queries actually need — dramatically smaller, faster to update.
|
|
35
|
+
- Use when a hot query always includes a constant predicate.
|
|
36
|
+
|
|
37
|
+
```sql
|
|
38
|
+
-- Only index unpaid invoices, avoiding index bloat from millions of paid rows
|
|
39
|
+
CREATE INDEX idx_invoices_unpaid ON invoices (due_date) WHERE paid = false;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Covering indexes (INCLUDE)
|
|
43
|
+
|
|
44
|
+
- Add non-predicate columns to the index to allow index-only scans (no heap fetch).
|
|
45
|
+
- Put predicate columns in the key; put projection-only columns in `INCLUDE`.
|
|
46
|
+
|
|
47
|
+
```sql
|
|
48
|
+
CREATE INDEX idx_orders_user_covering ON orders (user_id, status)
|
|
49
|
+
INCLUDE (total_amount, created_at);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## BRIN for append-mostly tables
|
|
53
|
+
|
|
54
|
+
- Works by storing min/max per block range. Tiny index size, fast sequential insans.
|
|
55
|
+
- Best when table rows are physically written in correlation with the indexed column (e.g., `created_at` on an append-only event table).
|
|
56
|
+
- Useless for randomly ordered data.
|
|
57
|
+
|
|
58
|
+
```sql
|
|
59
|
+
CREATE INDEX idx_events_created_brin ON events USING BRIN (created_at);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Index maintenance rules
|
|
63
|
+
|
|
64
|
+
- Run `ANALYZE` after large data loads to refresh planner statistics.
|
|
65
|
+
- Detect unused indexes:
|
|
66
|
+
```sql
|
|
67
|
+
SELECT schemaname, relname, indexrelname, idx_scan
|
|
68
|
+
FROM pg_stat_user_indexes
|
|
69
|
+
WHERE idx_scan = 0;
|
|
70
|
+
```
|
|
71
|
+
- Drop unused indexes — they slow writes and increase vacuum cost.
|
|
72
|
+
- Use `CREATE INDEX CONCURRENTLY` in production to avoid table locks.
|
|
73
|
+
|
|
74
|
+
## Sources
|
|
75
|
+
- PostgreSQL docs: Indexes — https://www.postgresql.org/docs/current/indexes.html
|
|
76
|
+
- Multicolumn: https://www.postgresql.org/docs/current/indexes-multicolumn.html
|
|
77
|
+
- Partial: https://www.postgresql.org/docs/current/indexes-partial.html
|
|
78
|
+
- Covering (INCLUDE): https://www.postgresql.org/docs/current/sql-createindex.html
|
|
79
|
+
- BRIN: https://www.postgresql.org/docs/current/brin.html
|
|
@@ -1,15 +1,36 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: redis
|
|
3
|
-
description: Redis data modeling, caching strategy, latency
|
|
3
|
+
description: Redis data modeling, caching strategy, throughput/latency optimization, and operational safety.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Redis
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## Optimization workflow
|
|
9
|
+
|
|
10
|
+
1. Define key schema and TTL policy first.
|
|
11
|
+
2. Reduce round-trips with pipelining and batching.
|
|
12
|
+
3. Tune memory footprint by data structure choice.
|
|
13
|
+
4. Diagnose latency with server + system context.
|
|
14
|
+
5. Validate hot-key and cluster-slot distribution for scale.
|
|
15
|
+
|
|
16
|
+
## Indexing-style patterns in Redis
|
|
17
|
+
|
|
18
|
+
- Redis is key-based; design key schema as your primary access index.
|
|
19
|
+
- Use sorted sets and secondary lookup structures for query-like access.
|
|
20
|
+
- Use `SCAN`-family commands for incremental traversal; avoid `KEYS` in production.
|
|
21
|
+
|
|
22
|
+
## Pagination techniques
|
|
23
|
+
|
|
24
|
+
- For ordered feeds/leaderboards, paginate with sorted set score/member boundaries.
|
|
25
|
+
- For keyspace traversal, cursor-based `SCAN` pagination only.
|
|
26
|
+
|
|
27
|
+
## Performance guardrails
|
|
28
|
+
|
|
29
|
+
- Keep value payloads bounded; avoid giant hot keys.
|
|
30
|
+
- Monitor expiry storms and eviction behavior.
|
|
31
|
+
- Use realistic load tests for pipeline and memory tuning.
|
|
32
|
+
|
|
33
|
+
## References
|
|
34
|
+
|
|
9
35
|
- `references/cache-patterns.md`
|
|
10
36
|
- `references/operations.md`
|
|
11
|
-
|
|
12
|
-
Key rules:
|
|
13
|
-
- Treat Redis as a data structure server, not generic storage.
|
|
14
|
-
- Define TTL, invalidation, and consistency strategy upfront.
|
|
15
|
-
- Monitor memory, eviction policy, and command latency.
|
|
@@ -1,5 +1,154 @@
|
|
|
1
|
-
# Redis Cache Patterns
|
|
1
|
+
# Redis — Cache and Throughput Patterns
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## Choosing the right data structure
|
|
4
|
+
|
|
5
|
+
This is the most important Redis decision. Using the wrong type causes unnecessary memory use and complexity.
|
|
6
|
+
|
|
7
|
+
| Use case | Data structure | Key pattern |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| Single value / counter | `String` | `user:{id}:session` |
|
|
10
|
+
| Object with fields | `Hash` | `user:{id}` |
|
|
11
|
+
| Ordered leaderboard / timeline | `Sorted Set` (ZSET) | `leaderboard:global` |
|
|
12
|
+
| Unique membership / deduplication | `Set` | `online_users` |
|
|
13
|
+
| Message queue / feed | `List` (LPUSH/RPOP) or `Stream` | `queue:emails` |
|
|
14
|
+
| Feature flags per user | `Hash` or `Bitmap` | `flags:{user_id}` |
|
|
15
|
+
| Rate limiting | `String` + `INCR` + `EXPIRE` | `rate:{user_id}:{window}` |
|
|
16
|
+
| Time-series / event log | `Stream` | `events:{service}` |
|
|
17
|
+
| Pub/Sub fan-out | `Pub/Sub` channel | `channel:notifications` |
|
|
18
|
+
|
|
19
|
+
**Never** store serialized JSON in a `String` if you only need individual fields — use `Hash` and `HGET`/`HSET` to avoid deserializing the whole blob.
|
|
20
|
+
|
|
21
|
+
## Key naming conventions
|
|
22
|
+
|
|
23
|
+
Consistent naming prevents key collisions and makes `SCAN`-based debugging possible.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
<namespace>:<entity>:<id>[:<field>]
|
|
27
|
+
|
|
28
|
+
user:42:session → session token for user 42
|
|
29
|
+
product:99:views → view counter for product 99
|
|
30
|
+
rate:192.168.1.1:1706 → rate limit bucket for IP + minute window
|
|
31
|
+
leaderboard:global → global ZSET leaderboard
|
|
32
|
+
queue:emails → email send queue (List)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Rules:
|
|
36
|
+
- Use `:` as separator, not `.` or `/`.
|
|
37
|
+
- Keep keys short — key names count toward memory.
|
|
38
|
+
- Avoid dynamic segments that produce unbounded key space without TTL.
|
|
39
|
+
|
|
40
|
+
## TTL strategy
|
|
41
|
+
|
|
42
|
+
Always set TTLs on cache keys. Omitting TTL = memory leak.
|
|
43
|
+
|
|
44
|
+
```redis
|
|
45
|
+
SET user:42:session "token" EX 3600 # expires in 1 hour
|
|
46
|
+
SETEX user:42:profile 300 "{...}" # 5 minutes
|
|
47
|
+
EXPIRE user:42:temp 60 # set TTL on existing key
|
|
48
|
+
|
|
49
|
+
# Atomic set + expire (preferred over SETEX)
|
|
50
|
+
SET key value EX 300 NX # set only if not exists + TTL
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Check TTL on a key:
|
|
54
|
+
```redis
|
|
55
|
+
TTL user:42:session # -1 = no TTL (danger!), -2 = key gone, N = seconds left
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Pipelining — batch commands to reduce round-trips
|
|
59
|
+
|
|
60
|
+
Each Redis command is a network round-trip. Pipeline batches commands into a single trip.
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
// Node.js (ioredis) example
|
|
64
|
+
const pipeline = redis.pipeline();
|
|
65
|
+
pipeline.get('user:1:session');
|
|
66
|
+
pipeline.incr('user:1:views');
|
|
67
|
+
pipeline.expire('user:1:views', 3600);
|
|
68
|
+
const results = await pipeline.exec();
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Use pipelining for any hot path that issues 3+ Redis commands in sequence.
|
|
72
|
+
|
|
73
|
+
## SCAN instead of KEYS in production
|
|
74
|
+
|
|
75
|
+
`KEYS pattern` blocks the Redis event loop for its entire duration — it will freeze Redis under load.
|
|
76
|
+
|
|
77
|
+
```redis
|
|
78
|
+
# NEVER in production
|
|
79
|
+
KEYS user:*
|
|
80
|
+
|
|
81
|
+
# CORRECT: iterative cursor scan
|
|
82
|
+
SCAN 0 MATCH user:* COUNT 100
|
|
83
|
+
# Use returned cursor until it returns 0
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
In code:
|
|
87
|
+
```ts
|
|
88
|
+
let cursor = '0';
|
|
89
|
+
do {
|
|
90
|
+
const [newCursor, keys] = await redis.scan(cursor, 'MATCH', 'user:*', 'COUNT', 100);
|
|
91
|
+
cursor = newCursor;
|
|
92
|
+
// process keys
|
|
93
|
+
} while (cursor !== '0');
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Rate limiting pattern
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
// Sliding window rate limit: max 100 requests per minute per user
|
|
100
|
+
async function isRateLimited(userId: string): Promise<boolean> {
|
|
101
|
+
const key = `rate:${userId}:${Math.floor(Date.now() / 60000)}`;
|
|
102
|
+
const count = await redis.incr(key);
|
|
103
|
+
if (count === 1) await redis.expire(key, 120); // 2 min window safety margin
|
|
104
|
+
return count > 100;
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Sorted sets for leaderboards and pagination
|
|
109
|
+
|
|
110
|
+
```redis
|
|
111
|
+
# Add score
|
|
112
|
+
ZADD leaderboard:global 1500 "user:42"
|
|
113
|
+
|
|
114
|
+
# Top 10
|
|
115
|
+
ZREVRANGEBYSCORE leaderboard:global +inf -inf WITHSCORES LIMIT 0 10
|
|
116
|
+
|
|
117
|
+
# Rank of a user (0-indexed)
|
|
118
|
+
ZREVRANK leaderboard:global "user:42"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Cursor-based pagination with sorted sets:
|
|
122
|
+
```redis
|
|
123
|
+
# Page 1: get top 20
|
|
124
|
+
ZREVRANGE leaderboard:global 0 19 WITHSCORES
|
|
125
|
+
|
|
126
|
+
# Page 2: skip 20
|
|
127
|
+
ZREVRANGE leaderboard:global 20 39 WITHSCORES
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Cache invalidation patterns
|
|
131
|
+
|
|
132
|
+
| Pattern | When to use |
|
|
133
|
+
| --- | --- |
|
|
134
|
+
| **TTL expiry** | Acceptable staleness (most cases) |
|
|
135
|
+
| **Write-through** | Update cache on every write — consistent but coupled |
|
|
136
|
+
| **Write-behind** | Write to cache; async flush to DB — fast writes, risk of loss |
|
|
137
|
+
| **Cache-aside** | App reads cache → miss → read DB → populate cache |
|
|
138
|
+
| **Tag-based invalidation** | Delete multiple related keys via a shared tag key |
|
|
139
|
+
|
|
140
|
+
Tag-based with a Set:
|
|
141
|
+
```ts
|
|
142
|
+
// On write: register the key under its tag
|
|
143
|
+
await redis.sadd('tag:user:42', 'user:42:profile', 'user:42:orders');
|
|
144
|
+
|
|
145
|
+
// On invalidation: delete all tagged keys
|
|
146
|
+
const keys = await redis.smembers('tag:user:42');
|
|
147
|
+
await redis.del(...keys, 'tag:user:42');
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Sources
|
|
151
|
+
- Pipelining: https://redis.io/docs/latest/develop/using-commands/pipelining/
|
|
152
|
+
- SCAN command: https://redis.io/docs/latest/commands/scan/
|
|
153
|
+
- Sorted sets: https://redis.io/docs/latest/develop/data-types/sorted-sets/
|
|
154
|
+
- Data types overview: https://redis.io/docs/latest/develop/data-types/
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Redis — Data Modeling and Key Design
|
|
2
|
+
|
|
3
|
+
## The golden rule
|
|
4
|
+
|
|
5
|
+
In Redis, the **data structure determines your access pattern** — pick the structure based on what operations you need, not what the data looks like.
|
|
6
|
+
|
|
7
|
+
## Data structure decision guide
|
|
8
|
+
|
|
9
|
+
### String — simplest value
|
|
10
|
+
|
|
11
|
+
Use for: counters, single scalar values, serialized blobs, feature flags.
|
|
12
|
+
|
|
13
|
+
```redis
|
|
14
|
+
SET user:42:points 1500
|
|
15
|
+
INCR user:42:points # atomic increment
|
|
16
|
+
INCRBY user:42:points 50
|
|
17
|
+
GET user:42:points
|
|
18
|
+
|
|
19
|
+
# Serialized JSON (avoid if you only need individual fields — use Hash instead)
|
|
20
|
+
SET product:99 '{"name":"Widget","price":9.99}'
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Hash — object with fields
|
|
24
|
+
|
|
25
|
+
Use for: user profiles, session data, config objects with named fields. Avoids deserializing a full JSON blob to update one field.
|
|
26
|
+
|
|
27
|
+
```redis
|
|
28
|
+
HSET user:42 name "Alice" email "alice@example.com" plan "pro"
|
|
29
|
+
HGET user:42 email
|
|
30
|
+
HMGET user:42 name plan # fetch specific fields
|
|
31
|
+
HINCRBY user:42 login_count 1 # atomic field increment
|
|
32
|
+
HDEL user:42 temp_field # remove one field
|
|
33
|
+
HGETALL user:42 # get all fields (watch size)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Memory note: Hashes with ≤128 fields and short values use a compact ziplist encoding — much cheaper than separate String keys.
|
|
37
|
+
|
|
38
|
+
### List — ordered sequence / queue
|
|
39
|
+
|
|
40
|
+
Use for: message queues, activity feeds (append + trim), task lists.
|
|
41
|
+
|
|
42
|
+
```redis
|
|
43
|
+
LPUSH queue:emails '{"to":"a@b.com"}' # push to head
|
|
44
|
+
RPUSH queue:emails '{"to":"c@d.com"}' # push to tail
|
|
45
|
+
LPOP queue:emails # dequeue from head (FIFO)
|
|
46
|
+
RPOP queue:emails # dequeue from tail (LIFO)
|
|
47
|
+
LLEN queue:emails # current length
|
|
48
|
+
LTRIM feed:user:42 0 99 # keep only last 100 items
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For producer/consumer queues in production prefer **Streams** (more features, consumer groups, acknowledgment).
|
|
52
|
+
|
|
53
|
+
### Set — unordered unique values
|
|
54
|
+
|
|
55
|
+
Use for: membership checks, unique visitors, tagging, deduplication.
|
|
56
|
+
|
|
57
|
+
```redis
|
|
58
|
+
SADD online_users user:42 user:99
|
|
59
|
+
SISMEMBER online_users user:42 # O(1) membership check
|
|
60
|
+
SMEMBERS online_users # all members (avoid on large sets)
|
|
61
|
+
SCARD online_users # count
|
|
62
|
+
SREM online_users user:42 # remove
|
|
63
|
+
|
|
64
|
+
# Set operations (great for permission/feature checks)
|
|
65
|
+
SUNION editors:org:1 editors:org:2 # union
|
|
66
|
+
SINTER subscribers premium_users # intersection
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Sorted Set (ZSET) — ordered by score
|
|
70
|
+
|
|
71
|
+
Use for: leaderboards, rate limiting, scheduled jobs, range queries, time-series indexes.
|
|
72
|
+
|
|
73
|
+
```redis
|
|
74
|
+
ZADD leaderboard:global 1500 "user:42" # score = 1500
|
|
75
|
+
ZINCRBY leaderboard:global 100 "user:42" # atomic score increment
|
|
76
|
+
ZREVRANK leaderboard:global "user:42" # rank (0-indexed, desc)
|
|
77
|
+
ZREVRANGE leaderboard:global 0 9 WITHSCORES # top 10 with scores
|
|
78
|
+
|
|
79
|
+
# Range by score (e.g., all jobs due in next 60s)
|
|
80
|
+
ZRANGEBYSCORE scheduled_jobs 0 1706000060 WITHSCORES LIMIT 0 10
|
|
81
|
+
ZREM scheduled_jobs "job:123" # remove after processing
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Stream — append-only log with consumer groups
|
|
85
|
+
|
|
86
|
+
Use for: event sourcing, reliable message delivery, audit logs, notifications.
|
|
87
|
+
|
|
88
|
+
```redis
|
|
89
|
+
XADD events:orders '*' type order_created orderId 99 userId 42 # auto-ID
|
|
90
|
+
XLEN events:orders
|
|
91
|
+
XRANGE events:orders - + # all events
|
|
92
|
+
XRANGE events:orders 1706000000000-0 + # from timestamp
|
|
93
|
+
|
|
94
|
+
# Consumer group for reliable delivery
|
|
95
|
+
XGROUP CREATE events:orders workers $ MKSTREAM
|
|
96
|
+
XREADGROUP GROUP workers consumer1 COUNT 10 STREAMS events:orders > # read new
|
|
97
|
+
XACK events:orders workers <message-id> # acknowledge after processing
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Key naming
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
<entity>:<id>:<field>
|
|
104
|
+
|
|
105
|
+
user:42:points String — points counter
|
|
106
|
+
user:42 Hash — user profile object
|
|
107
|
+
leaderboard:global ZSET — global score board
|
|
108
|
+
queue:emails List — email send queue
|
|
109
|
+
online_users Set — currently online user IDs
|
|
110
|
+
events:orders Stream — order event log
|
|
111
|
+
rate:user:42:202501 String — rate limit bucket
|
|
112
|
+
session:abc123 String/Hash — session data
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Rules:
|
|
116
|
+
- Use `:` as separator.
|
|
117
|
+
- Keep namespaces consistent across the codebase.
|
|
118
|
+
- Include an entity type so `SCAN type:*` works for debugging.
|
|
119
|
+
- Include a time bucket in rate limit keys so they auto-expire when the window passes.
|
|
120
|
+
|
|
121
|
+
## TTL strategy
|
|
122
|
+
|
|
123
|
+
| Key type | TTL strategy |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| Sessions | Explicit TTL on set, slide it on read (`EXPIRE key 3600`) |
|
|
126
|
+
| Cache keys | Fixed TTL matching acceptable staleness |
|
|
127
|
+
| Rate limit buckets | 2× the window duration |
|
|
128
|
+
| Leaderboards | No TTL (explicit reset with `DEL`) |
|
|
129
|
+
| Streams | Use `MAXLEN` to cap length, or `EXPIRE` on the whole stream |
|
|
130
|
+
|
|
131
|
+
```redis
|
|
132
|
+
# Sliding session TTL
|
|
133
|
+
SET session:abc123 "{...}" EX 3600
|
|
134
|
+
# On each read, reset the TTL:
|
|
135
|
+
EXPIRE session:abc123 3600
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Avoid these patterns
|
|
139
|
+
|
|
140
|
+
| Antipattern | Problem | Fix |
|
|
141
|
+
| --- | --- | --- |
|
|
142
|
+
| Storing JSON in String when you need individual fields | Full deser on every access | Use Hash |
|
|
143
|
+
| Unbounded List/Set with no trim | Memory growth without bound | `LTRIM`, `SREM`, or `MAXLEN` |
|
|
144
|
+
| `KEYS *` in production | Blocks event loop | Use `SCAN` |
|
|
145
|
+
| No TTL on cache keys | Memory leak | Always set TTL |
|
|
146
|
+
| Huge Hash (`HGETALL`) on hot path | Transfers more data than needed | Project with `HMGET` |
|
|
147
|
+
| Sequences as String with `INCR` shared globally | Bottleneck at high QPS | Shard or batch |
|
|
148
|
+
|
|
149
|
+
## Sources
|
|
150
|
+
- Redis data types: https://redis.io/docs/latest/develop/data-types/
|
|
151
|
+
- Streams: https://redis.io/docs/latest/develop/data-types/streams/
|
|
152
|
+
- Sorted sets: https://redis.io/docs/latest/develop/data-types/sorted-sets/
|