claude-autopm 2.8.2 → 2.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +399 -637
- package/install/install.js +15 -5
- package/package.json +2 -1
- package/packages/plugin-ai/LICENSE +21 -0
- package/packages/plugin-ai/README.md +316 -0
- package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
- package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
- package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
- package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
- package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
- package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
- package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-ai/commands/a2a-setup.md +886 -0
- package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
- package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
- package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
- package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
- package/packages/plugin-ai/commands/llm-optimize.md +348 -0
- package/packages/plugin-ai/commands/openai-optimize.md +863 -0
- package/packages/plugin-ai/commands/rag-optimize.md +841 -0
- package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
- package/packages/plugin-ai/package.json +66 -0
- package/packages/plugin-ai/plugin.json +519 -0
- package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
- package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
- package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
- package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
- package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
- package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
- package/packages/plugin-cloud/README.md +268 -0
- package/packages/plugin-cloud/agents/README.md +55 -0
- package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
- package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
- package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
- package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
- package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
- package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
- package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
- package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
- package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
- package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
- package/packages/plugin-cloud/commands/ssh-security.md +65 -0
- package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
- package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
- package/packages/plugin-cloud/package.json +64 -0
- package/packages/plugin-cloud/plugin.json +338 -0
- package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
- package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
- package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
- package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
- package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
- package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
- package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
- package/packages/plugin-core/README.md +274 -0
- package/packages/plugin-core/agents/core/agent-manager.md +296 -0
- package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
- package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
- package/packages/plugin-core/agents/core/test-runner.md +200 -0
- package/packages/plugin-core/commands/code-rabbit.md +128 -0
- package/packages/plugin-core/commands/prompt.md +9 -0
- package/packages/plugin-core/commands/re-init.md +9 -0
- package/packages/plugin-core/hooks/context7-reminder.md +29 -0
- package/packages/plugin-core/hooks/enforce-agents.js +125 -0
- package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
- package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
- package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
- package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
- package/packages/plugin-core/hooks/test-hook.sh +21 -0
- package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
- package/packages/plugin-core/package.json +45 -0
- package/packages/plugin-core/plugin.json +387 -0
- package/packages/plugin-core/rules/agent-coordination.md +549 -0
- package/packages/plugin-core/rules/agent-mandatory.md +170 -0
- package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
- package/packages/plugin-core/rules/command-pipelines.md +208 -0
- package/packages/plugin-core/rules/context-optimization.md +176 -0
- package/packages/plugin-core/rules/context7-enforcement.md +327 -0
- package/packages/plugin-core/rules/datetime.md +122 -0
- package/packages/plugin-core/rules/definition-of-done.md +272 -0
- package/packages/plugin-core/rules/development-environments.md +19 -0
- package/packages/plugin-core/rules/development-workflow.md +198 -0
- package/packages/plugin-core/rules/framework-path-rules.md +180 -0
- package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
- package/packages/plugin-core/rules/git-strategy.md +237 -0
- package/packages/plugin-core/rules/golden-rules.md +181 -0
- package/packages/plugin-core/rules/naming-conventions.md +111 -0
- package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
- package/packages/plugin-core/rules/performance-guidelines.md +403 -0
- package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
- package/packages/plugin-core/rules/security-checklist.md +318 -0
- package/packages/plugin-core/rules/standard-patterns.md +197 -0
- package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
- package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
- package/packages/plugin-core/rules/use-ast-grep.md +113 -0
- package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
- package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
- package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
- package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
- package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
- package/packages/plugin-core/scripts/mcp/add.sh +7 -0
- package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/list.sh +7 -0
- package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
- package/packages/plugin-data/README.md +315 -0
- package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
- package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
- package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
- package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
- package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
- package/packages/plugin-data/package.json +66 -0
- package/packages/plugin-data/plugin.json +294 -0
- package/packages/plugin-data/rules/data-quality-standards.md +373 -0
- package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
- package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
- package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
- package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
- package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
- package/packages/plugin-databases/README.md +330 -0
- package/packages/plugin-databases/agents/README.md +50 -0
- package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
- package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
- package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
- package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
- package/packages/plugin-databases/agents/redis-expert.md +74 -0
- package/packages/plugin-databases/commands/db-optimize.md +612 -0
- package/packages/plugin-databases/package.json +60 -0
- package/packages/plugin-databases/plugin.json +237 -0
- package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
- package/packages/plugin-databases/rules/database-pipeline.md +316 -0
- package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
- package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
- package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
- package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
- package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
- package/packages/plugin-devops/README.md +367 -0
- package/packages/plugin-devops/agents/README.md +52 -0
- package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
- package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
- package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
- package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
- package/packages/plugin-devops/agents/observability-engineer.md +574 -0
- package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
- package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
- package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
- package/packages/plugin-devops/commands/docker-optimize.md +493 -0
- package/packages/plugin-devops/commands/workflow-create.md +42 -0
- package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
- package/packages/plugin-devops/package.json +61 -0
- package/packages/plugin-devops/plugin.json +302 -0
- package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
- package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
- package/packages/plugin-devops/rules/docker-first-development.md +404 -0
- package/packages/plugin-devops/rules/github-operations.md +92 -0
- package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
- package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
- package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
- package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
- package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
- package/packages/plugin-frameworks/README.md +309 -0
- package/packages/plugin-frameworks/agents/README.md +64 -0
- package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
- package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
- package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
- package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
- package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
- package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
- package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
- package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
- package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
- package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
- package/packages/plugin-frameworks/package.json +59 -0
- package/packages/plugin-frameworks/plugin.json +224 -0
- package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
- package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
- package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
- package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
- package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
- package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
- package/packages/plugin-languages/README.md +333 -0
- package/packages/plugin-languages/agents/README.md +50 -0
- package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
- package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
- package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
- package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
- package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
- package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
- package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
- package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
- package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
- package/packages/plugin-languages/commands/python-optimize.md +593 -0
- package/packages/plugin-languages/package.json +65 -0
- package/packages/plugin-languages/plugin.json +265 -0
- package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
- package/packages/plugin-languages/rules/testing-standards.md +768 -0
- package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
- package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
- package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
- package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
- package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
- package/packages/plugin-ml/README.md +430 -0
- package/packages/plugin-ml/agents/automl-expert.md +326 -0
- package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
- package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
- package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
- package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
- package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
- package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
- package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
- package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
- package/packages/plugin-ml/agents/time-series-expert.md +303 -0
- package/packages/plugin-ml/commands/ml-automl.md +572 -0
- package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
- package/packages/plugin-ml/package.json +52 -0
- package/packages/plugin-ml/plugin.json +338 -0
- package/packages/plugin-pm/README.md +368 -0
- package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
- package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
- package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
- package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
- package/packages/plugin-pm/commands/azure/README.md +246 -0
- package/packages/plugin-pm/commands/azure/active-work.md +198 -0
- package/packages/plugin-pm/commands/azure/aliases.md +143 -0
- package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
- package/packages/plugin-pm/commands/azure/clean.md +93 -0
- package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
- package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
- package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
- package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
- package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
- package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
- package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
- package/packages/plugin-pm/commands/azure/help.md +150 -0
- package/packages/plugin-pm/commands/azure/import-us.md +269 -0
- package/packages/plugin-pm/commands/azure/init.md +211 -0
- package/packages/plugin-pm/commands/azure/next-task.md +262 -0
- package/packages/plugin-pm/commands/azure/search.md +160 -0
- package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
- package/packages/plugin-pm/commands/azure/standup.md +260 -0
- package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
- package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
- package/packages/plugin-pm/commands/azure/task-close.md +329 -0
- package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
- package/packages/plugin-pm/commands/azure/task-list.md +263 -0
- package/packages/plugin-pm/commands/azure/task-new.md +84 -0
- package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
- package/packages/plugin-pm/commands/azure/task-show.md +126 -0
- package/packages/plugin-pm/commands/azure/task-start.md +301 -0
- package/packages/plugin-pm/commands/azure/task-status.md +65 -0
- package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
- package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
- package/packages/plugin-pm/commands/azure/us-list.md +202 -0
- package/packages/plugin-pm/commands/azure/us-new.md +265 -0
- package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
- package/packages/plugin-pm/commands/azure/us-show.md +188 -0
- package/packages/plugin-pm/commands/azure/us-status.md +320 -0
- package/packages/plugin-pm/commands/azure/validate.md +86 -0
- package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
- package/packages/plugin-pm/commands/blocked.md +28 -0
- package/packages/plugin-pm/commands/clean.md +119 -0
- package/packages/plugin-pm/commands/context-create.md +136 -0
- package/packages/plugin-pm/commands/context-prime.md +170 -0
- package/packages/plugin-pm/commands/context-update.md +292 -0
- package/packages/plugin-pm/commands/context.md +28 -0
- package/packages/plugin-pm/commands/epic-close.md +86 -0
- package/packages/plugin-pm/commands/epic-decompose.md +370 -0
- package/packages/plugin-pm/commands/epic-edit.md +83 -0
- package/packages/plugin-pm/commands/epic-list.md +30 -0
- package/packages/plugin-pm/commands/epic-merge.md +222 -0
- package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
- package/packages/plugin-pm/commands/epic-refresh.md +119 -0
- package/packages/plugin-pm/commands/epic-show.md +28 -0
- package/packages/plugin-pm/commands/epic-split.md +120 -0
- package/packages/plugin-pm/commands/epic-start.md +195 -0
- package/packages/plugin-pm/commands/epic-status.md +28 -0
- package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
- package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
- package/packages/plugin-pm/commands/epic-sync.md +486 -0
- package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
- package/packages/plugin-pm/commands/help.md +28 -0
- package/packages/plugin-pm/commands/import.md +115 -0
- package/packages/plugin-pm/commands/in-progress.md +28 -0
- package/packages/plugin-pm/commands/init.md +28 -0
- package/packages/plugin-pm/commands/issue-analyze.md +202 -0
- package/packages/plugin-pm/commands/issue-close.md +119 -0
- package/packages/plugin-pm/commands/issue-edit.md +93 -0
- package/packages/plugin-pm/commands/issue-reopen.md +87 -0
- package/packages/plugin-pm/commands/issue-show.md +41 -0
- package/packages/plugin-pm/commands/issue-start.md +234 -0
- package/packages/plugin-pm/commands/issue-status.md +95 -0
- package/packages/plugin-pm/commands/issue-sync.md +411 -0
- package/packages/plugin-pm/commands/next.md +28 -0
- package/packages/plugin-pm/commands/prd-edit.md +82 -0
- package/packages/plugin-pm/commands/prd-list.md +28 -0
- package/packages/plugin-pm/commands/prd-new.md +55 -0
- package/packages/plugin-pm/commands/prd-parse.md +42 -0
- package/packages/plugin-pm/commands/prd-status.md +28 -0
- package/packages/plugin-pm/commands/search.md +28 -0
- package/packages/plugin-pm/commands/standup.md +28 -0
- package/packages/plugin-pm/commands/status.md +28 -0
- package/packages/plugin-pm/commands/sync.md +99 -0
- package/packages/plugin-pm/commands/test-reference-update.md +151 -0
- package/packages/plugin-pm/commands/validate.md +28 -0
- package/packages/plugin-pm/commands/what-next.md +28 -0
- package/packages/plugin-pm/package.json +57 -0
- package/packages/plugin-pm/plugin.json +503 -0
- package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
- package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
- package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
- package/packages/plugin-pm/scripts/pm/clean.js +464 -0
- package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
- package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
- package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
- package/packages/plugin-pm/scripts/pm/context.js +338 -0
- package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
- package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
- package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
- package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
- package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
- package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
- package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
- package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
- package/packages/plugin-pm/scripts/pm/help.js +92 -0
- package/packages/plugin-pm/scripts/pm/help.sh +90 -0
- package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
- package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
- package/packages/plugin-pm/scripts/pm/init.js +321 -0
- package/packages/plugin-pm/scripts/pm/init.sh +178 -0
- package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
- package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
- package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
- package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
- package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
- package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
- package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
- package/packages/plugin-pm/scripts/pm/next.js +189 -0
- package/packages/plugin-pm/scripts/pm/next.sh +72 -0
- package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
- package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
- package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
- package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
- package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
- package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
- package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
- package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
- package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
- package/packages/plugin-pm/scripts/pm/release.js +460 -0
- package/packages/plugin-pm/scripts/pm/search.js +192 -0
- package/packages/plugin-pm/scripts/pm/search.sh +89 -0
- package/packages/plugin-pm/scripts/pm/standup.js +362 -0
- package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
- package/packages/plugin-pm/scripts/pm/status.js +148 -0
- package/packages/plugin-pm/scripts/pm/status.sh +59 -0
- package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
- package/packages/plugin-pm/scripts/pm/sync.js +343 -0
- package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
- package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
- package/packages/plugin-pm/scripts/pm/validate.js +274 -0
- package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
- package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
- package/packages/plugin-testing/README.md +401 -0
- package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
- package/packages/plugin-testing/commands/jest-optimize.md +800 -0
- package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
- package/packages/plugin-testing/commands/test-coverage.md +512 -0
- package/packages/plugin-testing/commands/test-performance.md +1041 -0
- package/packages/plugin-testing/commands/test-setup.md +414 -0
- package/packages/plugin-testing/package.json +40 -0
- package/packages/plugin-testing/plugin.json +197 -0
- package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
- package/packages/plugin-testing/rules/testing-standards.md +529 -0
- package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
- package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
- package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claudeautopm/plugin-frameworks",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"schemaVersion": "2.0",
|
|
5
|
+
"displayName": "Frontend Frameworks & UI",
|
|
6
|
+
"description": "Complete frontend frameworks plugin with React, Vue, Tailwind CSS agents, UI commands, and performance optimization",
|
|
7
|
+
"category": "frameworks",
|
|
8
|
+
"metadata": {
|
|
9
|
+
"category": "Frontend Frameworks",
|
|
10
|
+
"author": "ClaudeAutoPM Team",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"homepage": "https://github.com/rafeekpro/ClaudeAutoPM",
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/rafeekpro/ClaudeAutoPM.git",
|
|
16
|
+
"directory": "packages/plugin-frameworks"
|
|
17
|
+
},
|
|
18
|
+
"size": "~12 KB (gzipped)",
|
|
19
|
+
"required": false,
|
|
20
|
+
"tags": ["frameworks", "react", "vue", "angular", "tailwind", "ui", "frontend"]
|
|
21
|
+
},
|
|
22
|
+
"agents": [
|
|
23
|
+
{
|
|
24
|
+
"name": "react-frontend-engineer",
|
|
25
|
+
"file": "agents/react-frontend-engineer.md",
|
|
26
|
+
"category": "frontend",
|
|
27
|
+
"description": "React development with hooks, performance optimization, and modern patterns",
|
|
28
|
+
"version": "2.0.0",
|
|
29
|
+
"tags": ["react", "hooks", "frontend", "spa", "performance"],
|
|
30
|
+
"mcp": ["react-docs"],
|
|
31
|
+
"context7": [
|
|
32
|
+
"/reactjs/react.dev",
|
|
33
|
+
"/remix-run/react-router"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "react-ui-expert",
|
|
38
|
+
"file": "agents/react-ui-expert.md",
|
|
39
|
+
"category": "ui",
|
|
40
|
+
"description": "React UI components, design systems, and component libraries",
|
|
41
|
+
"version": "2.0.0",
|
|
42
|
+
"tags": ["react", "ui", "components", "design-system"],
|
|
43
|
+
"mcp": ["react-docs"],
|
|
44
|
+
"context7": [
|
|
45
|
+
"/reactjs/react.dev"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "tailwindcss-expert",
|
|
50
|
+
"file": "agents/tailwindcss-expert.md",
|
|
51
|
+
"category": "styling",
|
|
52
|
+
"description": "Tailwind CSS utility-first styling, responsive design, and optimization",
|
|
53
|
+
"version": "2.0.0",
|
|
54
|
+
"tags": ["tailwindcss", "css", "utility-first", "responsive", "styling"],
|
|
55
|
+
"mcp": [],
|
|
56
|
+
"context7": [
|
|
57
|
+
"/tailwindlabs/tailwindcss.com"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "ux-design-expert",
|
|
62
|
+
"file": "agents/ux-design-expert.md",
|
|
63
|
+
"category": "design",
|
|
64
|
+
"description": "UX/UI design principles, accessibility, and user experience optimization",
|
|
65
|
+
"version": "2.0.0",
|
|
66
|
+
"tags": ["ux", "ui", "design", "accessibility", "a11y"],
|
|
67
|
+
"mcp": [],
|
|
68
|
+
"context7": []
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"commands": [
|
|
72
|
+
{
|
|
73
|
+
"name": "tailwind-system",
|
|
74
|
+
"file": "commands/tailwind-system.md",
|
|
75
|
+
"description": "Setup Tailwind CSS design system with configuration",
|
|
76
|
+
"category": "styling",
|
|
77
|
+
"tags": ["tailwind", "design-system", "setup"],
|
|
78
|
+
"requiredAgents": ["tailwindcss-expert"],
|
|
79
|
+
"context7": [
|
|
80
|
+
"/tailwindlabs/tailwindcss.com"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "app-scaffold",
|
|
85
|
+
"file": "commands/app-scaffold.md",
|
|
86
|
+
"description": "Scaffold React application with modern tooling",
|
|
87
|
+
"category": "scaffolding",
|
|
88
|
+
"tags": ["react", "scaffold", "setup"],
|
|
89
|
+
"requiredAgents": ["react-frontend-engineer"],
|
|
90
|
+
"context7": [
|
|
91
|
+
"/reactjs/react.dev"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "react-optimize",
|
|
96
|
+
"file": "commands/react-optimize.md",
|
|
97
|
+
"description": "Optimize React performance with hooks, memoization, and rendering optimization",
|
|
98
|
+
"category": "optimization",
|
|
99
|
+
"tags": ["react", "performance", "useMemo", "useCallback", "memo", "optimization"],
|
|
100
|
+
"requiredAgents": ["react-frontend-engineer"],
|
|
101
|
+
"context7": [
|
|
102
|
+
"/reactjs/react.dev"
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "nextjs-optimize",
|
|
107
|
+
"file": "commands/nextjs-optimize.md",
|
|
108
|
+
"description": "Optimize Next.js application for images, fonts, builds, and Core Web Vitals",
|
|
109
|
+
"category": "optimization",
|
|
110
|
+
"tags": ["nextjs", "performance", "image", "font", "optimization", "core-web-vitals"],
|
|
111
|
+
"requiredAgents": ["react-frontend-engineer"],
|
|
112
|
+
"context7": [
|
|
113
|
+
"/vercel/next.js"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"rules": [
|
|
118
|
+
{
|
|
119
|
+
"name": "ui-development-standards",
|
|
120
|
+
"file": "rules/ui-development-standards.md",
|
|
121
|
+
"priority": "high",
|
|
122
|
+
"description": "UI development standards and component best practices",
|
|
123
|
+
"tags": ["ui", "standards", "components", "best-practices"],
|
|
124
|
+
"appliesTo": ["commands", "agents"],
|
|
125
|
+
"enforcesOn": ["react-frontend-engineer", "react-ui-expert", "tailwindcss-expert"]
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "performance-guidelines",
|
|
129
|
+
"file": "rules/performance-guidelines.md",
|
|
130
|
+
"priority": "high",
|
|
131
|
+
"description": "Frontend performance optimization and best practices",
|
|
132
|
+
"tags": ["performance", "optimization", "react", "rendering"],
|
|
133
|
+
"appliesTo": ["commands", "agents"],
|
|
134
|
+
"enforcesOn": ["react-frontend-engineer"]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "ui-framework-rules",
|
|
138
|
+
"file": "rules/ui-framework-rules.md",
|
|
139
|
+
"priority": "medium",
|
|
140
|
+
"description": "Framework-specific conventions and patterns",
|
|
141
|
+
"tags": ["frameworks", "patterns", "conventions"],
|
|
142
|
+
"appliesTo": ["commands", "agents"],
|
|
143
|
+
"enforcesOn": ["react-frontend-engineer", "tailwindcss-expert"]
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"scripts": [
|
|
147
|
+
{
|
|
148
|
+
"name": "react-component-perf",
|
|
149
|
+
"file": "scripts/examples/react-component-perf.sh",
|
|
150
|
+
"description": "Analyze React component performance patterns",
|
|
151
|
+
"type": "example",
|
|
152
|
+
"executable": true,
|
|
153
|
+
"category": "react",
|
|
154
|
+
"tags": ["react", "performance", "useMemo", "useCallback"]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "vue-composition-check",
|
|
158
|
+
"file": "scripts/examples/vue-composition-check.sh",
|
|
159
|
+
"description": "Check Vue Composition API usage patterns",
|
|
160
|
+
"type": "example",
|
|
161
|
+
"executable": true,
|
|
162
|
+
"category": "vue",
|
|
163
|
+
"tags": ["vue", "composition-api", "patterns"]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "tailwind-optimize",
|
|
167
|
+
"file": "scripts/examples/tailwind-optimize.sh",
|
|
168
|
+
"description": "Analyze Tailwind CSS usage and optimization opportunities",
|
|
169
|
+
"type": "example",
|
|
170
|
+
"executable": true,
|
|
171
|
+
"category": "tailwind",
|
|
172
|
+
"tags": ["tailwind", "optimization", "responsive", "purge"]
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"features": {
|
|
176
|
+
"react_development": {
|
|
177
|
+
"enabled": true,
|
|
178
|
+
"description": "React hooks, performance, and modern patterns"
|
|
179
|
+
},
|
|
180
|
+
"vue_development": {
|
|
181
|
+
"enabled": false,
|
|
182
|
+
"description": "Vue Composition API (agent not included)"
|
|
183
|
+
},
|
|
184
|
+
"tailwind_styling": {
|
|
185
|
+
"enabled": true,
|
|
186
|
+
"description": "Utility-first CSS with Tailwind"
|
|
187
|
+
},
|
|
188
|
+
"ux_design": {
|
|
189
|
+
"enabled": true,
|
|
190
|
+
"description": "UX/UI design and accessibility"
|
|
191
|
+
},
|
|
192
|
+
"performance_optimization": {
|
|
193
|
+
"enabled": true,
|
|
194
|
+
"description": "Frontend performance best practices"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"dependencies": [],
|
|
198
|
+
"peerPlugins": [
|
|
199
|
+
"@claudeautopm/plugin-core"
|
|
200
|
+
],
|
|
201
|
+
"mcpServers": {
|
|
202
|
+
"recommended": [
|
|
203
|
+
"react-docs"
|
|
204
|
+
],
|
|
205
|
+
"optional": [
|
|
206
|
+
"vue-docs"
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
"keywords": [
|
|
210
|
+
"claudeautopm",
|
|
211
|
+
"plugin",
|
|
212
|
+
"frameworks",
|
|
213
|
+
"react",
|
|
214
|
+
"vue",
|
|
215
|
+
"tailwind",
|
|
216
|
+
"tailwindcss",
|
|
217
|
+
"frontend",
|
|
218
|
+
"ui",
|
|
219
|
+
"components",
|
|
220
|
+
"hooks",
|
|
221
|
+
"performance"
|
|
222
|
+
],
|
|
223
|
+
"compatibleWith": ">=3.0.0"
|
|
224
|
+
}
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
# ⚡ Performance Guidelines & Optimization
|
|
2
|
+
|
|
3
|
+
> **Performance is a feature. Slow is broken.**
|
|
4
|
+
|
|
5
|
+
## Performance Targets
|
|
6
|
+
|
|
7
|
+
### 🌐 Web Performance Metrics
|
|
8
|
+
|
|
9
|
+
#### Core Web Vitals
|
|
10
|
+
|
|
11
|
+
- **LCP (Largest Contentful Paint)**: < 2.5s
|
|
12
|
+
- **FID (First Input Delay)**: < 100ms
|
|
13
|
+
- **CLS (Cumulative Layout Shift)**: < 0.1
|
|
14
|
+
- **FCP (First Contentful Paint)**: < 1.5s
|
|
15
|
+
- **TTI (Time to Interactive)**: < 5s
|
|
16
|
+
- **TBT (Total Blocking Time)**: < 300ms
|
|
17
|
+
|
|
18
|
+
#### Page Load Targets
|
|
19
|
+
|
|
20
|
+
- **3G Network**: < 3 seconds
|
|
21
|
+
- **4G Network**: < 1.5 seconds
|
|
22
|
+
- **Broadband**: < 1 second
|
|
23
|
+
- **Repeat Visit**: < 500ms (with cache)
|
|
24
|
+
|
|
25
|
+
### 🔧 API Performance Targets
|
|
26
|
+
|
|
27
|
+
| Operation Type | Target | Maximum |
|
|
28
|
+
|---------------|--------|----------|
|
|
29
|
+
| Simple Query | < 50ms | 100ms |
|
|
30
|
+
| Complex Query | < 200ms | 500ms |
|
|
31
|
+
| Search | < 300ms | 1s |
|
|
32
|
+
| File Upload | < 1s/MB | 2s/MB |
|
|
33
|
+
| Batch Operation | < 5s | 10s |
|
|
34
|
+
| Real-time Updates | < 100ms | 200ms |
|
|
35
|
+
|
|
36
|
+
### 🗄️ Database Performance
|
|
37
|
+
|
|
38
|
+
| Query Type | Target | Action if Exceeded |
|
|
39
|
+
|-----------|--------|--------------------|
|
|
40
|
+
| Indexed SELECT | < 10ms | Add index |
|
|
41
|
+
| Complex JOIN | < 50ms | Optimize query |
|
|
42
|
+
| Full Table Scan | < 100ms | Add index/partition |
|
|
43
|
+
| Write Operation | < 20ms | Check locks |
|
|
44
|
+
| Transaction | < 100ms | Break down |
|
|
45
|
+
|
|
46
|
+
## Frontend Performance Optimization
|
|
47
|
+
|
|
48
|
+
### 📦 Bundle Size Budgets
|
|
49
|
+
|
|
50
|
+
```javascript
|
|
51
|
+
// Maximum bundle sizes
|
|
52
|
+
const budgets = {
|
|
53
|
+
javascript: {
|
|
54
|
+
initial: 200, // KB (gzipped)
|
|
55
|
+
lazy: 300, // KB (gzipped)
|
|
56
|
+
},
|
|
57
|
+
css: {
|
|
58
|
+
initial: 50, // KB (gzipped)
|
|
59
|
+
lazy: 100, // KB (gzipped)
|
|
60
|
+
},
|
|
61
|
+
images: {
|
|
62
|
+
hero: 200, // KB
|
|
63
|
+
thumbnail: 20, // KB
|
|
64
|
+
icon: 5, // KB
|
|
65
|
+
},
|
|
66
|
+
total: {
|
|
67
|
+
initial: 500, // KB (all assets)
|
|
68
|
+
full: 2000, // KB (entire app)
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 🎯 Optimization Checklist
|
|
74
|
+
|
|
75
|
+
#### Code Optimization
|
|
76
|
+
|
|
77
|
+
- [ ] Code splitting implemented
|
|
78
|
+
- [ ] Lazy loading for routes
|
|
79
|
+
- [ ] Tree shaking enabled
|
|
80
|
+
- [ ] Dead code eliminated
|
|
81
|
+
- [ ] Minification enabled
|
|
82
|
+
- [ ] Compression (gzip/brotli)
|
|
83
|
+
- [ ] Source maps in production
|
|
84
|
+
|
|
85
|
+
#### Asset Optimization
|
|
86
|
+
|
|
87
|
+
- [ ] Images optimized (WebP with fallback)
|
|
88
|
+
- [ ] Responsive images (srcset)
|
|
89
|
+
- [ ] Lazy loading images
|
|
90
|
+
- [ ] SVG optimization
|
|
91
|
+
- [ ] Font subsetting
|
|
92
|
+
- [ ] Critical CSS inlined
|
|
93
|
+
- [ ] Unused CSS removed
|
|
94
|
+
|
|
95
|
+
#### Caching Strategy
|
|
96
|
+
|
|
97
|
+
- [ ] Service Worker implemented
|
|
98
|
+
- [ ] Cache headers configured
|
|
99
|
+
- [ ] CDN for static assets
|
|
100
|
+
- [ ] Browser cache utilized
|
|
101
|
+
- [ ] API response caching
|
|
102
|
+
- [ ] Database query caching
|
|
103
|
+
|
|
104
|
+
#### Runtime Performance
|
|
105
|
+
|
|
106
|
+
- [ ] Virtual scrolling for long lists
|
|
107
|
+
- [ ] Debounced search inputs
|
|
108
|
+
- [ ] Throttled scroll handlers
|
|
109
|
+
- [ ] Web Workers for heavy computation
|
|
110
|
+
- [ ] RequestAnimationFrame for animations
|
|
111
|
+
- [ ] Avoid layout thrashing
|
|
112
|
+
|
|
113
|
+
### 📊 Performance Monitoring
|
|
114
|
+
|
|
115
|
+
```javascript
|
|
116
|
+
// Performance monitoring setup
|
|
117
|
+
const perfObserver = new PerformanceObserver((list) => {
|
|
118
|
+
for (const entry of list.getEntries()) {
|
|
119
|
+
// Log to analytics
|
|
120
|
+
analytics.track('performance', {
|
|
121
|
+
metric: entry.name,
|
|
122
|
+
value: entry.value,
|
|
123
|
+
page: window.location.pathname
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
// Observe all performance metrics
|
|
129
|
+
perfObserver.observe({
|
|
130
|
+
entryTypes: ['navigation', 'resource', 'paint', 'measure']
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Backend Performance Optimization
|
|
135
|
+
|
|
136
|
+
### 🔄 API Optimization
|
|
137
|
+
|
|
138
|
+
#### Response Time Optimization
|
|
139
|
+
|
|
140
|
+
- [ ] Database connection pooling
|
|
141
|
+
- [ ] Query optimization (EXPLAIN ANALYZE)
|
|
142
|
+
- [ ] Proper indexing strategy
|
|
143
|
+
- [ ] N+1 query prevention
|
|
144
|
+
- [ ] Pagination implemented
|
|
145
|
+
- [ ] Response compression
|
|
146
|
+
- [ ] Field filtering (GraphQL/sparse fieldsets)
|
|
147
|
+
|
|
148
|
+
#### Caching Layers
|
|
149
|
+
|
|
150
|
+
```python
|
|
151
|
+
# Caching hierarchy
|
|
152
|
+
1. Browser Cache → 0ms
|
|
153
|
+
2. CDN Edge Cache → 10-50ms
|
|
154
|
+
3. Redis/Memcached → 1-5ms
|
|
155
|
+
4. Application Cache → 0.1ms
|
|
156
|
+
5. Database Cache → 5-10ms
|
|
157
|
+
6. Database Query → 10-100ms
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
#### Concurrency & Scaling
|
|
161
|
+
|
|
162
|
+
- [ ] Async/await for I/O operations
|
|
163
|
+
- [ ] Worker threads for CPU-intensive tasks
|
|
164
|
+
- [ ] Queue for background jobs
|
|
165
|
+
- [ ] Rate limiting per endpoint
|
|
166
|
+
- [ ] Circuit breakers for external services
|
|
167
|
+
- [ ] Load balancing configured
|
|
168
|
+
- [ ] Auto-scaling policies
|
|
169
|
+
|
|
170
|
+
### 📈 Database Optimization
|
|
171
|
+
|
|
172
|
+
#### Query Optimization
|
|
173
|
+
|
|
174
|
+
```sql
|
|
175
|
+
-- Before optimization
|
|
176
|
+
SELECT * FROM orders o
|
|
177
|
+
JOIN users u ON o.user_id = u.id
|
|
178
|
+
WHERE u.country = 'US';
|
|
179
|
+
|
|
180
|
+
-- After optimization
|
|
181
|
+
SELECT o.id, o.total, u.name
|
|
182
|
+
FROM orders o
|
|
183
|
+
JOIN users u ON o.user_id = u.id
|
|
184
|
+
WHERE u.country = 'US'
|
|
185
|
+
AND o.created_at > NOW() - INTERVAL '30 days'
|
|
186
|
+
LIMIT 100;
|
|
187
|
+
|
|
188
|
+
-- With proper indexes
|
|
189
|
+
CREATE INDEX idx_users_country ON users(country);
|
|
190
|
+
CREATE INDEX idx_orders_user_created ON orders(user_id, created_at DESC);
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### Index Strategy
|
|
194
|
+
|
|
195
|
+
- [ ] Primary keys on all tables
|
|
196
|
+
- [ ] Foreign key indexes
|
|
197
|
+
- [ ] Composite indexes for common queries
|
|
198
|
+
- [ ] Covering indexes for read-heavy queries
|
|
199
|
+
- [ ] Partial indexes for filtered queries
|
|
200
|
+
- [ ] Monitor index usage
|
|
201
|
+
|
|
202
|
+
## Performance Testing
|
|
203
|
+
|
|
204
|
+
### 🧪 Load Testing
|
|
205
|
+
|
|
206
|
+
```javascript
|
|
207
|
+
// Performance test scenarios
|
|
208
|
+
const scenarios = {
|
|
209
|
+
baseline: {
|
|
210
|
+
users: 100,
|
|
211
|
+
duration: '5m',
|
|
212
|
+
rampUp: '30s'
|
|
213
|
+
},
|
|
214
|
+
stress: {
|
|
215
|
+
users: 1000,
|
|
216
|
+
duration: '15m',
|
|
217
|
+
rampUp: '2m'
|
|
218
|
+
},
|
|
219
|
+
spike: {
|
|
220
|
+
users: 5000,
|
|
221
|
+
duration: '10m',
|
|
222
|
+
rampUp: '10s'
|
|
223
|
+
},
|
|
224
|
+
endurance: {
|
|
225
|
+
users: 500,
|
|
226
|
+
duration: '2h',
|
|
227
|
+
rampUp: '5m'
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### 📏 Performance Benchmarks
|
|
233
|
+
|
|
234
|
+
| Metric | Excellent | Good | Needs Work | Unacceptable |
|
|
235
|
+
|--------|-----------|------|------------|---------------|
|
|
236
|
+
| Page Load | < 1s | < 2s | < 3s | > 3s |
|
|
237
|
+
| API Response | < 100ms | < 300ms | < 1s | > 1s |
|
|
238
|
+
| Database Query | < 10ms | < 50ms | < 200ms | > 200ms |
|
|
239
|
+
| CPU Usage | < 40% | < 60% | < 80% | > 80% |
|
|
240
|
+
| Memory Usage | < 50% | < 70% | < 85% | > 85% |
|
|
241
|
+
| Error Rate | < 0.1% | < 1% | < 5% | > 5% |
|
|
242
|
+
|
|
243
|
+
## Performance Monitoring Tools
|
|
244
|
+
|
|
245
|
+
### Frontend Monitoring
|
|
246
|
+
|
|
247
|
+
```javascript
|
|
248
|
+
// Real User Monitoring (RUM)
|
|
249
|
+
- Google Analytics / GA4
|
|
250
|
+
- New Relic Browser
|
|
251
|
+
- Datadog RUM
|
|
252
|
+
- Sentry Performance
|
|
253
|
+
|
|
254
|
+
// Synthetic Monitoring
|
|
255
|
+
- Lighthouse CI
|
|
256
|
+
- WebPageTest
|
|
257
|
+
- GTmetrix
|
|
258
|
+
- SpeedCurve
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Backend Monitoring
|
|
262
|
+
|
|
263
|
+
```yaml
|
|
264
|
+
# APM Tools
|
|
265
|
+
- New Relic APM
|
|
266
|
+
- Datadog APM
|
|
267
|
+
- AppDynamics
|
|
268
|
+
- Elastic APM
|
|
269
|
+
|
|
270
|
+
# Custom Metrics
|
|
271
|
+
- Prometheus + Grafana
|
|
272
|
+
- StatsD
|
|
273
|
+
- CloudWatch (AWS)
|
|
274
|
+
- Application Insights (Azure)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## Performance Budget Enforcement
|
|
278
|
+
|
|
279
|
+
### CI/CD Integration
|
|
280
|
+
|
|
281
|
+
```yaml
|
|
282
|
+
# Performance gates in pipeline
|
|
283
|
+
performance-check:
|
|
284
|
+
stage: test
|
|
285
|
+
script:
|
|
286
|
+
- lighthouse ci --budget=./budget.json
|
|
287
|
+
- bundlesize --max-size 200KB
|
|
288
|
+
- npm run test:performance
|
|
289
|
+
rules:
|
|
290
|
+
fail_on:
|
|
291
|
+
- lcp > 2500
|
|
292
|
+
- fid > 100
|
|
293
|
+
- cls > 0.1
|
|
294
|
+
- bundle_size > budget
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Performance Reviews
|
|
298
|
+
|
|
299
|
+
#### Weekly Checks
|
|
300
|
+
|
|
301
|
+
- [ ] Core Web Vitals trends
|
|
302
|
+
- [ ] API response times
|
|
303
|
+
- [ ] Error rates
|
|
304
|
+
- [ ] Database slow query log
|
|
305
|
+
|
|
306
|
+
#### Monthly Analysis
|
|
307
|
+
|
|
308
|
+
- [ ] Performance regression analysis
|
|
309
|
+
- [ ] User impact assessment
|
|
310
|
+
- [ ] Infrastructure cost vs performance
|
|
311
|
+
- [ ] Optimization opportunities
|
|
312
|
+
|
|
313
|
+
## Quick Performance Wins
|
|
314
|
+
|
|
315
|
+
### Immediate Improvements
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
# Frontend
|
|
319
|
+
✅ Enable compression (gzip/brotli)
|
|
320
|
+
✅ Add Cache-Control headers
|
|
321
|
+
✅ Optimize images (WebP, lazy load)
|
|
322
|
+
✅ Minify CSS/JS
|
|
323
|
+
✅ Remove unused dependencies
|
|
324
|
+
|
|
325
|
+
# Backend
|
|
326
|
+
✅ Add database indexes
|
|
327
|
+
✅ Enable query caching
|
|
328
|
+
✅ Implement pagination
|
|
329
|
+
✅ Use connection pooling
|
|
330
|
+
✅ Add Redis caching
|
|
331
|
+
|
|
332
|
+
# Infrastructure
|
|
333
|
+
✅ Enable CDN
|
|
334
|
+
✅ Configure auto-scaling
|
|
335
|
+
✅ Optimize container size
|
|
336
|
+
✅ Use HTTP/2
|
|
337
|
+
✅ Enable keep-alive
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## Performance Anti-Patterns
|
|
341
|
+
|
|
342
|
+
### Things to Avoid
|
|
343
|
+
|
|
344
|
+
```javascript
|
|
345
|
+
// ❌ DON'T DO THIS
|
|
346
|
+
- Synchronous API calls in loops
|
|
347
|
+
- Unbounded queries (SELECT * without LIMIT)
|
|
348
|
+
- Large DOM manipulations
|
|
349
|
+
- Inline styles/scripts
|
|
350
|
+
- Blocking resources in <head>
|
|
351
|
+
- Memory leaks (event listeners, timers)
|
|
352
|
+
- N+1 database queries
|
|
353
|
+
- Premature optimization
|
|
354
|
+
|
|
355
|
+
// ✅ DO THIS INSTEAD
|
|
356
|
+
- Batch API calls
|
|
357
|
+
- Paginate large datasets
|
|
358
|
+
- Virtual DOM / React
|
|
359
|
+
- External stylesheets
|
|
360
|
+
- Async/defer scripts
|
|
361
|
+
- Cleanup in useEffect/componentWillUnmount
|
|
362
|
+
- Eager loading with includes
|
|
363
|
+
- Measure first, optimize second
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## Performance Culture
|
|
367
|
+
|
|
368
|
+
### Team Responsibilities
|
|
369
|
+
|
|
370
|
+
#### Developers
|
|
371
|
+
|
|
372
|
+
- Write performant code
|
|
373
|
+
- Test performance locally
|
|
374
|
+
- Monitor PR impact
|
|
375
|
+
|
|
376
|
+
#### DevOps
|
|
377
|
+
|
|
378
|
+
- Infrastructure optimization
|
|
379
|
+
- Monitoring setup
|
|
380
|
+
- Scaling policies
|
|
381
|
+
|
|
382
|
+
#### Product
|
|
383
|
+
|
|
384
|
+
- Define performance requirements
|
|
385
|
+
- Prioritize performance work
|
|
386
|
+
- Balance features vs speed
|
|
387
|
+
|
|
388
|
+
### Performance Reviews
|
|
389
|
+
|
|
390
|
+
- Include performance in code reviews
|
|
391
|
+
- Regular performance audits
|
|
392
|
+
- Performance retrospectives
|
|
393
|
+
- Celebrate performance wins
|
|
394
|
+
|
|
395
|
+
## Remember
|
|
396
|
+
|
|
397
|
+
**Every millisecond counts.**
|
|
398
|
+
|
|
399
|
+
- 100ms delay → 1% drop in sales
|
|
400
|
+
- 1 second delay → 7% reduction in conversions
|
|
401
|
+
- 3 seconds load → 53% mobile users leave
|
|
402
|
+
|
|
403
|
+
**Performance is not a one-time task—it's a continuous process.**
|