claude-autopm 2.8.2 → 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 -637
- 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,339 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Validation Utility Library
|
|
3
|
+
# Provides input validation and sanity checks
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Load dependencies
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
+
source "${SCRIPT_DIR}/logging-utils.sh"
|
|
10
|
+
|
|
11
|
+
# Validate that required commands are available
|
|
12
|
+
validate_required_commands() {
|
|
13
|
+
local commands=("$@")
|
|
14
|
+
|
|
15
|
+
log_function_entry "validate_required_commands" "${commands[@]:-}"
|
|
16
|
+
|
|
17
|
+
local missing_commands=()
|
|
18
|
+
|
|
19
|
+
for cmd in "${commands[@]}"; do
|
|
20
|
+
if ! command -v "$cmd" >/dev/null 2>&1; then
|
|
21
|
+
missing_commands+=("$cmd")
|
|
22
|
+
fi
|
|
23
|
+
done
|
|
24
|
+
|
|
25
|
+
if [[ ${#missing_commands[@]} -gt 0 ]]; then
|
|
26
|
+
log_error "Missing required commands: ${missing_commands[*]}"
|
|
27
|
+
echo "❌ Missing required commands:"
|
|
28
|
+
printf " - %s\n" "${missing_commands[@]}"
|
|
29
|
+
echo ""
|
|
30
|
+
echo "Please install the missing commands and try again."
|
|
31
|
+
return 1
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
log_debug "All required commands are available"
|
|
35
|
+
log_function_exit "validate_required_commands"
|
|
36
|
+
return 0
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
# Validate issue number format
|
|
40
|
+
validate_issue_number() {
|
|
41
|
+
local issue_number="$1"
|
|
42
|
+
|
|
43
|
+
log_function_entry "validate_issue_number" "$issue_number"
|
|
44
|
+
|
|
45
|
+
if [[ -z "$issue_number" ]]; then
|
|
46
|
+
log_error "Issue number cannot be empty"
|
|
47
|
+
return 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
if [[ ! "$issue_number" =~ ^[0-9]+$ ]]; then
|
|
51
|
+
log_error "Invalid issue number format: '$issue_number' (must be a positive integer)"
|
|
52
|
+
return 1
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
if [[ "$issue_number" -le 0 ]]; then
|
|
56
|
+
log_error "Issue number must be greater than 0: $issue_number"
|
|
57
|
+
return 1
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
log_debug "Issue number validation passed: $issue_number"
|
|
61
|
+
log_function_exit "validate_issue_number"
|
|
62
|
+
return 0
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
# Validate epic name format
|
|
66
|
+
validate_epic_name() {
|
|
67
|
+
local epic_name="$1"
|
|
68
|
+
|
|
69
|
+
log_function_entry "validate_epic_name" "$epic_name"
|
|
70
|
+
|
|
71
|
+
if [[ -z "$epic_name" ]]; then
|
|
72
|
+
log_error "Epic name cannot be empty"
|
|
73
|
+
return 1
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
# Epic names should be alphanumeric with hyphens and underscores
|
|
77
|
+
if [[ ! "$epic_name" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
78
|
+
log_error "Invalid epic name: '$epic_name' (only letters, numbers, hyphens, and underscores allowed)"
|
|
79
|
+
return 1
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
# Should not start or end with hyphen/underscore
|
|
83
|
+
if [[ "$epic_name" =~ ^[-_] ]] || [[ "$epic_name" =~ [-_]$ ]]; then
|
|
84
|
+
log_error "Epic name cannot start or end with hyphen or underscore: '$epic_name'"
|
|
85
|
+
return 1
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
log_debug "Epic name validation passed: $epic_name"
|
|
89
|
+
log_function_exit "validate_epic_name"
|
|
90
|
+
return 0
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
# Validate file exists and is readable
|
|
94
|
+
validate_file_exists() {
|
|
95
|
+
local file_path="$1"
|
|
96
|
+
local description="${2:-file}"
|
|
97
|
+
|
|
98
|
+
log_function_entry "validate_file_exists" "$file_path" "$description"
|
|
99
|
+
|
|
100
|
+
if [[ ! -f "$file_path" ]]; then
|
|
101
|
+
log_error "$description not found: $file_path"
|
|
102
|
+
return 1
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
if [[ ! -r "$file_path" ]]; then
|
|
106
|
+
log_error "$description is not readable: $file_path"
|
|
107
|
+
return 1
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
log_debug "$description validation passed: $file_path"
|
|
111
|
+
log_function_exit "validate_file_exists"
|
|
112
|
+
return 0
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
# Validate directory exists and is accessible
|
|
116
|
+
validate_directory_exists() {
|
|
117
|
+
local dir_path="$1"
|
|
118
|
+
local description="${2:-directory}"
|
|
119
|
+
|
|
120
|
+
log_function_entry "validate_directory_exists" "$dir_path" "$description"
|
|
121
|
+
|
|
122
|
+
if [[ ! -d "$dir_path" ]]; then
|
|
123
|
+
log_error "$description not found: $dir_path"
|
|
124
|
+
return 1
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
if [[ ! -r "$dir_path" ]] || [[ ! -x "$dir_path" ]]; then
|
|
128
|
+
log_error "$description is not accessible: $dir_path"
|
|
129
|
+
return 1
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
log_debug "$description validation passed: $dir_path"
|
|
133
|
+
log_function_exit "validate_directory_exists"
|
|
134
|
+
return 0
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
# Validate Git repository
|
|
138
|
+
validate_git_repository() {
|
|
139
|
+
local repo_path="${1:-.}"
|
|
140
|
+
|
|
141
|
+
log_function_entry "validate_git_repository" "$repo_path"
|
|
142
|
+
|
|
143
|
+
if [[ ! -d "$repo_path/.git" ]]; then
|
|
144
|
+
log_error "Not a Git repository: $repo_path"
|
|
145
|
+
echo "❌ This is not a Git repository."
|
|
146
|
+
echo "Initialize with: git init"
|
|
147
|
+
return 1
|
|
148
|
+
fi
|
|
149
|
+
|
|
150
|
+
# Check if we're in a git repository and can access it
|
|
151
|
+
if ! git -C "$repo_path" status >/dev/null 2>&1; then
|
|
152
|
+
log_error "Cannot access Git repository: $repo_path"
|
|
153
|
+
return 1
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
log_debug "Git repository validation passed: $repo_path"
|
|
157
|
+
log_function_exit "validate_git_repository"
|
|
158
|
+
return 0
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
# Validate working directory is clean (no uncommitted changes)
|
|
162
|
+
validate_clean_working_directory() {
|
|
163
|
+
local repo_path="${1:-.}"
|
|
164
|
+
|
|
165
|
+
log_function_entry "validate_clean_working_directory" "$repo_path"
|
|
166
|
+
|
|
167
|
+
validate_git_repository "$repo_path" || return 1
|
|
168
|
+
|
|
169
|
+
if [[ -n "$(git -C "$repo_path" status --porcelain)" ]]; then
|
|
170
|
+
log_error "Working directory has uncommitted changes"
|
|
171
|
+
echo "❌ You have uncommitted changes:"
|
|
172
|
+
git -C "$repo_path" status --short
|
|
173
|
+
echo ""
|
|
174
|
+
echo "Please commit or stash your changes before proceeding:"
|
|
175
|
+
echo " git add -A && git commit -m 'WIP: save changes'"
|
|
176
|
+
echo " # or"
|
|
177
|
+
echo " git stash save 'WIP before operation'"
|
|
178
|
+
return 1
|
|
179
|
+
fi
|
|
180
|
+
|
|
181
|
+
log_debug "Working directory is clean"
|
|
182
|
+
log_function_exit "validate_clean_working_directory"
|
|
183
|
+
return 0
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
# Validate epic directory structure
|
|
187
|
+
validate_epic_structure() {
|
|
188
|
+
local epic_name="$1"
|
|
189
|
+
local base_dir="${2:-.claude/epics}"
|
|
190
|
+
|
|
191
|
+
log_function_entry "validate_epic_structure" "$epic_name" "$base_dir"
|
|
192
|
+
|
|
193
|
+
validate_epic_name "$epic_name" || return 1
|
|
194
|
+
|
|
195
|
+
local epic_dir="$base_dir/$epic_name"
|
|
196
|
+
validate_directory_exists "$epic_dir" "Epic directory" || return 1
|
|
197
|
+
|
|
198
|
+
local epic_file="$epic_dir/epic.md"
|
|
199
|
+
validate_file_exists "$epic_file" "Epic file" || return 1
|
|
200
|
+
|
|
201
|
+
# Check if epic has tasks
|
|
202
|
+
local task_count
|
|
203
|
+
task_count=$(find "$epic_dir" -name '[0-9]*.md' -type f | wc -l)
|
|
204
|
+
|
|
205
|
+
if [[ "$task_count" -eq 0 ]]; then
|
|
206
|
+
log_warning "Epic has no tasks: $epic_name"
|
|
207
|
+
echo "⚠️ Epic '$epic_name' has no tasks."
|
|
208
|
+
echo "Generate tasks with: /pm:epic-decompose $epic_name"
|
|
209
|
+
fi
|
|
210
|
+
|
|
211
|
+
log_debug "Epic structure validation passed: $epic_name"
|
|
212
|
+
log_function_exit "validate_epic_structure"
|
|
213
|
+
return 0
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
# Validate GitHub CLI authentication
|
|
217
|
+
validate_github_auth() {
|
|
218
|
+
log_function_entry "validate_github_auth"
|
|
219
|
+
|
|
220
|
+
if ! command -v gh >/dev/null 2>&1; then
|
|
221
|
+
log_error "GitHub CLI not found"
|
|
222
|
+
echo "❌ GitHub CLI (gh) is not installed."
|
|
223
|
+
echo "Install from: https://cli.github.com/"
|
|
224
|
+
return 1
|
|
225
|
+
fi
|
|
226
|
+
|
|
227
|
+
if ! gh auth status >/dev/null 2>&1; then
|
|
228
|
+
log_error "GitHub CLI not authenticated"
|
|
229
|
+
echo "❌ GitHub CLI not authenticated."
|
|
230
|
+
echo "Login with: gh auth login"
|
|
231
|
+
return 1
|
|
232
|
+
fi
|
|
233
|
+
|
|
234
|
+
log_debug "GitHub CLI authentication validated"
|
|
235
|
+
log_function_exit "validate_github_auth"
|
|
236
|
+
return 0
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
# Validate environment variables
|
|
240
|
+
validate_environment_variables() {
|
|
241
|
+
local required_vars=("$@")
|
|
242
|
+
|
|
243
|
+
log_function_entry "validate_environment_variables" "${required_vars[@]}"
|
|
244
|
+
|
|
245
|
+
local missing_vars=()
|
|
246
|
+
|
|
247
|
+
for var in "${required_vars[@]}"; do
|
|
248
|
+
if [[ -z "${!var:-}" ]]; then
|
|
249
|
+
missing_vars+=("$var")
|
|
250
|
+
fi
|
|
251
|
+
done
|
|
252
|
+
|
|
253
|
+
if [[ ${#missing_vars[@]} -gt 0 ]]; then
|
|
254
|
+
log_error "Missing required environment variables: ${missing_vars[*]}"
|
|
255
|
+
echo "❌ Missing required environment variables:"
|
|
256
|
+
printf " - %s\n" "${missing_vars[@]}"
|
|
257
|
+
echo ""
|
|
258
|
+
echo "Please set these variables and try again."
|
|
259
|
+
return 1
|
|
260
|
+
fi
|
|
261
|
+
|
|
262
|
+
log_debug "All required environment variables are set"
|
|
263
|
+
log_function_exit "validate_environment_variables"
|
|
264
|
+
return 0
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
# Validate network connectivity
|
|
268
|
+
validate_network_connectivity() {
|
|
269
|
+
local host="${1:-github.com}"
|
|
270
|
+
local timeout="${2:-5}"
|
|
271
|
+
|
|
272
|
+
log_function_entry "validate_network_connectivity" "$host" "$timeout"
|
|
273
|
+
|
|
274
|
+
if ! ping -c 1 -W "$timeout" "$host" >/dev/null 2>&1; then
|
|
275
|
+
log_error "Network connectivity check failed for $host"
|
|
276
|
+
echo "❌ Cannot reach $host"
|
|
277
|
+
echo "Please check your internet connection and try again."
|
|
278
|
+
return 1
|
|
279
|
+
fi
|
|
280
|
+
|
|
281
|
+
log_debug "Network connectivity validated for $host"
|
|
282
|
+
log_function_exit "validate_network_connectivity"
|
|
283
|
+
return 0
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
# Validate labels format (comma-separated)
|
|
287
|
+
validate_labels() {
|
|
288
|
+
local labels="$1"
|
|
289
|
+
|
|
290
|
+
log_function_entry "validate_labels" "$labels"
|
|
291
|
+
|
|
292
|
+
if [[ -z "$labels" ]]; then
|
|
293
|
+
log_warning "No labels provided"
|
|
294
|
+
log_function_exit "validate_labels"
|
|
295
|
+
return 0
|
|
296
|
+
fi
|
|
297
|
+
|
|
298
|
+
# Split labels by comma and validate each one
|
|
299
|
+
IFS=',' read -ra label_array <<< "$labels"
|
|
300
|
+
for label in "${label_array[@]}"; do
|
|
301
|
+
# Trim whitespace
|
|
302
|
+
label=$(echo "$label" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
303
|
+
|
|
304
|
+
# Validate label format (GitHub allows letters, numbers, spaces, hyphens, underscores)
|
|
305
|
+
if [[ ! "$label" =~ ^[a-zA-Z0-9[:space:]_-]+$ ]]; then
|
|
306
|
+
log_error "Invalid label format: '$label'"
|
|
307
|
+
return 1
|
|
308
|
+
fi
|
|
309
|
+
done
|
|
310
|
+
|
|
311
|
+
log_debug "Labels validation passed: $labels"
|
|
312
|
+
log_function_exit "validate_labels"
|
|
313
|
+
return 0
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
# Comprehensive validation for epic sync operation
|
|
317
|
+
validate_epic_sync_prerequisites() {
|
|
318
|
+
local epic_name="$1"
|
|
319
|
+
|
|
320
|
+
log_function_entry "validate_epic_sync_prerequisites" "$epic_name"
|
|
321
|
+
|
|
322
|
+
# Validate inputs
|
|
323
|
+
validate_epic_name "$epic_name" || return 1
|
|
324
|
+
|
|
325
|
+
# Validate environment
|
|
326
|
+
validate_required_commands "git" "gh" || return 1
|
|
327
|
+
validate_git_repository || return 1
|
|
328
|
+
validate_github_auth || return 1
|
|
329
|
+
|
|
330
|
+
# Validate epic structure
|
|
331
|
+
validate_epic_structure "$epic_name" || return 1
|
|
332
|
+
|
|
333
|
+
# Check network connectivity
|
|
334
|
+
validate_network_connectivity "github.com" || return 1
|
|
335
|
+
|
|
336
|
+
log_success "All epic sync prerequisites validated"
|
|
337
|
+
log_function_exit "validate_epic_sync_prerequisites"
|
|
338
|
+
return 0
|
|
339
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Disable an MCP server in the current project
|
|
3
|
+
|
|
4
|
+
if [ -z "$1" ]; then
|
|
5
|
+
echo "Usage: autopm mcp disable <server-name>"
|
|
6
|
+
exit 1
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
+
FRAMEWORK_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
|
11
|
+
|
|
12
|
+
node "$FRAMEWORK_ROOT/scripts/mcp-handler.js" disable "$1"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Enable an MCP server in the current project
|
|
3
|
+
|
|
4
|
+
if [ -z "$1" ]; then
|
|
5
|
+
echo "Usage: autopm mcp enable <server-name>"
|
|
6
|
+
exit 1
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
10
|
+
FRAMEWORK_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
|
11
|
+
|
|
12
|
+
node "$FRAMEWORK_ROOT/scripts/mcp-handler.js" enable "$1"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Sync MCP server configuration
|
|
3
|
+
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
FRAMEWORK_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
|
6
|
+
|
|
7
|
+
echo "🔄 Syncing MCP server configuration..."
|
|
8
|
+
node "$FRAMEWORK_ROOT/scripts/mcp-handler.js" sync
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# @claudeautopm/plugin-data
|
|
2
|
+
|
|
3
|
+
Data engineering, machine learning pipelines, and workflow orchestration specialists.
|
|
4
|
+
|
|
5
|
+
## 📦 Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install the plugin package
|
|
9
|
+
npm install -g @claudeautopm/plugin-data
|
|
10
|
+
|
|
11
|
+
# Install plugin agents to your project
|
|
12
|
+
autopm plugin install data
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 🤖 Agents Included
|
|
16
|
+
|
|
17
|
+
### Workflow Orchestration
|
|
18
|
+
- **airflow-orchestration-expert** - Apache Airflow DAG development
|
|
19
|
+
- DAG design and best practices
|
|
20
|
+
- Task dependencies and scheduling
|
|
21
|
+
- Sensor and operator development
|
|
22
|
+
- XCom for inter-task communication
|
|
23
|
+
- Connection and variable management
|
|
24
|
+
- Monitoring and alerting
|
|
25
|
+
|
|
26
|
+
### ML Pipeline Development
|
|
27
|
+
- **kedro-pipeline-expert** - Kedro ML pipeline framework
|
|
28
|
+
- Pipeline architecture
|
|
29
|
+
- Data catalog management
|
|
30
|
+
- Node and pipeline creation
|
|
31
|
+
- Parameters and configuration
|
|
32
|
+
- Testing and debugging
|
|
33
|
+
- Production deployment
|
|
34
|
+
|
|
35
|
+
### AI Workflow Automation
|
|
36
|
+
- **langgraph-workflow-expert** - LangGraph AI workflow orchestration
|
|
37
|
+
- Graph-based workflow design
|
|
38
|
+
- State management
|
|
39
|
+
- Agent coordination patterns
|
|
40
|
+
- LLM integration
|
|
41
|
+
- Error handling and retries
|
|
42
|
+
- Streaming and async workflows
|
|
43
|
+
|
|
44
|
+
## 💡 Usage
|
|
45
|
+
|
|
46
|
+
### In Claude Code
|
|
47
|
+
|
|
48
|
+
After installation, agents are available in your project:
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
<!-- CLAUDE.md -->
|
|
52
|
+
## Active Team Agents
|
|
53
|
+
|
|
54
|
+
<!-- Load data engineering agents -->
|
|
55
|
+
- @include .claude/agents/data/airflow-orchestration-expert.md
|
|
56
|
+
- @include .claude/agents/data/kedro-pipeline-expert.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Or use `autopm team load` to automatically include agents:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Load data engineering team
|
|
63
|
+
autopm team load data
|
|
64
|
+
|
|
65
|
+
# Or include in fullstack team
|
|
66
|
+
autopm team load fullstack
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Direct Invocation
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Invoke agent directly from CLI
|
|
73
|
+
autopm agent invoke airflow-orchestration-expert "Design ETL DAG for data warehouse"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 📋 Agent Capabilities
|
|
77
|
+
|
|
78
|
+
### Data Pipeline Orchestration
|
|
79
|
+
- Complex DAG design and scheduling
|
|
80
|
+
- Task dependency management
|
|
81
|
+
- Dynamic pipeline generation
|
|
82
|
+
- Resource allocation and optimization
|
|
83
|
+
|
|
84
|
+
### ML Workflow Management
|
|
85
|
+
- End-to-end ML pipeline design
|
|
86
|
+
- Data versioning and lineage
|
|
87
|
+
- Experiment tracking
|
|
88
|
+
- Model deployment automation
|
|
89
|
+
|
|
90
|
+
### AI Agent Orchestration
|
|
91
|
+
- Multi-agent coordination
|
|
92
|
+
- LLM workflow automation
|
|
93
|
+
- State machine design
|
|
94
|
+
- Tool integration patterns
|
|
95
|
+
|
|
96
|
+
### Data Engineering
|
|
97
|
+
- ETL/ELT pipeline development
|
|
98
|
+
- Data quality validation
|
|
99
|
+
- Incremental processing
|
|
100
|
+
- Error handling and recovery
|
|
101
|
+
|
|
102
|
+
## 🚀 Examples
|
|
103
|
+
|
|
104
|
+
### Airflow ETL Pipeline
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
@airflow-orchestration-expert
|
|
108
|
+
|
|
109
|
+
Create Airflow DAG for daily ETL:
|
|
110
|
+
|
|
111
|
+
Requirements:
|
|
112
|
+
- Extract from PostgreSQL source
|
|
113
|
+
- Transform data with pandas
|
|
114
|
+
- Load to BigQuery warehouse
|
|
115
|
+
- Data quality checks
|
|
116
|
+
- Email alerts on failure
|
|
117
|
+
- Retry logic with backoff
|
|
118
|
+
|
|
119
|
+
Schedule:
|
|
120
|
+
- Run daily at 2 AM UTC
|
|
121
|
+
- Handle time zones
|
|
122
|
+
- SLA monitoring
|
|
123
|
+
|
|
124
|
+
Include:
|
|
125
|
+
1. DAG definition
|
|
126
|
+
2. Custom operators
|
|
127
|
+
3. Data quality sensors
|
|
128
|
+
4. Alert configuration
|
|
129
|
+
5. Testing strategy
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Kedro ML Pipeline
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
@kedro-pipeline-expert
|
|
136
|
+
|
|
137
|
+
Build ML pipeline for churn prediction:
|
|
138
|
+
|
|
139
|
+
Pipeline stages:
|
|
140
|
+
1. Data ingestion (multiple sources)
|
|
141
|
+
2. Feature engineering
|
|
142
|
+
3. Model training (XGBoost, LightGBM)
|
|
143
|
+
4. Model evaluation
|
|
144
|
+
5. Model deployment
|
|
145
|
+
|
|
146
|
+
Requirements:
|
|
147
|
+
- Modular pipeline design
|
|
148
|
+
- Data catalog for versioning
|
|
149
|
+
- Parameter management
|
|
150
|
+
- Cross-validation
|
|
151
|
+
- Model registry integration
|
|
152
|
+
|
|
153
|
+
Include:
|
|
154
|
+
1. Pipeline structure
|
|
155
|
+
2. Node implementations
|
|
156
|
+
3. Data catalog YAML
|
|
157
|
+
4. Parameters YAML
|
|
158
|
+
5. Testing suite
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### LangGraph AI Workflow
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
@langgraph-workflow-expert
|
|
165
|
+
|
|
166
|
+
Design multi-agent research workflow:
|
|
167
|
+
|
|
168
|
+
Agents:
|
|
169
|
+
- Research Agent (web search)
|
|
170
|
+
- Analysis Agent (data processing)
|
|
171
|
+
- Writer Agent (report generation)
|
|
172
|
+
- Reviewer Agent (quality check)
|
|
173
|
+
|
|
174
|
+
Workflow:
|
|
175
|
+
1. Research gathers information
|
|
176
|
+
2. Analysis processes findings
|
|
177
|
+
3. Writer creates draft
|
|
178
|
+
4. Reviewer validates quality
|
|
179
|
+
5. Loop back if quality < threshold
|
|
180
|
+
|
|
181
|
+
Requirements:
|
|
182
|
+
- State persistence
|
|
183
|
+
- Error recovery
|
|
184
|
+
- Streaming output
|
|
185
|
+
- Token usage tracking
|
|
186
|
+
|
|
187
|
+
Include:
|
|
188
|
+
1. Graph definition
|
|
189
|
+
2. Agent nodes
|
|
190
|
+
3. State management
|
|
191
|
+
4. Edge conditions
|
|
192
|
+
5. Testing examples
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Complex Airflow Architecture
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
@airflow-orchestration-expert
|
|
199
|
+
|
|
200
|
+
Design multi-tenant data platform:
|
|
201
|
+
|
|
202
|
+
Requirements:
|
|
203
|
+
- 10+ data sources (APIs, databases, files)
|
|
204
|
+
- Dynamic DAG generation per tenant
|
|
205
|
+
- Parallel processing with pools
|
|
206
|
+
- Resource quotas per tenant
|
|
207
|
+
- Cost tracking and optimization
|
|
208
|
+
- Disaster recovery
|
|
209
|
+
|
|
210
|
+
Features:
|
|
211
|
+
- DAG factory pattern
|
|
212
|
+
- Custom operators for common tasks
|
|
213
|
+
- Centralized logging
|
|
214
|
+
- Metric collection
|
|
215
|
+
- Auto-scaling workers
|
|
216
|
+
|
|
217
|
+
Include:
|
|
218
|
+
1. Architecture diagram
|
|
219
|
+
2. DAG factory implementation
|
|
220
|
+
3. Custom operator library
|
|
221
|
+
4. Configuration management
|
|
222
|
+
5. Monitoring setup
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Kedro Production Deployment
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
@kedro-pipeline-expert
|
|
229
|
+
|
|
230
|
+
Productionize Kedro pipeline:
|
|
231
|
+
|
|
232
|
+
Requirements:
|
|
233
|
+
- Docker containerization
|
|
234
|
+
- Kubernetes deployment
|
|
235
|
+
- CI/CD with GitHub Actions
|
|
236
|
+
- Model registry (MLflow)
|
|
237
|
+
- Monitoring and logging
|
|
238
|
+
- A/B testing support
|
|
239
|
+
|
|
240
|
+
Pipeline:
|
|
241
|
+
- Training pipeline (weekly)
|
|
242
|
+
- Inference pipeline (real-time)
|
|
243
|
+
- Evaluation pipeline (daily)
|
|
244
|
+
|
|
245
|
+
Include:
|
|
246
|
+
1. Dockerfile and docker-compose
|
|
247
|
+
2. Kubernetes manifests
|
|
248
|
+
3. CI/CD workflows
|
|
249
|
+
4. Deployment scripts
|
|
250
|
+
5. Monitoring dashboards
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## 🔧 Configuration
|
|
254
|
+
|
|
255
|
+
### Environment Variables
|
|
256
|
+
|
|
257
|
+
Some agents benefit from environment variables:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Airflow
|
|
261
|
+
export AIRFLOW_HOME=/opt/airflow
|
|
262
|
+
export AIRFLOW__CORE__EXECUTOR=CeleryExecutor
|
|
263
|
+
export AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql://...
|
|
264
|
+
|
|
265
|
+
# Kedro
|
|
266
|
+
export KEDRO_ENV=production
|
|
267
|
+
export KEDRO_LOGGING_CONFIG=conf/base/logging.yml
|
|
268
|
+
|
|
269
|
+
# LangGraph
|
|
270
|
+
export OPENAI_API_KEY=your-key
|
|
271
|
+
export LANGSMITH_API_KEY=your-key
|
|
272
|
+
export LANGSMITH_PROJECT=my-project
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Agent Customization
|
|
276
|
+
|
|
277
|
+
You can customize agent behavior in `.claude/config.yaml`:
|
|
278
|
+
|
|
279
|
+
```yaml
|
|
280
|
+
plugins:
|
|
281
|
+
data:
|
|
282
|
+
airflow:
|
|
283
|
+
default_executor: CeleryExecutor
|
|
284
|
+
default_retries: 3
|
|
285
|
+
schedule_interval: '@daily'
|
|
286
|
+
kedro:
|
|
287
|
+
default_runner: SequentialRunner
|
|
288
|
+
log_level: INFO
|
|
289
|
+
data_catalog_type: local
|
|
290
|
+
langgraph:
|
|
291
|
+
llm_provider: openai
|
|
292
|
+
model: gpt-4
|
|
293
|
+
enable_tracing: true
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## 📖 Documentation
|
|
297
|
+
|
|
298
|
+
- [Airflow Orchestration Expert Guide](./agents/airflow-orchestration-expert.md)
|
|
299
|
+
- [Kedro Pipeline Expert Guide](./agents/kedro-pipeline-expert.md)
|
|
300
|
+
- [LangGraph Workflow Expert Guide](./agents/langgraph-workflow-expert.md)
|
|
301
|
+
|
|
302
|
+
## 🤝 Contributing
|
|
303
|
+
|
|
304
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines.
|
|
305
|
+
|
|
306
|
+
## 📄 License
|
|
307
|
+
|
|
308
|
+
MIT © ClaudeAutoPM Team
|
|
309
|
+
|
|
310
|
+
## 🔗 Links
|
|
311
|
+
|
|
312
|
+
- [ClaudeAutoPM](https://github.com/rafeekpro/ClaudeAutoPM)
|
|
313
|
+
- [Plugin Documentation](https://github.com/rafeekpro/ClaudeAutoPM/blob/main/docs/PLUGIN-IMPLEMENTATION-PLAN.md)
|
|
314
|
+
- [npm Package](https://www.npmjs.com/package/@claudeautopm/plugin-data)
|
|
315
|
+
- [Issues](https://github.com/rafeekpro/ClaudeAutoPM/issues)
|