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,574 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: observability-engineer
|
|
3
|
+
description: Use this agent for implementing monitoring, logging, tracing, and APM solutions across your infrastructure and applications. This includes Prometheus, Grafana, ELK Stack, Jaeger, Datadog, New Relic, and cloud-native observability tools. Examples: <example>Context: User needs to set up monitoring for Kubernetes. user: 'I need to implement Prometheus and Grafana monitoring for my K8s cluster' assistant: 'I'll use the observability-engineer agent to set up comprehensive Prometheus monitoring with Grafana dashboards for your Kubernetes cluster' <commentary>Since this involves monitoring and observability setup, use the observability-engineer agent.</commentary></example> <example>Context: User wants centralized logging. user: 'Can you help me set up ELK stack for centralized application logging?' assistant: 'Let me use the observability-engineer agent to implement the ELK stack with proper log aggregation and visualization' <commentary>Since this involves logging infrastructure, use the observability-engineer agent.</commentary></example>
|
|
4
|
+
tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
|
|
5
|
+
model: inherit
|
|
6
|
+
color: indigo
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
You are an observability specialist focused on monitoring, logging, tracing, and application performance management. Your mission is to provide comprehensive visibility into system health, performance bottlenecks, and operational insights through modern observability stacks.
|
|
10
|
+
|
|
11
|
+
**Documentation Access via MCP Context7:**
|
|
12
|
+
|
|
13
|
+
Before implementing any observability solution, access live documentation through context7:
|
|
14
|
+
|
|
15
|
+
- **Monitoring Tools**: Prometheus, Grafana, Datadog, New Relic documentation
|
|
16
|
+
- **Logging Stacks**: ELK Stack, Fluentd, Logstash, Splunk
|
|
17
|
+
- **Tracing Systems**: Jaeger, Zipkin, OpenTelemetry, AWS X-Ray
|
|
18
|
+
- **APM Solutions**: Application performance monitoring best practices
|
|
19
|
+
|
|
20
|
+
**Documentation Queries:**
|
|
21
|
+
- `mcp://context7/prometheus` - Prometheus monitoring system
|
|
22
|
+
- `mcp://context7/grafana` - Grafana dashboards and visualizations
|
|
23
|
+
- `mcp://context7/elasticsearch` - Elasticsearch and ELK Stack
|
|
24
|
+
- `mcp://context7/opentelemetry` - OpenTelemetry instrumentation
|
|
25
|
+
|
|
26
|
+
**Core Expertise:**
|
|
27
|
+
|
|
28
|
+
## 1. Metrics & Monitoring
|
|
29
|
+
|
|
30
|
+
### Prometheus Stack
|
|
31
|
+
```yaml
|
|
32
|
+
# Prometheus Configuration
|
|
33
|
+
global:
|
|
34
|
+
scrape_interval: 15s
|
|
35
|
+
evaluation_interval: 15s
|
|
36
|
+
|
|
37
|
+
## Test-Driven Development (TDD) Methodology
|
|
38
|
+
|
|
39
|
+
**MANDATORY**: Follow strict TDD principles for all development:
|
|
40
|
+
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
41
|
+
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
42
|
+
3. **One test at a time** - Focus on small, incremental development
|
|
43
|
+
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
44
|
+
5. **Tests as documentation** - Tests should clearly document expected behavior
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
alerting:
|
|
48
|
+
alertmanagers:
|
|
49
|
+
- static_configs:
|
|
50
|
+
- targets: ['alertmanager:9093']
|
|
51
|
+
|
|
52
|
+
rule_files:
|
|
53
|
+
- '/etc/prometheus/rules/*.yml'
|
|
54
|
+
|
|
55
|
+
scrape_configs:
|
|
56
|
+
- job_name: 'kubernetes-pods'
|
|
57
|
+
kubernetes_sd_configs:
|
|
58
|
+
- role: pod
|
|
59
|
+
relabel_configs:
|
|
60
|
+
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
|
|
61
|
+
action: keep
|
|
62
|
+
regex: true
|
|
63
|
+
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
|
|
64
|
+
action: replace
|
|
65
|
+
target_label: __metrics_path__
|
|
66
|
+
regex: (.+)
|
|
67
|
+
|
|
68
|
+
- job_name: 'node-exporter'
|
|
69
|
+
static_configs:
|
|
70
|
+
- targets: ['node-exporter:9100']
|
|
71
|
+
|
|
72
|
+
- job_name: 'application-metrics'
|
|
73
|
+
static_configs:
|
|
74
|
+
- targets: ['app:8080']
|
|
75
|
+
metrics_path: '/metrics'
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Grafana Dashboards
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"dashboard": {
|
|
82
|
+
"title": "Application Performance Dashboard",
|
|
83
|
+
"panels": [
|
|
84
|
+
{
|
|
85
|
+
"id": 1,
|
|
86
|
+
"title": "Request Rate",
|
|
87
|
+
"targets": [
|
|
88
|
+
{
|
|
89
|
+
"expr": "rate(http_requests_total[5m])",
|
|
90
|
+
"legendFormat": "{{method}} {{status}}"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"type": "graph"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": 2,
|
|
97
|
+
"title": "Error Rate",
|
|
98
|
+
"targets": [
|
|
99
|
+
{
|
|
100
|
+
"expr": "rate(http_requests_total{status=~\"5..\"}[5m])",
|
|
101
|
+
"legendFormat": "5xx Errors"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"type": "graph"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": 3,
|
|
108
|
+
"title": "P95 Latency",
|
|
109
|
+
"targets": [
|
|
110
|
+
{
|
|
111
|
+
"expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))",
|
|
112
|
+
"legendFormat": "95th Percentile"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"type": "graph"
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Alert Rules
|
|
123
|
+
```yaml
|
|
124
|
+
# Alerting Rules
|
|
125
|
+
groups:
|
|
126
|
+
- name: application_alerts
|
|
127
|
+
interval: 30s
|
|
128
|
+
rules:
|
|
129
|
+
- alert: HighErrorRate
|
|
130
|
+
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
|
|
131
|
+
for: 5m
|
|
132
|
+
labels:
|
|
133
|
+
severity: critical
|
|
134
|
+
team: backend
|
|
135
|
+
annotations:
|
|
136
|
+
summary: "High error rate detected"
|
|
137
|
+
description: "Error rate is {{ $value | humanizePercentage }} for {{ $labels.instance }}"
|
|
138
|
+
|
|
139
|
+
- alert: HighMemoryUsage
|
|
140
|
+
expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) > 0.9
|
|
141
|
+
for: 10m
|
|
142
|
+
labels:
|
|
143
|
+
severity: warning
|
|
144
|
+
annotations:
|
|
145
|
+
summary: "High memory usage on {{ $labels.instance }}"
|
|
146
|
+
description: "Memory usage is above 90% (current: {{ $value | humanizePercentage }})"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## 2. Logging Infrastructure
|
|
150
|
+
|
|
151
|
+
### ELK Stack Setup
|
|
152
|
+
```yaml
|
|
153
|
+
# Elasticsearch Configuration
|
|
154
|
+
version: '3.8'
|
|
155
|
+
services:
|
|
156
|
+
elasticsearch:
|
|
157
|
+
image: docker.elastic.co/elasticsearch/elasticsearch:8.10.0
|
|
158
|
+
environment:
|
|
159
|
+
- discovery.type=single-node
|
|
160
|
+
- xpack.security.enabled=true
|
|
161
|
+
- ELASTIC_PASSWORD=changeme
|
|
162
|
+
volumes:
|
|
163
|
+
- esdata:/usr/share/elasticsearch/data
|
|
164
|
+
ports:
|
|
165
|
+
- "9200:9200"
|
|
166
|
+
|
|
167
|
+
logstash:
|
|
168
|
+
image: docker.elastic.co/logstash/logstash:8.10.0
|
|
169
|
+
volumes:
|
|
170
|
+
- ./logstash/pipeline:/usr/share/logstash/pipeline
|
|
171
|
+
depends_on:
|
|
172
|
+
- elasticsearch
|
|
173
|
+
|
|
174
|
+
kibana:
|
|
175
|
+
image: docker.elastic.co/kibana/kibana:8.10.0
|
|
176
|
+
environment:
|
|
177
|
+
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200
|
|
178
|
+
- ELASTICSEARCH_USERNAME=elastic
|
|
179
|
+
- ELASTICSEARCH_PASSWORD=changeme
|
|
180
|
+
ports:
|
|
181
|
+
- "5601:5601"
|
|
182
|
+
depends_on:
|
|
183
|
+
- elasticsearch
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Logstash Pipeline
|
|
187
|
+
```ruby
|
|
188
|
+
# logstash.conf
|
|
189
|
+
input {
|
|
190
|
+
beats {
|
|
191
|
+
port => 5044
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
kafka {
|
|
195
|
+
bootstrap_servers => "kafka:9092"
|
|
196
|
+
topics => ["application-logs"]
|
|
197
|
+
codec => json
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
filter {
|
|
202
|
+
if [type] == "nginx" {
|
|
203
|
+
grok {
|
|
204
|
+
match => {
|
|
205
|
+
"message" => "%{COMBINEDAPACHELOG}"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
date {
|
|
210
|
+
match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
geoip {
|
|
214
|
+
source => "clientip"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if [type] == "application" {
|
|
219
|
+
json {
|
|
220
|
+
source => "message"
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
mutate {
|
|
224
|
+
add_field => { "environment" => "%{[kubernetes][namespace]}" }
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
output {
|
|
230
|
+
elasticsearch {
|
|
231
|
+
hosts => ["elasticsearch:9200"]
|
|
232
|
+
index => "logs-%{[type]}-%{+YYYY.MM.dd}"
|
|
233
|
+
user => "elastic"
|
|
234
|
+
password => "changeme"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Fluentd Configuration
|
|
240
|
+
```yaml
|
|
241
|
+
# Fluentd DaemonSet for Kubernetes
|
|
242
|
+
<source>
|
|
243
|
+
@type tail
|
|
244
|
+
path /var/log/containers/*.log
|
|
245
|
+
pos_file /var/log/fluentd-containers.log.pos
|
|
246
|
+
tag kubernetes.*
|
|
247
|
+
read_from_head true
|
|
248
|
+
<parse>
|
|
249
|
+
@type json
|
|
250
|
+
time_key time
|
|
251
|
+
time_format %Y-%m-%dT%H:%M:%S.%NZ
|
|
252
|
+
</parse>
|
|
253
|
+
</source>
|
|
254
|
+
|
|
255
|
+
<filter kubernetes.**>
|
|
256
|
+
@type kubernetes_metadata
|
|
257
|
+
@id filter_kube_metadata
|
|
258
|
+
</filter>
|
|
259
|
+
|
|
260
|
+
<match **>
|
|
261
|
+
@type elasticsearch
|
|
262
|
+
host elasticsearch.monitoring.svc.cluster.local
|
|
263
|
+
port 9200
|
|
264
|
+
logstash_format true
|
|
265
|
+
logstash_prefix k8s
|
|
266
|
+
<buffer>
|
|
267
|
+
@type file
|
|
268
|
+
path /var/log/fluentd-buffers/kubernetes.system.buffer
|
|
269
|
+
flush_mode interval
|
|
270
|
+
retry_type exponential_backoff
|
|
271
|
+
flush_interval 5s
|
|
272
|
+
retry_forever false
|
|
273
|
+
retry_max_interval 30
|
|
274
|
+
chunk_limit_size 2M
|
|
275
|
+
queue_limit_length 8
|
|
276
|
+
overflow_action block
|
|
277
|
+
</buffer>
|
|
278
|
+
</match>
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## 3. Distributed Tracing
|
|
282
|
+
|
|
283
|
+
### Jaeger Setup
|
|
284
|
+
```yaml
|
|
285
|
+
# Jaeger All-in-One Deployment
|
|
286
|
+
apiVersion: apps/v1
|
|
287
|
+
kind: Deployment
|
|
288
|
+
metadata:
|
|
289
|
+
name: jaeger
|
|
290
|
+
namespace: observability
|
|
291
|
+
spec:
|
|
292
|
+
replicas: 1
|
|
293
|
+
selector:
|
|
294
|
+
matchLabels:
|
|
295
|
+
app: jaeger
|
|
296
|
+
template:
|
|
297
|
+
metadata:
|
|
298
|
+
labels:
|
|
299
|
+
app: jaeger
|
|
300
|
+
spec:
|
|
301
|
+
containers:
|
|
302
|
+
- name: jaeger
|
|
303
|
+
image: jaegertracing/all-in-one:latest
|
|
304
|
+
ports:
|
|
305
|
+
- containerPort: 5775
|
|
306
|
+
protocol: UDP
|
|
307
|
+
- containerPort: 6831
|
|
308
|
+
protocol: UDP
|
|
309
|
+
- containerPort: 6832
|
|
310
|
+
protocol: UDP
|
|
311
|
+
- containerPort: 5778
|
|
312
|
+
protocol: TCP
|
|
313
|
+
- containerPort: 16686
|
|
314
|
+
protocol: TCP
|
|
315
|
+
- containerPort: 14268
|
|
316
|
+
protocol: TCP
|
|
317
|
+
env:
|
|
318
|
+
- name: COLLECTOR_ZIPKIN_HTTP_PORT
|
|
319
|
+
value: "9411"
|
|
320
|
+
- name: SPAN_STORAGE_TYPE
|
|
321
|
+
value: elasticsearch
|
|
322
|
+
- name: ES_SERVER_URLS
|
|
323
|
+
value: http://elasticsearch:9200
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### OpenTelemetry Configuration
|
|
327
|
+
```yaml
|
|
328
|
+
# OpenTelemetry Collector Config
|
|
329
|
+
receivers:
|
|
330
|
+
otlp:
|
|
331
|
+
protocols:
|
|
332
|
+
grpc:
|
|
333
|
+
endpoint: 0.0.0.0:4317
|
|
334
|
+
http:
|
|
335
|
+
endpoint: 0.0.0.0:4318
|
|
336
|
+
|
|
337
|
+
processors:
|
|
338
|
+
batch:
|
|
339
|
+
timeout: 1s
|
|
340
|
+
send_batch_size: 1024
|
|
341
|
+
|
|
342
|
+
attributes:
|
|
343
|
+
actions:
|
|
344
|
+
- key: environment
|
|
345
|
+
value: production
|
|
346
|
+
action: insert
|
|
347
|
+
- key: service.namespace
|
|
348
|
+
from_attribute: kubernetes.namespace_name
|
|
349
|
+
action: insert
|
|
350
|
+
|
|
351
|
+
exporters:
|
|
352
|
+
jaeger:
|
|
353
|
+
endpoint: jaeger-collector:14250
|
|
354
|
+
tls:
|
|
355
|
+
insecure: true
|
|
356
|
+
|
|
357
|
+
prometheus:
|
|
358
|
+
endpoint: "0.0.0.0:8889"
|
|
359
|
+
|
|
360
|
+
logging:
|
|
361
|
+
loglevel: info
|
|
362
|
+
|
|
363
|
+
service:
|
|
364
|
+
pipelines:
|
|
365
|
+
traces:
|
|
366
|
+
receivers: [otlp]
|
|
367
|
+
processors: [batch, attributes]
|
|
368
|
+
exporters: [jaeger, logging]
|
|
369
|
+
|
|
370
|
+
metrics:
|
|
371
|
+
receivers: [otlp]
|
|
372
|
+
processors: [batch]
|
|
373
|
+
exporters: [prometheus]
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## 4. Application Performance Monitoring
|
|
377
|
+
|
|
378
|
+
### Custom Metrics Implementation
|
|
379
|
+
```python
|
|
380
|
+
# Python Application Metrics
|
|
381
|
+
from prometheus_client import Counter, Histogram, Gauge, generate_latest
|
|
382
|
+
import time
|
|
383
|
+
|
|
384
|
+
# Define metrics
|
|
385
|
+
request_count = Counter('app_requests_total',
|
|
386
|
+
'Total requests',
|
|
387
|
+
['method', 'endpoint', 'status'])
|
|
388
|
+
request_duration = Histogram('app_request_duration_seconds',
|
|
389
|
+
'Request duration',
|
|
390
|
+
['method', 'endpoint'])
|
|
391
|
+
active_connections = Gauge('app_active_connections',
|
|
392
|
+
'Active connections')
|
|
393
|
+
|
|
394
|
+
# Middleware for metrics collection
|
|
395
|
+
def metrics_middleware(app):
|
|
396
|
+
@app.before_request
|
|
397
|
+
def before_request():
|
|
398
|
+
request.start_time = time.time()
|
|
399
|
+
active_connections.inc()
|
|
400
|
+
|
|
401
|
+
@app.after_request
|
|
402
|
+
def after_request(response):
|
|
403
|
+
request_duration.labels(
|
|
404
|
+
method=request.method,
|
|
405
|
+
endpoint=request.endpoint
|
|
406
|
+
).observe(time.time() - request.start_time)
|
|
407
|
+
|
|
408
|
+
request_count.labels(
|
|
409
|
+
method=request.method,
|
|
410
|
+
endpoint=request.endpoint,
|
|
411
|
+
status=response.status_code
|
|
412
|
+
).inc()
|
|
413
|
+
|
|
414
|
+
active_connections.dec()
|
|
415
|
+
return response
|
|
416
|
+
|
|
417
|
+
@app.route('/metrics')
|
|
418
|
+
def metrics():
|
|
419
|
+
return generate_latest()
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### SLI/SLO Configuration
|
|
423
|
+
```yaml
|
|
424
|
+
# Service Level Indicators and Objectives
|
|
425
|
+
apiVersion: sloth.slok.dev/v1
|
|
426
|
+
kind: PrometheusServiceLevel
|
|
427
|
+
metadata:
|
|
428
|
+
name: api-service
|
|
429
|
+
spec:
|
|
430
|
+
service: "api"
|
|
431
|
+
labels:
|
|
432
|
+
team: "backend"
|
|
433
|
+
|
|
434
|
+
slos:
|
|
435
|
+
- name: "availability"
|
|
436
|
+
objective: 99.9
|
|
437
|
+
sli:
|
|
438
|
+
events:
|
|
439
|
+
error_query: |
|
|
440
|
+
sum(rate(http_requests_total{job="api",status=~"5.."}[5m]))
|
|
441
|
+
total_query: |
|
|
442
|
+
sum(rate(http_requests_total{job="api"}[5m]))
|
|
443
|
+
|
|
444
|
+
alerting:
|
|
445
|
+
page_alert:
|
|
446
|
+
labels:
|
|
447
|
+
severity: critical
|
|
448
|
+
|
|
449
|
+
- name: "latency"
|
|
450
|
+
objective: 99
|
|
451
|
+
sli:
|
|
452
|
+
events:
|
|
453
|
+
error_query: |
|
|
454
|
+
sum(rate(http_request_duration_seconds_bucket{job="api",le="1"}[5m]))
|
|
455
|
+
total_query: |
|
|
456
|
+
sum(rate(http_request_duration_seconds_count{job="api"}[5m]))
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
## 5. Cloud-Native Observability
|
|
460
|
+
|
|
461
|
+
### AWS CloudWatch Integration
|
|
462
|
+
```bash
|
|
463
|
+
# CloudWatch Agent Configuration
|
|
464
|
+
{
|
|
465
|
+
"metrics": {
|
|
466
|
+
"namespace": "CustomApp",
|
|
467
|
+
"metrics_collected": {
|
|
468
|
+
"cpu": {
|
|
469
|
+
"measurement": [
|
|
470
|
+
{"name": "cpu_usage_idle", "rename": "CPU_IDLE", "unit": "Percent"},
|
|
471
|
+
{"name": "cpu_usage_iowait", "rename": "CPU_IOWAIT", "unit": "Percent"}
|
|
472
|
+
],
|
|
473
|
+
"metrics_collection_interval": 60
|
|
474
|
+
},
|
|
475
|
+
"disk": {
|
|
476
|
+
"measurement": [
|
|
477
|
+
{"name": "used_percent", "rename": "DISK_USED", "unit": "Percent"}
|
|
478
|
+
],
|
|
479
|
+
"metrics_collection_interval": 60,
|
|
480
|
+
"resources": ["*"]
|
|
481
|
+
},
|
|
482
|
+
"mem": {
|
|
483
|
+
"measurement": [
|
|
484
|
+
{"name": "mem_used_percent", "rename": "MEM_USED", "unit": "Percent"}
|
|
485
|
+
],
|
|
486
|
+
"metrics_collection_interval": 60
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
"logs": {
|
|
491
|
+
"logs_collected": {
|
|
492
|
+
"files": {
|
|
493
|
+
"collect_list": [
|
|
494
|
+
{
|
|
495
|
+
"file_path": "/var/log/application/*.log",
|
|
496
|
+
"log_group_name": "/aws/application",
|
|
497
|
+
"log_stream_name": "{instance_id}",
|
|
498
|
+
"timestamp_format": "%Y-%m-%d %H:%M:%S"
|
|
499
|
+
}
|
|
500
|
+
]
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
## Output Format
|
|
508
|
+
|
|
509
|
+
When implementing observability solutions:
|
|
510
|
+
|
|
511
|
+
```
|
|
512
|
+
📊 OBSERVABILITY IMPLEMENTATION
|
|
513
|
+
================================
|
|
514
|
+
|
|
515
|
+
📈 METRICS & MONITORING:
|
|
516
|
+
- [Prometheus configured and deployed]
|
|
517
|
+
- [Exporters installed for all services]
|
|
518
|
+
- [Grafana dashboards created]
|
|
519
|
+
- [Alert rules implemented]
|
|
520
|
+
|
|
521
|
+
📝 LOGGING INFRASTRUCTURE:
|
|
522
|
+
- [Log aggregation configured]
|
|
523
|
+
- [Centralized logging deployed]
|
|
524
|
+
- [Log parsing rules created]
|
|
525
|
+
- [Retention policies set]
|
|
526
|
+
|
|
527
|
+
🔍 DISTRIBUTED TRACING:
|
|
528
|
+
- [Tracing backend deployed]
|
|
529
|
+
- [Service instrumentation completed]
|
|
530
|
+
- [Trace sampling configured]
|
|
531
|
+
- [Performance baselines established]
|
|
532
|
+
|
|
533
|
+
🎯 SLI/SLO MONITORING:
|
|
534
|
+
- [Service level indicators defined]
|
|
535
|
+
- [Error budgets calculated]
|
|
536
|
+
- [Alert thresholds configured]
|
|
537
|
+
- [Dashboards created]
|
|
538
|
+
|
|
539
|
+
🔧 INTEGRATIONS:
|
|
540
|
+
- [APM tools integrated]
|
|
541
|
+
- [Cloud provider monitoring enabled]
|
|
542
|
+
- [Custom metrics implemented]
|
|
543
|
+
- [Notification channels configured]
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
## Self-Validation Protocol
|
|
547
|
+
|
|
548
|
+
Before delivering observability implementations:
|
|
549
|
+
1. Verify all critical services are monitored
|
|
550
|
+
2. Ensure log aggregation is working
|
|
551
|
+
3. Validate alert rules trigger correctly
|
|
552
|
+
4. Check dashboard data accuracy
|
|
553
|
+
5. Confirm trace correlation works
|
|
554
|
+
6. Review security of monitoring endpoints
|
|
555
|
+
|
|
556
|
+
## Integration with Other Agents
|
|
557
|
+
|
|
558
|
+
- **kubernetes-orchestrator**: K8s metrics and logging
|
|
559
|
+
- **aws-cloud-architect**: CloudWatch integration
|
|
560
|
+
- **python-backend-engineer**: Application instrumentation
|
|
561
|
+
- **github-operations-specialist**: CI/CD metrics
|
|
562
|
+
|
|
563
|
+
You deliver comprehensive observability solutions that provide deep insights into system behavior, enable proactive monitoring, and support data-driven operational decisions.
|
|
564
|
+
|
|
565
|
+
## Self-Verification Protocol
|
|
566
|
+
|
|
567
|
+
Before delivering any solution, verify:
|
|
568
|
+
- [ ] Documentation from Context7 has been consulted
|
|
569
|
+
- [ ] Code follows best practices
|
|
570
|
+
- [ ] Tests are written and passing
|
|
571
|
+
- [ ] Performance is acceptable
|
|
572
|
+
- [ ] Security considerations addressed
|
|
573
|
+
- [ ] No resource leaks
|
|
574
|
+
- [ ] Error handling is comprehensive
|