claude-autopm 2.8.2 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +399 -637
- package/package.json +2 -1
- package/packages/plugin-ai/LICENSE +21 -0
- package/packages/plugin-ai/README.md +316 -0
- package/packages/plugin-ai/agents/anthropic-claude-expert.md +579 -0
- package/packages/plugin-ai/agents/azure-openai-expert.md +1411 -0
- package/packages/plugin-ai/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-ai/agents/google-a2a-expert.md +1445 -0
- package/packages/plugin-ai/agents/huggingface-expert.md +2131 -0
- package/packages/plugin-ai/agents/langchain-expert.md +1427 -0
- package/packages/plugin-ai/agents/langgraph-workflow-expert.md +520 -0
- package/packages/plugin-ai/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-ai/commands/a2a-setup.md +886 -0
- package/packages/plugin-ai/commands/ai-model-deployment.md +481 -0
- package/packages/plugin-ai/commands/anthropic-optimize.md +793 -0
- package/packages/plugin-ai/commands/huggingface-deploy.md +789 -0
- package/packages/plugin-ai/commands/langchain-optimize.md +807 -0
- package/packages/plugin-ai/commands/llm-optimize.md +348 -0
- package/packages/plugin-ai/commands/openai-optimize.md +863 -0
- package/packages/plugin-ai/commands/rag-optimize.md +841 -0
- package/packages/plugin-ai/commands/rag-setup-scaffold.md +382 -0
- package/packages/plugin-ai/package.json +66 -0
- package/packages/plugin-ai/plugin.json +519 -0
- package/packages/plugin-ai/rules/ai-model-standards.md +449 -0
- package/packages/plugin-ai/rules/prompt-engineering-standards.md +509 -0
- package/packages/plugin-ai/scripts/examples/huggingface-inference-example.py +145 -0
- package/packages/plugin-ai/scripts/examples/langchain-rag-example.py +366 -0
- package/packages/plugin-ai/scripts/examples/mlflow-tracking-example.py +224 -0
- package/packages/plugin-ai/scripts/examples/openai-chat-example.py +425 -0
- package/packages/plugin-cloud/README.md +268 -0
- package/packages/plugin-cloud/agents/README.md +55 -0
- package/packages/plugin-cloud/agents/aws-cloud-architect.md +521 -0
- package/packages/plugin-cloud/agents/azure-cloud-architect.md +436 -0
- package/packages/plugin-cloud/agents/gcp-cloud-architect.md +385 -0
- package/packages/plugin-cloud/agents/gcp-cloud-functions-engineer.md +306 -0
- package/packages/plugin-cloud/agents/gemini-api-expert.md +880 -0
- package/packages/plugin-cloud/agents/kubernetes-orchestrator.md +566 -0
- package/packages/plugin-cloud/agents/openai-python-expert.md +1087 -0
- package/packages/plugin-cloud/agents/terraform-infrastructure-expert.md +454 -0
- package/packages/plugin-cloud/commands/cloud-cost-optimize.md +243 -0
- package/packages/plugin-cloud/commands/cloud-validate.md +196 -0
- package/packages/plugin-cloud/commands/infra-deploy.md +38 -0
- package/packages/plugin-cloud/commands/k8s-deploy.md +37 -0
- package/packages/plugin-cloud/commands/ssh-security.md +65 -0
- package/packages/plugin-cloud/commands/traefik-setup.md +65 -0
- package/packages/plugin-cloud/hooks/pre-cloud-deploy.js +456 -0
- package/packages/plugin-cloud/package.json +64 -0
- package/packages/plugin-cloud/plugin.json +338 -0
- package/packages/plugin-cloud/rules/cloud-security-compliance.md +313 -0
- package/packages/plugin-cloud/rules/infrastructure-pipeline.md +128 -0
- package/packages/plugin-cloud/scripts/examples/aws-validate.sh +30 -0
- package/packages/plugin-cloud/scripts/examples/azure-setup.sh +33 -0
- package/packages/plugin-cloud/scripts/examples/gcp-setup.sh +39 -0
- package/packages/plugin-cloud/scripts/examples/k8s-validate.sh +40 -0
- package/packages/plugin-cloud/scripts/examples/terraform-init.sh +26 -0
- package/packages/plugin-core/README.md +274 -0
- package/packages/plugin-core/agents/core/agent-manager.md +296 -0
- package/packages/plugin-core/agents/core/code-analyzer.md +131 -0
- package/packages/plugin-core/agents/core/file-analyzer.md +162 -0
- package/packages/plugin-core/agents/core/test-runner.md +200 -0
- package/packages/plugin-core/commands/code-rabbit.md +128 -0
- package/packages/plugin-core/commands/prompt.md +9 -0
- package/packages/plugin-core/commands/re-init.md +9 -0
- package/packages/plugin-core/hooks/context7-reminder.md +29 -0
- package/packages/plugin-core/hooks/enforce-agents.js +125 -0
- package/packages/plugin-core/hooks/enforce-agents.sh +35 -0
- package/packages/plugin-core/hooks/pre-agent-context7.js +224 -0
- package/packages/plugin-core/hooks/pre-command-context7.js +229 -0
- package/packages/plugin-core/hooks/strict-enforce-agents.sh +39 -0
- package/packages/plugin-core/hooks/test-hook.sh +21 -0
- package/packages/plugin-core/hooks/unified-context7-enforcement.sh +38 -0
- package/packages/plugin-core/package.json +45 -0
- package/packages/plugin-core/plugin.json +387 -0
- package/packages/plugin-core/rules/agent-coordination.md +549 -0
- package/packages/plugin-core/rules/agent-mandatory.md +170 -0
- package/packages/plugin-core/rules/ai-integration-patterns.md +219 -0
- package/packages/plugin-core/rules/command-pipelines.md +208 -0
- package/packages/plugin-core/rules/context-optimization.md +176 -0
- package/packages/plugin-core/rules/context7-enforcement.md +327 -0
- package/packages/plugin-core/rules/datetime.md +122 -0
- package/packages/plugin-core/rules/definition-of-done.md +272 -0
- package/packages/plugin-core/rules/development-environments.md +19 -0
- package/packages/plugin-core/rules/development-workflow.md +198 -0
- package/packages/plugin-core/rules/framework-path-rules.md +180 -0
- package/packages/plugin-core/rules/frontmatter-operations.md +64 -0
- package/packages/plugin-core/rules/git-strategy.md +237 -0
- package/packages/plugin-core/rules/golden-rules.md +181 -0
- package/packages/plugin-core/rules/naming-conventions.md +111 -0
- package/packages/plugin-core/rules/no-pr-workflow.md +183 -0
- package/packages/plugin-core/rules/performance-guidelines.md +403 -0
- package/packages/plugin-core/rules/pipeline-mandatory.md +109 -0
- package/packages/plugin-core/rules/security-checklist.md +318 -0
- package/packages/plugin-core/rules/standard-patterns.md +197 -0
- package/packages/plugin-core/rules/strip-frontmatter.md +85 -0
- package/packages/plugin-core/rules/tdd.enforcement.md +103 -0
- package/packages/plugin-core/rules/use-ast-grep.md +113 -0
- package/packages/plugin-core/scripts/lib/datetime-utils.sh +254 -0
- package/packages/plugin-core/scripts/lib/frontmatter-utils.sh +294 -0
- package/packages/plugin-core/scripts/lib/github-utils.sh +221 -0
- package/packages/plugin-core/scripts/lib/logging-utils.sh +199 -0
- package/packages/plugin-core/scripts/lib/validation-utils.sh +339 -0
- package/packages/plugin-core/scripts/mcp/add.sh +7 -0
- package/packages/plugin-core/scripts/mcp/disable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/enable.sh +12 -0
- package/packages/plugin-core/scripts/mcp/list.sh +7 -0
- package/packages/plugin-core/scripts/mcp/sync.sh +8 -0
- package/packages/plugin-data/README.md +315 -0
- package/packages/plugin-data/agents/airflow-orchestration-expert.md +158 -0
- package/packages/plugin-data/agents/kedro-pipeline-expert.md +304 -0
- package/packages/plugin-data/agents/langgraph-workflow-expert.md +530 -0
- package/packages/plugin-data/commands/airflow-dag-scaffold.md +413 -0
- package/packages/plugin-data/commands/kafka-pipeline-scaffold.md +503 -0
- package/packages/plugin-data/package.json +66 -0
- package/packages/plugin-data/plugin.json +294 -0
- package/packages/plugin-data/rules/data-quality-standards.md +373 -0
- package/packages/plugin-data/rules/etl-pipeline-standards.md +255 -0
- package/packages/plugin-data/scripts/examples/airflow-dag-example.py +245 -0
- package/packages/plugin-data/scripts/examples/dbt-transform-example.sql +238 -0
- package/packages/plugin-data/scripts/examples/kafka-streaming-example.py +257 -0
- package/packages/plugin-data/scripts/examples/pandas-etl-example.py +332 -0
- package/packages/plugin-databases/README.md +330 -0
- package/packages/plugin-databases/agents/README.md +50 -0
- package/packages/plugin-databases/agents/bigquery-expert.md +401 -0
- package/packages/plugin-databases/agents/cosmosdb-expert.md +375 -0
- package/packages/plugin-databases/agents/mongodb-expert.md +407 -0
- package/packages/plugin-databases/agents/postgresql-expert.md +329 -0
- package/packages/plugin-databases/agents/redis-expert.md +74 -0
- package/packages/plugin-databases/commands/db-optimize.md +612 -0
- package/packages/plugin-databases/package.json +60 -0
- package/packages/plugin-databases/plugin.json +237 -0
- package/packages/plugin-databases/rules/database-management-strategy.md +146 -0
- package/packages/plugin-databases/rules/database-pipeline.md +316 -0
- package/packages/plugin-databases/scripts/examples/bigquery-cost-analyze.sh +160 -0
- package/packages/plugin-databases/scripts/examples/cosmosdb-ru-optimize.sh +163 -0
- package/packages/plugin-databases/scripts/examples/mongodb-shard-check.sh +120 -0
- package/packages/plugin-databases/scripts/examples/postgres-index-analyze.sh +95 -0
- package/packages/plugin-databases/scripts/examples/redis-cache-stats.sh +121 -0
- package/packages/plugin-devops/README.md +367 -0
- package/packages/plugin-devops/agents/README.md +52 -0
- package/packages/plugin-devops/agents/azure-devops-specialist.md +308 -0
- package/packages/plugin-devops/agents/docker-containerization-expert.md +298 -0
- package/packages/plugin-devops/agents/github-operations-specialist.md +335 -0
- package/packages/plugin-devops/agents/mcp-context-manager.md +319 -0
- package/packages/plugin-devops/agents/observability-engineer.md +574 -0
- package/packages/plugin-devops/agents/ssh-operations-expert.md +1093 -0
- package/packages/plugin-devops/agents/traefik-proxy-expert.md +444 -0
- package/packages/plugin-devops/commands/ci-pipeline-create.md +581 -0
- package/packages/plugin-devops/commands/docker-optimize.md +493 -0
- package/packages/plugin-devops/commands/workflow-create.md +42 -0
- package/packages/plugin-devops/hooks/pre-docker-build.js +472 -0
- package/packages/plugin-devops/package.json +61 -0
- package/packages/plugin-devops/plugin.json +302 -0
- package/packages/plugin-devops/rules/ci-cd-kubernetes-strategy.md +25 -0
- package/packages/plugin-devops/rules/devops-troubleshooting-playbook.md +450 -0
- package/packages/plugin-devops/rules/docker-first-development.md +404 -0
- package/packages/plugin-devops/rules/github-operations.md +92 -0
- package/packages/plugin-devops/scripts/examples/docker-build-multistage.sh +43 -0
- package/packages/plugin-devops/scripts/examples/docker-compose-validate.sh +74 -0
- package/packages/plugin-devops/scripts/examples/github-workflow-validate.sh +48 -0
- package/packages/plugin-devops/scripts/examples/prometheus-health-check.sh +58 -0
- package/packages/plugin-devops/scripts/examples/ssh-key-setup.sh +74 -0
- package/packages/plugin-frameworks/README.md +309 -0
- package/packages/plugin-frameworks/agents/README.md +64 -0
- package/packages/plugin-frameworks/agents/e2e-test-engineer.md +579 -0
- package/packages/plugin-frameworks/agents/nats-messaging-expert.md +254 -0
- package/packages/plugin-frameworks/agents/react-frontend-engineer.md +393 -0
- package/packages/plugin-frameworks/agents/react-ui-expert.md +226 -0
- package/packages/plugin-frameworks/agents/tailwindcss-expert.md +1021 -0
- package/packages/plugin-frameworks/agents/ux-design-expert.md +244 -0
- package/packages/plugin-frameworks/commands/app-scaffold.md +50 -0
- package/packages/plugin-frameworks/commands/nextjs-optimize.md +692 -0
- package/packages/plugin-frameworks/commands/react-optimize.md +583 -0
- package/packages/plugin-frameworks/commands/tailwind-system.md +64 -0
- package/packages/plugin-frameworks/package.json +59 -0
- package/packages/plugin-frameworks/plugin.json +224 -0
- package/packages/plugin-frameworks/rules/performance-guidelines.md +403 -0
- package/packages/plugin-frameworks/rules/ui-development-standards.md +281 -0
- package/packages/plugin-frameworks/rules/ui-framework-rules.md +151 -0
- package/packages/plugin-frameworks/scripts/examples/react-component-perf.sh +34 -0
- package/packages/plugin-frameworks/scripts/examples/tailwind-optimize.sh +44 -0
- package/packages/plugin-frameworks/scripts/examples/vue-composition-check.sh +41 -0
- package/packages/plugin-languages/README.md +333 -0
- package/packages/plugin-languages/agents/README.md +50 -0
- package/packages/plugin-languages/agents/bash-scripting-expert.md +541 -0
- package/packages/plugin-languages/agents/javascript-frontend-engineer.md +197 -0
- package/packages/plugin-languages/agents/nodejs-backend-engineer.md +226 -0
- package/packages/plugin-languages/agents/python-backend-engineer.md +214 -0
- package/packages/plugin-languages/agents/python-backend-expert.md +289 -0
- package/packages/plugin-languages/commands/javascript-optimize.md +636 -0
- package/packages/plugin-languages/commands/nodejs-api-scaffold.md +341 -0
- package/packages/plugin-languages/commands/nodejs-optimize.md +689 -0
- package/packages/plugin-languages/commands/python-api-scaffold.md +261 -0
- package/packages/plugin-languages/commands/python-optimize.md +593 -0
- package/packages/plugin-languages/package.json +65 -0
- package/packages/plugin-languages/plugin.json +265 -0
- package/packages/plugin-languages/rules/code-quality-standards.md +496 -0
- package/packages/plugin-languages/rules/testing-standards.md +768 -0
- package/packages/plugin-languages/scripts/examples/bash-production-script.sh +520 -0
- package/packages/plugin-languages/scripts/examples/javascript-es6-patterns.js +291 -0
- package/packages/plugin-languages/scripts/examples/nodejs-async-iteration.js +360 -0
- package/packages/plugin-languages/scripts/examples/python-async-patterns.py +289 -0
- package/packages/plugin-languages/scripts/examples/typescript-patterns.ts +432 -0
- package/packages/plugin-ml/README.md +430 -0
- package/packages/plugin-ml/agents/automl-expert.md +326 -0
- package/packages/plugin-ml/agents/computer-vision-expert.md +550 -0
- package/packages/plugin-ml/agents/gradient-boosting-expert.md +455 -0
- package/packages/plugin-ml/agents/neural-network-architect.md +1228 -0
- package/packages/plugin-ml/agents/nlp-transformer-expert.md +584 -0
- package/packages/plugin-ml/agents/pytorch-expert.md +412 -0
- package/packages/plugin-ml/agents/reinforcement-learning-expert.md +2088 -0
- package/packages/plugin-ml/agents/scikit-learn-expert.md +228 -0
- package/packages/plugin-ml/agents/tensorflow-keras-expert.md +509 -0
- package/packages/plugin-ml/agents/time-series-expert.md +303 -0
- package/packages/plugin-ml/commands/ml-automl.md +572 -0
- package/packages/plugin-ml/commands/ml-train-optimize.md +657 -0
- package/packages/plugin-ml/package.json +52 -0
- package/packages/plugin-ml/plugin.json +338 -0
- package/packages/plugin-pm/README.md +368 -0
- package/packages/plugin-pm/claudeautopm-plugin-pm-2.0.0.tgz +0 -0
- package/packages/plugin-pm/commands/azure/COMMANDS.md +107 -0
- package/packages/plugin-pm/commands/azure/COMMAND_MAPPING.md +252 -0
- package/packages/plugin-pm/commands/azure/INTEGRATION_FIX.md +103 -0
- package/packages/plugin-pm/commands/azure/README.md +246 -0
- package/packages/plugin-pm/commands/azure/active-work.md +198 -0
- package/packages/plugin-pm/commands/azure/aliases.md +143 -0
- package/packages/plugin-pm/commands/azure/blocked-items.md +287 -0
- package/packages/plugin-pm/commands/azure/clean.md +93 -0
- package/packages/plugin-pm/commands/azure/docs-query.md +48 -0
- package/packages/plugin-pm/commands/azure/feature-decompose.md +380 -0
- package/packages/plugin-pm/commands/azure/feature-list.md +61 -0
- package/packages/plugin-pm/commands/azure/feature-new.md +115 -0
- package/packages/plugin-pm/commands/azure/feature-show.md +205 -0
- package/packages/plugin-pm/commands/azure/feature-start.md +130 -0
- package/packages/plugin-pm/commands/azure/fix-integration-example.md +93 -0
- package/packages/plugin-pm/commands/azure/help.md +150 -0
- package/packages/plugin-pm/commands/azure/import-us.md +269 -0
- package/packages/plugin-pm/commands/azure/init.md +211 -0
- package/packages/plugin-pm/commands/azure/next-task.md +262 -0
- package/packages/plugin-pm/commands/azure/search.md +160 -0
- package/packages/plugin-pm/commands/azure/sprint-status.md +235 -0
- package/packages/plugin-pm/commands/azure/standup.md +260 -0
- package/packages/plugin-pm/commands/azure/sync-all.md +99 -0
- package/packages/plugin-pm/commands/azure/task-analyze.md +186 -0
- package/packages/plugin-pm/commands/azure/task-close.md +329 -0
- package/packages/plugin-pm/commands/azure/task-edit.md +145 -0
- package/packages/plugin-pm/commands/azure/task-list.md +263 -0
- package/packages/plugin-pm/commands/azure/task-new.md +84 -0
- package/packages/plugin-pm/commands/azure/task-reopen.md +79 -0
- package/packages/plugin-pm/commands/azure/task-show.md +126 -0
- package/packages/plugin-pm/commands/azure/task-start.md +301 -0
- package/packages/plugin-pm/commands/azure/task-status.md +65 -0
- package/packages/plugin-pm/commands/azure/task-sync.md +67 -0
- package/packages/plugin-pm/commands/azure/us-edit.md +164 -0
- package/packages/plugin-pm/commands/azure/us-list.md +202 -0
- package/packages/plugin-pm/commands/azure/us-new.md +265 -0
- package/packages/plugin-pm/commands/azure/us-parse.md +253 -0
- package/packages/plugin-pm/commands/azure/us-show.md +188 -0
- package/packages/plugin-pm/commands/azure/us-status.md +320 -0
- package/packages/plugin-pm/commands/azure/validate.md +86 -0
- package/packages/plugin-pm/commands/azure/work-item-sync.md +47 -0
- package/packages/plugin-pm/commands/blocked.md +28 -0
- package/packages/plugin-pm/commands/clean.md +119 -0
- package/packages/plugin-pm/commands/context-create.md +136 -0
- package/packages/plugin-pm/commands/context-prime.md +170 -0
- package/packages/plugin-pm/commands/context-update.md +292 -0
- package/packages/plugin-pm/commands/context.md +28 -0
- package/packages/plugin-pm/commands/epic-close.md +86 -0
- package/packages/plugin-pm/commands/epic-decompose.md +370 -0
- package/packages/plugin-pm/commands/epic-edit.md +83 -0
- package/packages/plugin-pm/commands/epic-list.md +30 -0
- package/packages/plugin-pm/commands/epic-merge.md +222 -0
- package/packages/plugin-pm/commands/epic-oneshot.md +119 -0
- package/packages/plugin-pm/commands/epic-refresh.md +119 -0
- package/packages/plugin-pm/commands/epic-show.md +28 -0
- package/packages/plugin-pm/commands/epic-split.md +120 -0
- package/packages/plugin-pm/commands/epic-start.md +195 -0
- package/packages/plugin-pm/commands/epic-status.md +28 -0
- package/packages/plugin-pm/commands/epic-sync-modular.md +338 -0
- package/packages/plugin-pm/commands/epic-sync-original.md +473 -0
- package/packages/plugin-pm/commands/epic-sync.md +486 -0
- package/packages/plugin-pm/commands/github/workflow-create.md +42 -0
- package/packages/plugin-pm/commands/help.md +28 -0
- package/packages/plugin-pm/commands/import.md +115 -0
- package/packages/plugin-pm/commands/in-progress.md +28 -0
- package/packages/plugin-pm/commands/init.md +28 -0
- package/packages/plugin-pm/commands/issue-analyze.md +202 -0
- package/packages/plugin-pm/commands/issue-close.md +119 -0
- package/packages/plugin-pm/commands/issue-edit.md +93 -0
- package/packages/plugin-pm/commands/issue-reopen.md +87 -0
- package/packages/plugin-pm/commands/issue-show.md +41 -0
- package/packages/plugin-pm/commands/issue-start.md +234 -0
- package/packages/plugin-pm/commands/issue-status.md +95 -0
- package/packages/plugin-pm/commands/issue-sync.md +411 -0
- package/packages/plugin-pm/commands/next.md +28 -0
- package/packages/plugin-pm/commands/prd-edit.md +82 -0
- package/packages/plugin-pm/commands/prd-list.md +28 -0
- package/packages/plugin-pm/commands/prd-new.md +55 -0
- package/packages/plugin-pm/commands/prd-parse.md +42 -0
- package/packages/plugin-pm/commands/prd-status.md +28 -0
- package/packages/plugin-pm/commands/search.md +28 -0
- package/packages/plugin-pm/commands/standup.md +28 -0
- package/packages/plugin-pm/commands/status.md +28 -0
- package/packages/plugin-pm/commands/sync.md +99 -0
- package/packages/plugin-pm/commands/test-reference-update.md +151 -0
- package/packages/plugin-pm/commands/validate.md +28 -0
- package/packages/plugin-pm/commands/what-next.md +28 -0
- package/packages/plugin-pm/package.json +57 -0
- package/packages/plugin-pm/plugin.json +503 -0
- package/packages/plugin-pm/scripts/pm/analytics.js +425 -0
- package/packages/plugin-pm/scripts/pm/blocked.js +164 -0
- package/packages/plugin-pm/scripts/pm/blocked.sh +78 -0
- package/packages/plugin-pm/scripts/pm/clean.js +464 -0
- package/packages/plugin-pm/scripts/pm/context-create.js +216 -0
- package/packages/plugin-pm/scripts/pm/context-prime.js +335 -0
- package/packages/plugin-pm/scripts/pm/context-update.js +344 -0
- package/packages/plugin-pm/scripts/pm/context.js +338 -0
- package/packages/plugin-pm/scripts/pm/epic-close.js +347 -0
- package/packages/plugin-pm/scripts/pm/epic-edit.js +382 -0
- package/packages/plugin-pm/scripts/pm/epic-list.js +273 -0
- package/packages/plugin-pm/scripts/pm/epic-list.sh +109 -0
- package/packages/plugin-pm/scripts/pm/epic-show.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-show.sh +105 -0
- package/packages/plugin-pm/scripts/pm/epic-split.js +522 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.js +183 -0
- package/packages/plugin-pm/scripts/pm/epic-start/epic-start.sh +94 -0
- package/packages/plugin-pm/scripts/pm/epic-status.js +291 -0
- package/packages/plugin-pm/scripts/pm/epic-status.sh +104 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/README.md +208 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-epic-issue.sh +77 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/create-task-issues.sh +86 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-epic-file.sh +79 -0
- package/packages/plugin-pm/scripts/pm/epic-sync/update-references.sh +89 -0
- package/packages/plugin-pm/scripts/pm/epic-sync.sh +137 -0
- package/packages/plugin-pm/scripts/pm/help.js +92 -0
- package/packages/plugin-pm/scripts/pm/help.sh +90 -0
- package/packages/plugin-pm/scripts/pm/in-progress.js +178 -0
- package/packages/plugin-pm/scripts/pm/in-progress.sh +93 -0
- package/packages/plugin-pm/scripts/pm/init.js +321 -0
- package/packages/plugin-pm/scripts/pm/init.sh +178 -0
- package/packages/plugin-pm/scripts/pm/issue-close.js +232 -0
- package/packages/plugin-pm/scripts/pm/issue-edit.js +310 -0
- package/packages/plugin-pm/scripts/pm/issue-show.js +272 -0
- package/packages/plugin-pm/scripts/pm/issue-start.js +181 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/format-comment.sh +468 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/gather-updates.sh +460 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/post-comment.sh +330 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/preflight-validation.sh +348 -0
- package/packages/plugin-pm/scripts/pm/issue-sync/update-frontmatter.sh +387 -0
- package/packages/plugin-pm/scripts/pm/lib/README.md +85 -0
- package/packages/plugin-pm/scripts/pm/lib/epic-discovery.js +119 -0
- package/packages/plugin-pm/scripts/pm/lib/logger.js +78 -0
- package/packages/plugin-pm/scripts/pm/next.js +189 -0
- package/packages/plugin-pm/scripts/pm/next.sh +72 -0
- package/packages/plugin-pm/scripts/pm/optimize.js +407 -0
- package/packages/plugin-pm/scripts/pm/pr-create.js +337 -0
- package/packages/plugin-pm/scripts/pm/pr-list.js +257 -0
- package/packages/plugin-pm/scripts/pm/prd-list.js +242 -0
- package/packages/plugin-pm/scripts/pm/prd-list.sh +103 -0
- package/packages/plugin-pm/scripts/pm/prd-new.js +684 -0
- package/packages/plugin-pm/scripts/pm/prd-parse.js +547 -0
- package/packages/plugin-pm/scripts/pm/prd-status.js +152 -0
- package/packages/plugin-pm/scripts/pm/prd-status.sh +63 -0
- package/packages/plugin-pm/scripts/pm/release.js +460 -0
- package/packages/plugin-pm/scripts/pm/search.js +192 -0
- package/packages/plugin-pm/scripts/pm/search.sh +89 -0
- package/packages/plugin-pm/scripts/pm/standup.js +362 -0
- package/packages/plugin-pm/scripts/pm/standup.sh +95 -0
- package/packages/plugin-pm/scripts/pm/status.js +148 -0
- package/packages/plugin-pm/scripts/pm/status.sh +59 -0
- package/packages/plugin-pm/scripts/pm/sync-batch.js +337 -0
- package/packages/plugin-pm/scripts/pm/sync.js +343 -0
- package/packages/plugin-pm/scripts/pm/template-list.js +141 -0
- package/packages/plugin-pm/scripts/pm/template-new.js +366 -0
- package/packages/plugin-pm/scripts/pm/validate.js +274 -0
- package/packages/plugin-pm/scripts/pm/validate.sh +106 -0
- package/packages/plugin-pm/scripts/pm/what-next.js +660 -0
- package/packages/plugin-testing/README.md +401 -0
- package/packages/plugin-testing/agents/frontend-testing-engineer.md +768 -0
- package/packages/plugin-testing/commands/jest-optimize.md +800 -0
- package/packages/plugin-testing/commands/playwright-optimize.md +887 -0
- package/packages/plugin-testing/commands/test-coverage.md +512 -0
- package/packages/plugin-testing/commands/test-performance.md +1041 -0
- package/packages/plugin-testing/commands/test-setup.md +414 -0
- package/packages/plugin-testing/package.json +40 -0
- package/packages/plugin-testing/plugin.json +197 -0
- package/packages/plugin-testing/rules/test-coverage-requirements.md +581 -0
- package/packages/plugin-testing/rules/testing-standards.md +529 -0
- package/packages/plugin-testing/scripts/examples/react-testing-example.test.jsx +460 -0
- package/packages/plugin-testing/scripts/examples/vitest-config-example.js +352 -0
- package/packages/plugin-testing/scripts/examples/vue-testing-example.test.js +586 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
# DevOps Troubleshooting Playbook
|
|
2
|
+
|
|
3
|
+
This document contains standard procedures for resolving common issues in our CI/CD and Kubernetes environments. All DevOps agents MUST follow these guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🚀 Kubernetes CI/CD Error Debugging
|
|
8
|
+
|
|
9
|
+
### Error: `PodInitializing` or `ImagePullBackOff`
|
|
10
|
+
|
|
11
|
+
**Diagnosis:** This error means the Pod cannot start. The most common cause is an issue with the init container or missing resources.
|
|
12
|
+
|
|
13
|
+
**Debugging Procedure:**
|
|
14
|
+
|
|
15
|
+
1. **Add debug step to workflow:** In the workflow file (`.github/workflows/*.yml`), after the failed step, add a conditional step (`if: failure()`).
|
|
16
|
+
|
|
17
|
+
2. **Collect diagnostic information:** In the debug step, use the following commands to gather logs before the pod is deleted:
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
- name: 🐞 Debug Pod on Failure
|
|
21
|
+
if: failure()
|
|
22
|
+
run: |
|
|
23
|
+
POD_NAME=$(kubectl get pods --selector=job-name=YOUR_JOB_NAME -o jsonpath='{.items[0].metadata.name}')
|
|
24
|
+
echo "--- Pod Description ($POD_NAME) ---"
|
|
25
|
+
kubectl describe pod $POD_NAME
|
|
26
|
+
echo "--- Init Container Logs ---"
|
|
27
|
+
kubectl logs $POD_NAME -c INIT_CONTAINER_NAME
|
|
28
|
+
echo "--- Main Container Logs (if available) ---"
|
|
29
|
+
kubectl logs $POD_NAME -c main || echo "Main container not yet started"
|
|
30
|
+
echo "--- Pod Events ---"
|
|
31
|
+
kubectl get events --field-selector involvedObject.name=$POD_NAME
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Error: `field is immutable`
|
|
35
|
+
|
|
36
|
+
**Diagnosis:** This error indicates an attempt to modify an existing, immutable Kubernetes resource (e.g., Job).
|
|
37
|
+
|
|
38
|
+
**Solution (MANDATORY):** Always delete the old resource before creating a new one. This ensures each CI/CD run is clean.
|
|
39
|
+
|
|
40
|
+
**Implementation Pattern in Workflow:**
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
- name: 🏗️ Deploy Job with Cleanup
|
|
44
|
+
run: |
|
|
45
|
+
echo "🧹 Cleaning up previous job (if any)..."
|
|
46
|
+
kubectl delete job YOUR_JOB_NAME --ignore-not-found=true
|
|
47
|
+
|
|
48
|
+
# Wait for cleanup to complete
|
|
49
|
+
kubectl wait --for=delete job/YOUR_JOB_NAME --timeout=30s 2>/dev/null || true
|
|
50
|
+
|
|
51
|
+
echo "🚀 Creating new job..."
|
|
52
|
+
cat <<EOF | kubectl apply -f -
|
|
53
|
+
apiVersion: batch/v1
|
|
54
|
+
kind: Job
|
|
55
|
+
metadata:
|
|
56
|
+
name: YOUR_JOB_NAME
|
|
57
|
+
spec:
|
|
58
|
+
# ... your job definition ...
|
|
59
|
+
EOF
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Error: `CreateContainerConfigError`
|
|
63
|
+
|
|
64
|
+
**Diagnosis:** Configuration issue preventing container creation, often related to secrets or configmaps.
|
|
65
|
+
|
|
66
|
+
**Debugging Steps:**
|
|
67
|
+
|
|
68
|
+
1. Check if referenced secrets/configmaps exist:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
kubectl get secret YOUR_SECRET_NAME
|
|
72
|
+
kubectl get configmap YOUR_CONFIG_NAME
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
2. Verify secret keys match what's expected:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
kubectl describe secret YOUR_SECRET_NAME
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
3. Check pod events for detailed error:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
kubectl describe pod POD_NAME | grep -A 10 Events
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Error: ConfigMap "..." is invalid: Too long
|
|
88
|
+
|
|
89
|
+
**Diagnosis:** This error means you're trying to store data in a `ConfigMap` that exceeds the 1MB size limit.
|
|
90
|
+
|
|
91
|
+
**Root Cause (Anti-pattern):** Packaging entire source code (e.g., as `.tar.gz` archive) into a `ConfigMap` to use as build context for Kaniko. ConfigMaps are designed for small configuration files, not for storing entire applications.
|
|
92
|
+
|
|
93
|
+
**Solution (MANDATORY):** Deliver build context to the pod using a volume. Best practice is to use an `initContainer` that clones the repository into a shared `emptyDir` volume.
|
|
94
|
+
|
|
95
|
+
**Implementation Pattern in Workflow:**
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
apiVersion: batch/v1
|
|
99
|
+
kind: Job
|
|
100
|
+
metadata:
|
|
101
|
+
name: kaniko-build-job
|
|
102
|
+
spec:
|
|
103
|
+
template:
|
|
104
|
+
spec:
|
|
105
|
+
restartPolicy: Never
|
|
106
|
+
initContainers:
|
|
107
|
+
- name: prepare-build-context
|
|
108
|
+
image: alpine/git:latest
|
|
109
|
+
command: ['sh', '-c']
|
|
110
|
+
args:
|
|
111
|
+
- |
|
|
112
|
+
git clone --depth 1 https://github.com/YOUR/REPO.git /workspace
|
|
113
|
+
cd /workspace && git checkout $COMMIT_SHA
|
|
114
|
+
volumeMounts:
|
|
115
|
+
- name: workspace
|
|
116
|
+
mountPath: /workspace
|
|
117
|
+
containers:
|
|
118
|
+
- name: kaniko
|
|
119
|
+
image: gcr.io/kaniko-project/executor:latest
|
|
120
|
+
args:
|
|
121
|
+
- --dockerfile=/workspace/Dockerfile
|
|
122
|
+
- --context=dir:///workspace
|
|
123
|
+
- --destination=YOUR_REGISTRY/IMAGE:TAG
|
|
124
|
+
- --cache=true
|
|
125
|
+
- --cache-ttl=24h
|
|
126
|
+
volumeMounts:
|
|
127
|
+
- name: workspace
|
|
128
|
+
mountPath: /workspace
|
|
129
|
+
volumes:
|
|
130
|
+
- name: workspace
|
|
131
|
+
emptyDir: {}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Alternative Solutions:**
|
|
135
|
+
|
|
136
|
+
1. **Git Context (Recommended for public repos):**
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
args:
|
|
140
|
+
- --context=git://github.com/YOUR/REPO.git#refs/heads/main
|
|
141
|
+
- --dockerfile=Dockerfile
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
2. **S3/GCS Bucket for build context:**
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
args:
|
|
148
|
+
- --context=s3://your-bucket/build-context.tar.gz
|
|
149
|
+
- --dockerfile=Dockerfile
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
3. **Registry-based builds (for layer caching):**
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
args:
|
|
156
|
+
- --cache-repo=YOUR_REGISTRY/cache
|
|
157
|
+
- --cache=true
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 📊 Database Management Strategy
|
|
163
|
+
|
|
164
|
+
Database management strategy MUST align with environment purpose:
|
|
165
|
+
|
|
166
|
+
| Environment | Tool | Purpose | Persistence | Backup Strategy |
|
|
167
|
+
|------------|------|---------|-------------|-----------------|
|
|
168
|
+
| **Local (Dev)** | docker compose | Convenience | Yes (Named Volume) | Optional |
|
|
169
|
+
| **Testing (CI/CD)** | kubectl | Isolation | No (Ephemeral) | Not Required |
|
|
170
|
+
| **Staging** | Managed DB | Pre-prod Testing | Yes (PVC) | Daily |
|
|
171
|
+
| **Production** | Managed Service | Reliability | Yes (HA + Backups) | Continuous |
|
|
172
|
+
|
|
173
|
+
### Development Database Setup
|
|
174
|
+
|
|
175
|
+
```yaml
|
|
176
|
+
# docker-compose.yml
|
|
177
|
+
services:
|
|
178
|
+
postgres:
|
|
179
|
+
image: postgres:15-alpine
|
|
180
|
+
volumes:
|
|
181
|
+
- postgres_data:/var/lib/postgresql/data # Named volume for persistence
|
|
182
|
+
environment:
|
|
183
|
+
POSTGRES_DB: ${DB_NAME:-devdb}
|
|
184
|
+
POSTGRES_USER: ${DB_USER:-developer}
|
|
185
|
+
POSTGRES_PASSWORD: ${DB_PASSWORD:-localpass}
|
|
186
|
+
ports:
|
|
187
|
+
- "5432:5432"
|
|
188
|
+
healthcheck:
|
|
189
|
+
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-developer}"]
|
|
190
|
+
interval: 10s
|
|
191
|
+
timeout: 5s
|
|
192
|
+
retries: 5
|
|
193
|
+
|
|
194
|
+
volumes:
|
|
195
|
+
postgres_data: # Persistent across container restarts
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### CI/CD Database Setup
|
|
199
|
+
|
|
200
|
+
```yaml
|
|
201
|
+
# Ephemeral database for testing
|
|
202
|
+
apiVersion: v1
|
|
203
|
+
kind: Service
|
|
204
|
+
metadata:
|
|
205
|
+
name: test-postgres
|
|
206
|
+
spec:
|
|
207
|
+
selector:
|
|
208
|
+
app: test-postgres
|
|
209
|
+
ports:
|
|
210
|
+
- port: 5432
|
|
211
|
+
---
|
|
212
|
+
apiVersion: apps/v1
|
|
213
|
+
kind: Deployment
|
|
214
|
+
metadata:
|
|
215
|
+
name: test-postgres
|
|
216
|
+
spec:
|
|
217
|
+
replicas: 1
|
|
218
|
+
selector:
|
|
219
|
+
matchLabels:
|
|
220
|
+
app: test-postgres
|
|
221
|
+
template:
|
|
222
|
+
metadata:
|
|
223
|
+
labels:
|
|
224
|
+
app: test-postgres
|
|
225
|
+
spec:
|
|
226
|
+
containers:
|
|
227
|
+
- name: postgres
|
|
228
|
+
image: postgres:15-alpine
|
|
229
|
+
env:
|
|
230
|
+
- name: POSTGRES_DB
|
|
231
|
+
value: testdb
|
|
232
|
+
- name: POSTGRES_USER
|
|
233
|
+
value: testuser
|
|
234
|
+
- name: POSTGRES_PASSWORD
|
|
235
|
+
value: testpass
|
|
236
|
+
- name: POSTGRES_HOST_AUTH_METHOD
|
|
237
|
+
value: trust # For CI/CD only!
|
|
238
|
+
# No volume mount - data is ephemeral
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 🔄 CI/CD Pipeline Best Practices
|
|
244
|
+
|
|
245
|
+
### GitHub Actions Kubernetes Debugging
|
|
246
|
+
|
|
247
|
+
**ALWAYS include these debug steps in Kubernetes workflows:**
|
|
248
|
+
|
|
249
|
+
```yaml
|
|
250
|
+
jobs:
|
|
251
|
+
deploy:
|
|
252
|
+
runs-on: ubuntu-latest
|
|
253
|
+
steps:
|
|
254
|
+
- name: 🎯 Deploy Application
|
|
255
|
+
id: deploy
|
|
256
|
+
run: |
|
|
257
|
+
# Your deployment commands
|
|
258
|
+
kubectl apply -f manifests/
|
|
259
|
+
|
|
260
|
+
- name: 🔍 Debug on Failure
|
|
261
|
+
if: failure()
|
|
262
|
+
run: |
|
|
263
|
+
echo "=== Pod Status ==="
|
|
264
|
+
kubectl get pods -o wide
|
|
265
|
+
|
|
266
|
+
echo "=== Recent Events ==="
|
|
267
|
+
kubectl get events --sort-by='.lastTimestamp' | tail -20
|
|
268
|
+
|
|
269
|
+
echo "=== Failed Pods Details ==="
|
|
270
|
+
kubectl get pods --field-selector=status.phase!=Running,status.phase!=Succeeded -o json | \
|
|
271
|
+
jq -r '.items[] | "\(.metadata.name): \(.status.containerStatuses[0].state)"'
|
|
272
|
+
|
|
273
|
+
echo "=== Resource Usage ==="
|
|
274
|
+
kubectl top nodes || echo "Metrics not available"
|
|
275
|
+
kubectl top pods || echo "Metrics not available"
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Container Build Optimization
|
|
279
|
+
|
|
280
|
+
**Cache layers effectively in CI/CD:**
|
|
281
|
+
|
|
282
|
+
```dockerfile
|
|
283
|
+
# Good: Dependencies first (cached often)
|
|
284
|
+
FROM node:18-alpine AS deps
|
|
285
|
+
WORKDIR /app
|
|
286
|
+
COPY package*.json ./
|
|
287
|
+
RUN npm ci --only=production
|
|
288
|
+
|
|
289
|
+
# Bad: Everything at once (cache busted on any change)
|
|
290
|
+
FROM node:18-alpine
|
|
291
|
+
COPY . .
|
|
292
|
+
RUN npm install
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 🛡️ Security Best Practices
|
|
298
|
+
|
|
299
|
+
### Secret Management
|
|
300
|
+
|
|
301
|
+
**NEVER hardcode secrets. Use this hierarchy:**
|
|
302
|
+
|
|
303
|
+
1. **Local Development:** `.env` files (gitignored)
|
|
304
|
+
2. **CI/CD:** GitHub Secrets / Environment Variables
|
|
305
|
+
3. **Kubernetes:** Secrets or External Secrets Operator
|
|
306
|
+
4. **Production:** Vault, AWS Secrets Manager, or Azure Key Vault
|
|
307
|
+
|
|
308
|
+
**Example Secret Injection Pattern:**
|
|
309
|
+
|
|
310
|
+
```yaml
|
|
311
|
+
# GitHub Actions
|
|
312
|
+
- name: 🔐 Inject Secrets
|
|
313
|
+
run: |
|
|
314
|
+
kubectl create secret generic app-secrets \
|
|
315
|
+
--from-literal=db-password=${{ secrets.DB_PASSWORD }} \
|
|
316
|
+
--from-literal=api-key=${{ secrets.API_KEY }} \
|
|
317
|
+
--dry-run=client -o yaml | kubectl apply -f -
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## 🔧 Common Debugging Commands
|
|
323
|
+
|
|
324
|
+
### Quick Diagnostics Checklist
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# 1. Check pod status
|
|
328
|
+
kubectl get pods -A | grep -v Running
|
|
329
|
+
|
|
330
|
+
# 2. Get pod logs
|
|
331
|
+
kubectl logs POD_NAME --previous # If pod restarted
|
|
332
|
+
kubectl logs POD_NAME -f # Follow logs
|
|
333
|
+
|
|
334
|
+
# 3. Shell into pod
|
|
335
|
+
kubectl exec -it POD_NAME -- /bin/sh
|
|
336
|
+
|
|
337
|
+
# 4. Check resource consumption
|
|
338
|
+
kubectl top pods
|
|
339
|
+
kubectl describe node
|
|
340
|
+
|
|
341
|
+
# 5. Check recent errors
|
|
342
|
+
kubectl get events --sort-by='.lastTimestamp' | grep Warning
|
|
343
|
+
|
|
344
|
+
# 6. Verify service endpoints
|
|
345
|
+
kubectl get endpoints
|
|
346
|
+
|
|
347
|
+
# 7. Test service connectivity
|
|
348
|
+
kubectl run debug --image=busybox:1.28 --rm -it --restart=Never -- wget -O- SERVICE_NAME:PORT
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Emergency Rollback Procedure
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
# 1. Quick rollback to previous deployment
|
|
355
|
+
kubectl rollout undo deployment/APP_NAME
|
|
356
|
+
|
|
357
|
+
# 2. Check rollback status
|
|
358
|
+
kubectl rollout status deployment/APP_NAME
|
|
359
|
+
|
|
360
|
+
# 3. Verify pods are healthy
|
|
361
|
+
kubectl get pods -l app=APP_NAME
|
|
362
|
+
|
|
363
|
+
# 4. If still broken, scale to zero and debug
|
|
364
|
+
kubectl scale deployment/APP_NAME --replicas=0
|
|
365
|
+
# Fix issues...
|
|
366
|
+
kubectl scale deployment/APP_NAME --replicas=3
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 📝 Logging and Monitoring
|
|
372
|
+
|
|
373
|
+
### Structured Logging Requirements
|
|
374
|
+
|
|
375
|
+
All applications MUST:
|
|
376
|
+
|
|
377
|
+
1. Log in JSON format for parsing
|
|
378
|
+
2. Include correlation IDs for request tracing
|
|
379
|
+
3. Use appropriate log levels (DEBUG, INFO, WARN, ERROR)
|
|
380
|
+
4. Never log sensitive data (passwords, tokens, PII)
|
|
381
|
+
|
|
382
|
+
**Example Structured Log:**
|
|
383
|
+
|
|
384
|
+
```json
|
|
385
|
+
{
|
|
386
|
+
"timestamp": "2024-01-15T10:30:00Z",
|
|
387
|
+
"level": "ERROR",
|
|
388
|
+
"correlation_id": "abc-123-def",
|
|
389
|
+
"service": "api-gateway",
|
|
390
|
+
"message": "Database connection failed",
|
|
391
|
+
"error": "connection timeout after 30s",
|
|
392
|
+
"retry_count": 3
|
|
393
|
+
}
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 🚨 Incident Response Template
|
|
399
|
+
|
|
400
|
+
When production issues occur, follow this template:
|
|
401
|
+
|
|
402
|
+
```markdown
|
|
403
|
+
## Incident Report
|
|
404
|
+
|
|
405
|
+
**Date:** YYYY-MM-DD HH:MM UTC
|
|
406
|
+
**Severity:** Critical | High | Medium | Low
|
|
407
|
+
**Duration:** XX minutes
|
|
408
|
+
|
|
409
|
+
### Impact
|
|
410
|
+
- What broke and who was affected
|
|
411
|
+
|
|
412
|
+
### Root Cause
|
|
413
|
+
- Technical reason for the failure
|
|
414
|
+
|
|
415
|
+
### Resolution
|
|
416
|
+
- Steps taken to fix
|
|
417
|
+
|
|
418
|
+
### Prevention
|
|
419
|
+
- Changes to prevent recurrence
|
|
420
|
+
|
|
421
|
+
### Timeline
|
|
422
|
+
- HH:MM - Issue detected
|
|
423
|
+
- HH:MM - Team notified
|
|
424
|
+
- HH:MM - Root cause identified
|
|
425
|
+
- HH:MM - Fix deployed
|
|
426
|
+
- HH:MM - Service restored
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 🎯 Golden Rules
|
|
432
|
+
|
|
433
|
+
1. **Always clean before create** - Delete old resources before creating new ones
|
|
434
|
+
2. **Debug immediately on failure** - Add conditional debug steps to all CI/CD workflows
|
|
435
|
+
3. **Never assume, always verify** - Check that resources exist before using them
|
|
436
|
+
4. **Fail fast, recover faster** - Quick detection and rollback procedures
|
|
437
|
+
5. **Document everything** - If it's not documented, it didn't happen
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## 📚 References
|
|
442
|
+
|
|
443
|
+
- [Kubernetes Troubleshooting Guide](https://kubernetes.io/docs/tasks/debug/)
|
|
444
|
+
- [GitHub Actions Best Practices](https://docs.github.com/en/actions/guides)
|
|
445
|
+
- [12 Factor App Methodology](https://12factor.net/)
|
|
446
|
+
- [SRE Principles](https://sre.google/sre-book/table-of-contents/)
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
**Remember:** This playbook is a living document. Update it with new solutions as we discover them.
|