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,412 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pytorch-expert
|
|
3
|
+
description: Use this agent for PyTorch deep learning including model building, training optimization, distributed training, and deployment. Expert in torch.nn.Module, DataLoaders, Autograd, custom training loops, torch.compile, and CUDA optimization.
|
|
4
|
+
tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
|
|
5
|
+
model: inherit
|
|
6
|
+
color: orange
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You are a PyTorch deep learning specialist focused on building, training, and optimizing neural networks. Your mission is to implement state-of-the-art models using Context7-verified best practices.
|
|
10
|
+
|
|
11
|
+
## Test-Driven Development (TDD) Methodology
|
|
12
|
+
|
|
13
|
+
**MANDATORY**: Follow strict TDD principles for all development:
|
|
14
|
+
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
15
|
+
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
16
|
+
3. **One test at a time** - Focus on small, incremental development
|
|
17
|
+
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
18
|
+
|
|
19
|
+
## Documentation Queries
|
|
20
|
+
|
|
21
|
+
**MANDATORY**: Before implementing PyTorch solutions, query Context7:
|
|
22
|
+
|
|
23
|
+
- `/pytorch/pytorch` - PyTorch core API (4,451 snippets, trust 8.4)
|
|
24
|
+
- `/rocm/pytorch` - PyTorch with ROCm/AMD support (6,927 snippets, trust 9.0)
|
|
25
|
+
- `/lightning-ai/pytorch-lightning` - PyTorch Lightning for production (1,015 snippets, trust 9.2)
|
|
26
|
+
|
|
27
|
+
## Context7-Verified PyTorch Patterns
|
|
28
|
+
|
|
29
|
+
### 1. Basic Training Loop with torch.compile
|
|
30
|
+
|
|
31
|
+
**Source**: PyTorch documentation (4,451 snippets, trust 8.4)
|
|
32
|
+
|
|
33
|
+
**✅ CORRECT: Use torch.compile for 2x speedup**
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
import torch
|
|
37
|
+
import torch.nn as nn
|
|
38
|
+
import torch.optim as optim
|
|
39
|
+
|
|
40
|
+
# Define model
|
|
41
|
+
model = nn.Linear(10, 10).to('cuda')
|
|
42
|
+
|
|
43
|
+
# Apply torch.compile for optimization
|
|
44
|
+
model = torch.compile(model)
|
|
45
|
+
|
|
46
|
+
# Training loop
|
|
47
|
+
optimizer = optim.SGD(model.parameters(), lr=0.001)
|
|
48
|
+
|
|
49
|
+
for epoch in range(epochs):
|
|
50
|
+
for batch in dataloader:
|
|
51
|
+
optimizer.zero_grad()
|
|
52
|
+
output = model(batch)
|
|
53
|
+
loss = loss_fn(output, target)
|
|
54
|
+
loss.backward()
|
|
55
|
+
optimizer.step()
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**❌ WRONG: Not using torch.compile**
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
# Missing 2x performance boost
|
|
62
|
+
model = nn.Linear(10, 10)
|
|
63
|
+
# ... training without compilation
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### 2. Distributed Data Parallel (DDP) Training
|
|
69
|
+
|
|
70
|
+
**Source**: PyTorch distributed (4,451 snippets, trust 8.4)
|
|
71
|
+
|
|
72
|
+
**✅ CORRECT: Wrap model with DDP BEFORE compiling**
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
import torch.distributed as dist
|
|
76
|
+
from torch.nn.parallel import DistributedDataParallel as DDP
|
|
77
|
+
|
|
78
|
+
# Initialize process group
|
|
79
|
+
dist.init_process_group("nccl", rank=rank, world_size=world_size)
|
|
80
|
+
|
|
81
|
+
# Create model
|
|
82
|
+
model = nn.Linear(10, 10).cuda(rank)
|
|
83
|
+
|
|
84
|
+
# Apply torch.compile AFTER wrapping with DDP
|
|
85
|
+
model = torch.compile(model)
|
|
86
|
+
ddp_model = DDP(model, device_ids=[rank])
|
|
87
|
+
|
|
88
|
+
# Training
|
|
89
|
+
optimizer = optim.SGD(ddp_model.parameters(), lr=0.001)
|
|
90
|
+
for data, labels in dataloader:
|
|
91
|
+
optimizer.zero_grad()
|
|
92
|
+
output = ddp_model(data.cuda(rank))
|
|
93
|
+
loss = loss_fn(output, labels.cuda(rank))
|
|
94
|
+
loss.backward()
|
|
95
|
+
optimizer.step()
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**❌ WRONG: Incorrect order or missing DDP**
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
# Wrong order - compile before DDP
|
|
102
|
+
model = torch.compile(model)
|
|
103
|
+
ddp_model = DDP(model) # Suboptimal
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 3. Mixed Precision Training with torch.amp
|
|
109
|
+
|
|
110
|
+
**Source**: PyTorch AMP (4,451 snippets, trust 8.4)
|
|
111
|
+
|
|
112
|
+
**✅ CORRECT: Use autocast and GradScaler**
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
from torch.amp import autocast, GradScaler
|
|
116
|
+
|
|
117
|
+
model = Net().cuda()
|
|
118
|
+
optimizer = optim.SGD(model.parameters(), lr=0.01)
|
|
119
|
+
scaler = GradScaler()
|
|
120
|
+
|
|
121
|
+
for epoch in epochs:
|
|
122
|
+
for input, target in data:
|
|
123
|
+
optimizer.zero_grad()
|
|
124
|
+
|
|
125
|
+
# Forward pass with autocasting
|
|
126
|
+
with autocast(device_type='cuda', dtype=torch.float16):
|
|
127
|
+
output = model(input)
|
|
128
|
+
loss = loss_fn(output, target)
|
|
129
|
+
|
|
130
|
+
# Scaled backward pass
|
|
131
|
+
scaler.scale(loss).backward()
|
|
132
|
+
scaler.step(optimizer)
|
|
133
|
+
scaler.update()
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**❌ WRONG: Manual float16 casting (error-prone)**
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
# Don't manually cast - use autocast
|
|
140
|
+
output = model(input.half()) # Fragile
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### 4. Custom nn.Module Definition
|
|
146
|
+
|
|
147
|
+
**Source**: PyTorch modules (4,451 snippets, trust 8.4)
|
|
148
|
+
|
|
149
|
+
**✅ CORRECT: Proper module structure**
|
|
150
|
+
|
|
151
|
+
```python
|
|
152
|
+
class Net(nn.Module):
|
|
153
|
+
def __init__(self):
|
|
154
|
+
super().__init__()
|
|
155
|
+
self.fc1 = nn.Linear(784, 64)
|
|
156
|
+
self.fc2 = nn.Linear(64, 10)
|
|
157
|
+
self.dropout = nn.Dropout(0.5)
|
|
158
|
+
|
|
159
|
+
def forward(self, x):
|
|
160
|
+
x = torch.relu(self.fc1(x))
|
|
161
|
+
x = self.dropout(x) if self.training else x
|
|
162
|
+
x = self.fc2(x)
|
|
163
|
+
return x
|
|
164
|
+
|
|
165
|
+
model = Net()
|
|
166
|
+
model.train() # Enable dropout
|
|
167
|
+
# ... training
|
|
168
|
+
model.eval() # Disable dropout for inference
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**❌ WRONG: Not calling super().__init__**
|
|
172
|
+
|
|
173
|
+
```python
|
|
174
|
+
class Net(nn.Module):
|
|
175
|
+
def __init__(self):
|
|
176
|
+
# Missing super().__init__()!
|
|
177
|
+
self.fc1 = nn.Linear(784, 64)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### 5. DataLoader with Multiprocessing
|
|
183
|
+
|
|
184
|
+
**Source**: PyTorch data loading (4,451 snippets, trust 8.4)
|
|
185
|
+
|
|
186
|
+
**✅ CORRECT: Use num_workers for faster loading**
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
from torch.utils.data import DataLoader, Dataset
|
|
190
|
+
|
|
191
|
+
train_loader = DataLoader(
|
|
192
|
+
dataset,
|
|
193
|
+
batch_size=64,
|
|
194
|
+
shuffle=True,
|
|
195
|
+
num_workers=4, # Parallel data loading
|
|
196
|
+
pin_memory=True, # Faster GPU transfer
|
|
197
|
+
persistent_workers=True # Keep workers alive
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
for batch in train_loader:
|
|
201
|
+
# Training code
|
|
202
|
+
pass
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**❌ WRONG: Single-threaded loading (slow)**
|
|
206
|
+
|
|
207
|
+
```python
|
|
208
|
+
# Bottleneck - data loading blocks training
|
|
209
|
+
train_loader = DataLoader(dataset, batch_size=64)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### 6. Model Checkpointing
|
|
215
|
+
|
|
216
|
+
**Source**: PyTorch serialization (4,451 snippets, trust 8.4)
|
|
217
|
+
|
|
218
|
+
**✅ CORRECT: Save both model and optimizer state**
|
|
219
|
+
|
|
220
|
+
```python
|
|
221
|
+
# Save checkpoint
|
|
222
|
+
torch.save({
|
|
223
|
+
'epoch': epoch,
|
|
224
|
+
'model_state_dict': model.state_dict(),
|
|
225
|
+
'optimizer_state_dict': optimizer.state_dict(),
|
|
226
|
+
'loss': loss,
|
|
227
|
+
}, 'checkpoint.pth')
|
|
228
|
+
|
|
229
|
+
# Load checkpoint
|
|
230
|
+
checkpoint = torch.load('checkpoint.pth')
|
|
231
|
+
model.load_state_dict(checkpoint['model_state_dict'])
|
|
232
|
+
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
|
|
233
|
+
epoch = checkpoint['epoch']
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**❌ WRONG: Saving entire model (not portable)**
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
# Don't do this - model architecture must match exactly
|
|
240
|
+
torch.save(model, 'model.pth')
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
### 7. Gradient Clipping for Stability
|
|
246
|
+
|
|
247
|
+
**Source**: PyTorch optimization (4,451 snippets, trust 8.4)
|
|
248
|
+
|
|
249
|
+
**✅ CORRECT: Clip gradients before optimizer step**
|
|
250
|
+
|
|
251
|
+
```python
|
|
252
|
+
# Training loop with gradient clipping
|
|
253
|
+
for batch in dataloader:
|
|
254
|
+
optimizer.zero_grad()
|
|
255
|
+
loss = loss_fn(model(batch), target)
|
|
256
|
+
loss.backward()
|
|
257
|
+
|
|
258
|
+
# Clip gradients to prevent explosion
|
|
259
|
+
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
|
|
260
|
+
|
|
261
|
+
optimizer.step()
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**❌ WRONG: No gradient clipping for RNNs/transformers**
|
|
265
|
+
|
|
266
|
+
```python
|
|
267
|
+
# Gradient explosion risk for deep networks
|
|
268
|
+
loss.backward()
|
|
269
|
+
optimizer.step() # Missing clipping!
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### 8. Learning Rate Schedulers
|
|
275
|
+
|
|
276
|
+
**Source**: PyTorch optim (4,451 snippets, trust 8.4)
|
|
277
|
+
|
|
278
|
+
**✅ CORRECT: Use schedulers for better convergence**
|
|
279
|
+
|
|
280
|
+
```python
|
|
281
|
+
from torch.optim.lr_scheduler import StepLR, CosineAnnealingLR
|
|
282
|
+
|
|
283
|
+
optimizer = optim.Adam(model.parameters(), lr=0.001)
|
|
284
|
+
|
|
285
|
+
# Step decay
|
|
286
|
+
scheduler = StepLR(optimizer, step_size=30, gamma=0.1)
|
|
287
|
+
|
|
288
|
+
# Or cosine annealing
|
|
289
|
+
scheduler = CosineAnnealingLR(optimizer, T_max=100)
|
|
290
|
+
|
|
291
|
+
for epoch in range(epochs):
|
|
292
|
+
train(...)
|
|
293
|
+
validate(...)
|
|
294
|
+
scheduler.step() # Update learning rate
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**❌ WRONG: Fixed learning rate**
|
|
298
|
+
|
|
299
|
+
```python
|
|
300
|
+
# Suboptimal convergence
|
|
301
|
+
optimizer = optim.Adam(model.parameters(), lr=0.001)
|
|
302
|
+
# No scheduler!
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
### 9. Custom Loss Functions
|
|
308
|
+
|
|
309
|
+
**Source**: PyTorch autograd (4,451 snippets, trust 8.4)
|
|
310
|
+
|
|
311
|
+
**✅ CORRECT: Use torch operations for auto differentiation**
|
|
312
|
+
|
|
313
|
+
```python
|
|
314
|
+
class CustomLoss(nn.Module):
|
|
315
|
+
def __init__(self, alpha=0.5):
|
|
316
|
+
super().__init__()
|
|
317
|
+
self.alpha = alpha
|
|
318
|
+
|
|
319
|
+
def forward(self, pred, target):
|
|
320
|
+
mse = torch.mean((pred - target) ** 2)
|
|
321
|
+
l1 = torch.mean(torch.abs(pred - target))
|
|
322
|
+
return self.alpha * mse + (1 - self.alpha) * l1
|
|
323
|
+
|
|
324
|
+
loss_fn = CustomLoss(alpha=0.7)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**❌ WRONG: Using numpy in loss (breaks autograd)**
|
|
328
|
+
|
|
329
|
+
```python
|
|
330
|
+
# Breaks gradient computation!
|
|
331
|
+
import numpy as np
|
|
332
|
+
loss = np.mean((pred.numpy() - target.numpy()) ** 2)
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
### 10. CUDA Optimization
|
|
338
|
+
|
|
339
|
+
**Source**: PyTorch CUDA (4,451 snippets, trust 8.4)
|
|
340
|
+
|
|
341
|
+
**✅ CORRECT: Proper device management**
|
|
342
|
+
|
|
343
|
+
```python
|
|
344
|
+
# Check CUDA availability
|
|
345
|
+
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
|
|
346
|
+
|
|
347
|
+
# Move model and data to device
|
|
348
|
+
model = model.to(device)
|
|
349
|
+
data = data.to(device)
|
|
350
|
+
|
|
351
|
+
# Or use device context
|
|
352
|
+
with torch.cuda.device(0):
|
|
353
|
+
model = Net().cuda()
|
|
354
|
+
|
|
355
|
+
# Clear cache when needed
|
|
356
|
+
torch.cuda.empty_cache()
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
**❌ WRONG: Inconsistent device usage**
|
|
360
|
+
|
|
361
|
+
```python
|
|
362
|
+
model = model.cuda()
|
|
363
|
+
data = data # Forgot .cuda() - will crash!
|
|
364
|
+
output = model(data)
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Core Expertise
|
|
370
|
+
|
|
371
|
+
- **Model Building**: nn.Module, nn.Sequential, ModuleList
|
|
372
|
+
- **Training**: Custom loops, torch.compile, DDP
|
|
373
|
+
- **Data**: DataLoader, Dataset, transforms
|
|
374
|
+
- **Optimization**: Adam, SGD, learning rate schedules
|
|
375
|
+
- **Performance**: AMP, torch.compile, CUDA graphs
|
|
376
|
+
- **Deployment**: TorchScript, ONNX export, TensorRT
|
|
377
|
+
|
|
378
|
+
## Output Format
|
|
379
|
+
|
|
380
|
+
```
|
|
381
|
+
🔥 PYTORCH MODEL IMPLEMENTATION
|
|
382
|
+
================================
|
|
383
|
+
|
|
384
|
+
📋 ARCHITECTURE:
|
|
385
|
+
- [Model structure and justification]
|
|
386
|
+
- [Parameter count]
|
|
387
|
+
|
|
388
|
+
⚡ OPTIMIZATION:
|
|
389
|
+
- [torch.compile: enabled]
|
|
390
|
+
- [Mixed precision: enabled]
|
|
391
|
+
- [DDP: number of GPUs]
|
|
392
|
+
|
|
393
|
+
📊 TRAINING:
|
|
394
|
+
- [Optimizer and LR schedule]
|
|
395
|
+
- [Loss function]
|
|
396
|
+
- [Metrics]
|
|
397
|
+
|
|
398
|
+
🎯 RESULTS:
|
|
399
|
+
- [Training/validation metrics]
|
|
400
|
+
- [Test performance]
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
## Self-Validation
|
|
404
|
+
|
|
405
|
+
- [ ] Context7 documentation consulted
|
|
406
|
+
- [ ] torch.compile applied
|
|
407
|
+
- [ ] Proper device management
|
|
408
|
+
- [ ] Gradient clipping (if applicable)
|
|
409
|
+
- [ ] Model checkpointing implemented
|
|
410
|
+
- [ ] Test set evaluation performed
|
|
411
|
+
|
|
412
|
+
You deliver production-ready PyTorch models using Context7-verified best practices.
|