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,425 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
OpenAI Chat Example - Context7 Best Practices
|
|
4
|
+
|
|
5
|
+
Demonstrates OpenAI chat patterns from Context7:
|
|
6
|
+
- AsyncOpenAI client for non-blocking operations
|
|
7
|
+
- Streaming responses with async for
|
|
8
|
+
- Function calling and tool usage
|
|
9
|
+
- Error handling with exponential backoff
|
|
10
|
+
- Response caching for efficiency
|
|
11
|
+
|
|
12
|
+
Source: /openai/openai-python (277 snippets, trust 9.1)
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import asyncio
|
|
16
|
+
import os
|
|
17
|
+
from typing import List, Dict, Any, Optional
|
|
18
|
+
from openai import AsyncOpenAI
|
|
19
|
+
from datetime import datetime
|
|
20
|
+
import logging
|
|
21
|
+
import json
|
|
22
|
+
from cachetools import TTLCache
|
|
23
|
+
|
|
24
|
+
logging.basicConfig(level=logging.INFO)
|
|
25
|
+
logger = logging.getLogger(__name__)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# ===================================================================
|
|
29
|
+
# CONTEXT7 PATTERN: AsyncOpenAI Client Configuration
|
|
30
|
+
# ===================================================================
|
|
31
|
+
|
|
32
|
+
class OpenAIConfig:
|
|
33
|
+
"""OpenAI client configuration with Context7 best practices"""
|
|
34
|
+
def __init__(self):
|
|
35
|
+
self.api_key = os.getenv("OPENAI_API_KEY")
|
|
36
|
+
if not self.api_key:
|
|
37
|
+
raise ValueError("OPENAI_API_KEY environment variable not set")
|
|
38
|
+
|
|
39
|
+
# Context7 recommended configuration
|
|
40
|
+
self.client = AsyncOpenAI(
|
|
41
|
+
api_key=self.api_key,
|
|
42
|
+
max_retries=3, # Retry failed requests
|
|
43
|
+
timeout=60.0 # Reasonable timeout
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
# TTL cache for responses (5 minutes)
|
|
47
|
+
self.cache = TTLCache(maxsize=100, ttl=300)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# ===================================================================
|
|
51
|
+
# CONTEXT7 PATTERN: Chat Completions with Streaming
|
|
52
|
+
# ===================================================================
|
|
53
|
+
|
|
54
|
+
async def basic_chat_completion(client: AsyncOpenAI) -> str:
|
|
55
|
+
"""
|
|
56
|
+
Basic chat completion with Context7 best practices.
|
|
57
|
+
|
|
58
|
+
Context7 Pattern: AsyncOpenAI with proper message formatting
|
|
59
|
+
"""
|
|
60
|
+
logger.info("Running basic chat completion...")
|
|
61
|
+
|
|
62
|
+
messages = [
|
|
63
|
+
{"role": "system", "content": "You are a helpful AI assistant."},
|
|
64
|
+
{"role": "user", "content": "Explain what makes Python a good programming language in 3 bullet points."}
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
response = await client.chat.completions.create(
|
|
68
|
+
model="gpt-4",
|
|
69
|
+
messages=messages,
|
|
70
|
+
temperature=0.7,
|
|
71
|
+
max_tokens=200
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
result = response.choices[0].message.content
|
|
75
|
+
logger.info(f"✓ Basic completion: {result[:50]}...")
|
|
76
|
+
|
|
77
|
+
return result
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
async def streaming_chat_completion(client: AsyncOpenAI) -> str:
|
|
81
|
+
"""
|
|
82
|
+
Streaming chat completion with Context7 best practices.
|
|
83
|
+
|
|
84
|
+
Context7 Pattern: async for with stream=True
|
|
85
|
+
"""
|
|
86
|
+
logger.info("Running streaming chat completion...")
|
|
87
|
+
|
|
88
|
+
messages = [
|
|
89
|
+
{"role": "system", "content": "You are a creative writing assistant."},
|
|
90
|
+
{"role": "user", "content": "Write a short haiku about artificial intelligence."}
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
# Context7 pattern: Streaming with async for
|
|
94
|
+
full_response = ""
|
|
95
|
+
|
|
96
|
+
async with client.chat.completions.stream(
|
|
97
|
+
model="gpt-4",
|
|
98
|
+
messages=messages,
|
|
99
|
+
temperature=0.9
|
|
100
|
+
) as stream:
|
|
101
|
+
async for event in stream:
|
|
102
|
+
if event.type == "content.delta":
|
|
103
|
+
chunk = event.content
|
|
104
|
+
if chunk:
|
|
105
|
+
print(chunk, end="", flush=True)
|
|
106
|
+
full_response += chunk
|
|
107
|
+
|
|
108
|
+
print() # New line after streaming
|
|
109
|
+
logger.info("✓ Streaming complete")
|
|
110
|
+
|
|
111
|
+
return full_response
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
# ===================================================================
|
|
115
|
+
# CONTEXT7 PATTERN: Function Calling
|
|
116
|
+
# ===================================================================
|
|
117
|
+
|
|
118
|
+
# Example functions that the model can call
|
|
119
|
+
async def get_current_weather(location: str, unit: str = "celsius") -> str:
|
|
120
|
+
"""Get current weather for a location"""
|
|
121
|
+
# Simulate API call
|
|
122
|
+
await asyncio.sleep(0.1)
|
|
123
|
+
logger.info(f"Fetching weather for {location}")
|
|
124
|
+
return json.dumps({
|
|
125
|
+
"location": location,
|
|
126
|
+
"temperature": 22,
|
|
127
|
+
"unit": unit,
|
|
128
|
+
"condition": "sunny"
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
async def search_web(query: str) -> str:
|
|
133
|
+
"""Search the web for information"""
|
|
134
|
+
# Simulate search
|
|
135
|
+
await asyncio.sleep(0.2)
|
|
136
|
+
logger.info(f"Searching for: {query}")
|
|
137
|
+
return json.dumps({
|
|
138
|
+
"query": query,
|
|
139
|
+
"results": [
|
|
140
|
+
{"title": "Result 1", "snippet": "Information about " + query},
|
|
141
|
+
{"title": "Result 2", "snippet": "More details on " + query}
|
|
142
|
+
]
|
|
143
|
+
})
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
async function_calling_example(client: AsyncOpenAI) -> str:
|
|
147
|
+
"""
|
|
148
|
+
Function calling with Context7 best practices.
|
|
149
|
+
|
|
150
|
+
Context7 Pattern: Tool usage with proper function definitions
|
|
151
|
+
"""
|
|
152
|
+
logger.info("Running function calling example...")
|
|
153
|
+
|
|
154
|
+
# Context7 pattern: Define tools/functions
|
|
155
|
+
tools = [
|
|
156
|
+
{
|
|
157
|
+
"type": "function",
|
|
158
|
+
"function": {
|
|
159
|
+
"name": "get_current_weather",
|
|
160
|
+
"description": "Get the current weather in a given location",
|
|
161
|
+
"parameters": {
|
|
162
|
+
"type": "object",
|
|
163
|
+
"properties": {
|
|
164
|
+
"location": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"description": "The city and state, e.g. San Francisco, CA"
|
|
167
|
+
},
|
|
168
|
+
"unit": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"enum": ["celsius", "fahrenheit"]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"required": ["location"]
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"type": "function",
|
|
179
|
+
"function": {
|
|
180
|
+
"name": "search_web",
|
|
181
|
+
"description": "Search the web for information",
|
|
182
|
+
"parameters": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"properties": {
|
|
185
|
+
"query": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"description": "The search query"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"required": ["query"]
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
|
|
196
|
+
messages = [
|
|
197
|
+
{"role": "system", "content": "You are a helpful assistant with access to tools."},
|
|
198
|
+
{"role": "user", "content": "What's the weather like in Tokyo and can you search for information about Japanese cuisine?"}
|
|
199
|
+
]
|
|
200
|
+
|
|
201
|
+
# Initial request
|
|
202
|
+
response = await client.chat.completions.create(
|
|
203
|
+
model="gpt-4",
|
|
204
|
+
messages=messages,
|
|
205
|
+
tools=tools,
|
|
206
|
+
tool_choice="auto"
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
response_message = response.choices[0].message
|
|
210
|
+
tool_calls = response_message.tool_calls
|
|
211
|
+
|
|
212
|
+
# If model wants to call functions
|
|
213
|
+
if tool_calls:
|
|
214
|
+
logger.info(f"Model requested {len(tool_calls)} function calls")
|
|
215
|
+
|
|
216
|
+
# Add assistant's response to messages
|
|
217
|
+
messages.append(response_message)
|
|
218
|
+
|
|
219
|
+
# Execute function calls
|
|
220
|
+
for tool_call in tool_calls:
|
|
221
|
+
function_name = tool_call.function.name
|
|
222
|
+
function_args = json.loads(tool_call.function.arguments)
|
|
223
|
+
|
|
224
|
+
logger.info(f"Calling function: {function_name} with args: {function_args}")
|
|
225
|
+
|
|
226
|
+
# Call the appropriate function
|
|
227
|
+
if function_name == "get_current_weather":
|
|
228
|
+
function_response = await get_current_weather(**function_args)
|
|
229
|
+
elif function_name == "search_web":
|
|
230
|
+
function_response = await search_web(**function_args)
|
|
231
|
+
else:
|
|
232
|
+
function_response = json.dumps({"error": "Unknown function"})
|
|
233
|
+
|
|
234
|
+
# Add function response to messages
|
|
235
|
+
messages.append({
|
|
236
|
+
"tool_call_id": tool_call.id,
|
|
237
|
+
"role": "tool",
|
|
238
|
+
"name": function_name,
|
|
239
|
+
"content": function_response
|
|
240
|
+
})
|
|
241
|
+
|
|
242
|
+
# Get final response
|
|
243
|
+
final_response = await client.chat.completions.create(
|
|
244
|
+
model="gpt-4",
|
|
245
|
+
messages=messages
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
result = final_response.choices[0].message.content
|
|
249
|
+
logger.info("✓ Function calling complete")
|
|
250
|
+
return result
|
|
251
|
+
|
|
252
|
+
return response_message.content
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
# ===================================================================
|
|
256
|
+
# CONTEXT7 PATTERN: Error Handling with Retry
|
|
257
|
+
# ===================================================================
|
|
258
|
+
|
|
259
|
+
async def completion_with_retry(
|
|
260
|
+
client: AsyncOpenAI,
|
|
261
|
+
messages: List[Dict[str, str]],
|
|
262
|
+
max_retries: int = 3
|
|
263
|
+
) -> Optional[str]:
|
|
264
|
+
"""
|
|
265
|
+
Chat completion with exponential backoff retry.
|
|
266
|
+
|
|
267
|
+
Context7 Pattern: Exponential backoff for failed requests
|
|
268
|
+
"""
|
|
269
|
+
for attempt in range(max_retries):
|
|
270
|
+
try:
|
|
271
|
+
response = await client.chat.completions.create(
|
|
272
|
+
model="gpt-4",
|
|
273
|
+
messages=messages,
|
|
274
|
+
temperature=0.7
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
return response.choices[0].message.content
|
|
278
|
+
|
|
279
|
+
except Exception as e:
|
|
280
|
+
if attempt == max_retries - 1:
|
|
281
|
+
logger.error(f"Final attempt failed: {e}")
|
|
282
|
+
return None
|
|
283
|
+
|
|
284
|
+
# Exponential backoff
|
|
285
|
+
delay = 2 ** attempt
|
|
286
|
+
logger.warning(f"Attempt {attempt + 1} failed: {e}. Retrying in {delay}s")
|
|
287
|
+
await asyncio.sleep(delay)
|
|
288
|
+
|
|
289
|
+
return None
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
# ===================================================================
|
|
293
|
+
# CONTEXT7 PATTERN: Response Caching
|
|
294
|
+
# ===================================================================
|
|
295
|
+
|
|
296
|
+
async def cached_completion(
|
|
297
|
+
client: AsyncOpenAI,
|
|
298
|
+
cache: TTLCache,
|
|
299
|
+
prompt: str
|
|
300
|
+
) -> str:
|
|
301
|
+
"""
|
|
302
|
+
Cached chat completion for efficiency.
|
|
303
|
+
|
|
304
|
+
Context7 Pattern: TTL cache for repeated queries
|
|
305
|
+
"""
|
|
306
|
+
# Check cache
|
|
307
|
+
if prompt in cache:
|
|
308
|
+
logger.info("Cache hit!")
|
|
309
|
+
return cache[prompt]
|
|
310
|
+
|
|
311
|
+
# Call API
|
|
312
|
+
messages = [{"role": "user", "content": prompt}]
|
|
313
|
+
|
|
314
|
+
response = await client.chat.completions.create(
|
|
315
|
+
model="gpt-4",
|
|
316
|
+
messages=messages,
|
|
317
|
+
temperature=0.1 # Low temperature for consistent results
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
result = response.choices[0].message.content
|
|
321
|
+
|
|
322
|
+
# Store in cache
|
|
323
|
+
cache[prompt] = result
|
|
324
|
+
logger.info("Cached new response")
|
|
325
|
+
|
|
326
|
+
return result
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
# ===================================================================
|
|
330
|
+
# MAIN DEMONSTRATION
|
|
331
|
+
# ===================================================================
|
|
332
|
+
|
|
333
|
+
async def main():
|
|
334
|
+
"""Run all Context7 pattern demonstrations"""
|
|
335
|
+
print("\n" + "=" * 60)
|
|
336
|
+
print("OpenAI Chat Example - Context7 Best Practices")
|
|
337
|
+
print("=" * 60 + "\n")
|
|
338
|
+
|
|
339
|
+
try:
|
|
340
|
+
# Initialize config
|
|
341
|
+
config = OpenAIConfig()
|
|
342
|
+
client = config.client
|
|
343
|
+
|
|
344
|
+
# 1. Basic chat completion
|
|
345
|
+
print("\n1. Basic Chat Completion")
|
|
346
|
+
print("-" * 60)
|
|
347
|
+
result = await basic_chat_completion(client)
|
|
348
|
+
print(f"Response: {result}\n")
|
|
349
|
+
|
|
350
|
+
# 2. Streaming chat completion
|
|
351
|
+
print("\n2. Streaming Chat Completion")
|
|
352
|
+
print("-" * 60)
|
|
353
|
+
print("Haiku: ", end="")
|
|
354
|
+
haiku = await streaming_chat_completion(client)
|
|
355
|
+
print()
|
|
356
|
+
|
|
357
|
+
# 3. Function calling
|
|
358
|
+
print("\n3. Function Calling with Tools")
|
|
359
|
+
print("-" * 60)
|
|
360
|
+
result = await function_calling_example(client)
|
|
361
|
+
print(f"Response: {result}\n")
|
|
362
|
+
|
|
363
|
+
# 4. Error handling with retry
|
|
364
|
+
print("\n4. Completion with Retry")
|
|
365
|
+
print("-" * 60)
|
|
366
|
+
messages = [{"role": "user", "content": "What is 2+2?"}]
|
|
367
|
+
result = await completion_with_retry(client, messages)
|
|
368
|
+
print(f"Response: {result}\n")
|
|
369
|
+
|
|
370
|
+
# 5. Response caching
|
|
371
|
+
print("\n5. Response Caching")
|
|
372
|
+
print("-" * 60)
|
|
373
|
+
prompt = "What is the capital of France?"
|
|
374
|
+
|
|
375
|
+
# First call (cache miss)
|
|
376
|
+
result1 = await cached_completion(client, config.cache, prompt)
|
|
377
|
+
print(f"First call: {result1}")
|
|
378
|
+
|
|
379
|
+
# Second call (cache hit)
|
|
380
|
+
result2 = await cached_completion(client, config.cache, prompt)
|
|
381
|
+
print(f"Second call (cached): {result2}\n")
|
|
382
|
+
|
|
383
|
+
# Summary
|
|
384
|
+
print("\n" + "=" * 60)
|
|
385
|
+
print("ALL EXAMPLES COMPLETED SUCCESSFULLY")
|
|
386
|
+
print("=" * 60)
|
|
387
|
+
print("\nContext7 Patterns Demonstrated:")
|
|
388
|
+
print("1. ✅ AsyncOpenAI for non-blocking operations")
|
|
389
|
+
print("2. ✅ Streaming with async for")
|
|
390
|
+
print("3. ✅ Function calling with tools")
|
|
391
|
+
print("4. ✅ Exponential backoff retry logic")
|
|
392
|
+
print("5. ✅ TTL caching for efficiency")
|
|
393
|
+
print("\nSource: /openai/openai-python (277 snippets, trust 9.1)")
|
|
394
|
+
|
|
395
|
+
except ValueError as e:
|
|
396
|
+
logger.error(f"Configuration error: {e}")
|
|
397
|
+
print(f"\n❌ Error: {e}")
|
|
398
|
+
print("\nPlease set OPENAI_API_KEY environment variable:")
|
|
399
|
+
print("export OPENAI_API_KEY='your-api-key-here'")
|
|
400
|
+
|
|
401
|
+
except Exception as e:
|
|
402
|
+
logger.error(f"Unexpected error: {e}")
|
|
403
|
+
print(f"\n❌ Unexpected error: {e}")
|
|
404
|
+
|
|
405
|
+
finally:
|
|
406
|
+
# Cleanup
|
|
407
|
+
await client.close()
|
|
408
|
+
logger.info("Client closed")
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
if __name__ == "__main__":
|
|
412
|
+
print("OpenAI Chat Example - Context7 Best Practices")
|
|
413
|
+
print("=" * 60)
|
|
414
|
+
print("")
|
|
415
|
+
print("This example demonstrates Context7-verified patterns for:")
|
|
416
|
+
print("- AsyncOpenAI client configuration")
|
|
417
|
+
print("- Streaming chat completions")
|
|
418
|
+
print("- Function calling and tool usage")
|
|
419
|
+
print("- Error handling with exponential backoff")
|
|
420
|
+
print("- Response caching for efficiency")
|
|
421
|
+
print("")
|
|
422
|
+
print("Source: /openai/openai-python (277 snippets, trust 9.1)")
|
|
423
|
+
print("")
|
|
424
|
+
|
|
425
|
+
asyncio.run(main())
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# @claudeautopm/plugin-cloud
|
|
2
|
+
|
|
3
|
+
> **Complete Cloud Infrastructure Plugin for ClaudeAutoPM Framework**
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@claudeautopm/plugin-cloud)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## 📋 Overview
|
|
9
|
+
|
|
10
|
+
`@claudeautopm/plugin-cloud` provides comprehensive cloud infrastructure capabilities for the ClaudeAutoPM framework. This plugin includes agents for AWS, Azure, GCP, Kubernetes orchestration, Terraform infrastructure as code, AI API integrations, cloud deployment commands, infrastructure rules, and example scripts.
|
|
11
|
+
|
|
12
|
+
### Package Information
|
|
13
|
+
|
|
14
|
+
- **Package Name:** `@claudeautopm/plugin-cloud`
|
|
15
|
+
- **Version:** 2.0.0
|
|
16
|
+
- **Schema Version:** 2.0
|
|
17
|
+
- **Category:** Cloud Infrastructure
|
|
18
|
+
- **Size:** ~15 KB (gzipped)
|
|
19
|
+
- **Total Resources:** 18 (8 agents + 4 commands + 1 rule + 5 scripts)
|
|
20
|
+
|
|
21
|
+
## 📦 Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Install the plugin package
|
|
25
|
+
npm install -g @claudeautopm/plugin-cloud
|
|
26
|
+
|
|
27
|
+
# Install plugin agents to your project
|
|
28
|
+
autopm plugin install cloud
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 🎯 What's Included
|
|
32
|
+
|
|
33
|
+
### Cloud Architecture Agents (8 agents)
|
|
34
|
+
|
|
35
|
+
#### AWS
|
|
36
|
+
- **aws-cloud-architect** - AWS cloud architecture and infrastructure design patterns
|
|
37
|
+
- Tags: aws, cloud, architecture, ec2, s3, vpc
|
|
38
|
+
- Context7: AWS documentation, Terraform AWS provider
|
|
39
|
+
- MCP: aws, terraform
|
|
40
|
+
|
|
41
|
+
### Azure
|
|
42
|
+
- **azure-cloud-architect** - Azure cloud architecture and design patterns
|
|
43
|
+
- Virtual Networks, NSGs, Application Gateways
|
|
44
|
+
- VMs, App Services, Container Instances
|
|
45
|
+
- Storage accounts, Azure SQL, Cosmos DB
|
|
46
|
+
|
|
47
|
+
### Google Cloud Platform
|
|
48
|
+
- **gcp-cloud-architect** - GCP architecture and design
|
|
49
|
+
- VPCs, Cloud NAT, Load Balancers
|
|
50
|
+
- Compute Engine, GKE, Cloud Run
|
|
51
|
+
- Cloud Storage, Cloud SQL, Firestore
|
|
52
|
+
|
|
53
|
+
- **gcp-cloud-functions-engineer** - Google Cloud Functions development
|
|
54
|
+
- Function architecture and triggers
|
|
55
|
+
- Event-driven design patterns
|
|
56
|
+
- Integration with GCP services
|
|
57
|
+
|
|
58
|
+
### AI & APIs
|
|
59
|
+
- **gemini-api-expert** - Google Gemini API integration
|
|
60
|
+
- Gemini Pro and Pro Vision integration
|
|
61
|
+
- Prompt engineering for Gemini models
|
|
62
|
+
- Multi-modal capabilities
|
|
63
|
+
|
|
64
|
+
- **openai-python-expert** - OpenAI API with Python
|
|
65
|
+
- GPT-4, GPT-3.5 integration
|
|
66
|
+
- Assistant API, Embeddings, Fine-tuning
|
|
67
|
+
- Best practices for production use
|
|
68
|
+
|
|
69
|
+
### Infrastructure & Orchestration
|
|
70
|
+
- **kubernetes-orchestrator** - Kubernetes orchestration
|
|
71
|
+
- Cluster design and architecture
|
|
72
|
+
- Deployment strategies, service mesh
|
|
73
|
+
- Monitoring, logging, security
|
|
74
|
+
|
|
75
|
+
- **terraform-infrastructure-expert** - Infrastructure as Code
|
|
76
|
+
- Multi-cloud Terraform patterns
|
|
77
|
+
- Module design, state management
|
|
78
|
+
- CI/CD integration
|
|
79
|
+
|
|
80
|
+
## 💡 Usage
|
|
81
|
+
|
|
82
|
+
### In Claude Code
|
|
83
|
+
|
|
84
|
+
After installation, agents are available in your project:
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
<!-- CLAUDE.md -->
|
|
88
|
+
## Active Team Agents
|
|
89
|
+
|
|
90
|
+
<!-- Load cloud agents -->
|
|
91
|
+
- @include .claude/agents/cloud/aws-cloud-architect.md
|
|
92
|
+
- @include .claude/agents/cloud/terraform-infrastructure-expert.md
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Or use `autopm team load` to automatically include agents:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Load cloud-focused team
|
|
99
|
+
autopm team load cloud
|
|
100
|
+
|
|
101
|
+
# Or include cloud in fullstack team
|
|
102
|
+
autopm team load fullstack
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Direct Invocation
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Invoke agent directly from CLI
|
|
109
|
+
autopm agent invoke aws-cloud-architect "Design VPC for microservices"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## 📋 Agent Capabilities
|
|
113
|
+
|
|
114
|
+
### Architecture Design
|
|
115
|
+
- Cloud-native application architecture
|
|
116
|
+
- Microservices patterns
|
|
117
|
+
- Serverless architectures
|
|
118
|
+
- Hybrid cloud strategies
|
|
119
|
+
|
|
120
|
+
### Infrastructure as Code
|
|
121
|
+
- Terraform modules and best practices
|
|
122
|
+
- CloudFormation templates
|
|
123
|
+
- Azure Resource Manager templates
|
|
124
|
+
- Google Cloud Deployment Manager
|
|
125
|
+
|
|
126
|
+
### Security & Compliance
|
|
127
|
+
- IAM policies and least privilege
|
|
128
|
+
- Network security (VPCs, NSGs, firewalls)
|
|
129
|
+
- Encryption at rest and in transit
|
|
130
|
+
- Compliance frameworks (SOC2, HIPAA, GDPR)
|
|
131
|
+
|
|
132
|
+
### Cost Optimization
|
|
133
|
+
- Right-sizing recommendations
|
|
134
|
+
- Reserved instances and savings plans
|
|
135
|
+
- Auto-scaling strategies
|
|
136
|
+
- Resource tagging and allocation
|
|
137
|
+
|
|
138
|
+
## 🔌 MCP Servers
|
|
139
|
+
|
|
140
|
+
This plugin works with the following MCP servers for enhanced capabilities:
|
|
141
|
+
|
|
142
|
+
- **aws** - AWS service documentation and examples
|
|
143
|
+
- **azure-cli** - Azure CLI commands and patterns
|
|
144
|
+
- **terraform** - Terraform provider documentation
|
|
145
|
+
|
|
146
|
+
Enable MCP servers:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
autopm mcp enable aws
|
|
150
|
+
autopm mcp enable azure-cli
|
|
151
|
+
autopm mcp enable terraform
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 🚀 Examples
|
|
155
|
+
|
|
156
|
+
### AWS Architecture
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
@aws-cloud-architect
|
|
160
|
+
|
|
161
|
+
I need to design a highly available web application on AWS.
|
|
162
|
+
|
|
163
|
+
Requirements:
|
|
164
|
+
- Multi-AZ deployment
|
|
165
|
+
- Auto-scaling
|
|
166
|
+
- Load balancing
|
|
167
|
+
- RDS for database
|
|
168
|
+
- S3 for static assets
|
|
169
|
+
- CloudFront CDN
|
|
170
|
+
|
|
171
|
+
Please provide:
|
|
172
|
+
1. VPC architecture diagram
|
|
173
|
+
2. Security groups configuration
|
|
174
|
+
3. Auto-scaling policies
|
|
175
|
+
4. Cost estimation
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Terraform IaC
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
@terraform-infrastructure-expert
|
|
182
|
+
|
|
183
|
+
Create Terraform modules for:
|
|
184
|
+
- VPC with public/private subnets
|
|
185
|
+
- Application Load Balancer
|
|
186
|
+
- ECS Fargate cluster
|
|
187
|
+
- RDS PostgreSQL instance
|
|
188
|
+
|
|
189
|
+
Requirements:
|
|
190
|
+
- Multi-environment support (dev, staging, prod)
|
|
191
|
+
- Remote state in S3
|
|
192
|
+
- Module reusability
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Kubernetes Deployment
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
@kubernetes-orchestrator
|
|
199
|
+
|
|
200
|
+
Design Kubernetes deployment for microservices:
|
|
201
|
+
- 5 microservices (API, Auth, Orders, Payments, Notifications)
|
|
202
|
+
- Service mesh with Istio
|
|
203
|
+
- Monitoring with Prometheus/Grafana
|
|
204
|
+
- Ingress with cert-manager
|
|
205
|
+
|
|
206
|
+
Include:
|
|
207
|
+
- Deployment YAMLs
|
|
208
|
+
- Service definitions
|
|
209
|
+
- Ingress configuration
|
|
210
|
+
- HPA policies
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## 🔧 Configuration
|
|
214
|
+
|
|
215
|
+
### Environment Variables
|
|
216
|
+
|
|
217
|
+
Some agents benefit from environment variables:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# AWS credentials (optional, for enhanced suggestions)
|
|
221
|
+
export AWS_PROFILE=your-profile
|
|
222
|
+
export AWS_REGION=us-east-1
|
|
223
|
+
|
|
224
|
+
# Azure credentials
|
|
225
|
+
export AZURE_SUBSCRIPTION_ID=your-subscription-id
|
|
226
|
+
|
|
227
|
+
# GCP credentials
|
|
228
|
+
export GOOGLE_CLOUD_PROJECT=your-project-id
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Agent Customization
|
|
232
|
+
|
|
233
|
+
You can customize agent behavior in `.claude/config.yaml`:
|
|
234
|
+
|
|
235
|
+
```yaml
|
|
236
|
+
plugins:
|
|
237
|
+
cloud:
|
|
238
|
+
aws:
|
|
239
|
+
default_region: us-west-2
|
|
240
|
+
prefer_fargate: true
|
|
241
|
+
azure:
|
|
242
|
+
default_location: eastus
|
|
243
|
+
gcp:
|
|
244
|
+
default_region: us-central1
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## 📖 Documentation
|
|
248
|
+
|
|
249
|
+
- [AWS Cloud Architect Guide](./agents/aws-cloud-architect.md)
|
|
250
|
+
- [Azure Cloud Architect Guide](./agents/azure-cloud-architect.md)
|
|
251
|
+
- [GCP Cloud Architect Guide](./agents/gcp-cloud-architect.md)
|
|
252
|
+
- [Terraform Expert Guide](./agents/terraform-infrastructure-expert.md)
|
|
253
|
+
- [Kubernetes Orchestrator Guide](./agents/kubernetes-orchestrator.md)
|
|
254
|
+
|
|
255
|
+
## 🤝 Contributing
|
|
256
|
+
|
|
257
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
|
|
258
|
+
|
|
259
|
+
## 📄 License
|
|
260
|
+
|
|
261
|
+
MIT © ClaudeAutoPM Team
|
|
262
|
+
|
|
263
|
+
## 🔗 Links
|
|
264
|
+
|
|
265
|
+
- [ClaudeAutoPM](https://github.com/rafeekpro/ClaudeAutoPM)
|
|
266
|
+
- [Plugin Documentation](https://github.com/rafeekpro/ClaudeAutoPM/blob/main/docs/PLUGIN-IMPLEMENTATION-PLAN.md)
|
|
267
|
+
- [npm Package](https://www.npmjs.com/package/@claudeautopm/plugin-cloud)
|
|
268
|
+
- [Issues](https://github.com/rafeekpro/ClaudeAutoPM/issues)
|