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,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash, Read, Write, LS, Task
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Epic Start
|
|
6
|
+
|
|
7
|
+
Launch parallel agents to work on epic tasks using the unified branch strategy.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/pm:epic-start <epic_name>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Required Documentation Access
|
|
15
|
+
|
|
16
|
+
**MANDATORY:** Before project management workflows, query Context7 for best practices:
|
|
17
|
+
|
|
18
|
+
**Documentation Queries:**
|
|
19
|
+
- `mcp://context7/agile/epic-management` - epic management best practices
|
|
20
|
+
- `mcp://context7/project-management/issue-tracking` - issue tracking best practices
|
|
21
|
+
- `mcp://context7/agile/task-breakdown` - task breakdown best practices
|
|
22
|
+
- `mcp://context7/project-management/workflow` - workflow best practices
|
|
23
|
+
|
|
24
|
+
**Why This is Required:**
|
|
25
|
+
- Ensures adherence to current industry standards and best practices
|
|
26
|
+
- Prevents outdated or incorrect implementation patterns
|
|
27
|
+
- Provides access to latest framework/tool documentation
|
|
28
|
+
- Reduces errors from stale knowledge or assumptions
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Quick Check
|
|
32
|
+
|
|
33
|
+
1. **Verify epic exists:**
|
|
34
|
+
```bash
|
|
35
|
+
test -f .claude/epics/$ARGUMENTS/epic.md || echo "❌ Epic not found. Run: /pm:prd-parse $ARGUMENTS"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
2. **Check GitHub sync:**
|
|
39
|
+
Look for `github:` field in epic frontmatter.
|
|
40
|
+
If missing: "❌ Epic not synced. Run: /pm:epic-sync $ARGUMENTS first"
|
|
41
|
+
|
|
42
|
+
3. **Check for branch:**
|
|
43
|
+
```bash
|
|
44
|
+
git branch -a | grep "epic/$ARGUMENTS"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
4. **Check for uncommitted changes:**
|
|
48
|
+
```bash
|
|
49
|
+
git status --porcelain
|
|
50
|
+
```
|
|
51
|
+
If output is not empty: "❌ You have uncommitted changes. Please commit or stash them before starting an epic"
|
|
52
|
+
|
|
53
|
+
## ⚠️ TDD REMINDER - READ THIS FIRST
|
|
54
|
+
|
|
55
|
+
**CRITICAL: This project follows Test-Driven Development (TDD).**
|
|
56
|
+
|
|
57
|
+
Before ANY coding work begins on this epic, you MUST follow the RED-GREEN-REFACTOR cycle:
|
|
58
|
+
|
|
59
|
+
1. **RED Phase**: Write failing test that describes the desired behavior
|
|
60
|
+
2. **GREEN Phase**: Write minimum code to make test pass
|
|
61
|
+
3. **REFACTOR Phase**: Clean up code while keeping tests green
|
|
62
|
+
|
|
63
|
+
**For this epic:**
|
|
64
|
+
- All tasks have TDD requirements section
|
|
65
|
+
- Every agent must start with test creation
|
|
66
|
+
- No implementation without tests first
|
|
67
|
+
|
|
68
|
+
See `.claude/rules/tdd.enforcement.md` for complete TDD requirements.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Instructions
|
|
73
|
+
|
|
74
|
+
### 1. Create or Enter Branch
|
|
75
|
+
|
|
76
|
+
Follow the unified Git strategy in `/rules/git-strategy.md`:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Check for uncommitted changes
|
|
80
|
+
if [ -n "$(git status --porcelain)" ]; then
|
|
81
|
+
echo "❌ You have uncommitted changes. Please commit or stash them before starting an epic."
|
|
82
|
+
exit 1
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# If branch doesn't exist, create it
|
|
86
|
+
if ! git branch -a | grep -q "epic/$ARGUMENTS"; then
|
|
87
|
+
git checkout main
|
|
88
|
+
git pull origin main
|
|
89
|
+
git checkout -b epic/$ARGUMENTS
|
|
90
|
+
git push -u origin epic/$ARGUMENTS
|
|
91
|
+
echo "✅ Created branch: epic/$ARGUMENTS"
|
|
92
|
+
else
|
|
93
|
+
# Branch exists, check it out
|
|
94
|
+
git checkout epic/$ARGUMENTS
|
|
95
|
+
git pull origin epic/$ARGUMENTS
|
|
96
|
+
echo "✅ Using existing branch: epic/$ARGUMENTS"
|
|
97
|
+
fi
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 2. Identify Ready Issues
|
|
101
|
+
|
|
102
|
+
Read all task files in `.claude/epics/$ARGUMENTS/`:
|
|
103
|
+
- Look for tasks with `status: ready` or `status: in_progress`
|
|
104
|
+
- Group by dependencies
|
|
105
|
+
|
|
106
|
+
### 3. Launch Parallel Agents
|
|
107
|
+
|
|
108
|
+
For each ready issue without dependencies:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Example parallel launch
|
|
112
|
+
/agent python-backend-engineer "Work on issue #1234 from epic $ARGUMENTS"
|
|
113
|
+
/agent react-frontend-engineer "Work on issue #1235 from epic $ARGUMENTS"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 4. Monitor Progress
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Check branch status
|
|
120
|
+
git log --oneline -10
|
|
121
|
+
|
|
122
|
+
# Check CI status
|
|
123
|
+
gh pr checks
|
|
124
|
+
|
|
125
|
+
# View agent progress
|
|
126
|
+
tail -f .claude/epics/$ARGUMENTS/progress.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Parallel Execution Rules
|
|
130
|
+
|
|
131
|
+
1. **File Coordination**: Agents working on different files can commit simultaneously
|
|
132
|
+
2. **Pull Before Push**: Always `git pull` before pushing changes
|
|
133
|
+
3. **Conflict Resolution**: Human intervention required for merge conflicts
|
|
134
|
+
4. **Commit Frequently**: Small, focused commits reduce conflict risk
|
|
135
|
+
|
|
136
|
+
## Example Workflow
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# 1. Start epic
|
|
140
|
+
/pm:epic-start authentication
|
|
141
|
+
|
|
142
|
+
# 2. Agents work in parallel
|
|
143
|
+
# Agent A: Backend API
|
|
144
|
+
# Agent B: Frontend UI
|
|
145
|
+
# Agent C: Database schema
|
|
146
|
+
|
|
147
|
+
# 3. Monitor progress
|
|
148
|
+
/pm:epic-status authentication
|
|
149
|
+
|
|
150
|
+
# 4. When complete
|
|
151
|
+
/pm:epic-merge authentication
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Branch Management
|
|
155
|
+
|
|
156
|
+
The epic branch (`epic/$ARGUMENTS`) will be:
|
|
157
|
+
- Created if it doesn't exist
|
|
158
|
+
- Checked out if it exists
|
|
159
|
+
- Pulled to get latest changes
|
|
160
|
+
- Ready for parallel agent work
|
|
161
|
+
|
|
162
|
+
## Important Notes
|
|
163
|
+
|
|
164
|
+
⚠️ **NO WORKTREES**: This command uses the standard branch strategy. Git worktrees are not supported.
|
|
165
|
+
|
|
166
|
+
⚠️ **COMMIT BEFORE SWITCHING**: Always commit or stash changes before starting a new epic.
|
|
167
|
+
|
|
168
|
+
⚠️ **PULL FREQUENTLY**: Agents should pull changes regularly to avoid conflicts.
|
|
169
|
+
|
|
170
|
+
## Troubleshooting
|
|
171
|
+
|
|
172
|
+
### "You have uncommitted changes"
|
|
173
|
+
```bash
|
|
174
|
+
# Option 1: Commit changes
|
|
175
|
+
git add -A && git commit -m "WIP: Save work before epic start"
|
|
176
|
+
|
|
177
|
+
# Option 2: Stash changes
|
|
178
|
+
git stash save "WIP before starting epic"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### "Branch already exists"
|
|
182
|
+
```bash
|
|
183
|
+
# Use existing branch
|
|
184
|
+
git checkout epic/$ARGUMENTS
|
|
185
|
+
git pull origin epic/$ARGUMENTS
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### "Merge conflicts"
|
|
189
|
+
```bash
|
|
190
|
+
# Resolve conflicts manually
|
|
191
|
+
git status # See conflicted files
|
|
192
|
+
# Edit files to resolve
|
|
193
|
+
git add {resolved-files}
|
|
194
|
+
git commit -m "resolve: Merge conflicts"
|
|
195
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `node .claude/scripts/pm/epic-status.js $ARGUMENTS` using the Bash tool and show me the complete output.
|
|
6
|
+
|
|
7
|
+
- DO NOT truncate.
|
|
8
|
+
- DO NOT collapse.
|
|
9
|
+
- DO NOT abbreviate.
|
|
10
|
+
- Show ALL lines in full.
|
|
11
|
+
## Required Documentation Access
|
|
12
|
+
|
|
13
|
+
**MANDATORY:** Before project management workflows, query Context7 for best practices:
|
|
14
|
+
|
|
15
|
+
**Documentation Queries:**
|
|
16
|
+
- `mcp://context7/agile/epic-management` - epic management best practices
|
|
17
|
+
- `mcp://context7/project-management/issue-tracking` - issue tracking best practices
|
|
18
|
+
- `mcp://context7/agile/task-breakdown` - task breakdown best practices
|
|
19
|
+
- `mcp://context7/project-management/workflow` - workflow best practices
|
|
20
|
+
|
|
21
|
+
**Why This is Required:**
|
|
22
|
+
- Ensures adherence to current industry standards and best practices
|
|
23
|
+
- Prevents outdated or incorrect implementation patterns
|
|
24
|
+
- Provides access to latest framework/tool documentation
|
|
25
|
+
- Reduces errors from stale knowledge or assumptions
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
- DO NOT print any other comments.
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash, Read, Write, LS, Task
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Epic Sync - Modular Version
|
|
6
|
+
|
|
7
|
+
Push epic and tasks to GitHub as issues using modular scripts.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/pm:epic-sync <feature_name>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Required Documentation Access
|
|
15
|
+
|
|
16
|
+
**MANDATORY:** Before project management workflows, query Context7 for best practices:
|
|
17
|
+
|
|
18
|
+
**Documentation Queries:**
|
|
19
|
+
- `mcp://context7/agile/epic-management` - epic management best practices
|
|
20
|
+
- `mcp://context7/project-management/issue-tracking` - issue tracking best practices
|
|
21
|
+
- `mcp://context7/agile/task-breakdown` - task breakdown best practices
|
|
22
|
+
- `mcp://context7/project-management/workflow` - workflow best practices
|
|
23
|
+
|
|
24
|
+
**Why This is Required:**
|
|
25
|
+
- Ensures adherence to current industry standards and best practices
|
|
26
|
+
- Prevents outdated or incorrect implementation patterns
|
|
27
|
+
- Provides access to latest framework/tool documentation
|
|
28
|
+
- Reduces errors from stale knowledge or assumptions
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Quick Check
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Verify epic exists
|
|
35
|
+
test -f .claude/epics/$ARGUMENTS/epic.md || echo "❌ Epic not found. Run: /pm:prd-parse $ARGUMENTS"
|
|
36
|
+
|
|
37
|
+
# Count task files
|
|
38
|
+
ls .claude/epics/$ARGUMENTS/*.md 2>/dev/null | grep -v epic.md | wc -l
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If no tasks found: "❌ No tasks to sync. Run: /pm:epic-decompose $ARGUMENTS"
|
|
42
|
+
|
|
43
|
+
## Instructions
|
|
44
|
+
|
|
45
|
+
The epic sync process is now modularized into 4 specialized scripts that handle different aspects of the synchronization. Each script is designed for reliability, testability, and maintainability.
|
|
46
|
+
|
|
47
|
+
### 1. Repository Protection Check
|
|
48
|
+
|
|
49
|
+
This is handled automatically by our modular scripts, but you can run the check manually:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Check repository protection (built into all scripts)
|
|
53
|
+
bash .claude/scripts/lib/github-utils.sh
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
The scripts will automatically:
|
|
57
|
+
- ✅ Verify GitHub CLI authentication
|
|
58
|
+
- ✅ Check repository protection against template repos
|
|
59
|
+
- ✅ Validate epic structure and inputs
|
|
60
|
+
|
|
61
|
+
### 2. Create Epic Issue
|
|
62
|
+
|
|
63
|
+
Create the main GitHub issue for the epic:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Create epic issue with proper stats and labels
|
|
67
|
+
epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$ARGUMENTS")
|
|
68
|
+
|
|
69
|
+
echo "✅ Epic issue created: #$epic_number"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
This script handles:
|
|
73
|
+
- ✅ Frontmatter stripping and content processing
|
|
74
|
+
- ✅ Epic type detection (bug vs feature)
|
|
75
|
+
- ✅ Statistics calculation (tasks, parallel/sequential breakdown)
|
|
76
|
+
- ✅ GitHub issue creation with proper labels
|
|
77
|
+
- ✅ Epic vs bug labeling based on content analysis
|
|
78
|
+
|
|
79
|
+
### 3. Create Task Issues
|
|
80
|
+
|
|
81
|
+
Create GitHub issues for all tasks with automatic parallel processing:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Create task issues (automatically chooses sequential/parallel)
|
|
85
|
+
task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$ARGUMENTS" "$epic_number")
|
|
86
|
+
|
|
87
|
+
echo "✅ Task issues created. Mapping: $task_mapping_file"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This script handles:
|
|
91
|
+
- ✅ Automatic strategy selection (sequential < 5 tasks, parallel ≥ 5 tasks)
|
|
92
|
+
- ✅ Sub-issues support (if gh-sub-issue extension available)
|
|
93
|
+
- ✅ Parallel batch processing for large task sets
|
|
94
|
+
- ✅ Proper labeling with `task,epic:$ARGUMENTS`
|
|
95
|
+
- ✅ Error handling and partial failure recovery
|
|
96
|
+
- ✅ Progress reporting and result consolidation
|
|
97
|
+
|
|
98
|
+
**Environment Configuration:**
|
|
99
|
+
```bash
|
|
100
|
+
# Optional: Set custom parallel threshold
|
|
101
|
+
export AUTOPM_PARALLEL_THRESHOLD=3 # Default: 5
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 4. Update Task References
|
|
105
|
+
|
|
106
|
+
Update all task dependencies and rename files to use GitHub issue numbers:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Update references and rename files
|
|
110
|
+
bash .claude/scripts/pm/epic-sync/update-references.sh "$ARGUMENTS" "$task_mapping_file"
|
|
111
|
+
|
|
112
|
+
echo "✅ Task references updated and files renamed"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This script handles:
|
|
116
|
+
- ✅ ID mapping generation (001 → real issue numbers)
|
|
117
|
+
- ✅ Dependency reference updates (`depends_on`, `conflicts_with`)
|
|
118
|
+
- ✅ File renaming (001.md → 123.md)
|
|
119
|
+
- ✅ Frontmatter updates with GitHub URLs
|
|
120
|
+
- ✅ Timestamp updates
|
|
121
|
+
- ✅ Cleanup of old-format files
|
|
122
|
+
|
|
123
|
+
### 5. Update Epic File
|
|
124
|
+
|
|
125
|
+
Update the epic.md file with GitHub information and real task IDs:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Update epic file with GitHub info and real task IDs
|
|
129
|
+
bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$ARGUMENTS" "$epic_number"
|
|
130
|
+
|
|
131
|
+
echo "✅ Epic file updated with GitHub information"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
This script handles:
|
|
135
|
+
- ✅ Epic frontmatter updates (GitHub URL, timestamp)
|
|
136
|
+
- ✅ Tasks Created section replacement with real issue numbers
|
|
137
|
+
- ✅ Statistics recalculation
|
|
138
|
+
- ✅ GitHub mapping file creation
|
|
139
|
+
- ✅ Content structure preservation
|
|
140
|
+
|
|
141
|
+
### 6. Create Development Branch
|
|
142
|
+
|
|
143
|
+
Follow `/rules/git-strategy.md` to create development branch:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Ensure main is current
|
|
147
|
+
git checkout main
|
|
148
|
+
git pull origin main
|
|
149
|
+
|
|
150
|
+
# Create branch for epic
|
|
151
|
+
git checkout -b epic/$ARGUMENTS
|
|
152
|
+
git push -u origin epic/$ARGUMENTS
|
|
153
|
+
|
|
154
|
+
echo "✅ Created branch: epic/$ARGUMENTS"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Complete Workflow Example
|
|
158
|
+
|
|
159
|
+
Here's the complete modular epic sync workflow:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
#!/bin/bash
|
|
163
|
+
# Complete epic sync using modular scripts
|
|
164
|
+
|
|
165
|
+
EPIC_NAME="$ARGUMENTS"
|
|
166
|
+
|
|
167
|
+
echo "🚀 Starting modular epic sync for: $EPIC_NAME"
|
|
168
|
+
|
|
169
|
+
# Step 1: Create epic issue
|
|
170
|
+
echo "📝 Creating epic issue..."
|
|
171
|
+
epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME")
|
|
172
|
+
|
|
173
|
+
if [[ -z "$epic_number" ]]; then
|
|
174
|
+
echo "❌ Failed to create epic issue"
|
|
175
|
+
exit 1
|
|
176
|
+
fi
|
|
177
|
+
|
|
178
|
+
echo "✅ Epic issue created: #$epic_number"
|
|
179
|
+
|
|
180
|
+
# Step 2: Create task issues
|
|
181
|
+
echo "📋 Creating task issues..."
|
|
182
|
+
task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$EPIC_NAME" "$epic_number")
|
|
183
|
+
|
|
184
|
+
if [[ ! -f "$task_mapping_file" ]]; then
|
|
185
|
+
echo "❌ Failed to create task issues"
|
|
186
|
+
exit 1
|
|
187
|
+
fi
|
|
188
|
+
|
|
189
|
+
task_count=$(wc -l < "$task_mapping_file")
|
|
190
|
+
echo "✅ Created $task_count task issues"
|
|
191
|
+
|
|
192
|
+
# Step 3: Update references
|
|
193
|
+
echo "🔗 Updating task references..."
|
|
194
|
+
bash .claude/scripts/pm/epic-sync/update-references.sh "$EPIC_NAME" "$task_mapping_file"
|
|
195
|
+
|
|
196
|
+
echo "✅ Task references updated"
|
|
197
|
+
|
|
198
|
+
# Step 4: Update epic file
|
|
199
|
+
echo "📄 Updating epic file..."
|
|
200
|
+
bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$EPIC_NAME" "$epic_number"
|
|
201
|
+
|
|
202
|
+
echo "✅ Epic file updated"
|
|
203
|
+
|
|
204
|
+
# Step 5: Create branch
|
|
205
|
+
echo "🌿 Creating development branch..."
|
|
206
|
+
git checkout main
|
|
207
|
+
git pull origin main
|
|
208
|
+
git checkout -b epic/$EPIC_NAME
|
|
209
|
+
git push -u origin epic/$EPIC_NAME
|
|
210
|
+
|
|
211
|
+
echo "✅ Created branch: epic/$EPIC_NAME"
|
|
212
|
+
|
|
213
|
+
# Get repository info for final output
|
|
214
|
+
repo=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
215
|
+
|
|
216
|
+
# Final output
|
|
217
|
+
echo ""
|
|
218
|
+
echo "🎉 Epic sync completed successfully!"
|
|
219
|
+
echo ""
|
|
220
|
+
echo "📊 Summary:"
|
|
221
|
+
echo " Epic: #$epic_number - $EPIC_NAME"
|
|
222
|
+
echo " Tasks: $task_count sub-issues created"
|
|
223
|
+
echo " Branch: epic/$EPIC_NAME"
|
|
224
|
+
echo ""
|
|
225
|
+
echo "🔗 Links:"
|
|
226
|
+
echo " Epic: https://github.com/$repo/issues/$epic_number"
|
|
227
|
+
echo " Branch: https://github.com/$repo/tree/epic/$EPIC_NAME"
|
|
228
|
+
echo ""
|
|
229
|
+
echo "📋 Next steps:"
|
|
230
|
+
echo " - Start parallel execution: /pm:epic-start $EPIC_NAME"
|
|
231
|
+
echo " - Or work on single issue: /pm:issue-start <issue_number>"
|
|
232
|
+
echo ""
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Benefits of Modular Approach
|
|
236
|
+
|
|
237
|
+
### ✅ **Reliability**
|
|
238
|
+
- Each script handles one specific responsibility
|
|
239
|
+
- Comprehensive error handling and validation
|
|
240
|
+
- Atomic operations with proper rollback
|
|
241
|
+
|
|
242
|
+
### ✅ **Performance**
|
|
243
|
+
- Automatic parallel processing for large task sets
|
|
244
|
+
- Configurable thresholds via environment variables
|
|
245
|
+
- Background job management for concurrent operations
|
|
246
|
+
|
|
247
|
+
### ✅ **Maintainability**
|
|
248
|
+
- Modular scripts are easier to test and debug
|
|
249
|
+
- Shared libraries ensure consistency
|
|
250
|
+
- Clear separation of concerns
|
|
251
|
+
|
|
252
|
+
### ✅ **Testability**
|
|
253
|
+
- Each script can be tested independently
|
|
254
|
+
- Mock-friendly interfaces
|
|
255
|
+
- TDD-driven development approach
|
|
256
|
+
|
|
257
|
+
### ✅ **Flexibility**
|
|
258
|
+
- Scripts can be used independently
|
|
259
|
+
- Easy to extend or modify individual components
|
|
260
|
+
- Environment-based configuration
|
|
261
|
+
|
|
262
|
+
## Error Handling
|
|
263
|
+
|
|
264
|
+
Each modular script includes comprehensive error handling:
|
|
265
|
+
|
|
266
|
+
- **Validation**: Input validation before processing
|
|
267
|
+
- **Authentication**: GitHub CLI authentication checks
|
|
268
|
+
- **Repository Protection**: Automatic template repository detection
|
|
269
|
+
- **Partial Failures**: Graceful handling of partial operations
|
|
270
|
+
- **Logging**: Detailed logging with configurable levels
|
|
271
|
+
- **Cleanup**: Automatic temporary file cleanup
|
|
272
|
+
|
|
273
|
+
## Configuration Options
|
|
274
|
+
|
|
275
|
+
### Environment Variables
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Parallel processing threshold
|
|
279
|
+
export AUTOPM_PARALLEL_THRESHOLD=5 # Default: 5
|
|
280
|
+
|
|
281
|
+
# Logging level (0=DEBUG, 1=INFO, 2=WARNING, 3=ERROR)
|
|
282
|
+
export AUTOPM_LOG_LEVEL=1 # Default: 1 (INFO)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### GitHub Extensions
|
|
286
|
+
|
|
287
|
+
The scripts automatically detect and use GitHub CLI extensions:
|
|
288
|
+
|
|
289
|
+
- **gh-sub-issue**: For hierarchical issue management
|
|
290
|
+
- Fallback to regular issues if extension not available
|
|
291
|
+
|
|
292
|
+
## Troubleshooting
|
|
293
|
+
|
|
294
|
+
### Common Issues
|
|
295
|
+
|
|
296
|
+
1. **"No tasks to sync"**
|
|
297
|
+
```bash
|
|
298
|
+
# Generate tasks first
|
|
299
|
+
/pm:epic-decompose $ARGUMENTS
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
2. **"GitHub CLI not authenticated"**
|
|
303
|
+
```bash
|
|
304
|
+
gh auth login
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
3. **"Template repository detected"**
|
|
308
|
+
```bash
|
|
309
|
+
git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
4. **Partial task creation failure**
|
|
313
|
+
- Scripts handle partial failures gracefully
|
|
314
|
+
- Check logs for specific task errors
|
|
315
|
+
- Retry individual scripts as needed
|
|
316
|
+
|
|
317
|
+
### Script Debugging
|
|
318
|
+
|
|
319
|
+
Enable debug logging for detailed troubleshooting:
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
export AUTOPM_LOG_LEVEL=0 # Enable debug logging
|
|
323
|
+
bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME"
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
## Migration from Legacy Epic Sync
|
|
327
|
+
|
|
328
|
+
The modular version is fully backward compatible. To migrate:
|
|
329
|
+
|
|
330
|
+
1. **No changes required** - existing commands work unchanged
|
|
331
|
+
2. **Optional**: Use individual scripts for fine-grained control
|
|
332
|
+
3. **Optional**: Configure environment variables for optimization
|
|
333
|
+
|
|
334
|
+
Legacy workflows continue to work, but benefit from improved reliability and performance.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
*This modular implementation provides the same functionality as the original epic-sync with improved reliability, testability, and maintainability.*
|