claude-autopm 2.8.2 → 2.8.4
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/README.md +399 -637
- package/install/install.js +15 -5
- package/package.json +2 -1
- package/packages/plugin-ai/LICENSE +21 -0
- package/packages/plugin-ai/README.md +316 -0
- package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
- package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
- package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
- package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
- package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
- package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
- package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-ai/commands/a2a-setup.md +886 -0
- package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
- package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
- package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
- package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
- package/packages/plugin-ai/commands/llm-optimize.md +348 -0
- package/packages/plugin-ai/commands/openai-optimize.md +863 -0
- package/packages/plugin-ai/commands/rag-optimize.md +841 -0
- package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
- package/packages/plugin-ai/package.json +66 -0
- package/packages/plugin-ai/plugin.json +519 -0
- package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
- package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
- package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
- package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
- package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
- package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
- package/packages/plugin-cloud/README.md +268 -0
- package/packages/plugin-cloud/agents/README.md +55 -0
- package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
- package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
- package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
- package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
- package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
- package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
- package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
- package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
- package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
- package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
- package/packages/plugin-cloud/commands/ssh-security.md +65 -0
- package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
- package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
- package/packages/plugin-cloud/package.json +64 -0
- package/packages/plugin-cloud/plugin.json +338 -0
- package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
- package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
- package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
- package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
- package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
- package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
- package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
- package/packages/plugin-core/README.md +274 -0
- package/packages/plugin-core/agents/core/agent-manager.md +296 -0
- package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
- package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
- package/packages/plugin-core/agents/core/test-runner.md +200 -0
- package/packages/plugin-core/commands/code-rabbit.md +128 -0
- package/packages/plugin-core/commands/prompt.md +9 -0
- package/packages/plugin-core/commands/re-init.md +9 -0
- package/packages/plugin-core/hooks/context7-reminder.md +29 -0
- package/packages/plugin-core/hooks/enforce-agents.js +125 -0
- package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
- package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
- package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
- package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
- package/packages/plugin-core/hooks/test-hook.sh +21 -0
- package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
- package/packages/plugin-core/package.json +45 -0
- package/packages/plugin-core/plugin.json +387 -0
- package/packages/plugin-core/rules/agent-coordination.md +549 -0
- package/packages/plugin-core/rules/agent-mandatory.md +170 -0
- package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
- package/packages/plugin-core/rules/command-pipelines.md +208 -0
- package/packages/plugin-core/rules/context-optimization.md +176 -0
- package/packages/plugin-core/rules/context7-enforcement.md +327 -0
- package/packages/plugin-core/rules/datetime.md +122 -0
- package/packages/plugin-core/rules/definition-of-done.md +272 -0
- package/packages/plugin-core/rules/development-environments.md +19 -0
- package/packages/plugin-core/rules/development-workflow.md +198 -0
- package/packages/plugin-core/rules/framework-path-rules.md +180 -0
- package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
- package/packages/plugin-core/rules/git-strategy.md +237 -0
- package/packages/plugin-core/rules/golden-rules.md +181 -0
- package/packages/plugin-core/rules/naming-conventions.md +111 -0
- package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
- package/packages/plugin-core/rules/performance-guidelines.md +403 -0
- package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
- package/packages/plugin-core/rules/security-checklist.md +318 -0
- package/packages/plugin-core/rules/standard-patterns.md +197 -0
- package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
- package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
- package/packages/plugin-core/rules/use-ast-grep.md +113 -0
- package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
- package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
- package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
- package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
- package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
- package/packages/plugin-core/scripts/mcp/add.sh +7 -0
- package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/list.sh +7 -0
- package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
- package/packages/plugin-data/README.md +315 -0
- package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
- package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
- package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
- package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
- package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
- package/packages/plugin-data/package.json +66 -0
- package/packages/plugin-data/plugin.json +294 -0
- package/packages/plugin-data/rules/data-quality-standards.md +373 -0
- package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
- package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
- package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
- package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
- package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
- package/packages/plugin-databases/README.md +330 -0
- package/packages/plugin-databases/agents/README.md +50 -0
- package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
- package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
- package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
- package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
- package/packages/plugin-databases/agents/redis-expert.md +74 -0
- package/packages/plugin-databases/commands/db-optimize.md +612 -0
- package/packages/plugin-databases/package.json +60 -0
- package/packages/plugin-databases/plugin.json +237 -0
- package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
- package/packages/plugin-databases/rules/database-pipeline.md +316 -0
- package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
- package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
- package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
- package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
- package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
- package/packages/plugin-devops/README.md +367 -0
- package/packages/plugin-devops/agents/README.md +52 -0
- package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
- package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
- package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
- package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
- package/packages/plugin-devops/agents/observability-engineer.md +574 -0
- package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
- package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
- package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
- package/packages/plugin-devops/commands/docker-optimize.md +493 -0
- package/packages/plugin-devops/commands/workflow-create.md +42 -0
- package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
- package/packages/plugin-devops/package.json +61 -0
- package/packages/plugin-devops/plugin.json +302 -0
- package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
- package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
- package/packages/plugin-devops/rules/docker-first-development.md +404 -0
- package/packages/plugin-devops/rules/github-operations.md +92 -0
- package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
- package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
- package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
- package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
- package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
- package/packages/plugin-frameworks/README.md +309 -0
- package/packages/plugin-frameworks/agents/README.md +64 -0
- package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
- package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
- package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
- package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
- package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
- package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
- package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
- package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
- package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
- package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
- package/packages/plugin-frameworks/package.json +59 -0
- package/packages/plugin-frameworks/plugin.json +224 -0
- package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
- package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
- package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
- package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
- package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
- package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
- package/packages/plugin-languages/README.md +333 -0
- package/packages/plugin-languages/agents/README.md +50 -0
- package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
- package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
- package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
- package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
- package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
- package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
- package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
- package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
- package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
- package/packages/plugin-languages/commands/python-optimize.md +593 -0
- package/packages/plugin-languages/package.json +65 -0
- package/packages/plugin-languages/plugin.json +265 -0
- package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
- package/packages/plugin-languages/rules/testing-standards.md +768 -0
- package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
- package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
- package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
- package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
- package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
- package/packages/plugin-ml/README.md +430 -0
- package/packages/plugin-ml/agents/automl-expert.md +326 -0
- package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
- package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
- package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
- package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
- package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
- package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
- package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
- package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
- package/packages/plugin-ml/agents/time-series-expert.md +303 -0
- package/packages/plugin-ml/commands/ml-automl.md +572 -0
- package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
- package/packages/plugin-ml/package.json +52 -0
- package/packages/plugin-ml/plugin.json +338 -0
- package/packages/plugin-pm/README.md +368 -0
- package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
- package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
- package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
- package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
- package/packages/plugin-pm/commands/azure/README.md +246 -0
- package/packages/plugin-pm/commands/azure/active-work.md +198 -0
- package/packages/plugin-pm/commands/azure/aliases.md +143 -0
- package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
- package/packages/plugin-pm/commands/azure/clean.md +93 -0
- package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
- package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
- package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
- package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
- package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
- package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
- package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
- package/packages/plugin-pm/commands/azure/help.md +150 -0
- package/packages/plugin-pm/commands/azure/import-us.md +269 -0
- package/packages/plugin-pm/commands/azure/init.md +211 -0
- package/packages/plugin-pm/commands/azure/next-task.md +262 -0
- package/packages/plugin-pm/commands/azure/search.md +160 -0
- package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
- package/packages/plugin-pm/commands/azure/standup.md +260 -0
- package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
- package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
- package/packages/plugin-pm/commands/azure/task-close.md +329 -0
- package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
- package/packages/plugin-pm/commands/azure/task-list.md +263 -0
- package/packages/plugin-pm/commands/azure/task-new.md +84 -0
- package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
- package/packages/plugin-pm/commands/azure/task-show.md +126 -0
- package/packages/plugin-pm/commands/azure/task-start.md +301 -0
- package/packages/plugin-pm/commands/azure/task-status.md +65 -0
- package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
- package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
- package/packages/plugin-pm/commands/azure/us-list.md +202 -0
- package/packages/plugin-pm/commands/azure/us-new.md +265 -0
- package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
- package/packages/plugin-pm/commands/azure/us-show.md +188 -0
- package/packages/plugin-pm/commands/azure/us-status.md +320 -0
- package/packages/plugin-pm/commands/azure/validate.md +86 -0
- package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
- package/packages/plugin-pm/commands/blocked.md +28 -0
- package/packages/plugin-pm/commands/clean.md +119 -0
- package/packages/plugin-pm/commands/context-create.md +136 -0
- package/packages/plugin-pm/commands/context-prime.md +170 -0
- package/packages/plugin-pm/commands/context-update.md +292 -0
- package/packages/plugin-pm/commands/context.md +28 -0
- package/packages/plugin-pm/commands/epic-close.md +86 -0
- package/packages/plugin-pm/commands/epic-decompose.md +370 -0
- package/packages/plugin-pm/commands/epic-edit.md +83 -0
- package/packages/plugin-pm/commands/epic-list.md +30 -0
- package/packages/plugin-pm/commands/epic-merge.md +222 -0
- package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
- package/packages/plugin-pm/commands/epic-refresh.md +119 -0
- package/packages/plugin-pm/commands/epic-show.md +28 -0
- package/packages/plugin-pm/commands/epic-split.md +120 -0
- package/packages/plugin-pm/commands/epic-start.md +195 -0
- package/packages/plugin-pm/commands/epic-status.md +28 -0
- package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
- package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
- package/packages/plugin-pm/commands/epic-sync.md +486 -0
- package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
- package/packages/plugin-pm/commands/help.md +28 -0
- package/packages/plugin-pm/commands/import.md +115 -0
- package/packages/plugin-pm/commands/in-progress.md +28 -0
- package/packages/plugin-pm/commands/init.md +28 -0
- package/packages/plugin-pm/commands/issue-analyze.md +202 -0
- package/packages/plugin-pm/commands/issue-close.md +119 -0
- package/packages/plugin-pm/commands/issue-edit.md +93 -0
- package/packages/plugin-pm/commands/issue-reopen.md +87 -0
- package/packages/plugin-pm/commands/issue-show.md +41 -0
- package/packages/plugin-pm/commands/issue-start.md +234 -0
- package/packages/plugin-pm/commands/issue-status.md +95 -0
- package/packages/plugin-pm/commands/issue-sync.md +411 -0
- package/packages/plugin-pm/commands/next.md +28 -0
- package/packages/plugin-pm/commands/prd-edit.md +82 -0
- package/packages/plugin-pm/commands/prd-list.md +28 -0
- package/packages/plugin-pm/commands/prd-new.md +55 -0
- package/packages/plugin-pm/commands/prd-parse.md +42 -0
- package/packages/plugin-pm/commands/prd-status.md +28 -0
- package/packages/plugin-pm/commands/search.md +28 -0
- package/packages/plugin-pm/commands/standup.md +28 -0
- package/packages/plugin-pm/commands/status.md +28 -0
- package/packages/plugin-pm/commands/sync.md +99 -0
- package/packages/plugin-pm/commands/test-reference-update.md +151 -0
- package/packages/plugin-pm/commands/validate.md +28 -0
- package/packages/plugin-pm/commands/what-next.md +28 -0
- package/packages/plugin-pm/package.json +57 -0
- package/packages/plugin-pm/plugin.json +503 -0
- package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
- package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
- package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
- package/packages/plugin-pm/scripts/pm/clean.js +464 -0
- package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
- package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
- package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
- package/packages/plugin-pm/scripts/pm/context.js +338 -0
- package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
- package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
- package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
- package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
- package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
- package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
- package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
- package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
- package/packages/plugin-pm/scripts/pm/help.js +92 -0
- package/packages/plugin-pm/scripts/pm/help.sh +90 -0
- package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
- package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
- package/packages/plugin-pm/scripts/pm/init.js +321 -0
- package/packages/plugin-pm/scripts/pm/init.sh +178 -0
- package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
- package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
- package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
- package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
- package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
- package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
- package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
- package/packages/plugin-pm/scripts/pm/next.js +189 -0
- package/packages/plugin-pm/scripts/pm/next.sh +72 -0
- package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
- package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
- package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
- package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
- package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
- package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
- package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
- package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
- package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
- package/packages/plugin-pm/scripts/pm/release.js +460 -0
- package/packages/plugin-pm/scripts/pm/search.js +192 -0
- package/packages/plugin-pm/scripts/pm/search.sh +89 -0
- package/packages/plugin-pm/scripts/pm/standup.js +362 -0
- package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
- package/packages/plugin-pm/scripts/pm/status.js +148 -0
- package/packages/plugin-pm/scripts/pm/status.sh +59 -0
- package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
- package/packages/plugin-pm/scripts/pm/sync.js +343 -0
- package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
- package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
- package/packages/plugin-pm/scripts/pm/validate.js +274 -0
- package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
- package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
- package/packages/plugin-testing/README.md +401 -0
- package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
- package/packages/plugin-testing/commands/jest-optimize.md +800 -0
- package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
- package/packages/plugin-testing/commands/test-coverage.md +512 -0
- package/packages/plugin-testing/commands/test-performance.md +1041 -0
- package/packages/plugin-testing/commands/test-setup.md +414 -0
- package/packages/plugin-testing/package.json +40 -0
- package/packages/plugin-testing/plugin.json +197 -0
- package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
- package/packages/plugin-testing/rules/testing-standards.md +529 -0
- package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
- package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
- package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: postgresql-expert
|
|
3
|
+
description: Use this agent for PostgreSQL database design, optimization, and management. Expert in SQL queries, indexing strategies, performance tuning, replication, partitioning, and advanced PostgreSQL features like JSONB, full-text search, and window functions. Perfect for database architecture, migrations, and troubleshooting.
|
|
4
|
+
tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Bash, Task, Agent
|
|
5
|
+
model: inherit
|
|
6
|
+
color: blue
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PostgreSQL Database Expert
|
|
10
|
+
|
|
11
|
+
## Test-Driven Development (TDD) Methodology
|
|
12
|
+
|
|
13
|
+
**MANDATORY**: Follow strict TDD principles for all development:
|
|
14
|
+
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
15
|
+
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
16
|
+
3. **One test at a time** - Focus on small, incremental development
|
|
17
|
+
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
18
|
+
5. **Tests as documentation** - Tests should clearly document expected behavior
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
You are a senior PostgreSQL database expert specializing in database design, query optimization, and PostgreSQL's advanced features for high-performance, scalable applications.
|
|
22
|
+
|
|
23
|
+
## Documentation Access via MCP Context7
|
|
24
|
+
|
|
25
|
+
**MANDATORY**: Before starting any implementation, query Context7 for latest PostgreSQL best practices.
|
|
26
|
+
|
|
27
|
+
**Context7 Libraries:**
|
|
28
|
+
- **/websites/postgresql** - Official PostgreSQL documentation (61,065 snippets, trust 7.5)
|
|
29
|
+
- **/websites/postgresql-current** - PostgreSQL 17.5 docs (4,665 snippets)
|
|
30
|
+
- **/porsager/postgres** - Postgres.js client (178 snippets, trust 9.6)
|
|
31
|
+
|
|
32
|
+
### Documentation Retrieval Protocol
|
|
33
|
+
|
|
34
|
+
1. **Indexing Strategies**: Query /websites/postgresql for B-tree, GIN, GiST, BRIN patterns
|
|
35
|
+
2. **Query Optimization**: Get EXPLAIN ANALYZE techniques and performance tuning
|
|
36
|
+
3. **Partitioning**: Access table partitioning and partition pruning strategies
|
|
37
|
+
4. **JSONB Operations**: Retrieve GIN indexing and @> operator patterns
|
|
38
|
+
5. **Backup & Recovery**: Get pg_dump and point-in-time recovery procedures
|
|
39
|
+
|
|
40
|
+
**Documentation Queries:**
|
|
41
|
+
- `mcp://context7/websites/postgresql` - Topic: "indexing performance optimization best practices"
|
|
42
|
+
- `mcp://context7/websites/postgresql-current` - Topic: "query optimization explain analyze"
|
|
43
|
+
- `mcp://context7/porsager/postgres` - Topic: "connection pooling transactions"
|
|
44
|
+
|
|
45
|
+
### Context7-Verified Best Practices
|
|
46
|
+
|
|
47
|
+
From /websites/postgresql (trust 7.5):
|
|
48
|
+
- **B-tree indexes**: For equality and range queries
|
|
49
|
+
- **Partial indexes**: For filtered queries with WHERE clause
|
|
50
|
+
- **Covering indexes**: Use INCLUDE clause to avoid heap lookups
|
|
51
|
+
- **Index-only scans**: Leverage visibility map for performance
|
|
52
|
+
- **CREATE INDEX CONCURRENTLY**: Avoid table locks during creation
|
|
53
|
+
- **Partition pruning**: Use _PARTITIONTIME on left side of comparisons
|
|
54
|
+
|
|
55
|
+
## Core Expertise
|
|
56
|
+
|
|
57
|
+
### Database Design
|
|
58
|
+
|
|
59
|
+
- **Schema Design**: Normalization, denormalization strategies
|
|
60
|
+
- **Data Types**: Choosing optimal types, custom types, domains
|
|
61
|
+
- **Constraints**: Primary keys, foreign keys, check constraints, exclusion
|
|
62
|
+
- **Indexes**: B-tree, Hash, GiST, SP-GiST, GIN, BRIN
|
|
63
|
+
- **Partitioning**: Range, list, hash partitioning strategies
|
|
64
|
+
|
|
65
|
+
### Query Optimization
|
|
66
|
+
|
|
67
|
+
- **EXPLAIN ANALYZE**: Query plan analysis and optimization
|
|
68
|
+
- **Index Strategies**: Covering indexes, partial indexes, expression indexes
|
|
69
|
+
- **Query Rewriting**: CTEs, window functions, lateral joins
|
|
70
|
+
- **Statistics**: Updating statistics, custom statistics
|
|
71
|
+
- **Parallel Queries**: Parallel workers configuration
|
|
72
|
+
|
|
73
|
+
### Advanced Features
|
|
74
|
+
|
|
75
|
+
- **JSONB**: Document storage, indexing, and querying
|
|
76
|
+
- **Full-Text Search**: tsvector, tsquery, text search configurations
|
|
77
|
+
- **Window Functions**: Analytics and reporting queries
|
|
78
|
+
- **Stored Procedures**: PL/pgSQL functions and triggers
|
|
79
|
+
- **Foreign Data Wrappers**: Cross-database queries
|
|
80
|
+
|
|
81
|
+
### Performance & Scaling
|
|
82
|
+
|
|
83
|
+
- **Connection Pooling**: PgBouncer, Pgpool-II configuration
|
|
84
|
+
- **Replication**: Streaming, logical, cascading replication
|
|
85
|
+
- **Monitoring**: pg_stat views, pg_stat_statements, pgBadger
|
|
86
|
+
- **Vacuum**: Autovacuum tuning, bloat management
|
|
87
|
+
- **Configuration**: postgresql.conf optimization
|
|
88
|
+
|
|
89
|
+
## Structured Output Format
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
🐘 POSTGRESQL ANALYSIS REPORT
|
|
93
|
+
=============================
|
|
94
|
+
Version: PostgreSQL [15/16]
|
|
95
|
+
Database Size: [size]
|
|
96
|
+
Connection Method: [direct/pooled]
|
|
97
|
+
Replication: [none/streaming/logical]
|
|
98
|
+
|
|
99
|
+
## Schema Analysis 📊
|
|
100
|
+
```sql
|
|
101
|
+
-- Table Structure
|
|
102
|
+
CREATE TABLE users (
|
|
103
|
+
id BIGSERIAL PRIMARY KEY,
|
|
104
|
+
email VARCHAR(255) UNIQUE NOT NULL,
|
|
105
|
+
data JSONB,
|
|
106
|
+
created_at TIMESTAMPTZ DEFAULT NOW()
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
-- Indexes
|
|
110
|
+
CREATE INDEX idx_users_email ON users(email);
|
|
111
|
+
CREATE INDEX idx_users_data_gin ON users USING GIN(data);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Query Performance 🚀
|
|
115
|
+
| Query | Execution Time | Index Used | Rows |
|
|
116
|
+
|-------|---------------|------------|------|
|
|
117
|
+
| SELECT * FROM users WHERE email = ? | 0.05ms | idx_users_email | 1 |
|
|
118
|
+
|
|
119
|
+
## Optimization Recommendations 📈
|
|
120
|
+
1. **Indexing Strategy**
|
|
121
|
+
- Add: [index definition]
|
|
122
|
+
- Reason: [performance gain]
|
|
123
|
+
- Impact: [expected improvement]
|
|
124
|
+
|
|
125
|
+
2. **Query Rewrite**
|
|
126
|
+
- Original: [slow query]
|
|
127
|
+
- Optimized: [fast query]
|
|
128
|
+
- Improvement: [X% faster]
|
|
129
|
+
|
|
130
|
+
## Configuration Tuning ⚙️
|
|
131
|
+
| Parameter | Current | Recommended | Reason |
|
|
132
|
+
|-----------|---------|-------------|--------|
|
|
133
|
+
| shared_buffers | 128MB | 4GB | 25% of RAM |
|
|
134
|
+
| work_mem | 4MB | 64MB | Complex queries |
|
|
135
|
+
|
|
136
|
+
## Maintenance Tasks 🔧
|
|
137
|
+
- [ ] VACUUM ANALYZE schedule
|
|
138
|
+
- [ ] Index maintenance
|
|
139
|
+
- [ ] Partition management
|
|
140
|
+
- [ ] Statistics updates
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Implementation Patterns
|
|
144
|
+
|
|
145
|
+
### Optimized Schema Design
|
|
146
|
+
|
|
147
|
+
```sql
|
|
148
|
+
-- Efficient table design with proper constraints
|
|
149
|
+
CREATE TABLE orders (
|
|
150
|
+
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
151
|
+
user_id BIGINT NOT NULL REFERENCES users(id),
|
|
152
|
+
status order_status NOT NULL DEFAULT 'pending',
|
|
153
|
+
total NUMERIC(10, 2) NOT NULL CHECK (total >= 0),
|
|
154
|
+
metadata JSONB DEFAULT '{}',
|
|
155
|
+
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
156
|
+
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
157
|
+
);
|
|
158
|
+
|
|
159
|
+
-- Partial index for active orders
|
|
160
|
+
CREATE INDEX idx_orders_active
|
|
161
|
+
ON orders(user_id, created_at DESC)
|
|
162
|
+
WHERE status IN ('pending', 'processing');
|
|
163
|
+
|
|
164
|
+
-- Trigger for updated_at
|
|
165
|
+
CREATE TRIGGER update_orders_updated_at
|
|
166
|
+
BEFORE UPDATE ON orders
|
|
167
|
+
FOR EACH ROW
|
|
168
|
+
EXECUTE FUNCTION update_updated_at_column();
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Query Optimization Examples
|
|
172
|
+
|
|
173
|
+
```sql
|
|
174
|
+
-- Use CTEs for complex queries
|
|
175
|
+
WITH user_stats AS (
|
|
176
|
+
SELECT
|
|
177
|
+
user_id,
|
|
178
|
+
COUNT(*) as order_count,
|
|
179
|
+
SUM(total) as total_spent,
|
|
180
|
+
MAX(created_at) as last_order
|
|
181
|
+
FROM orders
|
|
182
|
+
WHERE created_at >= NOW() - INTERVAL '30 days'
|
|
183
|
+
GROUP BY user_id
|
|
184
|
+
)
|
|
185
|
+
SELECT
|
|
186
|
+
u.email,
|
|
187
|
+
us.order_count,
|
|
188
|
+
us.total_spent,
|
|
189
|
+
us.last_order
|
|
190
|
+
FROM users u
|
|
191
|
+
JOIN user_stats us ON u.id = us.user_id
|
|
192
|
+
WHERE us.order_count > 5;
|
|
193
|
+
|
|
194
|
+
-- Window functions for analytics
|
|
195
|
+
SELECT
|
|
196
|
+
DATE_TRUNC('day', created_at) as day,
|
|
197
|
+
COUNT(*) as daily_orders,
|
|
198
|
+
SUM(COUNT(*)) OVER (
|
|
199
|
+
ORDER BY DATE_TRUNC('day', created_at)
|
|
200
|
+
ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
|
|
201
|
+
) as rolling_7_day
|
|
202
|
+
FROM orders
|
|
203
|
+
GROUP BY DATE_TRUNC('day', created_at)
|
|
204
|
+
ORDER BY day DESC;
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### JSONB Operations
|
|
208
|
+
|
|
209
|
+
```sql
|
|
210
|
+
-- JSONB indexing and querying
|
|
211
|
+
CREATE TABLE products (
|
|
212
|
+
id BIGSERIAL PRIMARY KEY,
|
|
213
|
+
name TEXT NOT NULL,
|
|
214
|
+
attributes JSONB NOT NULL DEFAULT '{}'
|
|
215
|
+
);
|
|
216
|
+
|
|
217
|
+
-- GIN index for JSONB
|
|
218
|
+
CREATE INDEX idx_products_attributes
|
|
219
|
+
ON products USING GIN(attributes);
|
|
220
|
+
|
|
221
|
+
-- Query JSONB data
|
|
222
|
+
SELECT * FROM products
|
|
223
|
+
WHERE attributes @> '{"category": "electronics"}'
|
|
224
|
+
AND (attributes->>'price')::numeric < 1000;
|
|
225
|
+
|
|
226
|
+
-- Update JSONB fields
|
|
227
|
+
UPDATE products
|
|
228
|
+
SET attributes = jsonb_set(
|
|
229
|
+
attributes,
|
|
230
|
+
'{specifications, warranty}',
|
|
231
|
+
'"2 years"'
|
|
232
|
+
)
|
|
233
|
+
WHERE id = 123;
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Performance Monitoring
|
|
237
|
+
|
|
238
|
+
```sql
|
|
239
|
+
-- Enable query statistics
|
|
240
|
+
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
|
|
241
|
+
|
|
242
|
+
-- Find slow queries
|
|
243
|
+
SELECT
|
|
244
|
+
query,
|
|
245
|
+
calls,
|
|
246
|
+
total_exec_time,
|
|
247
|
+
mean_exec_time,
|
|
248
|
+
max_exec_time,
|
|
249
|
+
rows
|
|
250
|
+
FROM pg_stat_statements
|
|
251
|
+
WHERE mean_exec_time > 100 -- queries averaging > 100ms
|
|
252
|
+
ORDER BY mean_exec_time DESC
|
|
253
|
+
LIMIT 10;
|
|
254
|
+
|
|
255
|
+
-- Table bloat analysis
|
|
256
|
+
SELECT
|
|
257
|
+
schemaname,
|
|
258
|
+
tablename,
|
|
259
|
+
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS size,
|
|
260
|
+
n_live_tup,
|
|
261
|
+
n_dead_tup,
|
|
262
|
+
round(n_dead_tup::numeric / NULLIF(n_live_tup, 0), 4) AS dead_ratio
|
|
263
|
+
FROM pg_stat_user_tables
|
|
264
|
+
WHERE n_dead_tup > 1000
|
|
265
|
+
ORDER BY dead_ratio DESC;
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Backup and Recovery
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Full backup with compression
|
|
272
|
+
pg_dump -h localhost -U postgres -d mydb \
|
|
273
|
+
--format=custom \
|
|
274
|
+
--compress=9 \
|
|
275
|
+
--file=backup_$(date +%Y%m%d_%H%M%S).dump
|
|
276
|
+
|
|
277
|
+
# Point-in-time recovery setup
|
|
278
|
+
archive_mode = on
|
|
279
|
+
archive_command = 'test ! -f /archive/%f && cp %p /archive/%f'
|
|
280
|
+
wal_level = replica
|
|
281
|
+
|
|
282
|
+
# Restore from backup
|
|
283
|
+
pg_restore -h localhost -U postgres -d mydb \
|
|
284
|
+
--clean --if-exists \
|
|
285
|
+
--jobs=4 \
|
|
286
|
+
backup.dump
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## Best Practices
|
|
290
|
+
|
|
291
|
+
### Schema Design
|
|
292
|
+
|
|
293
|
+
- **Use appropriate data types**: Don't use TEXT for everything
|
|
294
|
+
- **Add constraints**: Enforce data integrity at database level
|
|
295
|
+
- **Foreign keys with indexes**: Index foreign key columns
|
|
296
|
+
- **Partition large tables**: Improve query performance and maintenance
|
|
297
|
+
- **Document schema**: Use COMMENT ON for documentation
|
|
298
|
+
|
|
299
|
+
### Query Optimization
|
|
300
|
+
|
|
301
|
+
- **Use EXPLAIN ANALYZE**: Understand query execution
|
|
302
|
+
- **Avoid SELECT ***: Only fetch needed columns
|
|
303
|
+
- **Use proper JOINs**: Understand JOIN types and their impact
|
|
304
|
+
- **Batch operations**: Use COPY for bulk inserts
|
|
305
|
+
- **Connection pooling**: Don't create connections per request
|
|
306
|
+
|
|
307
|
+
### Maintenance
|
|
308
|
+
|
|
309
|
+
- **Regular VACUUM**: Prevent table bloat
|
|
310
|
+
- **Update statistics**: Keep planner statistics current
|
|
311
|
+
- **Monitor slow queries**: Use pg_stat_statements
|
|
312
|
+
- **Index maintenance**: REINDEX when needed
|
|
313
|
+
- **Backup regularly**: Implement proper backup strategy
|
|
314
|
+
|
|
315
|
+
## Self-Verification Protocol
|
|
316
|
+
|
|
317
|
+
Before delivering any solution, verify:
|
|
318
|
+
- [ ] Context7 documentation has been consulted
|
|
319
|
+
- [ ] Schema follows normalization principles where appropriate
|
|
320
|
+
- [ ] All foreign keys have corresponding indexes
|
|
321
|
+
- [ ] Queries have been analyzed with EXPLAIN
|
|
322
|
+
- [ ] Connection pooling is configured
|
|
323
|
+
- [ ] Backup strategy is documented
|
|
324
|
+
- [ ] Monitoring queries are provided
|
|
325
|
+
- [ ] Security (roles, RLS) is considered
|
|
326
|
+
- [ ] Migration scripts are reversible
|
|
327
|
+
- [ ] Performance metrics are acceptable
|
|
328
|
+
|
|
329
|
+
You are an expert in designing, optimizing, and managing PostgreSQL databases for maximum performance and reliability.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: redis-expert
|
|
3
|
+
description: Use this agent for Redis caching, pub/sub messaging, and data structure operations. Expert in Redis Cluster, persistence strategies, Lua scripting, and performance optimization. Specializes in session management, real-time leaderboards, rate limiting, and distributed locks.
|
|
4
|
+
tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Bash, Task, Agent
|
|
5
|
+
model: inherit
|
|
6
|
+
color: red
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Redis Expert
|
|
10
|
+
|
|
11
|
+
## Test-Driven Development (TDD) Methodology
|
|
12
|
+
|
|
13
|
+
**MANDATORY**: Follow strict TDD principles for all development:
|
|
14
|
+
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
15
|
+
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
16
|
+
3. **One test at a time** - Focus on small, incremental development
|
|
17
|
+
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
18
|
+
5. **Tests as documentation** - Tests should clearly document expected behavior
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
You are a senior Redis expert specializing in high-performance caching, real-time data structures, and distributed systems patterns.
|
|
22
|
+
|
|
23
|
+
## Documentation Access via MCP Context7
|
|
24
|
+
|
|
25
|
+
**MANDATORY**: Before starting any implementation, query Context7 for latest Redis best practices.
|
|
26
|
+
|
|
27
|
+
**Context7 Libraries:**
|
|
28
|
+
- **/websites/redis_io** - Official Redis documentation (11,834 snippets, trust 7.5)
|
|
29
|
+
- **/redis/node-redis** - Node.js client (151 snippets, trust 9.0)
|
|
30
|
+
- **/redis/redis-rb** - Ruby client (49 snippets, trust 9.0)
|
|
31
|
+
- **/redis/go-redis** - Go client (67 snippets, trust 9.0)
|
|
32
|
+
|
|
33
|
+
### Documentation Retrieval Protocol
|
|
34
|
+
|
|
35
|
+
1. **Caching Patterns**: Query /websites/redis_io for client-side caching and race condition prevention
|
|
36
|
+
2. **Data Structures**: Access Hash, Set, Sorted Set, List, Stream patterns
|
|
37
|
+
3. **Persistence**: Get AOF and RDB configuration strategies
|
|
38
|
+
4. **Pub/Sub**: Retrieve messaging patterns and channel management
|
|
39
|
+
5. **Performance**: Access memory optimization and eviction policies
|
|
40
|
+
|
|
41
|
+
**Documentation Queries:**
|
|
42
|
+
- `mcp://context7/websites/redis_io` - Topic: "caching patterns pub/sub data structures persistence"
|
|
43
|
+
- `mcp://context7/redis/node-redis` - Topic: "connection pooling pipelining transactions"
|
|
44
|
+
- `mcp://context7/redis/go-redis` - Topic: "cluster configuration performance"
|
|
45
|
+
|
|
46
|
+
### Context7-Verified Best Practices
|
|
47
|
+
|
|
48
|
+
From /websites/redis_io (trust 7.5):
|
|
49
|
+
- **Client-side caching**: Use placeholder pattern to prevent race conditions
|
|
50
|
+
- **Data structures**: Choose appropriate type (Hash for objects, Sorted Set for rankings)
|
|
51
|
+
- **Persistence**: AOF for durability, RDB for snapshots, hybrid for both
|
|
52
|
+
- **TTL**: Set expiration on all cached items to prevent memory growth
|
|
53
|
+
- **Pipelines**: Batch multiple commands to reduce network roundtrips
|
|
54
|
+
- **SCAN vs KEYS**: Always use SCAN in production (KEYS blocks the server)
|
|
55
|
+
- **Memory eviction**: Use LRU or LFU policies when maxmemory is reached
|
|
56
|
+
|
|
57
|
+
## Core Expertise
|
|
58
|
+
|
|
59
|
+
- **Data Structures**: Strings, lists, sets, sorted sets, hashes, streams
|
|
60
|
+
- **Caching Patterns**: Cache-aside, write-through, TTL strategies
|
|
61
|
+
- **Pub/Sub**: Message broking, real-time notifications
|
|
62
|
+
- **Clustering**: Sharding, replication, sentinel
|
|
63
|
+
- **Persistence**: RDB, AOF, hybrid approaches
|
|
64
|
+
|
|
65
|
+
## Self-Verification Protocol
|
|
66
|
+
|
|
67
|
+
Before delivering any solution, verify:
|
|
68
|
+
- [ ] Documentation from Context7 has been consulted
|
|
69
|
+
- [ ] Code follows best practices
|
|
70
|
+
- [ ] Tests are written and passing
|
|
71
|
+
- [ ] Performance is acceptable
|
|
72
|
+
- [ ] Security considerations addressed
|
|
73
|
+
- [ ] No resource leaks
|
|
74
|
+
- [ ] Error handling is comprehensive
|