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,332 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
pandas ETL Example - Context7 Best Practices
|
|
4
|
+
|
|
5
|
+
Demonstrates pandas data processing patterns from Context7:
|
|
6
|
+
- Vectorized operations over apply
|
|
7
|
+
- GroupBy aggregations
|
|
8
|
+
- Efficient merging and concatenation
|
|
9
|
+
- Data validation and quality checks
|
|
10
|
+
- Performance optimization
|
|
11
|
+
|
|
12
|
+
Source: /pandas-dev/pandas (7,386 snippets, trust 9.2)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import pandas as pd
|
|
16
|
+
import numpy as np
|
|
17
|
+
from datetime import datetime, timedelta
|
|
18
|
+
import logging
|
|
19
|
+
|
|
20
|
+
logging.basicConfig(level=logging.INFO)
|
|
21
|
+
logger = logging.getLogger(__name__)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# ===================================================================
|
|
25
|
+
# EXTRACTION
|
|
26
|
+
# ===================================================================
|
|
27
|
+
|
|
28
|
+
def extract_data() -> tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame]:
|
|
29
|
+
"""
|
|
30
|
+
Extract data from multiple sources.
|
|
31
|
+
|
|
32
|
+
Context7 Pattern: Return DataFrames for downstream processing
|
|
33
|
+
"""
|
|
34
|
+
logger.info("Extracting data from sources...")
|
|
35
|
+
|
|
36
|
+
# Generate sample data
|
|
37
|
+
np.random.seed(42)
|
|
38
|
+
n_orders = 1000
|
|
39
|
+
|
|
40
|
+
# Orders data
|
|
41
|
+
orders = pd.DataFrame({
|
|
42
|
+
'order_id': range(1, n_orders + 1),
|
|
43
|
+
'customer_id': np.random.randint(1, 201, n_orders),
|
|
44
|
+
'product_id': np.random.randint(1, 51, n_orders),
|
|
45
|
+
'quantity': np.random.randint(1, 11, n_orders),
|
|
46
|
+
'unit_price': np.random.uniform(10, 500, n_orders).round(2),
|
|
47
|
+
'order_date': [
|
|
48
|
+
datetime(2025, 1, 1) + timedelta(days=int(x))
|
|
49
|
+
for x in np.random.randint(0, 365, n_orders)
|
|
50
|
+
],
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
# Customers data
|
|
54
|
+
customers = pd.DataFrame({
|
|
55
|
+
'customer_id': range(1, 201),
|
|
56
|
+
'customer_name': [f'Customer {i}' for i in range(1, 201)],
|
|
57
|
+
'customer_email': [f'customer{i}@example.com' for i in range(1, 201)],
|
|
58
|
+
'customer_segment': np.random.choice(
|
|
59
|
+
['Enterprise', 'SMB', 'Startup'], 200
|
|
60
|
+
),
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
# Products data
|
|
64
|
+
products = pd.DataFrame({
|
|
65
|
+
'product_id': range(1, 51),
|
|
66
|
+
'product_name': [f'Product {i}' for i in range(1, 51)],
|
|
67
|
+
'product_category': np.random.choice(
|
|
68
|
+
['Electronics', 'Software', 'Services'], 50
|
|
69
|
+
),
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
logger.info(f"✓ Extracted {len(orders)} orders, {len(customers)} customers, {len(products)} products")
|
|
73
|
+
return orders, customers, products
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
# ===================================================================
|
|
77
|
+
# TRANSFORMATION
|
|
78
|
+
# ===================================================================
|
|
79
|
+
|
|
80
|
+
def transform_data(
|
|
81
|
+
orders: pd.DataFrame,
|
|
82
|
+
customers: pd.DataFrame,
|
|
83
|
+
products: pd.DataFrame,
|
|
84
|
+
) -> pd.DataFrame:
|
|
85
|
+
"""
|
|
86
|
+
Transform and enrich data with Context7 pandas patterns.
|
|
87
|
+
|
|
88
|
+
Context7 Patterns:
|
|
89
|
+
- Vectorized operations (avoid apply when possible)
|
|
90
|
+
- Efficient merging with validation
|
|
91
|
+
- GroupBy aggregations
|
|
92
|
+
"""
|
|
93
|
+
logger.info("Transforming data...")
|
|
94
|
+
|
|
95
|
+
# ✅ CORRECT: Vectorized calculation (faster than apply)
|
|
96
|
+
orders['order_total'] = orders['quantity'] * orders['unit_price']
|
|
97
|
+
|
|
98
|
+
# ✅ CORRECT: Vectorized categorization
|
|
99
|
+
orders['order_size'] = pd.cut(
|
|
100
|
+
orders['quantity'],
|
|
101
|
+
bins=[0, 3, 7, float('inf')],
|
|
102
|
+
labels=['small', 'medium', 'large']
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# ✅ CORRECT: Efficient merge with validation
|
|
106
|
+
enriched = orders.merge(
|
|
107
|
+
customers,
|
|
108
|
+
on='customer_id',
|
|
109
|
+
how='left',
|
|
110
|
+
validate='many_to_one' # Ensure referential integrity
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
enriched = enriched.merge(
|
|
114
|
+
products,
|
|
115
|
+
on='product_id',
|
|
116
|
+
how='left',
|
|
117
|
+
validate='many_to_one'
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
# ✅ CORRECT: GroupBy aggregations
|
|
121
|
+
logger.info("Calculating customer aggregations...")
|
|
122
|
+
customer_aggs = enriched.groupby('customer_id').agg({
|
|
123
|
+
'order_total': ['sum', 'mean', 'count'],
|
|
124
|
+
'order_date': 'max',
|
|
125
|
+
})
|
|
126
|
+
|
|
127
|
+
# Flatten column names
|
|
128
|
+
customer_aggs.columns = ['_'.join(col).strip() for col in customer_aggs.columns]
|
|
129
|
+
customer_aggs = customer_aggs.rename(columns={
|
|
130
|
+
'order_total_sum': 'customer_lifetime_value',
|
|
131
|
+
'order_total_mean': 'avg_order_value',
|
|
132
|
+
'order_total_count': 'total_orders',
|
|
133
|
+
'order_date_max': 'last_order_date',
|
|
134
|
+
})
|
|
135
|
+
|
|
136
|
+
# ✅ CORRECT: Merge aggregations back
|
|
137
|
+
enriched = enriched.merge(
|
|
138
|
+
customer_aggs,
|
|
139
|
+
left_on='customer_id',
|
|
140
|
+
right_index=True,
|
|
141
|
+
how='left'
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
# ✅ CORRECT: GroupBy for product metrics
|
|
145
|
+
logger.info("Calculating product aggregations...")
|
|
146
|
+
product_aggs = enriched.groupby('product_id')['order_total'].agg(['mean', 'count'])
|
|
147
|
+
product_aggs.columns = ['product_avg_order_value', 'product_order_count']
|
|
148
|
+
|
|
149
|
+
enriched = enriched.merge(
|
|
150
|
+
product_aggs,
|
|
151
|
+
left_on='product_id',
|
|
152
|
+
right_index=True,
|
|
153
|
+
how='left'
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
logger.info(f"✓ Transformed {len(enriched)} records")
|
|
157
|
+
return enriched
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
# ===================================================================
|
|
161
|
+
# VALIDATION
|
|
162
|
+
# ===================================================================
|
|
163
|
+
|
|
164
|
+
def validate_data(df: pd.DataFrame) -> pd.DataFrame:
|
|
165
|
+
"""
|
|
166
|
+
Validate data quality with Context7 best practices.
|
|
167
|
+
|
|
168
|
+
Context7 Pattern: Comprehensive validation checks
|
|
169
|
+
"""
|
|
170
|
+
logger.info("Validating data quality...")
|
|
171
|
+
|
|
172
|
+
# Schema validation
|
|
173
|
+
required_columns = [
|
|
174
|
+
'order_id', 'customer_id', 'product_id', 'order_total',
|
|
175
|
+
'customer_name', 'product_name'
|
|
176
|
+
]
|
|
177
|
+
missing = [col for col in required_columns if col not in df.columns]
|
|
178
|
+
assert not missing, f"Missing required columns: {missing}"
|
|
179
|
+
|
|
180
|
+
# Null check
|
|
181
|
+
null_counts = df[required_columns].isnull().sum()
|
|
182
|
+
assert null_counts.sum() == 0, f"Null values found: {null_counts[null_counts > 0].to_dict()}"
|
|
183
|
+
|
|
184
|
+
# Type validation
|
|
185
|
+
assert pd.api.types.is_numeric_dtype(df['order_total']), "order_total must be numeric"
|
|
186
|
+
assert pd.api.types.is_integer_dtype(df['order_id']), "order_id must be integer"
|
|
187
|
+
|
|
188
|
+
# Range validation
|
|
189
|
+
assert (df['order_total'] >= 0).all(), "order_total contains negative values"
|
|
190
|
+
assert (df['quantity'] > 0).all(), "quantity must be positive"
|
|
191
|
+
|
|
192
|
+
# Uniqueness check
|
|
193
|
+
assert df['order_id'].is_unique, "Duplicate order_ids found"
|
|
194
|
+
|
|
195
|
+
# Referential integrity
|
|
196
|
+
assert not df['customer_id'].isnull().any(), "Orphan orders (null customer_id)"
|
|
197
|
+
assert not df['product_id'].isnull().any(), "Orphan orders (null product_id)"
|
|
198
|
+
|
|
199
|
+
logger.info("✓ Validation passed")
|
|
200
|
+
return df
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
# ===================================================================
|
|
204
|
+
# DATA QUALITY METRICS
|
|
205
|
+
# ===================================================================
|
|
206
|
+
|
|
207
|
+
def calculate_quality_metrics(df: pd.DataFrame) -> dict:
|
|
208
|
+
"""
|
|
209
|
+
Calculate data quality metrics.
|
|
210
|
+
|
|
211
|
+
Context7 Pattern: Comprehensive metrics for monitoring
|
|
212
|
+
"""
|
|
213
|
+
logger.info("Calculating quality metrics...")
|
|
214
|
+
|
|
215
|
+
metrics = {
|
|
216
|
+
# Completeness
|
|
217
|
+
'total_records': len(df),
|
|
218
|
+
'completeness_pct': ((df.size - df.isnull().sum().sum()) / df.size * 100),
|
|
219
|
+
|
|
220
|
+
# Distribution
|
|
221
|
+
'orders_per_customer': {
|
|
222
|
+
'mean': df.groupby('customer_id').size().mean(),
|
|
223
|
+
'median': df.groupby('customer_id').size().median(),
|
|
224
|
+
'max': df.groupby('customer_id').size().max(),
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
# Value ranges
|
|
228
|
+
'order_total_stats': {
|
|
229
|
+
'min': df['order_total'].min(),
|
|
230
|
+
'max': df['order_total'].max(),
|
|
231
|
+
'mean': df['order_total'].mean(),
|
|
232
|
+
'median': df['order_total'].median(),
|
|
233
|
+
},
|
|
234
|
+
|
|
235
|
+
# Categorical distribution
|
|
236
|
+
'customer_segments': df['customer_segment'].value_counts().to_dict(),
|
|
237
|
+
'product_categories': df['product_category'].value_counts().to_dict(),
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
logger.info(f"✓ Calculated quality metrics")
|
|
241
|
+
return metrics
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
# ===================================================================
|
|
245
|
+
# LOADING
|
|
246
|
+
# ===================================================================
|
|
247
|
+
|
|
248
|
+
def load_data(df: pd.DataFrame, output_path: str = 'output_orders.parquet') -> None:
|
|
249
|
+
"""
|
|
250
|
+
Load data to storage.
|
|
251
|
+
|
|
252
|
+
Context7 Pattern: Use Parquet for efficient storage
|
|
253
|
+
"""
|
|
254
|
+
logger.info(f"Loading {len(df)} records to {output_path}...")
|
|
255
|
+
|
|
256
|
+
# ✅ CORRECT: Parquet for efficient storage
|
|
257
|
+
df.to_parquet(
|
|
258
|
+
output_path,
|
|
259
|
+
engine='pyarrow',
|
|
260
|
+
compression='snappy',
|
|
261
|
+
index=False
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
logger.info(f"✓ Loaded to {output_path}")
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
# ===================================================================
|
|
268
|
+
# MAIN ETL PIPELINE
|
|
269
|
+
# ===================================================================
|
|
270
|
+
|
|
271
|
+
def run_etl_pipeline():
|
|
272
|
+
"""Run complete ETL pipeline with Context7 patterns."""
|
|
273
|
+
print("\n" + "=" * 60)
|
|
274
|
+
print("pandas ETL Pipeline - Context7 Best Practices")
|
|
275
|
+
print("=" * 60)
|
|
276
|
+
|
|
277
|
+
start_time = datetime.now()
|
|
278
|
+
|
|
279
|
+
try:
|
|
280
|
+
# Extract
|
|
281
|
+
orders, customers, products = extract_data()
|
|
282
|
+
|
|
283
|
+
# Transform
|
|
284
|
+
transformed = transform_data(orders, customers, products)
|
|
285
|
+
|
|
286
|
+
# Validate
|
|
287
|
+
validated = validate_data(transformed)
|
|
288
|
+
|
|
289
|
+
# Quality metrics
|
|
290
|
+
metrics = calculate_quality_metrics(validated)
|
|
291
|
+
|
|
292
|
+
# Load
|
|
293
|
+
load_data(validated)
|
|
294
|
+
|
|
295
|
+
# Summary
|
|
296
|
+
duration = (datetime.now() - start_time).total_seconds()
|
|
297
|
+
|
|
298
|
+
print("\n" + "=" * 60)
|
|
299
|
+
print("ETL PIPELINE COMPLETED SUCCESSFULLY")
|
|
300
|
+
print("=" * 60)
|
|
301
|
+
print(f"Duration: {duration:.2f}s")
|
|
302
|
+
print(f"Records processed: {metrics['total_records']:,}")
|
|
303
|
+
print(f"Data completeness: {metrics['completeness_pct']:.2f}%")
|
|
304
|
+
print(f"\nOrder Statistics:")
|
|
305
|
+
print(f" - Total: ${metrics['order_total_stats']['mean']:.2f} (avg)")
|
|
306
|
+
print(f" - Range: ${metrics['order_total_stats']['min']:.2f} - ${metrics['order_total_stats']['max']:.2f}")
|
|
307
|
+
print(f"\nCustomer Segments:")
|
|
308
|
+
for segment, count in metrics['customer_segments'].items():
|
|
309
|
+
print(f" - {segment}: {count}")
|
|
310
|
+
|
|
311
|
+
except Exception as e:
|
|
312
|
+
logger.error(f"ETL pipeline failed: {e}")
|
|
313
|
+
raise
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
if __name__ == "__main__":
|
|
317
|
+
print("pandas ETL Example - Context7 Best Practices")
|
|
318
|
+
print("=" * 60)
|
|
319
|
+
print("")
|
|
320
|
+
print("Context7 Patterns Demonstrated:")
|
|
321
|
+
print("1. ✅ Vectorized operations (df['col'] * df['col2'])")
|
|
322
|
+
print("2. ✅ Efficient merging with validation")
|
|
323
|
+
print("3. ✅ GroupBy aggregations with agg()")
|
|
324
|
+
print("4. ✅ Data validation (nulls, types, ranges)")
|
|
325
|
+
print("5. ✅ Quality metrics calculation")
|
|
326
|
+
print("6. ✅ Parquet for efficient storage")
|
|
327
|
+
print("7. ✅ Avoid apply() when vectorization possible")
|
|
328
|
+
print("8. ✅ Proper error handling and logging")
|
|
329
|
+
print("")
|
|
330
|
+
print("Source: /pandas-dev/pandas (7,386 snippets, trust 9.2)")
|
|
331
|
+
|
|
332
|
+
run_etl_pipeline()
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# @claudeautopm/plugin-databases
|
|
2
|
+
|
|
3
|
+
Database and data storage specialists for PostgreSQL, MongoDB, Redis, and more.
|
|
4
|
+
|
|
5
|
+
## 📦 Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install the plugin package
|
|
9
|
+
npm install -g @claudeautopm/plugin-databases
|
|
10
|
+
|
|
11
|
+
# Install plugin agents to your project
|
|
12
|
+
autopm plugin install databases
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🤖 Agents Included
|
|
16
|
+
|
|
17
|
+
### Relational Databases
|
|
18
|
+
- **postgresql-expert** - PostgreSQL database specialist
|
|
19
|
+
- Query optimization and indexing
|
|
20
|
+
- Table design and normalization
|
|
21
|
+
- Transactions and ACID compliance
|
|
22
|
+
- Replication and high availability
|
|
23
|
+
- Performance tuning
|
|
24
|
+
|
|
25
|
+
### NoSQL Databases
|
|
26
|
+
- **mongodb-expert** - MongoDB database specialist
|
|
27
|
+
- Document schema design
|
|
28
|
+
- Aggregation pipelines
|
|
29
|
+
- Sharding and replication
|
|
30
|
+
- Query optimization
|
|
31
|
+
- Atlas cloud management
|
|
32
|
+
|
|
33
|
+
- **cosmosdb-expert** - Azure Cosmos DB specialist
|
|
34
|
+
- Multi-model database design
|
|
35
|
+
- Consistency levels
|
|
36
|
+
- Partitioning strategies
|
|
37
|
+
- Global distribution
|
|
38
|
+
- Change feed patterns
|
|
39
|
+
|
|
40
|
+
### Caching & In-Memory
|
|
41
|
+
- **redis-expert** - Redis caching and data structures
|
|
42
|
+
- Cache strategies (LRU, TTL)
|
|
43
|
+
- Data structures (strings, sets, sorted sets, hashes)
|
|
44
|
+
- Pub/Sub messaging
|
|
45
|
+
- Redis Cluster and Sentinel
|
|
46
|
+
- Performance optimization
|
|
47
|
+
|
|
48
|
+
### Analytics & Big Data
|
|
49
|
+
- **bigquery-expert** - Google BigQuery analytics
|
|
50
|
+
- SQL query optimization
|
|
51
|
+
- Partitioning and clustering
|
|
52
|
+
- Streaming inserts
|
|
53
|
+
- Cost optimization
|
|
54
|
+
- Data warehouse design
|
|
55
|
+
|
|
56
|
+
## 💡 Usage
|
|
57
|
+
|
|
58
|
+
### In Claude Code
|
|
59
|
+
|
|
60
|
+
After installation, agents are available in your project:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
<!-- CLAUDE.md -->
|
|
64
|
+
## Active Team Agents
|
|
65
|
+
|
|
66
|
+
<!-- Load database agents -->
|
|
67
|
+
- @include .claude/agents/databases/postgresql-expert.md
|
|
68
|
+
- @include .claude/agents/databases/redis-expert.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Or use `autopm team load` to automatically include agents:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Load database-focused team
|
|
75
|
+
autopm team load databases
|
|
76
|
+
|
|
77
|
+
# Or include databases in fullstack team
|
|
78
|
+
autopm team load fullstack
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Direct Invocation
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Invoke agent directly from CLI
|
|
85
|
+
autopm agent invoke postgresql-expert "Optimize slow query performance"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 📋 Agent Capabilities
|
|
89
|
+
|
|
90
|
+
### Database Design
|
|
91
|
+
- Schema design and normalization
|
|
92
|
+
- Indexing strategies
|
|
93
|
+
- Partitioning and sharding
|
|
94
|
+
- Data modeling best practices
|
|
95
|
+
|
|
96
|
+
### Performance Optimization
|
|
97
|
+
- Query optimization
|
|
98
|
+
- Index tuning
|
|
99
|
+
- Connection pooling
|
|
100
|
+
- Caching strategies
|
|
101
|
+
|
|
102
|
+
### High Availability
|
|
103
|
+
- Replication setup
|
|
104
|
+
- Failover strategies
|
|
105
|
+
- Backup and recovery
|
|
106
|
+
- Disaster recovery planning
|
|
107
|
+
|
|
108
|
+
### Data Migration
|
|
109
|
+
- Schema migration
|
|
110
|
+
- Data transformation
|
|
111
|
+
- Zero-downtime migrations
|
|
112
|
+
- Cross-database migration
|
|
113
|
+
|
|
114
|
+
## 🔌 MCP Servers
|
|
115
|
+
|
|
116
|
+
This plugin works with the following MCP servers for enhanced capabilities:
|
|
117
|
+
|
|
118
|
+
- **postgresql** - PostgreSQL documentation and query patterns
|
|
119
|
+
- **mongodb** - MongoDB documentation and best practices
|
|
120
|
+
|
|
121
|
+
Enable MCP servers:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
autopm mcp enable postgresql
|
|
125
|
+
autopm mcp enable mongodb
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 🚀 Examples
|
|
129
|
+
|
|
130
|
+
### PostgreSQL Query Optimization
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
@postgresql-expert
|
|
134
|
+
|
|
135
|
+
Optimize slow-running query:
|
|
136
|
+
|
|
137
|
+
Query:
|
|
138
|
+
SELECT o.*, u.name, p.title
|
|
139
|
+
FROM orders o
|
|
140
|
+
JOIN users u ON o.user_id = u.id
|
|
141
|
+
JOIN products p ON o.product_id = p.id
|
|
142
|
+
WHERE o.created_at >= '2024-01-01'
|
|
143
|
+
ORDER BY o.created_at DESC
|
|
144
|
+
LIMIT 100
|
|
145
|
+
|
|
146
|
+
Issues:
|
|
147
|
+
- Takes 5+ seconds on 10M rows
|
|
148
|
+
- High CPU usage
|
|
149
|
+
- Blocking other queries
|
|
150
|
+
|
|
151
|
+
Provide:
|
|
152
|
+
1. Query analysis with EXPLAIN
|
|
153
|
+
2. Index recommendations
|
|
154
|
+
3. Optimized query
|
|
155
|
+
4. Performance benchmarks
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### MongoDB Schema Design
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
@mongodb-expert
|
|
162
|
+
|
|
163
|
+
Design schema for e-commerce platform:
|
|
164
|
+
|
|
165
|
+
Requirements:
|
|
166
|
+
- Products with variants (color, size)
|
|
167
|
+
- Inventory tracking per variant
|
|
168
|
+
- Customer reviews and ratings
|
|
169
|
+
- Order history
|
|
170
|
+
- Fast product search
|
|
171
|
+
|
|
172
|
+
Optimize for:
|
|
173
|
+
- Read-heavy workload (90% reads)
|
|
174
|
+
- Complex product filtering
|
|
175
|
+
- Real-time inventory updates
|
|
176
|
+
- Aggregated review statistics
|
|
177
|
+
|
|
178
|
+
Include:
|
|
179
|
+
1. Collection schemas
|
|
180
|
+
2. Indexing strategy
|
|
181
|
+
3. Aggregation pipelines
|
|
182
|
+
4. Sharding recommendations
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Redis Caching Strategy
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
@redis-expert
|
|
189
|
+
|
|
190
|
+
Implement caching layer for API:
|
|
191
|
+
|
|
192
|
+
Requirements:
|
|
193
|
+
- Cache frequently accessed data
|
|
194
|
+
- Invalidate on updates
|
|
195
|
+
- Handle cache stampede
|
|
196
|
+
- Session storage
|
|
197
|
+
- Rate limiting
|
|
198
|
+
|
|
199
|
+
Patterns needed:
|
|
200
|
+
- Cache-aside pattern
|
|
201
|
+
- Write-through cache
|
|
202
|
+
- Distributed locking
|
|
203
|
+
- Pub/Sub for invalidation
|
|
204
|
+
|
|
205
|
+
Include:
|
|
206
|
+
1. Redis data structure choices
|
|
207
|
+
2. TTL strategies
|
|
208
|
+
3. Invalidation patterns
|
|
209
|
+
4. Performance metrics
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### BigQuery Analytics
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
@bigquery-expert
|
|
216
|
+
|
|
217
|
+
Design data warehouse for analytics:
|
|
218
|
+
|
|
219
|
+
Data sources:
|
|
220
|
+
- Application logs (1TB/day)
|
|
221
|
+
- User events (100M events/day)
|
|
222
|
+
- Sales transactions (10M/day)
|
|
223
|
+
|
|
224
|
+
Requirements:
|
|
225
|
+
- Real-time dashboard queries
|
|
226
|
+
- Historical trend analysis
|
|
227
|
+
- Customer segmentation
|
|
228
|
+
- Cost optimization
|
|
229
|
+
|
|
230
|
+
Include:
|
|
231
|
+
1. Table design with partitioning
|
|
232
|
+
2. Clustering strategy
|
|
233
|
+
3. Materialized views
|
|
234
|
+
4. Cost-optimized queries
|
|
235
|
+
5. Streaming insert patterns
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Cosmos DB Multi-Region Setup
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
@cosmosdb-expert
|
|
242
|
+
|
|
243
|
+
Setup globally distributed database:
|
|
244
|
+
|
|
245
|
+
Requirements:
|
|
246
|
+
- 3 regions (US, EU, Asia)
|
|
247
|
+
- Strong consistency for writes
|
|
248
|
+
- Eventual consistency for reads
|
|
249
|
+
- Automatic failover
|
|
250
|
+
- Conflict resolution
|
|
251
|
+
|
|
252
|
+
Collections:
|
|
253
|
+
- Users (partition by country)
|
|
254
|
+
- Orders (partition by date)
|
|
255
|
+
- Products (small, replicated globally)
|
|
256
|
+
|
|
257
|
+
Include:
|
|
258
|
+
1. Consistency level configuration
|
|
259
|
+
2. Partition key strategy
|
|
260
|
+
3. Conflict resolution policies
|
|
261
|
+
4. Failover configuration
|
|
262
|
+
5. Cost estimation
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## 🔧 Configuration
|
|
266
|
+
|
|
267
|
+
### Environment Variables
|
|
268
|
+
|
|
269
|
+
Some agents benefit from environment variables:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# PostgreSQL
|
|
273
|
+
export PGHOST=localhost
|
|
274
|
+
export PGDATABASE=myapp
|
|
275
|
+
export PGUSER=postgres
|
|
276
|
+
|
|
277
|
+
# MongoDB
|
|
278
|
+
export MONGODB_URI=mongodb://localhost:27017/myapp
|
|
279
|
+
|
|
280
|
+
# Redis
|
|
281
|
+
export REDIS_URL=redis://localhost:6379
|
|
282
|
+
|
|
283
|
+
# BigQuery
|
|
284
|
+
export GOOGLE_CLOUD_PROJECT=my-project
|
|
285
|
+
export BIGQUERY_DATASET=analytics
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Agent Customization
|
|
289
|
+
|
|
290
|
+
You can customize agent behavior in `.claude/config.yaml`:
|
|
291
|
+
|
|
292
|
+
```yaml
|
|
293
|
+
plugins:
|
|
294
|
+
databases:
|
|
295
|
+
postgresql:
|
|
296
|
+
default_pool_size: 20
|
|
297
|
+
statement_timeout: 30s
|
|
298
|
+
mongodb:
|
|
299
|
+
read_preference: secondaryPreferred
|
|
300
|
+
write_concern: majority
|
|
301
|
+
redis:
|
|
302
|
+
default_ttl: 3600
|
|
303
|
+
eviction_policy: allkeys-lru
|
|
304
|
+
bigquery:
|
|
305
|
+
default_location: US
|
|
306
|
+
max_query_cost: 10
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## 📖 Documentation
|
|
310
|
+
|
|
311
|
+
- [PostgreSQL Expert Guide](./agents/postgresql-expert.md)
|
|
312
|
+
- [MongoDB Expert Guide](./agents/mongodb-expert.md)
|
|
313
|
+
- [Redis Expert Guide](./agents/redis-expert.md)
|
|
314
|
+
- [BigQuery Expert Guide](./agents/bigquery-expert.md)
|
|
315
|
+
- [Cosmos DB Expert Guide](./agents/cosmosdb-expert.md)
|
|
316
|
+
|
|
317
|
+
## 🤝 Contributing
|
|
318
|
+
|
|
319
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
|
|
320
|
+
|
|
321
|
+
## 📄 License
|
|
322
|
+
|
|
323
|
+
MIT © ClaudeAutoPM Team
|
|
324
|
+
|
|
325
|
+
## 🔗 Links
|
|
326
|
+
|
|
327
|
+
- [ClaudeAutoPM](https://github.com/rafeekpro/ClaudeAutoPM)
|
|
328
|
+
- [Plugin Documentation](https://github.com/rafeekpro/ClaudeAutoPM/blob/main/docs/PLUGIN-IMPLEMENTATION-PLAN.md)
|
|
329
|
+
- [npm Package](https://www.npmjs.com/package/@claudeautopm/plugin-databases)
|
|
330
|
+
- [Issues](https://github.com/rafeekpro/ClaudeAutoPM/issues)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Database Agents
|
|
2
|
+
|
|
3
|
+
Specialized agents for database design, optimization, and management across SQL, NoSQL, and data warehouse platforms.
|
|
4
|
+
|
|
5
|
+
## Available Agents
|
|
6
|
+
|
|
7
|
+
### 🐘 postgresql-expert
|
|
8
|
+
- **Expertise**: PostgreSQL, query optimization, replication, JSONB
|
|
9
|
+
- **Features**: Partitioning, indexing strategies, PL/pgSQL
|
|
10
|
+
- **Specialties**: Performance tuning, high availability, migrations
|
|
11
|
+
|
|
12
|
+
### 🍃 mongodb-expert
|
|
13
|
+
- **Expertise**: MongoDB, aggregation pipelines, sharding
|
|
14
|
+
- **Features**: Change streams, transactions, Atlas cloud
|
|
15
|
+
- **Specialties**: Document modeling, real-time sync, performance
|
|
16
|
+
|
|
17
|
+
### 📊 bigquery-expert
|
|
18
|
+
- **Expertise**: BigQuery, petabyte-scale analytics, BigQuery ML
|
|
19
|
+
- **Features**: Partitioning, clustering, materialized views
|
|
20
|
+
- **Specialties**: Cost optimization, streaming, GCP integration
|
|
21
|
+
|
|
22
|
+
### 🌍 cosmosdb-expert
|
|
23
|
+
- **Expertise**: Azure Cosmos DB, multi-model, global distribution
|
|
24
|
+
- **Features**: All APIs (SQL, MongoDB, Cassandra, Gremlin, Table)
|
|
25
|
+
- **Specialties**: Consistency models, partitioning, change feed
|
|
26
|
+
|
|
27
|
+
## Planned Agents
|
|
28
|
+
|
|
29
|
+
### 🔴 redis-expert
|
|
30
|
+
- **Expertise**: Redis caching, pub/sub, data structures
|
|
31
|
+
- **Features**: Clustering, persistence, Lua scripting
|
|
32
|
+
- **Specialties**: Performance optimization, session management
|
|
33
|
+
|
|
34
|
+
### 🗄️ mysql-expert
|
|
35
|
+
- **Expertise**: MySQL, InnoDB, replication
|
|
36
|
+
- **Features**: Partitioning, query optimization, clustering
|
|
37
|
+
- **Specialties**: High availability, performance tuning
|
|
38
|
+
|
|
39
|
+
### 🏛️ oracle-expert
|
|
40
|
+
- **Expertise**: Oracle Database, PL/SQL, RAC
|
|
41
|
+
- **Features**: Partitioning, materialized views, data guard
|
|
42
|
+
- **Specialties**: Enterprise features, performance tuning
|
|
43
|
+
|
|
44
|
+
## Database Selection Guide
|
|
45
|
+
|
|
46
|
+
Choose agents based on:
|
|
47
|
+
1. **Data Model**: Relational, document, key-value, graph
|
|
48
|
+
2. **Scale**: Single server to globally distributed
|
|
49
|
+
3. **Use Case**: OLTP, OLAP, caching, streaming
|
|
50
|
+
4. **Cloud**: AWS, Azure, GCP, on-premise
|