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,341 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nodejs-api-scaffold
|
|
3
|
+
category: nodejs
|
|
4
|
+
priority: medium
|
|
5
|
+
tags:
|
|
6
|
+
- nodejs
|
|
7
|
+
- express
|
|
8
|
+
- api
|
|
9
|
+
- typescript
|
|
10
|
+
- scaffold
|
|
11
|
+
mcpTools:
|
|
12
|
+
- context7
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Node.js API Scaffolding Command
|
|
16
|
+
|
|
17
|
+
Generate production-ready Node.js REST API with Context7-verified best practices.
|
|
18
|
+
|
|
19
|
+
## Required Documentation Access
|
|
20
|
+
|
|
21
|
+
**MANDATORY:** Before scaffolding, query Context7 for best practices:
|
|
22
|
+
|
|
23
|
+
**Documentation Queries:**
|
|
24
|
+
- `mcp://context7/nodejs/node` - Event loop, async iterators (for await...of), Symbol.asyncIterator, AbortSignal
|
|
25
|
+
- `mcp://context7/airbnb/javascript` - ES6 patterns, object shorthand, spread syntax
|
|
26
|
+
- `mcp://context7/agile/api-design` - REST API design patterns
|
|
27
|
+
- `mcp://context7/project-management/project-structure` - Node.js project organization
|
|
28
|
+
|
|
29
|
+
**Why This is Required:**
|
|
30
|
+
- Ensures use of latest Node.js async iteration patterns
|
|
31
|
+
- Applies ES6 best practices from Airbnb style guide
|
|
32
|
+
- Implements AbortSignal for request cancellation
|
|
33
|
+
- Uses Symbol.asyncIterator for custom iterators
|
|
34
|
+
- Follows modern JavaScript syntax patterns
|
|
35
|
+
- Optimizes event loop performance
|
|
36
|
+
|
|
37
|
+
## Purpose
|
|
38
|
+
|
|
39
|
+
Create a complete Node.js/Express API with TypeScript following Context7 best practices:
|
|
40
|
+
- Async/await with proper error handling
|
|
41
|
+
- ES6 syntax (object shorthand, spread, destructuring)
|
|
42
|
+
- Symbol.asyncIterator for streams
|
|
43
|
+
- AbortSignal for cancellation
|
|
44
|
+
- Middleware architecture
|
|
45
|
+
- Database integration (Prisma/TypeORM)
|
|
46
|
+
- JWT authentication
|
|
47
|
+
- Testing with Jest
|
|
48
|
+
- Docker containerization
|
|
49
|
+
|
|
50
|
+
## Usage
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
/nodejs:api-scaffold <project-name> [options]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Options
|
|
57
|
+
|
|
58
|
+
- `--framework <type>` - Framework (express, fastify, nestjs) [default: express]
|
|
59
|
+
- `--db <type>` - Database (postgresql, mongodb, mysql) [default: postgresql]
|
|
60
|
+
- `--orm <type>` - ORM (prisma, typeorm, sequelize) [default: prisma]
|
|
61
|
+
- `--auth` - Include JWT authentication [default: true]
|
|
62
|
+
- `--docker` - Include Dockerfile and docker-compose [default: true]
|
|
63
|
+
- `--tests` - Include Jest setup [default: true]
|
|
64
|
+
|
|
65
|
+
## Generated Structure
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
<project-name>/
|
|
69
|
+
├── src/
|
|
70
|
+
│ ├── index.ts # Entry point with ES6 exports
|
|
71
|
+
│ ├── app.ts # Express app configuration
|
|
72
|
+
│ ├── server.ts # Server startup
|
|
73
|
+
│ ├── config/
|
|
74
|
+
│ │ └── index.ts # Environment configuration
|
|
75
|
+
│ ├── controllers/
|
|
76
|
+
│ │ └── user.controller.ts # Request handlers
|
|
77
|
+
│ ├── services/
|
|
78
|
+
│ │ └── user.service.ts # Business logic
|
|
79
|
+
│ ├── models/
|
|
80
|
+
│ │ └── user.model.ts # Data models
|
|
81
|
+
│ ├── middlewares/
|
|
82
|
+
│ │ ├── auth.middleware.ts # JWT verification
|
|
83
|
+
│ │ ├── error.middleware.ts # Error handling
|
|
84
|
+
│ │ └── logger.middleware.ts # Logging
|
|
85
|
+
│ ├── routes/
|
|
86
|
+
│ │ └── user.routes.ts # API routes
|
|
87
|
+
│ ├── utils/
|
|
88
|
+
│ │ ├── asyncHandler.ts # Async wrapper
|
|
89
|
+
│ │ └── AppError.ts # Custom error class
|
|
90
|
+
│ └── types/
|
|
91
|
+
│ └── index.ts # TypeScript types
|
|
92
|
+
├── prisma/
|
|
93
|
+
│ └── schema.prisma # Database schema
|
|
94
|
+
├── tests/
|
|
95
|
+
│ ├── setup.ts # Test configuration
|
|
96
|
+
│ └── user.test.ts # API tests
|
|
97
|
+
├── package.json # npm configuration
|
|
98
|
+
├── tsconfig.json # TypeScript config
|
|
99
|
+
├── Dockerfile # Multi-stage build
|
|
100
|
+
├── docker-compose.yml # Development setup
|
|
101
|
+
└── README.md
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Implementation Steps
|
|
105
|
+
|
|
106
|
+
1. **Query Context7 Documentation** (MANDATORY FIRST STEP)
|
|
107
|
+
- Retrieve Node.js async iteration patterns (for await...of)
|
|
108
|
+
- Get ES6 syntax best practices (Airbnb guide)
|
|
109
|
+
- Access AbortSignal usage for cancellation
|
|
110
|
+
- Review Symbol.asyncIterator implementation
|
|
111
|
+
|
|
112
|
+
2. **Create Project Structure**
|
|
113
|
+
- Initialize npm/yarn project with TypeScript
|
|
114
|
+
- Setup tsconfig.json
|
|
115
|
+
- Install dependencies
|
|
116
|
+
|
|
117
|
+
3. **ES6 Configuration** (Using Context7 Airbnb patterns)
|
|
118
|
+
```typescript
|
|
119
|
+
// src/config/index.ts
|
|
120
|
+
// ES6 default parameters
|
|
121
|
+
export const config = {
|
|
122
|
+
port: process.env.PORT ?? 3000,
|
|
123
|
+
database: {
|
|
124
|
+
host: process.env.DB_HOST,
|
|
125
|
+
port: process.env.DB_PORT ?? 5432,
|
|
126
|
+
...getAdditionalConfig(), // ES6 spread
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
// Object method shorthand
|
|
131
|
+
export const logger = {
|
|
132
|
+
info(message: string) {
|
|
133
|
+
console.log(`[INFO] ${message}`);
|
|
134
|
+
},
|
|
135
|
+
error(message: string) {
|
|
136
|
+
console.error(`[ERROR] ${message}`);
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
4. **Async Iteration Setup** (Context7 Node.js patterns)
|
|
142
|
+
```typescript
|
|
143
|
+
// src/utils/streamProcessor.ts
|
|
144
|
+
import { once } from 'node:events';
|
|
145
|
+
import * as readline from 'node:readline';
|
|
146
|
+
|
|
147
|
+
// Context7 async iteration pattern
|
|
148
|
+
export async function processLineByLine(filePath: string) {
|
|
149
|
+
const rl = readline.createInterface({
|
|
150
|
+
input: fs.createReadStream(filePath),
|
|
151
|
+
crlfDelay: Infinity,
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// for await...of with Symbol.asyncIterator
|
|
155
|
+
for await (const line of rl) {
|
|
156
|
+
// Process each line
|
|
157
|
+
await processLine(line);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// AbortSignal for cancellation
|
|
162
|
+
export async function fetchWithTimeout(url: string, timeout: number) {
|
|
163
|
+
const controller = new AbortController();
|
|
164
|
+
const id = setTimeout(() => controller.abort(), timeout);
|
|
165
|
+
|
|
166
|
+
try {
|
|
167
|
+
const response = await fetch(url, {
|
|
168
|
+
signal: controller.signal,
|
|
169
|
+
});
|
|
170
|
+
return response;
|
|
171
|
+
} finally {
|
|
172
|
+
clearTimeout(id);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
5. **Express App with ES6** (Context7 patterns)
|
|
178
|
+
```typescript
|
|
179
|
+
// src/app.ts
|
|
180
|
+
import express from 'express';
|
|
181
|
+
import helmet from 'helmet';
|
|
182
|
+
import cors from 'cors';
|
|
183
|
+
|
|
184
|
+
// ES6 named exports
|
|
185
|
+
export const app = express();
|
|
186
|
+
|
|
187
|
+
// Middleware
|
|
188
|
+
app.use(helmet());
|
|
189
|
+
app.use(cors());
|
|
190
|
+
app.use(express.json());
|
|
191
|
+
|
|
192
|
+
// Routes with object property shorthand
|
|
193
|
+
const routes = {
|
|
194
|
+
user: userRouter,
|
|
195
|
+
auth: authRouter,
|
|
196
|
+
health: healthRouter,
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
Object.entries(routes).forEach(([path, router]) => {
|
|
200
|
+
app.use(`/api/${path}`, router);
|
|
201
|
+
});
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
6. **Controllers with Async/Await**
|
|
205
|
+
```typescript
|
|
206
|
+
// src/controllers/user.controller.ts
|
|
207
|
+
import { Request, Response, NextFunction } from 'express';
|
|
208
|
+
|
|
209
|
+
// ES6 arrow functions with destructuring
|
|
210
|
+
export const getUsers = async (
|
|
211
|
+
req: Request,
|
|
212
|
+
res: Response,
|
|
213
|
+
next: NextFunction
|
|
214
|
+
) => {
|
|
215
|
+
try {
|
|
216
|
+
const { page = 1, limit = 10 } = req.query; // Destructuring with defaults
|
|
217
|
+
const users = await userService.findAll({ page, limit });
|
|
218
|
+
res.json({ users }); // Object property shorthand
|
|
219
|
+
} catch (error) {
|
|
220
|
+
next(error);
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
7. **Testing Setup with Jest**
|
|
226
|
+
- Configure Jest for TypeScript
|
|
227
|
+
- Create test fixtures
|
|
228
|
+
- Add API endpoint tests
|
|
229
|
+
|
|
230
|
+
8. **Docker Configuration**
|
|
231
|
+
- Multi-stage Dockerfile
|
|
232
|
+
- docker-compose with PostgreSQL/MongoDB
|
|
233
|
+
- Development and production configs
|
|
234
|
+
|
|
235
|
+
## Context7-Verified Best Practices Applied
|
|
236
|
+
|
|
237
|
+
From `/nodejs/node` (8,761 snippets, trust 9.1):
|
|
238
|
+
- **Async iteration**: for await...of with Symbol.asyncIterator
|
|
239
|
+
- **AbortSignal**: Request cancellation support
|
|
240
|
+
- **Mixed approach**: rl.on('line') + await once() for performance
|
|
241
|
+
- **Event handling**: Proper event emitter patterns
|
|
242
|
+
- **Streams**: Async iterators for stream processing
|
|
243
|
+
|
|
244
|
+
From `/airbnb/javascript` (221 snippets, trust 8.1):
|
|
245
|
+
- **ES6 defaults**: Default parameter values
|
|
246
|
+
- **Object shorthand**: { lukeSkywalker } instead of { lukeSkywalker: lukeSkywalker }
|
|
247
|
+
- **Spread syntax**: { ...original, c: 3 } for object copying
|
|
248
|
+
- **Destructuring**: const { a, b } = object
|
|
249
|
+
- **Arrow functions**: Consistent use for callbacks
|
|
250
|
+
|
|
251
|
+
## Expected Output
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
🟢 NODE.JS API SCAFFOLDING
|
|
255
|
+
==========================
|
|
256
|
+
|
|
257
|
+
Project: my-api
|
|
258
|
+
Framework: Express + TypeScript
|
|
259
|
+
Database: PostgreSQL
|
|
260
|
+
ORM: Prisma
|
|
261
|
+
Auth: JWT
|
|
262
|
+
Testing: Jest
|
|
263
|
+
|
|
264
|
+
📋 CREATED FILES:
|
|
265
|
+
✓ src/index.ts (Entry point with ES6 exports)
|
|
266
|
+
✓ src/app.ts (Express configuration with object shorthand)
|
|
267
|
+
✓ src/config/index.ts (Config with ES6 defaults)
|
|
268
|
+
✓ src/controllers/user.controller.ts (Async handlers)
|
|
269
|
+
✓ src/services/user.service.ts (Business logic)
|
|
270
|
+
✓ src/middlewares/auth.middleware.ts (JWT verification)
|
|
271
|
+
✓ src/middlewares/error.middleware.ts (Error handling)
|
|
272
|
+
✓ src/routes/user.routes.ts (API routes)
|
|
273
|
+
✓ src/utils/asyncHandler.ts (Async wrapper)
|
|
274
|
+
✓ src/utils/streamProcessor.ts (Async iteration)
|
|
275
|
+
✓ src/utils/AppError.ts (Custom error class)
|
|
276
|
+
✓ prisma/schema.prisma (Database schema)
|
|
277
|
+
✓ tests/user.test.ts (API tests)
|
|
278
|
+
✓ package.json (Dependencies)
|
|
279
|
+
✓ tsconfig.json (TypeScript config)
|
|
280
|
+
✓ Dockerfile (Multi-stage build)
|
|
281
|
+
✓ docker-compose.yml (Development setup)
|
|
282
|
+
|
|
283
|
+
🔧 NEXT STEPS:
|
|
284
|
+
1. cd my-api
|
|
285
|
+
2. npm install (install dependencies)
|
|
286
|
+
3. cp .env.example .env (configure environment)
|
|
287
|
+
4. docker-compose up -d (start PostgreSQL)
|
|
288
|
+
5. npx prisma migrate dev (run migrations)
|
|
289
|
+
6. npm run dev (start server)
|
|
290
|
+
7. npm test (run tests)
|
|
291
|
+
|
|
292
|
+
📖 API DOCUMENTATION: http://localhost:3000/api-docs
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Validation Checklist
|
|
296
|
+
|
|
297
|
+
- [ ] Context7 documentation queried for latest patterns
|
|
298
|
+
- [ ] All async code uses for await...of where appropriate
|
|
299
|
+
- [ ] ES6 syntax used (object shorthand, spread, destructuring)
|
|
300
|
+
- [ ] AbortSignal implemented for request cancellation
|
|
301
|
+
- [ ] Symbol.asyncIterator used for custom iterators
|
|
302
|
+
- [ ] Middleware properly configured
|
|
303
|
+
- [ ] JWT authentication implemented
|
|
304
|
+
- [ ] Error handling centralized
|
|
305
|
+
- [ ] Tests include async patterns
|
|
306
|
+
- [ ] Docker configuration is multi-stage
|
|
307
|
+
- [ ] TypeScript types properly defined
|
|
308
|
+
|
|
309
|
+
## Agent Coordination
|
|
310
|
+
|
|
311
|
+
This command works with:
|
|
312
|
+
- **nodejs-backend-engineer**: For implementation details
|
|
313
|
+
- **javascript-frontend-engineer**: For ES6 patterns
|
|
314
|
+
- **postgresql-expert**: For database schema design
|
|
315
|
+
- **docker-containerization-expert**: For containerization
|
|
316
|
+
- **test-runner**: For executing tests
|
|
317
|
+
|
|
318
|
+
## Related Commands
|
|
319
|
+
|
|
320
|
+
- `/testing:prime` - Setup testing environment
|
|
321
|
+
- `/docker:compose-generate` - Generate docker-compose configuration
|
|
322
|
+
- `/github:workflow-create` - Create CI/CD workflow
|
|
323
|
+
|
|
324
|
+
## Error Handling
|
|
325
|
+
|
|
326
|
+
- Missing project name → Prompt for name
|
|
327
|
+
- Invalid framework → Show valid options
|
|
328
|
+
- Invalid database type → Show valid options
|
|
329
|
+
- No Context7 access → Error with instructions
|
|
330
|
+
- Directory exists → Confirm overwrite
|
|
331
|
+
|
|
332
|
+
## Notes
|
|
333
|
+
|
|
334
|
+
- Always queries Context7 BEFORE generating code
|
|
335
|
+
- Uses latest Node.js async patterns from official docs
|
|
336
|
+
- Follows Airbnb JavaScript style guide
|
|
337
|
+
- Includes AbortSignal for cancellation support
|
|
338
|
+
- Uses Symbol.asyncIterator for custom iterators
|
|
339
|
+
- Production-ready with proper error handling and logging
|
|
340
|
+
- TypeScript for type safety
|
|
341
|
+
- Jest for comprehensive testing
|