claude-autopm 2.8.1 → 2.8.3
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 -529
- package/bin/autopm.js +2 -0
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/package.json +5 -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/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/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/gemini-api-expert.md +880 -0
- package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -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/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/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/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/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/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/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/bigquery-expert.md +24 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/cosmosdb-expert.md +22 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/mongodb-expert.md +24 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/postgresql-expert.md +23 -15
- package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/redis-expert.md +29 -7
- 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/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/github-operations-specialist.md +1 -1
- 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/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/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/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/e2e-test-engineer.md +219 -0
- package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-frontend-engineer.md +176 -0
- package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/tailwindcss-expert.md +251 -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/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/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/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/github/workflow-create.md +42 -0
- package/packages/plugin-pm/package.json +57 -0
- package/packages/plugin-pm/plugin.json +503 -0
- package/packages/plugin-testing/README.md +401 -0
- package/{autopm/.claude/agents/testing → packages/plugin-testing/agents}/frontend-testing-engineer.md +373 -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
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/bin/node/azure-feature-show.js +0 -7
- /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/gemini-api-expert.md +0 -0
- /package/{autopm/.claude/agents/data → packages/plugin-ai/agents}/langgraph-workflow-expert.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-ai/agents}/openai-python-expert.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/aws-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/azure-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-architect.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/gcp-cloud-functions-engineer.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/kubernetes-orchestrator.md +0 -0
- /package/{autopm/.claude/agents/cloud → packages/plugin-cloud/agents}/terraform-infrastructure-expert.md +0 -0
- /package/{autopm/.claude/commands/cloud → packages/plugin-cloud/commands}/infra-deploy.md +0 -0
- /package/{autopm/.claude/commands/kubernetes/deploy.md → packages/plugin-cloud/commands/k8s-deploy.md} +0 -0
- /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/ssh-security.md +0 -0
- /package/{autopm/.claude/commands/infrastructure → packages/plugin-cloud/commands}/traefik-setup.md +0 -0
- /package/{autopm/.claude → packages/plugin-cloud}/rules/infrastructure-pipeline.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/agent-manager.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/code-analyzer.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/file-analyzer.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/agents/core/test-runner.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/rules/ai-integration-patterns.md +0 -0
- /package/{autopm/.claude → packages/plugin-core}/rules/performance-guidelines.md +0 -0
- /package/{autopm/.claude/agents/databases → packages/plugin-databases/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/azure-devops-specialist.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/docker-containerization-expert.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/mcp-context-manager.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/observability-engineer.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/ssh-operations-expert.md +0 -0
- /package/{autopm/.claude/agents/devops → packages/plugin-devops/agents}/traefik-proxy-expert.md +0 -0
- /package/{autopm/.claude/commands/github → packages/plugin-devops/commands}/workflow-create.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/ci-cd-kubernetes-strategy.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/devops-troubleshooting-playbook.md +0 -0
- /package/{autopm/.claude → packages/plugin-devops}/rules/docker-first-development.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/nats-messaging-expert.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/react-ui-expert.md +0 -0
- /package/{autopm/.claude/agents/frameworks → packages/plugin-frameworks/agents}/ux-design-expert.md +0 -0
- /package/{autopm/.claude/commands/react → packages/plugin-frameworks/commands}/app-scaffold.md +0 -0
- /package/{autopm/.claude/commands/ui → packages/plugin-frameworks/commands}/tailwind-system.md +0 -0
- /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-development-standards.md +0 -0
- /package/{autopm/.claude → packages/plugin-frameworks}/rules/ui-framework-rules.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/README.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/bash-scripting-expert.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/javascript-frontend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/nodejs-backend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-engineer.md +0 -0
- /package/{autopm/.claude/agents/languages → packages/plugin-languages/agents}/python-backend-expert.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMANDS.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/COMMAND_MAPPING.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/INTEGRATION_FIX.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/active-work.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/aliases.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/blocked-items.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/clean.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/docs-query.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-decompose.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/feature-start.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/fix-integration-example.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/help.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/import-us.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/init.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/next-task.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/search.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sprint-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/standup.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/sync-all.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-analyze.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-close.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-edit.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-reopen.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-start.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/task-sync.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-edit.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-list.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-new.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-parse.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-show.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/us-status.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/validate.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/commands/azure/work-item-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/blocked.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/clean.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-create.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-prime.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context-update.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/context.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-close.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-decompose.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-list.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-merge.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-oneshot.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-refresh.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-show.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-split.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-start.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-modular.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync-original.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/epic-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/help.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/import.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/in-progress.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/init.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-analyze.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-close.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-reopen.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-show.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-start.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/issue-sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/next.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-edit.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-list.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-new.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-parse.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/prd-status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/search.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/standup.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/status.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/sync.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/test-reference-update.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/validate.md +0 -0
- /package/{autopm/.claude/commands/pm → packages/plugin-pm/commands}/what-next.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/analytics.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/blocked.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/clean.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-create.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-prime.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context-update.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/context.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-close.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-edit.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-list.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-show.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-split.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-start/epic-start.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-epic-issue.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/create-task-issues.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-epic-file.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync/update-references.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/epic-sync.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/help.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/in-progress.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/init.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-close.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-edit.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-show.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-start.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/format-comment.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/gather-updates.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/post-comment.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/preflight-validation.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/issue-sync/update-frontmatter.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/README.md +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/epic-discovery.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/lib/logger.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/next.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/optimize.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-create.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/pr-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-list.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-new.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-parse.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/prd-status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/release.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/search.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/standup.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/status.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync-batch.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/sync.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-list.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/template-new.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.js +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/validate.sh +0 -0
- /package/{autopm/.claude → packages/plugin-pm}/scripts/pm/what-next.js +0 -0
|
@@ -0,0 +1,657 @@
|
|
|
1
|
+
# ml:train-optimize
|
|
2
|
+
|
|
3
|
+
Optimize machine learning training pipelines with Context7-verified patterns for scikit-learn, PyTorch, and TensorFlow.
|
|
4
|
+
|
|
5
|
+
## Description
|
|
6
|
+
|
|
7
|
+
Comprehensive ML training optimization covering:
|
|
8
|
+
- Hyperparameter tuning (GridSearchCV, RandomizedSearchCV, Optuna)
|
|
9
|
+
- Cross-validation strategies
|
|
10
|
+
- Model selection and pipelines
|
|
11
|
+
- Distributed training (PyTorch DDP, TensorFlow Strategy)
|
|
12
|
+
- Mixed precision training (AMP)
|
|
13
|
+
- Learning rate scheduling
|
|
14
|
+
|
|
15
|
+
## Required Documentation Access
|
|
16
|
+
|
|
17
|
+
**MANDATORY:** Before optimization, query Context7 for ML best practices:
|
|
18
|
+
|
|
19
|
+
**Documentation Queries:**
|
|
20
|
+
- `mcp://context7/scikit-learn/model-selection` - GridSearchCV, cross-validation
|
|
21
|
+
- `mcp://context7/scikit-learn/pipelines` - ML pipelines and preprocessing
|
|
22
|
+
- `mcp://context7/pytorch/training` - PyTorch training optimization
|
|
23
|
+
- `mcp://context7/pytorch/distributed` - Distributed Data Parallel (DDP)
|
|
24
|
+
- `mcp://context7/tensorflow/training` - TensorFlow training patterns
|
|
25
|
+
|
|
26
|
+
**Why This is Required:**
|
|
27
|
+
- Ensures optimization follows official framework documentation
|
|
28
|
+
- Applies latest performance patterns from ML frameworks
|
|
29
|
+
- Validates distributed training configurations
|
|
30
|
+
- Prevents anti-patterns and training inefficiencies
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
/ml:train-optimize [options]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Options
|
|
39
|
+
|
|
40
|
+
- `--framework <sklearn|pytorch|tensorflow>` - ML framework
|
|
41
|
+
- `--scope <hyperparams|distributed|precision|all>` - Optimization scope
|
|
42
|
+
- `--analyze-only` - Analyze without applying changes
|
|
43
|
+
- `--output <file>` - Write optimization report
|
|
44
|
+
- `--aggressive` - Apply aggressive optimizations
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
|
|
48
|
+
### Optimize Scikit-learn Pipeline
|
|
49
|
+
```bash
|
|
50
|
+
/ml:train-optimize --framework sklearn --scope hyperparams
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Optimize PyTorch Training
|
|
54
|
+
```bash
|
|
55
|
+
/ml:train-optimize --framework pytorch --scope distributed
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Full ML Optimization
|
|
59
|
+
```bash
|
|
60
|
+
/ml:train-optimize --output ml-optimization-report.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Optimization Patterns
|
|
64
|
+
|
|
65
|
+
### 1. Scikit-learn Hyperparameter Tuning
|
|
66
|
+
|
|
67
|
+
**Pattern from Context7 (/scikit-learn/scikit-learn):**
|
|
68
|
+
|
|
69
|
+
#### GridSearchCV with Pipeline
|
|
70
|
+
|
|
71
|
+
```python
|
|
72
|
+
# BEFORE: Manual hyperparameter testing
|
|
73
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
74
|
+
|
|
75
|
+
model = RandomForestClassifier(n_estimators=100, max_depth=5)
|
|
76
|
+
model.fit(X_train, y_train)
|
|
77
|
+
# ❌ Suboptimal hyperparameters
|
|
78
|
+
|
|
79
|
+
# AFTER: GridSearchCV with Pipeline
|
|
80
|
+
from sklearn.pipeline import Pipeline
|
|
81
|
+
from sklearn.preprocessing import StandardScaler
|
|
82
|
+
from sklearn.feature_selection import SelectKBest
|
|
83
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
84
|
+
from sklearn.model_selection import GridSearchCV
|
|
85
|
+
|
|
86
|
+
# Create pipeline
|
|
87
|
+
pipe = Pipeline([
|
|
88
|
+
('scaler', StandardScaler()),
|
|
89
|
+
('select', SelectKBest()),
|
|
90
|
+
('model', RandomForestClassifier())
|
|
91
|
+
])
|
|
92
|
+
|
|
93
|
+
# Define parameter grid
|
|
94
|
+
param_grid = {
|
|
95
|
+
'select__k': [5, 10, 20],
|
|
96
|
+
'model__n_estimators': [100, 200, 500],
|
|
97
|
+
'model__max_depth': [5, 10, 20, None],
|
|
98
|
+
'model__min_samples_split': [2, 5, 10],
|
|
99
|
+
'model__min_samples_leaf': [1, 2, 4]
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
# Grid search with cross-validation
|
|
103
|
+
grid_search = GridSearchCV(
|
|
104
|
+
estimator=pipe,
|
|
105
|
+
param_grid=param_grid,
|
|
106
|
+
cv=5,
|
|
107
|
+
scoring='roc_auc',
|
|
108
|
+
n_jobs=-1, # Use all CPU cores
|
|
109
|
+
verbose=2
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
grid_search.fit(X_train, y_train)
|
|
113
|
+
|
|
114
|
+
# Best model
|
|
115
|
+
print(f"Best params: {grid_search.best_params_}")
|
|
116
|
+
print(f"Best ROC-AUC: {grid_search.best_score_:.4f}")
|
|
117
|
+
|
|
118
|
+
# Evaluate on test set
|
|
119
|
+
test_score = grid_search.score(X_test, y_test)
|
|
120
|
+
print(f"Test ROC-AUC: {test_score:.4f}")
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Benefits:**
|
|
124
|
+
- Systematically tests combinations
|
|
125
|
+
- Uses cross-validation for robust estimates
|
|
126
|
+
- Parallel computation (n_jobs=-1)
|
|
127
|
+
- Prevents overfitting
|
|
128
|
+
|
|
129
|
+
#### HalvingGridSearchCV (Faster Search)
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
# AFTER: Faster hyperparameter search
|
|
133
|
+
from sklearn.experimental import enable_halving_search_cv # noqa
|
|
134
|
+
from sklearn.model_selection import HalvingGridSearchCV
|
|
135
|
+
|
|
136
|
+
# Halving search (successively halves candidates)
|
|
137
|
+
halving_search = HalvingGridSearchCV(
|
|
138
|
+
estimator=RandomForestClassifier(random_state=42),
|
|
139
|
+
param_grid={
|
|
140
|
+
'max_depth': [3, 5, 10, 20],
|
|
141
|
+
'min_samples_split': [2, 5, 10, 20]
|
|
142
|
+
},
|
|
143
|
+
cv=5,
|
|
144
|
+
factor=2, # Halve candidates each iteration
|
|
145
|
+
resource='n_estimators', # Budget on n_estimators
|
|
146
|
+
max_resources=500,
|
|
147
|
+
random_state=42
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
halving_search.fit(X_train, y_train)
|
|
151
|
+
print(f"Best estimator: {halving_search.best_estimator_}")
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Benefits:**
|
|
155
|
+
- 2-5x faster than GridSearchCV
|
|
156
|
+
- Efficiently allocates resources
|
|
157
|
+
- Eliminates poor candidates early
|
|
158
|
+
|
|
159
|
+
#### Nested Parameter Grid
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
# AFTER: Complex nested estimator tuning
|
|
163
|
+
from sklearn.calibration import CalibratedClassifierCV
|
|
164
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
165
|
+
from sklearn.model_selection import GridSearchCV
|
|
166
|
+
|
|
167
|
+
calibrated_forest = CalibratedClassifierCV(
|
|
168
|
+
estimator=RandomForestClassifier(n_estimators=100)
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
# Tune nested estimator parameters
|
|
172
|
+
param_grid = {
|
|
173
|
+
'estimator__max_depth': [2, 4, 6, 8],
|
|
174
|
+
'estimator__min_samples_split': [2, 5, 10]
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
search = GridSearchCV(
|
|
178
|
+
calibrated_forest,
|
|
179
|
+
param_grid,
|
|
180
|
+
cv=5,
|
|
181
|
+
scoring='roc_auc'
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
search.fit(X_train, y_train)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
#### VotingClassifier with GridSearchCV
|
|
188
|
+
|
|
189
|
+
```python
|
|
190
|
+
# AFTER: Ensemble optimization
|
|
191
|
+
from sklearn.ensemble import VotingClassifier
|
|
192
|
+
from sklearn.linear_model import LogisticRegression
|
|
193
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
194
|
+
from sklearn.naive_bayes import GaussianNB
|
|
195
|
+
from sklearn.model_selection import GridSearchCV
|
|
196
|
+
|
|
197
|
+
# Define base estimators
|
|
198
|
+
clf1 = LogisticRegression(random_state=1)
|
|
199
|
+
clf2 = RandomForestClassifier(random_state=1)
|
|
200
|
+
clf3 = GaussianNB()
|
|
201
|
+
|
|
202
|
+
# Voting classifier
|
|
203
|
+
eclf = VotingClassifier(
|
|
204
|
+
estimators=[('lr', clf1), ('rf', clf2), ('gnb', clf3)],
|
|
205
|
+
voting='soft'
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
# Tune individual estimator parameters
|
|
209
|
+
params = {
|
|
210
|
+
'lr__C': [0.1, 1.0, 10.0, 100.0],
|
|
211
|
+
'rf__n_estimators': [50, 100, 200],
|
|
212
|
+
'rf__max_depth': [5, 10, 20]
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
grid = GridSearchCV(
|
|
216
|
+
estimator=eclf,
|
|
217
|
+
param_grid=params,
|
|
218
|
+
cv=5,
|
|
219
|
+
scoring='roc_auc',
|
|
220
|
+
n_jobs=-1
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
grid.fit(X_train, y_train)
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### 2. PyTorch Mixed Precision Training (AMP)
|
|
227
|
+
|
|
228
|
+
**Pattern from Context7 (/pytorch/pytorch):**
|
|
229
|
+
|
|
230
|
+
```python
|
|
231
|
+
# BEFORE: Standard FP32 training (slower, more memory)
|
|
232
|
+
import torch
|
|
233
|
+
import torch.nn as nn
|
|
234
|
+
import torch.optim as optim
|
|
235
|
+
|
|
236
|
+
model = Net().cuda()
|
|
237
|
+
optimizer = optim.SGD(model.parameters(), lr=0.01)
|
|
238
|
+
criterion = nn.CrossEntropyLoss()
|
|
239
|
+
|
|
240
|
+
for epoch in range(epochs):
|
|
241
|
+
for input, target in data_loader:
|
|
242
|
+
input, target = input.cuda(), target.cuda()
|
|
243
|
+
|
|
244
|
+
optimizer.zero_grad()
|
|
245
|
+
output = model(input)
|
|
246
|
+
loss = criterion(output, target)
|
|
247
|
+
loss.backward()
|
|
248
|
+
optimizer.step()
|
|
249
|
+
# ❌ No mixed precision = slower training
|
|
250
|
+
|
|
251
|
+
# AFTER: Mixed precision with AMP (2-3x faster)
|
|
252
|
+
import torch
|
|
253
|
+
from torch.amp import autocast, GradScaler
|
|
254
|
+
|
|
255
|
+
model = Net().cuda()
|
|
256
|
+
optimizer = optim.SGD(model.parameters(), lr=0.01)
|
|
257
|
+
criterion = nn.CrossEntropyLoss()
|
|
258
|
+
|
|
259
|
+
# Create GradScaler for loss scaling
|
|
260
|
+
scaler = GradScaler()
|
|
261
|
+
|
|
262
|
+
for epoch in range(epochs):
|
|
263
|
+
for input, target in data_loader:
|
|
264
|
+
input, target = input.cuda(), target.cuda()
|
|
265
|
+
|
|
266
|
+
optimizer.zero_grad()
|
|
267
|
+
|
|
268
|
+
# Forward pass with autocast (mixed precision)
|
|
269
|
+
with autocast(device_type='cuda', dtype=torch.float16):
|
|
270
|
+
output = model(input)
|
|
271
|
+
loss = criterion(output, target)
|
|
272
|
+
|
|
273
|
+
# Backward pass with gradient scaling
|
|
274
|
+
scaler.scale(loss).backward()
|
|
275
|
+
scaler.step(optimizer)
|
|
276
|
+
scaler.update()
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Benefits:**
|
|
280
|
+
- 2-3x faster training
|
|
281
|
+
- 50% less GPU memory usage
|
|
282
|
+
- Maintains model accuracy
|
|
283
|
+
- Automatic gradient scaling
|
|
284
|
+
|
|
285
|
+
### 3. PyTorch Distributed Data Parallel (DDP)
|
|
286
|
+
|
|
287
|
+
**Pattern from Context7:**
|
|
288
|
+
|
|
289
|
+
```python
|
|
290
|
+
# BEFORE: Single GPU training (slow for large models)
|
|
291
|
+
model = MyModel()
|
|
292
|
+
model.to(device)
|
|
293
|
+
|
|
294
|
+
for epoch in range(epochs):
|
|
295
|
+
for batch in data_loader:
|
|
296
|
+
# Training loop
|
|
297
|
+
pass
|
|
298
|
+
|
|
299
|
+
# AFTER: Multi-GPU with DDP
|
|
300
|
+
import torch
|
|
301
|
+
import torch.distributed as dist
|
|
302
|
+
import torch.multiprocessing as mp
|
|
303
|
+
from torch.nn.parallel import DistributedDataParallel as DDP
|
|
304
|
+
import os
|
|
305
|
+
|
|
306
|
+
def train_ddp(rank, world_size):
|
|
307
|
+
# Initialize process group
|
|
308
|
+
dist.init_process_group(
|
|
309
|
+
backend='nccl', # or 'gloo' for CPU
|
|
310
|
+
init_method='env://',
|
|
311
|
+
rank=rank,
|
|
312
|
+
world_size=world_size
|
|
313
|
+
)
|
|
314
|
+
|
|
315
|
+
# Create model and move to GPU
|
|
316
|
+
model = MyModel().to(rank)
|
|
317
|
+
|
|
318
|
+
# Wrap with DDP
|
|
319
|
+
ddp_model = DDP(model, device_ids=[rank])
|
|
320
|
+
|
|
321
|
+
# Define loss and optimizer
|
|
322
|
+
criterion = nn.CrossEntropyLoss()
|
|
323
|
+
optimizer = optim.SGD(ddp_model.parameters(), lr=0.01)
|
|
324
|
+
|
|
325
|
+
# Training loop
|
|
326
|
+
for epoch in range(epochs):
|
|
327
|
+
for input, target in train_loader:
|
|
328
|
+
input, target = input.to(rank), target.to(rank)
|
|
329
|
+
|
|
330
|
+
# Forward pass
|
|
331
|
+
output = ddp_model(input)
|
|
332
|
+
loss = criterion(output, target)
|
|
333
|
+
|
|
334
|
+
# Backward pass
|
|
335
|
+
optimizer.zero_grad()
|
|
336
|
+
loss.backward()
|
|
337
|
+
|
|
338
|
+
# Update parameters (synchronized across GPUs)
|
|
339
|
+
optimizer.step()
|
|
340
|
+
|
|
341
|
+
def main():
|
|
342
|
+
world_size = 4 # Number of GPUs
|
|
343
|
+
os.environ["MASTER_ADDR"] = "localhost"
|
|
344
|
+
os.environ["MASTER_PORT"] = "29500"
|
|
345
|
+
|
|
346
|
+
mp.spawn(
|
|
347
|
+
train_ddp,
|
|
348
|
+
args=(world_size,),
|
|
349
|
+
nprocs=world_size,
|
|
350
|
+
join=True
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
if __name__ == "__main__":
|
|
354
|
+
main()
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Benefits:**
|
|
358
|
+
- Linear scaling with GPU count
|
|
359
|
+
- Synchronized gradient updates
|
|
360
|
+
- Efficient communication
|
|
361
|
+
- Supports large batch sizes
|
|
362
|
+
|
|
363
|
+
### 4. Combined: DDP + Mixed Precision
|
|
364
|
+
|
|
365
|
+
**Pattern from Context7:**
|
|
366
|
+
|
|
367
|
+
```python
|
|
368
|
+
import torch
|
|
369
|
+
import torch.distributed as dist
|
|
370
|
+
from torch.nn.parallel import DistributedDataParallel as DDP
|
|
371
|
+
from torch.amp import autocast, GradScaler
|
|
372
|
+
|
|
373
|
+
def train_ddp_amp(rank, world_size):
|
|
374
|
+
# Initialize DDP
|
|
375
|
+
dist.init_process_group('nccl', rank=rank, world_size=world_size)
|
|
376
|
+
|
|
377
|
+
# Model and DDP wrapper
|
|
378
|
+
model = MyModel().to(rank)
|
|
379
|
+
ddp_model = DDP(model, device_ids=[rank])
|
|
380
|
+
|
|
381
|
+
# Optimizer and GradScaler
|
|
382
|
+
optimizer = optim.Adam(ddp_model.parameters(), lr=0.001)
|
|
383
|
+
scaler = GradScaler()
|
|
384
|
+
|
|
385
|
+
for epoch in range(epochs):
|
|
386
|
+
for input, target in train_loader:
|
|
387
|
+
input, target = input.to(rank), target.to(rank)
|
|
388
|
+
|
|
389
|
+
optimizer.zero_grad()
|
|
390
|
+
|
|
391
|
+
# Mixed precision forward pass
|
|
392
|
+
with autocast(device_type='cuda', dtype=torch.float16):
|
|
393
|
+
output = ddp_model(input)
|
|
394
|
+
loss = criterion(output, target)
|
|
395
|
+
|
|
396
|
+
# Scaled backward pass
|
|
397
|
+
scaler.scale(loss).backward()
|
|
398
|
+
scaler.step(optimizer)
|
|
399
|
+
scaler.update()
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
**Benefits:**
|
|
403
|
+
- Best of both worlds
|
|
404
|
+
- 4-8x speedup with 4 GPUs + AMP
|
|
405
|
+
- Production-ready scaling
|
|
406
|
+
|
|
407
|
+
### 5. Multiple Optimizers with AMP
|
|
408
|
+
|
|
409
|
+
**Pattern from Context7:**
|
|
410
|
+
|
|
411
|
+
```python
|
|
412
|
+
# AFTER: Multiple losses and optimizers
|
|
413
|
+
scaler = torch.amp.GradScaler()
|
|
414
|
+
|
|
415
|
+
for epoch in epochs:
|
|
416
|
+
for input, target in data_loader:
|
|
417
|
+
optimizer0.zero_grad()
|
|
418
|
+
optimizer1.zero_grad()
|
|
419
|
+
|
|
420
|
+
# Forward pass with autocast
|
|
421
|
+
with autocast(device_type='cuda', dtype=torch.float16):
|
|
422
|
+
output0 = model0(input)
|
|
423
|
+
output1 = model1(input)
|
|
424
|
+
loss0 = loss_fn(2 * output0 + 3 * output1, target)
|
|
425
|
+
loss1 = loss_fn(3 * output0 - 5 * output1, target)
|
|
426
|
+
|
|
427
|
+
# Backward passes
|
|
428
|
+
scaler.scale(loss0).backward(retain_graph=True)
|
|
429
|
+
scaler.scale(loss1).backward()
|
|
430
|
+
|
|
431
|
+
# Optional: unscale for gradient inspection
|
|
432
|
+
scaler.unscale_(optimizer0)
|
|
433
|
+
|
|
434
|
+
# Step optimizers
|
|
435
|
+
scaler.step(optimizer0)
|
|
436
|
+
scaler.step(optimizer1)
|
|
437
|
+
|
|
438
|
+
# Update scaler once
|
|
439
|
+
scaler.update()
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
### 6. Cross-Validation Best Practices
|
|
443
|
+
|
|
444
|
+
**Pattern from Context7:**
|
|
445
|
+
|
|
446
|
+
```python
|
|
447
|
+
from sklearn.model_selection import (
|
|
448
|
+
cross_val_score,
|
|
449
|
+
StratifiedKFold,
|
|
450
|
+
train_test_split
|
|
451
|
+
)
|
|
452
|
+
|
|
453
|
+
# Split into dev and evaluation sets
|
|
454
|
+
X_dev, X_eval, y_dev, y_eval = train_test_split(
|
|
455
|
+
X, y, test_size=0.2, random_state=42, stratify=y
|
|
456
|
+
)
|
|
457
|
+
|
|
458
|
+
# Cross-validation on dev set
|
|
459
|
+
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
|
|
460
|
+
|
|
461
|
+
# Perform cross-validation
|
|
462
|
+
scores = cross_val_score(
|
|
463
|
+
estimator=model,
|
|
464
|
+
X=X_dev,
|
|
465
|
+
y=y_dev,
|
|
466
|
+
cv=cv,
|
|
467
|
+
scoring='roc_auc',
|
|
468
|
+
n_jobs=-1
|
|
469
|
+
)
|
|
470
|
+
|
|
471
|
+
print(f"CV scores: {scores}")
|
|
472
|
+
print(f"Mean CV score: {scores.mean():.4f} (+/- {scores.std() * 2:.4f})")
|
|
473
|
+
|
|
474
|
+
# Final evaluation on held-out set
|
|
475
|
+
model.fit(X_dev, y_dev)
|
|
476
|
+
eval_score = model.score(X_eval, y_eval)
|
|
477
|
+
print(f"Evaluation score: {eval_score:.4f}")
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
## Optimization Output
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
🚀 ML Training Optimization Analysis
|
|
484
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
485
|
+
|
|
486
|
+
Framework: PyTorch
|
|
487
|
+
Model: ResNet50
|
|
488
|
+
Dataset: ImageNet (1.2M samples)
|
|
489
|
+
|
|
490
|
+
🔧 Hyperparameter Optimization
|
|
491
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
492
|
+
|
|
493
|
+
Current Configuration:
|
|
494
|
+
- learning_rate: 0.1
|
|
495
|
+
- batch_size: 128
|
|
496
|
+
- optimizer: SGD
|
|
497
|
+
- scheduler: None
|
|
498
|
+
|
|
499
|
+
⚠️ Suboptimal hyperparameters detected
|
|
500
|
+
💡 Recommendation: Use GridSearchCV or Optuna
|
|
501
|
+
⚡ Impact: 10-30% accuracy improvement
|
|
502
|
+
|
|
503
|
+
Suggested Configuration:
|
|
504
|
+
- learning_rate: 0.01 (with warmup)
|
|
505
|
+
- batch_size: 256
|
|
506
|
+
- optimizer: AdamW
|
|
507
|
+
- scheduler: CosineAnnealingLR
|
|
508
|
+
|
|
509
|
+
⚡ Mixed Precision Training
|
|
510
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
511
|
+
|
|
512
|
+
❌ Not using AMP (Automatic Mixed Precision)
|
|
513
|
+
💡 Recommendation: Enable torch.amp
|
|
514
|
+
⚡ Impact: 2-3x faster training, 50% less GPU memory
|
|
515
|
+
|
|
516
|
+
Implementation:
|
|
517
|
+
```python
|
|
518
|
+
from torch.amp import autocast, GradScaler
|
|
519
|
+
scaler = GradScaler()
|
|
520
|
+
|
|
521
|
+
with autocast(device_type='cuda', dtype=torch.float16):
|
|
522
|
+
output = model(input)
|
|
523
|
+
loss = criterion(output, target)
|
|
524
|
+
|
|
525
|
+
scaler.scale(loss).backward()
|
|
526
|
+
scaler.step(optimizer)
|
|
527
|
+
scaler.update()
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
🌐 Distributed Training
|
|
531
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
532
|
+
|
|
533
|
+
Current: Single GPU training
|
|
534
|
+
Available: 4 GPUs detected
|
|
535
|
+
|
|
536
|
+
⚠️ Not using Distributed Data Parallel (DDP)
|
|
537
|
+
💡 Recommendation: Enable DDP training
|
|
538
|
+
⚡ Impact: 3.5-4x speedup (near-linear scaling)
|
|
539
|
+
|
|
540
|
+
Implementation:
|
|
541
|
+
- Enable DDP with 4 GPUs
|
|
542
|
+
- Batch size: 256 * 4 = 1024 (effective)
|
|
543
|
+
- Training time: 24h → 6h
|
|
544
|
+
|
|
545
|
+
📊 Cross-Validation Strategy
|
|
546
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
547
|
+
|
|
548
|
+
Current: Single train/test split
|
|
549
|
+
|
|
550
|
+
⚠️ No cross-validation for hyperparameter tuning
|
|
551
|
+
💡 Recommendation: Use StratifiedKFold (k=5)
|
|
552
|
+
⚡ Impact: More robust performance estimates
|
|
553
|
+
|
|
554
|
+
Suggested Strategy:
|
|
555
|
+
1. Split: 80% dev, 20% evaluation (held-out)
|
|
556
|
+
2. CV on dev set: StratifiedKFold k=5
|
|
557
|
+
3. Tune hyperparameters on dev
|
|
558
|
+
4. Final evaluation on held-out set
|
|
559
|
+
|
|
560
|
+
🎯 Learning Rate Scheduling
|
|
561
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
562
|
+
|
|
563
|
+
❌ No learning rate scheduler
|
|
564
|
+
💡 Recommendation: CosineAnnealingLR or OneCycleLR
|
|
565
|
+
⚡ Impact: 5-15% accuracy improvement
|
|
566
|
+
|
|
567
|
+
Suggested Implementation:
|
|
568
|
+
```python
|
|
569
|
+
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
|
|
570
|
+
optimizer, T_max=epochs
|
|
571
|
+
)
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
Summary
|
|
575
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
576
|
+
|
|
577
|
+
Total Optimizations: 5
|
|
578
|
+
|
|
579
|
+
🔴 Critical: 2 (enable DDP, enable AMP)
|
|
580
|
+
🟡 High Impact: 2 (hyperparameter tuning, LR scheduling)
|
|
581
|
+
🟢 Low Impact: 1 (cross-validation)
|
|
582
|
+
|
|
583
|
+
Estimated Performance Improvement:
|
|
584
|
+
- Training speed: 4-8x faster (DDP + AMP)
|
|
585
|
+
- GPU memory: 50% reduction (AMP)
|
|
586
|
+
- Model accuracy: 10-30% improvement (hyperparams + LR)
|
|
587
|
+
- Training time: 24h → 3-6h
|
|
588
|
+
|
|
589
|
+
Run with --aggressive to apply all optimizations
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
## Implementation
|
|
593
|
+
|
|
594
|
+
This command uses specialized ML agents:
|
|
595
|
+
- **@scikit-learn-expert** - Scikit-learn optimization
|
|
596
|
+
- **@pytorch-expert** - PyTorch training optimization
|
|
597
|
+
- **@tensorflow-keras-expert** - TensorFlow optimization
|
|
598
|
+
|
|
599
|
+
Process:
|
|
600
|
+
1. Query Context7 for framework-specific patterns
|
|
601
|
+
2. Analyze current training configuration
|
|
602
|
+
3. Identify optimization opportunities
|
|
603
|
+
4. Generate recommendations with impact estimates
|
|
604
|
+
5. Optionally apply automated optimizations
|
|
605
|
+
|
|
606
|
+
## Best Practices Applied
|
|
607
|
+
|
|
608
|
+
Based on Context7 documentation:
|
|
609
|
+
|
|
610
|
+
**Scikit-learn:**
|
|
611
|
+
1. **GridSearchCV** - Exhaustive hyperparameter search
|
|
612
|
+
2. **HalvingGridSearchCV** - Fast successive halving
|
|
613
|
+
3. **Pipelines** - Preprocessing + model in one
|
|
614
|
+
4. **Cross-validation** - StratifiedKFold for robust estimates
|
|
615
|
+
5. **Nested CV** - Complex estimator tuning
|
|
616
|
+
6. **VotingClassifier** - Ensemble optimization
|
|
617
|
+
|
|
618
|
+
**PyTorch:**
|
|
619
|
+
1. **Mixed Precision (AMP)** - 2-3x speedup
|
|
620
|
+
2. **Distributed Data Parallel (DDP)** - Multi-GPU scaling
|
|
621
|
+
3. **GradScaler** - Automatic gradient scaling
|
|
622
|
+
4. **Combined DDP + AMP** - Maximum performance
|
|
623
|
+
5. **Multiple Optimizers** - Complex training scenarios
|
|
624
|
+
|
|
625
|
+
## Related Commands
|
|
626
|
+
|
|
627
|
+
- `/ml:automl` - AutoML automated training
|
|
628
|
+
- `/ml:deploy` - Model deployment optimization
|
|
629
|
+
- `/perf:profile` - Training performance profiling
|
|
630
|
+
- `/gpu:optimize` - GPU utilization optimization
|
|
631
|
+
|
|
632
|
+
## Troubleshooting
|
|
633
|
+
|
|
634
|
+
### GridSearchCV Slow
|
|
635
|
+
- Use HalvingGridSearchCV instead
|
|
636
|
+
- Reduce parameter grid size
|
|
637
|
+
- Use RandomizedSearchCV for large spaces
|
|
638
|
+
- Enable n_jobs=-1 for parallelization
|
|
639
|
+
|
|
640
|
+
### AMP Causing NaN Loss
|
|
641
|
+
- Use GradScaler (handles gradient scaling)
|
|
642
|
+
- Check for operations not supporting FP16
|
|
643
|
+
- Reduce learning rate
|
|
644
|
+
- Use gradient clipping
|
|
645
|
+
|
|
646
|
+
### DDP Hanging
|
|
647
|
+
- Check NCCL backend configuration
|
|
648
|
+
- Verify MASTER_ADDR and MASTER_PORT
|
|
649
|
+
- Ensure all processes complete together
|
|
650
|
+
- Use timeout parameter
|
|
651
|
+
|
|
652
|
+
## Version History
|
|
653
|
+
|
|
654
|
+
- v2.0.0 - Initial Schema v2.0 release with Context7 integration
|
|
655
|
+
- Scikit-learn GridSearchCV and HalvingGridSearchCV patterns
|
|
656
|
+
- PyTorch DDP and mixed precision (AMP)
|
|
657
|
+
- Cross-validation strategies
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claudeautopm/plugin-ml",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Comprehensive Machine Learning plugin with 10 specialist agents: TensorFlow/Keras, PyTorch, RL, Scikit-learn, Neural Architecture, Gradient Boosting, Computer Vision, NLP Transformers, Time Series, and AutoML. Context7-verified patterns.",
|
|
5
|
+
"main": "plugin.json",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"No tests for plugin package\" && exit 0"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [
|
|
10
|
+
"claudeautopm",
|
|
11
|
+
"plugin",
|
|
12
|
+
"machine-learning",
|
|
13
|
+
"deep-learning",
|
|
14
|
+
"tensorflow",
|
|
15
|
+
"keras",
|
|
16
|
+
"pytorch",
|
|
17
|
+
"reinforcement-learning",
|
|
18
|
+
"gymnasium",
|
|
19
|
+
"stable-baselines3",
|
|
20
|
+
"scikit-learn",
|
|
21
|
+
"neural-networks",
|
|
22
|
+
"ml-ops",
|
|
23
|
+
"ai",
|
|
24
|
+
"context7"
|
|
25
|
+
],
|
|
26
|
+
"author": "ClaudeAutoPM Team",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/rafeekpro/ClaudeAutoPM.git",
|
|
31
|
+
"directory": "packages/plugin-ml"
|
|
32
|
+
},
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/rafeekpro/ClaudeAutoPM/issues"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://github.com/rafeekpro/ClaudeAutoPM/tree/main/packages/plugin-ml#readme",
|
|
37
|
+
"files": [
|
|
38
|
+
"agents/",
|
|
39
|
+
"plugin.json",
|
|
40
|
+
"README.md",
|
|
41
|
+
"LICENSE"
|
|
42
|
+
],
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"@claudeautopm/plugin-core": "^2.0.0"
|
|
45
|
+
},
|
|
46
|
+
"engines": {
|
|
47
|
+
"node": ">=14.0.0"
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
}
|
|
52
|
+
}
|