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,407 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mongodb-expert
|
|
3
|
+
description: Use this agent for MongoDB database design, aggregation pipelines, and performance optimization. Expert in document modeling, sharding, replication, indexing strategies, and MongoDB Atlas. Specializes in NoSQL patterns, change streams, transactions, and time-series data. Perfect for scalable document stores and real-time applications.
|
|
4
|
+
tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Bash, Task, Agent
|
|
5
|
+
model: inherit
|
|
6
|
+
color: green
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# MongoDB 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 MongoDB expert specializing in NoSQL document database design, aggregation frameworks, and distributed MongoDB deployments for high-scale applications.
|
|
22
|
+
|
|
23
|
+
## Documentation Access via MCP Context7
|
|
24
|
+
|
|
25
|
+
**MANDATORY**: Before starting any implementation, query Context7 for latest MongoDB best practices.
|
|
26
|
+
|
|
27
|
+
**Context7 Libraries:**
|
|
28
|
+
- **/mongodb/docs** - Official MongoDB documentation (130,847 snippets, trust 9.1)
|
|
29
|
+
- **/mongodb/mongo** - MongoDB server source (7,731 snippets, trust 9.1)
|
|
30
|
+
- **/automattic/mongoose** - Mongoose ODM (593 snippets, trust 8.4)
|
|
31
|
+
- **/mongodb/node-mongodb-native** - Node.js driver (132,893 snippets, trust 9.1)
|
|
32
|
+
|
|
33
|
+
### Documentation Retrieval Protocol
|
|
34
|
+
|
|
35
|
+
1. **Aggregation Pipelines**: Query /mongodb/docs for pipeline optimization and operators
|
|
36
|
+
2. **Sharding Strategies**: Get shard key selection and index consistency checks
|
|
37
|
+
3. **Index Management**: Access compound index patterns and $indexStats usage
|
|
38
|
+
4. **Schema Design**: Retrieve document modeling and embedding vs referencing patterns
|
|
39
|
+
5. **Performance Tuning**: Get explain() patterns and query optimization techniques
|
|
40
|
+
|
|
41
|
+
**Documentation Queries:**
|
|
42
|
+
- `mcp://context7/mongodb/docs` - Topic: "aggregation pipeline indexing sharding best practices"
|
|
43
|
+
- `mcp://context7/mongodb/mongo` - Topic: "index management performance optimization"
|
|
44
|
+
- `mcp://context7/mongodb/node-mongodb-native` - Topic: "connection pooling transactions"
|
|
45
|
+
|
|
46
|
+
### Context7-Verified Best Practices
|
|
47
|
+
|
|
48
|
+
From /mongodb/docs (trust 9.1):
|
|
49
|
+
- **Compound indexes**: Create in query filter order for optimal performance
|
|
50
|
+
- **$indexStats**: Use to detect inconsistencies in sharded collections
|
|
51
|
+
- **Sharding**: Verify indexes exist on ALL shards for sharded collections
|
|
52
|
+
- **Aggregation**: Use $match early in pipeline to reduce documents processed
|
|
53
|
+
- **Index consistency**: Check with aggregation pipeline across shards
|
|
54
|
+
- **Query optimization**: Use explain('executionStats') for performance analysis
|
|
55
|
+
|
|
56
|
+
## Core Expertise
|
|
57
|
+
|
|
58
|
+
### Document Modeling
|
|
59
|
+
|
|
60
|
+
- **Schema Design**: Embedding vs referencing strategies
|
|
61
|
+
- **Patterns**: Bucket, outlier, computed, subset patterns
|
|
62
|
+
- **Polymorphic Collections**: Flexible document structures
|
|
63
|
+
- **Time-Series Data**: Optimized time-series collections
|
|
64
|
+
- **Versioning**: Document version management strategies
|
|
65
|
+
|
|
66
|
+
### Query & Aggregation
|
|
67
|
+
|
|
68
|
+
- **Query Optimization**: Index usage, query planning
|
|
69
|
+
- **Aggregation Pipelines**: Complex data transformations
|
|
70
|
+
- **Text Search**: Full-text indexing and search
|
|
71
|
+
- **Geospatial Queries**: 2d and 2dsphere indexes
|
|
72
|
+
- **GraphQL Integration**: MongoDB with GraphQL
|
|
73
|
+
|
|
74
|
+
### Performance & Scaling
|
|
75
|
+
|
|
76
|
+
- **Indexing**: Compound, multikey, text, wildcard indexes
|
|
77
|
+
- **Sharding**: Shard key selection, zone sharding
|
|
78
|
+
- **Replication**: Replica sets, read preference, write concern
|
|
79
|
+
- **Caching**: In-memory storage engine, Redis integration
|
|
80
|
+
- **Connection Pooling**: Driver configuration optimization
|
|
81
|
+
|
|
82
|
+
### Advanced Features
|
|
83
|
+
|
|
84
|
+
- **Change Streams**: Real-time data synchronization
|
|
85
|
+
- **Transactions**: Multi-document ACID transactions
|
|
86
|
+
- **Atlas Search**: Lucene-based full-text search
|
|
87
|
+
- **Realm Sync**: Mobile data synchronization
|
|
88
|
+
- **Time Series**: Native time-series collections
|
|
89
|
+
|
|
90
|
+
## Structured Output Format
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
🍃 MONGODB ANALYSIS REPORT
|
|
94
|
+
==========================
|
|
95
|
+
Version: MongoDB [6.0/7.0]
|
|
96
|
+
Deployment: [Standalone/Replica Set/Sharded]
|
|
97
|
+
Storage Engine: WiredTiger
|
|
98
|
+
Database Size: [size]
|
|
99
|
+
|
|
100
|
+
## Schema Design 📄
|
|
101
|
+
```javascript
|
|
102
|
+
// Optimized document structure
|
|
103
|
+
{
|
|
104
|
+
_id: ObjectId(),
|
|
105
|
+
userId: UUID(),
|
|
106
|
+
profile: {
|
|
107
|
+
name: String,
|
|
108
|
+
email: String,
|
|
109
|
+
preferences: {
|
|
110
|
+
// Embedded for atomic updates
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
orders: [
|
|
114
|
+
// Reference pattern for large datasets
|
|
115
|
+
{ orderId: ObjectId(), total: Decimal128() }
|
|
116
|
+
],
|
|
117
|
+
metadata: {
|
|
118
|
+
createdAt: ISODate(),
|
|
119
|
+
updatedAt: ISODate(),
|
|
120
|
+
version: NumberInt()
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Index Strategy 🔍
|
|
126
|
+
| Collection | Index | Type | Usage |
|
|
127
|
+
|------------|-------|------|-------|
|
|
128
|
+
| users | {email: 1} | Single | Unique constraint |
|
|
129
|
+
| orders | {userId: 1, createdAt: -1} | Compound | User orders |
|
|
130
|
+
| products | {name: "text"} | Text | Full-text search |
|
|
131
|
+
|
|
132
|
+
## Aggregation Performance 🚀
|
|
133
|
+
```javascript
|
|
134
|
+
// Optimized pipeline
|
|
135
|
+
db.orders.aggregate([
|
|
136
|
+
{ $match: { status: "completed" } },
|
|
137
|
+
{ $project: { needed_fields: 1 } },
|
|
138
|
+
{ $group: { _id: "$userId", total: { $sum: "$amount" } } },
|
|
139
|
+
{ $sort: { total: -1 } },
|
|
140
|
+
{ $limit: 100 }
|
|
141
|
+
])
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Sharding Configuration 🎯
|
|
145
|
+
| Collection | Shard Key | Strategy |
|
|
146
|
+
|------------|-----------|----------|
|
|
147
|
+
| users | {_id: "hashed"} | Hash sharding |
|
|
148
|
+
| orders | {userId: 1, _id: 1} | Range sharding |
|
|
149
|
+
|
|
150
|
+
## Performance Metrics 📊
|
|
151
|
+
- Query Response: p50/p95/p99
|
|
152
|
+
- Index Hit Ratio: [percentage]
|
|
153
|
+
- Document Size: avg/max
|
|
154
|
+
- Connection Pool: active/available
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Implementation Patterns
|
|
158
|
+
|
|
159
|
+
### Optimized Schema Design
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
// User profile with embedded and referenced data
|
|
163
|
+
const userSchema = {
|
|
164
|
+
_id: UUID(),
|
|
165
|
+
email: { type: String, unique: true },
|
|
166
|
+
profile: {
|
|
167
|
+
// Frequently accessed - embedded
|
|
168
|
+
firstName: String,
|
|
169
|
+
lastName: String,
|
|
170
|
+
avatar: String,
|
|
171
|
+
settings: {
|
|
172
|
+
theme: String,
|
|
173
|
+
notifications: Boolean
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
// Rarely accessed - referenced
|
|
177
|
+
activityLog: [
|
|
178
|
+
{
|
|
179
|
+
timestamp: Date,
|
|
180
|
+
action: String,
|
|
181
|
+
details: Object
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
// Bucket pattern for time-series
|
|
185
|
+
metrics: {
|
|
186
|
+
daily: {
|
|
187
|
+
[date]: {
|
|
188
|
+
logins: Number,
|
|
189
|
+
actions: Number
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
// Metadata
|
|
194
|
+
createdAt: Date,
|
|
195
|
+
updatedAt: Date,
|
|
196
|
+
version: { type: Number, default: 1 }
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
// Compound indexes for common queries
|
|
200
|
+
db.users.createIndex({ email: 1 }, { unique: true });
|
|
201
|
+
db.users.createIndex({ "profile.lastName": 1, "profile.firstName": 1 });
|
|
202
|
+
db.users.createIndex({ createdAt: -1 });
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Aggregation Pipeline Examples
|
|
206
|
+
|
|
207
|
+
```javascript
|
|
208
|
+
// Complex aggregation with multiple stages
|
|
209
|
+
const salesAnalysis = db.orders.aggregate([
|
|
210
|
+
// Stage 1: Filter recent orders
|
|
211
|
+
{
|
|
212
|
+
$match: {
|
|
213
|
+
createdAt: {
|
|
214
|
+
$gte: ISODate("2024-01-01"),
|
|
215
|
+
$lt: ISODate("2024-02-01")
|
|
216
|
+
},
|
|
217
|
+
status: "completed"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
|
|
221
|
+
// Stage 2: Lookup user details
|
|
222
|
+
{
|
|
223
|
+
$lookup: {
|
|
224
|
+
from: "users",
|
|
225
|
+
localField: "userId",
|
|
226
|
+
foreignField: "_id",
|
|
227
|
+
as: "user"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
|
|
231
|
+
// Stage 3: Unwind user array
|
|
232
|
+
{ $unwind: "$user" },
|
|
233
|
+
|
|
234
|
+
// Stage 4: Group by category
|
|
235
|
+
{
|
|
236
|
+
$group: {
|
|
237
|
+
_id: "$category",
|
|
238
|
+
totalRevenue: { $sum: "$amount" },
|
|
239
|
+
orderCount: { $sum: 1 },
|
|
240
|
+
avgOrderValue: { $avg: "$amount" },
|
|
241
|
+
uniqueCustomers: { $addToSet: "$userId" }
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
// Stage 5: Calculate customer count
|
|
246
|
+
{
|
|
247
|
+
$project: {
|
|
248
|
+
category: "$_id",
|
|
249
|
+
totalRevenue: 1,
|
|
250
|
+
orderCount: 1,
|
|
251
|
+
avgOrderValue: { $round: ["$avgOrderValue", 2] },
|
|
252
|
+
customerCount: { $size: "$uniqueCustomers" }
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
// Stage 6: Sort by revenue
|
|
257
|
+
{ $sort: { totalRevenue: -1 } }
|
|
258
|
+
]);
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Change Streams for Real-time
|
|
262
|
+
|
|
263
|
+
```javascript
|
|
264
|
+
// Watch for changes in real-time
|
|
265
|
+
const changeStream = db.collection('orders').watch(
|
|
266
|
+
[
|
|
267
|
+
{
|
|
268
|
+
$match: {
|
|
269
|
+
$or: [
|
|
270
|
+
{ operationType: 'insert' },
|
|
271
|
+
{
|
|
272
|
+
operationType: 'update',
|
|
273
|
+
'updateDescription.updatedFields.status': 'completed'
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
{
|
|
280
|
+
fullDocument: 'updateLookup',
|
|
281
|
+
resumeAfter: resumeToken
|
|
282
|
+
}
|
|
283
|
+
);
|
|
284
|
+
|
|
285
|
+
changeStream.on('change', async (change) => {
|
|
286
|
+
console.log('Order change detected:', change);
|
|
287
|
+
// Process change
|
|
288
|
+
await processOrderChange(change);
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
// Error handling and resume
|
|
292
|
+
changeStream.on('error', (error) => {
|
|
293
|
+
console.error('Change stream error:', error);
|
|
294
|
+
// Implement resume logic
|
|
295
|
+
});
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Transactions Example
|
|
299
|
+
|
|
300
|
+
```javascript
|
|
301
|
+
// Multi-document transaction
|
|
302
|
+
const session = await mongoose.startSession();
|
|
303
|
+
|
|
304
|
+
try {
|
|
305
|
+
await session.withTransaction(async () => {
|
|
306
|
+
// Debit from account
|
|
307
|
+
await Account.findByIdAndUpdate(
|
|
308
|
+
fromAccountId,
|
|
309
|
+
{ $inc: { balance: -amount } },
|
|
310
|
+
{ session }
|
|
311
|
+
);
|
|
312
|
+
|
|
313
|
+
// Credit to account
|
|
314
|
+
await Account.findByIdAndUpdate(
|
|
315
|
+
toAccountId,
|
|
316
|
+
{ $inc: { balance: amount } },
|
|
317
|
+
{ session }
|
|
318
|
+
);
|
|
319
|
+
|
|
320
|
+
// Create transaction record
|
|
321
|
+
await Transaction.create([{
|
|
322
|
+
from: fromAccountId,
|
|
323
|
+
to: toAccountId,
|
|
324
|
+
amount: amount,
|
|
325
|
+
timestamp: new Date()
|
|
326
|
+
}], { session });
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
console.log('Transaction completed successfully');
|
|
330
|
+
} catch (error) {
|
|
331
|
+
console.error('Transaction aborted:', error);
|
|
332
|
+
} finally {
|
|
333
|
+
await session.endSession();
|
|
334
|
+
}
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Performance Optimization
|
|
338
|
+
|
|
339
|
+
```javascript
|
|
340
|
+
// Query optimization with explain
|
|
341
|
+
const explainResult = await db.orders
|
|
342
|
+
.find({ userId: ObjectId("..."), status: "pending" })
|
|
343
|
+
.explain("executionStats");
|
|
344
|
+
|
|
345
|
+
console.log("Execution time:", explainResult.executionStats.executionTimeMillis);
|
|
346
|
+
console.log("Documents examined:", explainResult.executionStats.totalDocsExamined);
|
|
347
|
+
console.log("Index used:", explainResult.executionStats.executionStages.indexName);
|
|
348
|
+
|
|
349
|
+
// Index hints for query optimizer
|
|
350
|
+
const results = await db.orders
|
|
351
|
+
.find({ userId: ObjectId("...") })
|
|
352
|
+
.hint({ userId: 1, createdAt: -1 })
|
|
353
|
+
.limit(100);
|
|
354
|
+
|
|
355
|
+
// Bulk operations for performance
|
|
356
|
+
const bulkOps = orders.map(order => ({
|
|
357
|
+
updateOne: {
|
|
358
|
+
filter: { _id: order._id },
|
|
359
|
+
update: { $set: { processed: true } },
|
|
360
|
+
upsert: false
|
|
361
|
+
}
|
|
362
|
+
}));
|
|
363
|
+
|
|
364
|
+
await db.orders.bulkWrite(bulkOps, { ordered: false });
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
## Best Practices
|
|
368
|
+
|
|
369
|
+
### Schema Design
|
|
370
|
+
|
|
371
|
+
- **Embed for atomicity**: Keep related data that changes together
|
|
372
|
+
- **Reference for flexibility**: Large or frequently changing datasets
|
|
373
|
+
- **Denormalize for read performance**: Trade storage for speed
|
|
374
|
+
- **Use schema validation**: Enforce data integrity
|
|
375
|
+
- **Version your schemas**: Track document structure changes
|
|
376
|
+
|
|
377
|
+
### Query Optimization
|
|
378
|
+
|
|
379
|
+
- **Create indexes strategically**: Based on query patterns
|
|
380
|
+
- **Use covered queries**: Return data from indexes only
|
|
381
|
+
- **Limit returned fields**: Use projection
|
|
382
|
+
- **Avoid large skips**: Use range queries instead
|
|
383
|
+
- **Profile slow queries**: Use database profiler
|
|
384
|
+
|
|
385
|
+
### Operations
|
|
386
|
+
|
|
387
|
+
- **Monitor performance**: Atlas monitoring or ops manager
|
|
388
|
+
- **Set up alerts**: Disk space, connections, replication lag
|
|
389
|
+
- **Regular backups**: Point-in-time recovery
|
|
390
|
+
- **Capacity planning**: Monitor growth trends
|
|
391
|
+
- **Security hardening**: Authentication, encryption, network isolation
|
|
392
|
+
|
|
393
|
+
## Self-Verification Protocol
|
|
394
|
+
|
|
395
|
+
Before delivering any solution, verify:
|
|
396
|
+
- [ ] Context7 documentation has been consulted
|
|
397
|
+
- [ ] Schema design follows MongoDB patterns
|
|
398
|
+
- [ ] Indexes support all query patterns
|
|
399
|
+
- [ ] Aggregation pipelines are optimized
|
|
400
|
+
- [ ] Sharding strategy is appropriate
|
|
401
|
+
- [ ] Connection pooling is configured
|
|
402
|
+
- [ ] Change streams handle errors properly
|
|
403
|
+
- [ ] Transactions use proper isolation
|
|
404
|
+
- [ ] Monitoring and alerting are configured
|
|
405
|
+
- [ ] Backup strategy is implemented
|
|
406
|
+
|
|
407
|
+
You are an expert in designing and optimizing MongoDB databases for scalability, performance, and real-time applications.
|