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,486 @@
|
|
|
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
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
The simplest way to sync an epic to GitHub:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Full automated sync (recommended)
|
|
20
|
+
bash .claude/scripts/pm/epic-sync.sh "$ARGUMENTS"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This orchestration script automatically runs all 4 steps:
|
|
24
|
+
1. Creates epic issue
|
|
25
|
+
2. Creates task issues
|
|
26
|
+
3. Renames files to issue numbers
|
|
27
|
+
4. Updates all references
|
|
28
|
+
|
|
29
|
+
## Required Documentation Access
|
|
30
|
+
|
|
31
|
+
**MANDATORY:** Before project management workflows, query Context7 for best practices:
|
|
32
|
+
|
|
33
|
+
**Documentation Queries:**
|
|
34
|
+
- `mcp://context7/agile/epic-management` - epic management best practices
|
|
35
|
+
- `mcp://context7/project-management/issue-tracking` - issue tracking best practices
|
|
36
|
+
- `mcp://context7/agile/task-breakdown` - task breakdown best practices
|
|
37
|
+
- `mcp://context7/project-management/workflow` - workflow best practices
|
|
38
|
+
|
|
39
|
+
**Why This is Required:**
|
|
40
|
+
- Ensures adherence to current industry standards and best practices
|
|
41
|
+
- Prevents outdated or incorrect implementation patterns
|
|
42
|
+
- Provides access to latest framework/tool documentation
|
|
43
|
+
- Reduces errors from stale knowledge or assumptions
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Quick Check
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Check for single epic or multi-epic structure
|
|
50
|
+
if [ -f ".claude/epics/$ARGUMENTS/epic.md" ]; then
|
|
51
|
+
echo "Single epic mode detected"
|
|
52
|
+
# Count task files
|
|
53
|
+
ls .claude/epics/$ARGUMENTS/*.md 2>/dev/null | grep -v epic.md | wc -l
|
|
54
|
+
elif [ -d ".claude/epics/$ARGUMENTS" ] && ls .claude/epics/$ARGUMENTS/*/epic.md 2>/dev/null | head -1; then
|
|
55
|
+
echo "Multi-epic mode detected (from epic-split)"
|
|
56
|
+
# Count task files in all subdirectories
|
|
57
|
+
find .claude/epics/$ARGUMENTS -name "*.md" ! -name "epic.md" ! -name "meta.yaml" | wc -l
|
|
58
|
+
else
|
|
59
|
+
echo "❌ Epic not found. Run: /pm:prd-parse $ARGUMENTS or /pm:epic-split $ARGUMENTS"
|
|
60
|
+
fi
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If no tasks found: "❌ No tasks to sync. Run: /pm:epic-decompose $ARGUMENTS"
|
|
64
|
+
|
|
65
|
+
## Instructions
|
|
66
|
+
|
|
67
|
+
**⚡ Quick Command:**
|
|
68
|
+
```bash
|
|
69
|
+
bash .claude/scripts/pm/epic-sync.sh "$ARGUMENTS"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The epic sync process is modularized into 4 specialized scripts that handle different aspects of the synchronization. Each script is designed for reliability, testability, and maintainability.
|
|
73
|
+
|
|
74
|
+
The orchestration script (`.claude/scripts/pm/epic-sync.sh`) automatically runs all 4 steps in sequence. The individual scripts are documented below for reference and debugging.
|
|
75
|
+
|
|
76
|
+
### Processing Mode Detection
|
|
77
|
+
|
|
78
|
+
**Single Epic Mode:**
|
|
79
|
+
- Process `.claude/epics/$ARGUMENTS/epic.md` and its tasks
|
|
80
|
+
- Create one epic issue with all tasks linked
|
|
81
|
+
|
|
82
|
+
**Multi-Epic Mode (from epic-split):**
|
|
83
|
+
- Process each subdirectory separately
|
|
84
|
+
- Create separate epic issues for each subdirectory
|
|
85
|
+
- Maintain epic dependencies as specified in meta.yaml
|
|
86
|
+
- Show progress for each epic being synced
|
|
87
|
+
|
|
88
|
+
### 1. Repository Protection Check
|
|
89
|
+
|
|
90
|
+
This is handled automatically by our modular scripts, but you can run the check manually:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Check repository protection (built into all scripts)
|
|
94
|
+
bash .claude/scripts/lib/github-utils.sh
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
The scripts will automatically:
|
|
98
|
+
- ✅ Verify GitHub CLI authentication
|
|
99
|
+
- ✅ Check repository protection against template repos
|
|
100
|
+
- ✅ Validate epic structure and inputs
|
|
101
|
+
|
|
102
|
+
### 2. Create Epic Issue
|
|
103
|
+
|
|
104
|
+
Create the main GitHub issue for the epic:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Create epic issue with proper stats and labels
|
|
108
|
+
epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$ARGUMENTS")
|
|
109
|
+
|
|
110
|
+
echo "✅ Epic issue created: #$epic_number"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
This script handles:
|
|
114
|
+
- ✅ Frontmatter stripping and content processing
|
|
115
|
+
- ✅ Epic type detection (bug vs feature)
|
|
116
|
+
- ✅ Statistics calculation (tasks, parallel/sequential breakdown)
|
|
117
|
+
- ✅ GitHub issue creation with proper labels
|
|
118
|
+
- ✅ Epic vs bug labeling based on content analysis
|
|
119
|
+
|
|
120
|
+
### 3. Create Task Issues
|
|
121
|
+
|
|
122
|
+
Create GitHub issues for all tasks with automatic parallel processing:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Create task issues (automatically chooses sequential/parallel)
|
|
126
|
+
task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$ARGUMENTS" "$epic_number")
|
|
127
|
+
|
|
128
|
+
echo "✅ Task issues created. Mapping: $task_mapping_file"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
This script handles:
|
|
132
|
+
- ✅ Automatic strategy selection (sequential < 5 tasks, parallel ≥ 5 tasks)
|
|
133
|
+
- ✅ Sub-issues support (if gh-sub-issue extension available)
|
|
134
|
+
- ✅ Parallel batch processing for large task sets
|
|
135
|
+
- ✅ Proper labeling with `task,epic:$ARGUMENTS`
|
|
136
|
+
- ✅ Error handling and partial failure recovery
|
|
137
|
+
- ✅ Progress reporting and result consolidation
|
|
138
|
+
|
|
139
|
+
**Environment Configuration:**
|
|
140
|
+
```bash
|
|
141
|
+
# Optional: Set custom parallel threshold
|
|
142
|
+
export AUTOPM_PARALLEL_THRESHOLD=3 # Default: 5
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 4. Update Task References
|
|
146
|
+
|
|
147
|
+
Update all task dependencies and rename files to use GitHub issue numbers:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Update references and rename files
|
|
151
|
+
bash .claude/scripts/pm/epic-sync/update-references.sh "$ARGUMENTS" "$task_mapping_file"
|
|
152
|
+
|
|
153
|
+
echo "✅ Task references updated and files renamed"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
This script handles:
|
|
157
|
+
- ✅ ID mapping generation (001 → real issue numbers)
|
|
158
|
+
- ✅ Dependency reference updates (`depends_on`, `conflicts_with`)
|
|
159
|
+
- ✅ File renaming (001.md → 123.md)
|
|
160
|
+
- ✅ Frontmatter updates with GitHub URLs
|
|
161
|
+
- ✅ Timestamp updates
|
|
162
|
+
- ✅ Cleanup of old-format files
|
|
163
|
+
|
|
164
|
+
### 5. Update Epic File
|
|
165
|
+
|
|
166
|
+
Update the epic.md file with GitHub information and real task IDs:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Update epic file with GitHub info and real task IDs
|
|
170
|
+
bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$ARGUMENTS" "$epic_number"
|
|
171
|
+
|
|
172
|
+
echo "✅ Epic file updated with GitHub information"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
This script handles:
|
|
176
|
+
- ✅ Epic frontmatter updates (GitHub URL, timestamp)
|
|
177
|
+
- ✅ Tasks Created section replacement with real issue numbers
|
|
178
|
+
- ✅ Statistics recalculation
|
|
179
|
+
- ✅ GitHub mapping file creation
|
|
180
|
+
- ✅ Content structure preservation
|
|
181
|
+
|
|
182
|
+
### 6. Create Development Branch
|
|
183
|
+
|
|
184
|
+
Follow `/rules/git-strategy.md` to create development branch:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Ensure main is current
|
|
188
|
+
git checkout main
|
|
189
|
+
git pull origin main
|
|
190
|
+
|
|
191
|
+
# Create branch for epic
|
|
192
|
+
git checkout -b epic/$ARGUMENTS
|
|
193
|
+
git push -u origin epic/$ARGUMENTS
|
|
194
|
+
|
|
195
|
+
echo "✅ Created branch: epic/$ARGUMENTS"
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Complete Workflow Examples
|
|
199
|
+
|
|
200
|
+
### Single Epic Workflow (Automated - Recommended)
|
|
201
|
+
|
|
202
|
+
The **easiest way** is to use the orchestration script that handles everything:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# One command does it all!
|
|
206
|
+
bash .claude/scripts/pm/epic-sync.sh "$ARGUMENTS"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
This automatically runs all 4 steps and provides a complete summary.
|
|
210
|
+
|
|
211
|
+
### Single Epic Workflow (Manual Steps)
|
|
212
|
+
|
|
213
|
+
If you need to run steps individually for debugging:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
#!/bin/bash
|
|
217
|
+
# Complete epic sync using modular scripts (manual)
|
|
218
|
+
|
|
219
|
+
EPIC_NAME="$ARGUMENTS"
|
|
220
|
+
|
|
221
|
+
echo "🚀 Starting modular epic sync for: $EPIC_NAME"
|
|
222
|
+
|
|
223
|
+
# Step 1: Create epic issue
|
|
224
|
+
echo "📝 Creating epic issue..."
|
|
225
|
+
epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME")
|
|
226
|
+
|
|
227
|
+
if [[ -z "$epic_number" ]]; then
|
|
228
|
+
echo "❌ Failed to create epic issue"
|
|
229
|
+
exit 1
|
|
230
|
+
fi
|
|
231
|
+
|
|
232
|
+
echo "✅ Epic issue created: #$epic_number"
|
|
233
|
+
|
|
234
|
+
# Step 2: Create task issues
|
|
235
|
+
echo "📋 Creating task issues..."
|
|
236
|
+
task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$EPIC_NAME" "$epic_number")
|
|
237
|
+
|
|
238
|
+
if [[ ! -f "$task_mapping_file" ]]; then
|
|
239
|
+
echo "❌ Failed to create task issues"
|
|
240
|
+
exit 1
|
|
241
|
+
fi
|
|
242
|
+
|
|
243
|
+
task_count=$(wc -l < "$task_mapping_file")
|
|
244
|
+
echo "✅ Created $task_count task issues"
|
|
245
|
+
|
|
246
|
+
# Step 3: Update references
|
|
247
|
+
echo "🔗 Updating task references..."
|
|
248
|
+
bash .claude/scripts/pm/epic-sync/update-references.sh "$EPIC_NAME" "$task_mapping_file"
|
|
249
|
+
|
|
250
|
+
echo "✅ Task references updated"
|
|
251
|
+
|
|
252
|
+
# Step 4: Update epic file
|
|
253
|
+
echo "📄 Updating epic file..."
|
|
254
|
+
bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$EPIC_NAME" "$epic_number"
|
|
255
|
+
|
|
256
|
+
echo "✅ Epic file updated"
|
|
257
|
+
|
|
258
|
+
# Step 5: Create branch
|
|
259
|
+
echo "🌿 Creating development branch..."
|
|
260
|
+
git checkout main
|
|
261
|
+
git pull origin main
|
|
262
|
+
git checkout -b epic/$EPIC_NAME
|
|
263
|
+
git push -u origin epic/$EPIC_NAME
|
|
264
|
+
|
|
265
|
+
echo "✅ Created branch: epic/$EPIC_NAME"
|
|
266
|
+
|
|
267
|
+
# Get repository info for final output
|
|
268
|
+
repo=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
269
|
+
|
|
270
|
+
# Final output
|
|
271
|
+
echo ""
|
|
272
|
+
echo "🎉 Epic sync completed successfully!"
|
|
273
|
+
echo ""
|
|
274
|
+
echo "📊 Summary:"
|
|
275
|
+
echo " Epic: #$epic_number - $EPIC_NAME"
|
|
276
|
+
echo " Tasks: $task_count sub-issues created"
|
|
277
|
+
echo " Branch: epic/$EPIC_NAME"
|
|
278
|
+
echo ""
|
|
279
|
+
echo "🔗 Links:"
|
|
280
|
+
echo " Epic: https://github.com/$repo/issues/$epic_number"
|
|
281
|
+
echo " Branch: https://github.com/$repo/tree/epic/$EPIC_NAME"
|
|
282
|
+
echo ""
|
|
283
|
+
echo "📋 Next steps:"
|
|
284
|
+
echo " - Start parallel execution: /pm:epic-start $EPIC_NAME"
|
|
285
|
+
echo " - Or work on single issue: /pm:issue-start <issue_number>"
|
|
286
|
+
echo ""
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Multi-Epic Workflow (from epic-split)
|
|
290
|
+
|
|
291
|
+
Here's the workflow for syncing multiple epics created by epic-split:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
#!/bin/bash
|
|
295
|
+
# Sync multiple epics from split structure
|
|
296
|
+
|
|
297
|
+
FEATURE_NAME="$ARGUMENTS"
|
|
298
|
+
EPICS_DIR=".claude/epics/$FEATURE_NAME"
|
|
299
|
+
|
|
300
|
+
echo "🚀 Starting multi-epic sync for: $FEATURE_NAME"
|
|
301
|
+
|
|
302
|
+
# Find all epic subdirectories
|
|
303
|
+
epic_dirs=$(find "$EPICS_DIR" -maxdepth 1 -type d -name "[0-9]*-*" | sort)
|
|
304
|
+
epic_count=$(echo "$epic_dirs" | wc -l)
|
|
305
|
+
|
|
306
|
+
echo "📦 Found $epic_count epics to sync"
|
|
307
|
+
|
|
308
|
+
# Track all created epic issues
|
|
309
|
+
all_epic_numbers=""
|
|
310
|
+
total_tasks=0
|
|
311
|
+
|
|
312
|
+
# Process each epic
|
|
313
|
+
for epic_dir in $epic_dirs; do
|
|
314
|
+
epic_name=$(basename "$epic_dir")
|
|
315
|
+
echo ""
|
|
316
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
317
|
+
echo "📂 Processing: $epic_name"
|
|
318
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
319
|
+
|
|
320
|
+
# Step 1: Create epic issue
|
|
321
|
+
echo "📝 Creating epic issue..."
|
|
322
|
+
epic_number=$(bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$FEATURE_NAME/$epic_name")
|
|
323
|
+
|
|
324
|
+
if [[ -z "$epic_number" ]]; then
|
|
325
|
+
echo "⚠️ Failed to create epic issue for $epic_name"
|
|
326
|
+
continue
|
|
327
|
+
fi
|
|
328
|
+
|
|
329
|
+
all_epic_numbers="$all_epic_numbers $epic_number"
|
|
330
|
+
echo "✅ Epic issue created: #$epic_number"
|
|
331
|
+
|
|
332
|
+
# Step 2: Create task issues for this epic
|
|
333
|
+
echo "📋 Creating task issues..."
|
|
334
|
+
task_mapping_file=$(bash .claude/scripts/pm/epic-sync/create-task-issues.sh "$FEATURE_NAME/$epic_name" "$epic_number")
|
|
335
|
+
|
|
336
|
+
if [[ -f "$task_mapping_file" ]]; then
|
|
337
|
+
task_count=$(wc -l < "$task_mapping_file")
|
|
338
|
+
total_tasks=$((total_tasks + task_count))
|
|
339
|
+
echo "✅ Created $task_count task issues"
|
|
340
|
+
|
|
341
|
+
# Step 3: Update references
|
|
342
|
+
echo "🔗 Updating task references..."
|
|
343
|
+
bash .claude/scripts/pm/epic-sync/update-references.sh "$FEATURE_NAME/$epic_name" "$task_mapping_file"
|
|
344
|
+
|
|
345
|
+
# Step 4: Update epic file
|
|
346
|
+
bash .claude/scripts/pm/epic-sync/update-epic-file.sh "$FEATURE_NAME/$epic_name" "$epic_number"
|
|
347
|
+
fi
|
|
348
|
+
done
|
|
349
|
+
|
|
350
|
+
# Create meta-branch for all epics
|
|
351
|
+
echo ""
|
|
352
|
+
echo "🌿 Creating meta-branch for feature..."
|
|
353
|
+
git checkout main
|
|
354
|
+
git pull origin main
|
|
355
|
+
git checkout -b feature/$FEATURE_NAME
|
|
356
|
+
git push -u origin feature/$FEATURE_NAME
|
|
357
|
+
|
|
358
|
+
# Final summary
|
|
359
|
+
repo=$(gh repo view --json nameWithOwner -q .nameWithOwner)
|
|
360
|
+
|
|
361
|
+
echo ""
|
|
362
|
+
echo "🎉 Multi-epic sync completed!"
|
|
363
|
+
echo ""
|
|
364
|
+
echo "📊 Summary:"
|
|
365
|
+
echo " Feature: $FEATURE_NAME"
|
|
366
|
+
echo " Epics created: $epic_count"
|
|
367
|
+
echo " Epic issues:$all_epic_numbers"
|
|
368
|
+
echo " Total tasks: $total_tasks"
|
|
369
|
+
echo " Branch: feature/$FEATURE_NAME"
|
|
370
|
+
echo ""
|
|
371
|
+
echo "🔗 Links:"
|
|
372
|
+
for epic_num in $all_epic_numbers; do
|
|
373
|
+
echo " Epic #$epic_num: https://github.com/$repo/issues/$epic_num"
|
|
374
|
+
done
|
|
375
|
+
echo " Branch: https://github.com/$repo/tree/feature/$FEATURE_NAME"
|
|
376
|
+
echo ""
|
|
377
|
+
echo "📋 Next steps:"
|
|
378
|
+
echo " - Work on P0 epics first (infrastructure, auth backend)"
|
|
379
|
+
echo " - Start specific epic: /pm:issue-start <issue_number>"
|
|
380
|
+
echo ""
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Benefits of Modular Approach
|
|
384
|
+
|
|
385
|
+
### ✅ **Reliability**
|
|
386
|
+
- Each script handles one specific responsibility
|
|
387
|
+
- Comprehensive error handling and validation
|
|
388
|
+
- Atomic operations with proper rollback
|
|
389
|
+
|
|
390
|
+
### ✅ **Performance**
|
|
391
|
+
- Automatic parallel processing for large task sets
|
|
392
|
+
- Configurable thresholds via environment variables
|
|
393
|
+
- Background job management for concurrent operations
|
|
394
|
+
|
|
395
|
+
### ✅ **Maintainability**
|
|
396
|
+
- Modular scripts are easier to test and debug
|
|
397
|
+
- Shared libraries ensure consistency
|
|
398
|
+
- Clear separation of concerns
|
|
399
|
+
|
|
400
|
+
### ✅ **Testability**
|
|
401
|
+
- Each script can be tested independently
|
|
402
|
+
- Mock-friendly interfaces
|
|
403
|
+
- TDD-driven development approach
|
|
404
|
+
|
|
405
|
+
### ✅ **Flexibility**
|
|
406
|
+
- Scripts can be used independently
|
|
407
|
+
- Easy to extend or modify individual components
|
|
408
|
+
- Environment-based configuration
|
|
409
|
+
|
|
410
|
+
## Error Handling
|
|
411
|
+
|
|
412
|
+
Each modular script includes comprehensive error handling:
|
|
413
|
+
|
|
414
|
+
- **Validation**: Input validation before processing
|
|
415
|
+
- **Authentication**: GitHub CLI authentication checks
|
|
416
|
+
- **Repository Protection**: Automatic template repository detection
|
|
417
|
+
- **Partial Failures**: Graceful handling of partial operations
|
|
418
|
+
- **Logging**: Detailed logging with configurable levels
|
|
419
|
+
- **Cleanup**: Automatic temporary file cleanup
|
|
420
|
+
|
|
421
|
+
## Configuration Options
|
|
422
|
+
|
|
423
|
+
### Environment Variables
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
# Parallel processing threshold
|
|
427
|
+
export AUTOPM_PARALLEL_THRESHOLD=5 # Default: 5
|
|
428
|
+
|
|
429
|
+
# Logging level (0=DEBUG, 1=INFO, 2=WARNING, 3=ERROR)
|
|
430
|
+
export AUTOPM_LOG_LEVEL=1 # Default: 1 (INFO)
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### GitHub Extensions
|
|
434
|
+
|
|
435
|
+
The scripts automatically detect and use GitHub CLI extensions:
|
|
436
|
+
|
|
437
|
+
- **gh-sub-issue**: For hierarchical issue management
|
|
438
|
+
- Fallback to regular issues if extension not available
|
|
439
|
+
|
|
440
|
+
## Troubleshooting
|
|
441
|
+
|
|
442
|
+
### Common Issues
|
|
443
|
+
|
|
444
|
+
1. **"No tasks to sync"**
|
|
445
|
+
```bash
|
|
446
|
+
# Generate tasks first
|
|
447
|
+
/pm:epic-decompose $ARGUMENTS
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
2. **"GitHub CLI not authenticated"**
|
|
451
|
+
```bash
|
|
452
|
+
gh auth login
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
3. **"Template repository detected"**
|
|
456
|
+
```bash
|
|
457
|
+
git remote set-url origin https://github.com/YOUR_USERNAME/YOUR_REPO.git
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
4. **Partial task creation failure**
|
|
461
|
+
- Scripts handle partial failures gracefully
|
|
462
|
+
- Check logs for specific task errors
|
|
463
|
+
- Retry individual scripts as needed
|
|
464
|
+
|
|
465
|
+
### Script Debugging
|
|
466
|
+
|
|
467
|
+
Enable debug logging for detailed troubleshooting:
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
export AUTOPM_LOG_LEVEL=0 # Enable debug logging
|
|
471
|
+
bash .claude/scripts/pm/epic-sync/create-epic-issue.sh "$EPIC_NAME"
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
## Migration from Legacy Epic Sync
|
|
475
|
+
|
|
476
|
+
The modular version is fully backward compatible. To migrate:
|
|
477
|
+
|
|
478
|
+
1. **No changes required** - existing commands work unchanged
|
|
479
|
+
2. **Optional**: Use individual scripts for fine-grained control
|
|
480
|
+
3. **Optional**: Configure environment variables for optimization
|
|
481
|
+
|
|
482
|
+
Legacy workflows continue to work, but benefit from improved reliability and performance.
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
*This modular implementation provides the same functionality as the original epic-sync with improved reliability, testability, and maintainability.*
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Task, Read, Write, Edit, MultiEdit, Bash, Glob, Grep
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# GitHub Workflow Creation
|
|
6
|
+
|
|
7
|
+
Creates GitHub Actions workflows for CI/CD pipelines.
|
|
8
|
+
|
|
9
|
+
**Usage**: `/github:workflow-create [--type=ci|cd|release] [--stack=node|python|dotnet] [--deploy-to=aws|azure|gcp]`
|
|
10
|
+
|
|
11
|
+
## Required Documentation Access
|
|
12
|
+
|
|
13
|
+
**MANDATORY:** Before creating GitHub workflows, query Context7 for best practices:
|
|
14
|
+
|
|
15
|
+
**Documentation Queries:**
|
|
16
|
+
- `mcp://context7/github/workflows` - workflows best practices
|
|
17
|
+
- `mcp://context7/ci-cd/github-actions` - github actions best practices
|
|
18
|
+
- `mcp://context7/devops/pipeline-design` - pipeline design best practices
|
|
19
|
+
- `mcp://context7/ci-cd/best-practices` - best practices 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
|
+
**Example**: `/github:workflow-create --type=ci --stack=node --deploy-to=aws`
|
|
29
|
+
|
|
30
|
+
**What this does**:
|
|
31
|
+
- Creates .github/workflows directory structure
|
|
32
|
+
- Generates workflow YAML with best practices
|
|
33
|
+
- Configures secrets and environment variables
|
|
34
|
+
- Sets up caching for dependencies
|
|
35
|
+
- Implements matrix testing strategies
|
|
36
|
+
- Adds deployment stages if needed
|
|
37
|
+
|
|
38
|
+
Use the github-operations-specialist agent to create comprehensive GitHub Actions workflows.
|
|
39
|
+
|
|
40
|
+
**CRITICAL INSTRUCTION FOR AGENT:**
|
|
41
|
+
The generated workflow MUST adhere to the Kubernetes-native CI/CD strategy for `containerd` runners.
|
|
42
|
+
Refer to the rules in `.claude/rules/ci-cd-kubernetes-strategy.md` for specific implementation details (use `kubectl` and `nerdctl`, not Docker services).
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `node .claude/scripts/pm/help.js` 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,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash, Read, Write, LS
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Import
|
|
6
|
+
|
|
7
|
+
Import existing GitHub issues into the PM system.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
```
|
|
11
|
+
/pm:import [--epic <epic_name>] [--label <label>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Options:
|
|
15
|
+
- `--epic` - Import into specific epic
|
|
16
|
+
- `--label` - Import only issues with specific label
|
|
17
|
+
- No args - Import all untracked issues
|
|
18
|
+
|
|
19
|
+
## Required Documentation Access
|
|
20
|
+
|
|
21
|
+
**MANDATORY:** Before project management workflows, query Context7 for best practices:
|
|
22
|
+
|
|
23
|
+
**Documentation Queries:**
|
|
24
|
+
- `mcp://context7/agile/epic-management` - epic management best practices
|
|
25
|
+
- `mcp://context7/project-management/issue-tracking` - issue tracking best practices
|
|
26
|
+
- `mcp://context7/agile/task-breakdown` - task breakdown best practices
|
|
27
|
+
- `mcp://context7/project-management/workflow` - workflow best practices
|
|
28
|
+
|
|
29
|
+
**Why This is Required:**
|
|
30
|
+
- Ensures adherence to current industry standards and best practices
|
|
31
|
+
- Prevents outdated or incorrect implementation patterns
|
|
32
|
+
- Provides access to latest framework/tool documentation
|
|
33
|
+
- Reduces errors from stale knowledge or assumptions
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Instructions
|
|
37
|
+
|
|
38
|
+
### 1. Fetch GitHub Issues
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Get issues based on filters
|
|
42
|
+
if [[ "$ARGUMENTS" == *"--label"* ]]; then
|
|
43
|
+
gh issue list --label "{label}" --limit 1000 --json number,title,body,state,labels,createdAt,updatedAt
|
|
44
|
+
else
|
|
45
|
+
gh issue list --limit 1000 --json number,title,body,state,labels,createdAt,updatedAt
|
|
46
|
+
fi
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 2. Identify Untracked Issues
|
|
50
|
+
|
|
51
|
+
For each GitHub issue:
|
|
52
|
+
- Search local files for matching github URL
|
|
53
|
+
- If not found, it's untracked and needs import
|
|
54
|
+
|
|
55
|
+
### 3. Categorize Issues
|
|
56
|
+
|
|
57
|
+
Based on labels:
|
|
58
|
+
- Issues with "epic" label → Create epic structure
|
|
59
|
+
- Issues with "task" label → Create task in appropriate epic
|
|
60
|
+
- Issues with "epic:{name}" label → Assign to that epic
|
|
61
|
+
- No PM labels → Ask user or create in "imported" epic
|
|
62
|
+
|
|
63
|
+
### 4. Create Local Structure
|
|
64
|
+
|
|
65
|
+
For each issue to import:
|
|
66
|
+
|
|
67
|
+
**If Epic:**
|
|
68
|
+
```bash
|
|
69
|
+
mkdir -p .claude/epics/{epic_name}
|
|
70
|
+
# Create epic.md with GitHub content and frontmatter
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**If Task:**
|
|
74
|
+
```bash
|
|
75
|
+
# Find next available number (001.md, 002.md, etc.)
|
|
76
|
+
# Create task file with GitHub content
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Set frontmatter:
|
|
80
|
+
```yaml
|
|
81
|
+
name: {issue_title}
|
|
82
|
+
status: {open|closed based on GitHub}
|
|
83
|
+
created: {GitHub createdAt}
|
|
84
|
+
updated: {GitHub updatedAt}
|
|
85
|
+
github: https://github.com/{org}/{repo}/issues/{number}
|
|
86
|
+
imported: true
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 5. Output
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
📥 Import Complete
|
|
93
|
+
|
|
94
|
+
Imported:
|
|
95
|
+
Epics: {count}
|
|
96
|
+
Tasks: {count}
|
|
97
|
+
|
|
98
|
+
Created structure:
|
|
99
|
+
{epic_1}/
|
|
100
|
+
- {count} tasks
|
|
101
|
+
{epic_2}/
|
|
102
|
+
- {count} tasks
|
|
103
|
+
|
|
104
|
+
Skipped (already tracked): {count}
|
|
105
|
+
|
|
106
|
+
Next steps:
|
|
107
|
+
Run /pm:status to see imported work
|
|
108
|
+
Run /pm:sync to ensure full synchronization
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Important Notes
|
|
112
|
+
|
|
113
|
+
Preserve all GitHub metadata in frontmatter.
|
|
114
|
+
Mark imported files with `imported: true` flag.
|
|
115
|
+
Don't overwrite existing local files.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run `node .claude/scripts/pm/in-progress.js` 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.
|