javi-forge 0.1.0
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/.gitignore.template +105 -0
- package/.releaserc +44 -0
- package/README.md +45 -0
- package/ai-config/.skillignore +15 -0
- package/ai-config/AUTO_INVOKE.md +300 -0
- package/ai-config/agents/_TEMPLATE.md +93 -0
- package/ai-config/agents/business/api-designer.md +1657 -0
- package/ai-config/agents/business/business-analyst.md +1331 -0
- package/ai-config/agents/business/product-strategist.md +206 -0
- package/ai-config/agents/business/project-manager.md +178 -0
- package/ai-config/agents/business/requirements-analyst.md +1277 -0
- package/ai-config/agents/business/technical-writer.md +1679 -0
- package/ai-config/agents/creative/ux-designer.md +205 -0
- package/ai-config/agents/data-ai/ai-engineer.md +487 -0
- package/ai-config/agents/data-ai/analytics-engineer.md +953 -0
- package/ai-config/agents/data-ai/data-engineer.md +173 -0
- package/ai-config/agents/data-ai/data-scientist.md +672 -0
- package/ai-config/agents/data-ai/mlops-engineer.md +814 -0
- package/ai-config/agents/data-ai/prompt-engineer.md +772 -0
- package/ai-config/agents/development/angular-expert.md +620 -0
- package/ai-config/agents/development/backend-architect.md +795 -0
- package/ai-config/agents/development/database-specialist.md +212 -0
- package/ai-config/agents/development/frontend-specialist.md +686 -0
- package/ai-config/agents/development/fullstack-engineer.md +668 -0
- package/ai-config/agents/development/golang-pro.md +338 -0
- package/ai-config/agents/development/java-enterprise.md +400 -0
- package/ai-config/agents/development/javascript-pro.md +422 -0
- package/ai-config/agents/development/nextjs-pro.md +474 -0
- package/ai-config/agents/development/python-pro.md +570 -0
- package/ai-config/agents/development/react-pro.md +487 -0
- package/ai-config/agents/development/rust-pro.md +246 -0
- package/ai-config/agents/development/spring-boot-4-expert.md +326 -0
- package/ai-config/agents/development/typescript-pro.md +336 -0
- package/ai-config/agents/development/vue-specialist.md +605 -0
- package/ai-config/agents/infrastructure/cloud-architect.md +472 -0
- package/ai-config/agents/infrastructure/deployment-manager.md +358 -0
- package/ai-config/agents/infrastructure/devops-engineer.md +455 -0
- package/ai-config/agents/infrastructure/incident-responder.md +519 -0
- package/ai-config/agents/infrastructure/kubernetes-expert.md +705 -0
- package/ai-config/agents/infrastructure/monitoring-specialist.md +674 -0
- package/ai-config/agents/infrastructure/performance-engineer.md +658 -0
- package/ai-config/agents/orchestrator.md +241 -0
- package/ai-config/agents/quality/accessibility-auditor.md +1204 -0
- package/ai-config/agents/quality/code-reviewer-compact.md +123 -0
- package/ai-config/agents/quality/code-reviewer.md +363 -0
- package/ai-config/agents/quality/dependency-manager.md +743 -0
- package/ai-config/agents/quality/e2e-test-specialist.md +1005 -0
- package/ai-config/agents/quality/performance-tester.md +1086 -0
- package/ai-config/agents/quality/security-auditor.md +133 -0
- package/ai-config/agents/quality/test-engineer.md +453 -0
- package/ai-config/agents/specialists/api-designer.md +87 -0
- package/ai-config/agents/specialists/backend-architect.md +73 -0
- package/ai-config/agents/specialists/code-reviewer.md +77 -0
- package/ai-config/agents/specialists/db-optimizer.md +75 -0
- package/ai-config/agents/specialists/devops-engineer.md +83 -0
- package/ai-config/agents/specialists/documentation-writer.md +78 -0
- package/ai-config/agents/specialists/frontend-developer.md +75 -0
- package/ai-config/agents/specialists/performance-analyst.md +82 -0
- package/ai-config/agents/specialists/refactor-specialist.md +74 -0
- package/ai-config/agents/specialists/security-auditor.md +74 -0
- package/ai-config/agents/specialists/test-engineer.md +81 -0
- package/ai-config/agents/specialists/ux-consultant.md +76 -0
- package/ai-config/agents/specialized/agent-generator.md +1190 -0
- package/ai-config/agents/specialized/blockchain-developer.md +149 -0
- package/ai-config/agents/specialized/code-migrator.md +892 -0
- package/ai-config/agents/specialized/context-manager.md +978 -0
- package/ai-config/agents/specialized/documentation-writer.md +1078 -0
- package/ai-config/agents/specialized/ecommerce-expert.md +1756 -0
- package/ai-config/agents/specialized/embedded-engineer.md +1714 -0
- package/ai-config/agents/specialized/error-detective.md +1034 -0
- package/ai-config/agents/specialized/fintech-specialist.md +1659 -0
- package/ai-config/agents/specialized/freelance-project-planner-v2.md +1988 -0
- package/ai-config/agents/specialized/freelance-project-planner-v3.md +2136 -0
- package/ai-config/agents/specialized/freelance-project-planner-v4.md +4503 -0
- package/ai-config/agents/specialized/freelance-project-planner.md +722 -0
- package/ai-config/agents/specialized/game-developer.md +1963 -0
- package/ai-config/agents/specialized/healthcare-dev.md +1620 -0
- package/ai-config/agents/specialized/mobile-developer.md +188 -0
- package/ai-config/agents/specialized/parallel-plan-executor.md +506 -0
- package/ai-config/agents/specialized/plan-executor.md +485 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +485 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +3493 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +778 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +918 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +1537 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +2633 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +5610 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +335 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +215 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +260 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +379 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +355 -0
- package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +279 -0
- package/ai-config/agents/specialized/template-writer.md +347 -0
- package/ai-config/agents/specialized/test-runner.md +99 -0
- package/ai-config/agents/specialized/vibekanban-smart-worker.md +244 -0
- package/ai-config/agents/specialized/wave-executor.md +138 -0
- package/ai-config/agents/specialized/workflow-optimizer.md +1114 -0
- package/ai-config/commands/git/changelog.md +32 -0
- package/ai-config/commands/git/ci-local.md +70 -0
- package/ai-config/commands/git/commit.md +35 -0
- package/ai-config/commands/git/fix-issue.md +23 -0
- package/ai-config/commands/git/pr-create.md +42 -0
- package/ai-config/commands/git/pr-review.md +50 -0
- package/ai-config/commands/git/worktree.md +39 -0
- package/ai-config/commands/refactoring/cleanup.md +24 -0
- package/ai-config/commands/refactoring/dead-code.md +40 -0
- package/ai-config/commands/refactoring/extract.md +31 -0
- package/ai-config/commands/testing/e2e.md +30 -0
- package/ai-config/commands/testing/tdd.md +36 -0
- package/ai-config/commands/testing/test-coverage.md +30 -0
- package/ai-config/commands/testing/test-fix.md +24 -0
- package/ai-config/commands/workflow/generate-agents-md.md +85 -0
- package/ai-config/commands/workflow/planning.md +47 -0
- package/ai-config/commands/workflows/compound.md +89 -0
- package/ai-config/commands/workflows/plan.md +77 -0
- package/ai-config/commands/workflows/review.md +78 -0
- package/ai-config/commands/workflows/work.md +75 -0
- package/ai-config/config.yaml +18 -0
- package/ai-config/hooks/_TEMPLATE.md +96 -0
- package/ai-config/hooks/block-dangerous-commands.md +75 -0
- package/ai-config/hooks/commit-guard.md +90 -0
- package/ai-config/hooks/context-loader.md +73 -0
- package/ai-config/hooks/improve-prompt.md +91 -0
- package/ai-config/hooks/learning-log.md +72 -0
- package/ai-config/hooks/model-router.md +86 -0
- package/ai-config/hooks/secret-scanner.md +64 -0
- package/ai-config/hooks/skill-validator.md +102 -0
- package/ai-config/hooks/task-artifact.md +114 -0
- package/ai-config/hooks/validate-workflow.md +100 -0
- package/ai-config/prompts/base.md +71 -0
- package/ai-config/prompts/modes/debug.md +34 -0
- package/ai-config/prompts/modes/deploy.md +40 -0
- package/ai-config/prompts/modes/research.md +32 -0
- package/ai-config/prompts/modes/review.md +33 -0
- package/ai-config/prompts/review-policy.md +79 -0
- package/ai-config/skills/_TEMPLATE.md +157 -0
- package/ai-config/skills/backend/api-gateway/SKILL.md +254 -0
- package/ai-config/skills/backend/bff-concepts/SKILL.md +239 -0
- package/ai-config/skills/backend/bff-spring/SKILL.md +364 -0
- package/ai-config/skills/backend/chi-router/SKILL.md +396 -0
- package/ai-config/skills/backend/error-handling/SKILL.md +255 -0
- package/ai-config/skills/backend/exceptions-spring/SKILL.md +323 -0
- package/ai-config/skills/backend/fastapi/SKILL.md +302 -0
- package/ai-config/skills/backend/gateway-spring/SKILL.md +390 -0
- package/ai-config/skills/backend/go-backend/SKILL.md +457 -0
- package/ai-config/skills/backend/gradle-multimodule/SKILL.md +274 -0
- package/ai-config/skills/backend/graphql-concepts/SKILL.md +352 -0
- package/ai-config/skills/backend/graphql-spring/SKILL.md +398 -0
- package/ai-config/skills/backend/grpc-concepts/SKILL.md +283 -0
- package/ai-config/skills/backend/grpc-spring/SKILL.md +445 -0
- package/ai-config/skills/backend/jwt-auth/SKILL.md +412 -0
- package/ai-config/skills/backend/notifications-concepts/SKILL.md +259 -0
- package/ai-config/skills/backend/recommendations-concepts/SKILL.md +261 -0
- package/ai-config/skills/backend/search-concepts/SKILL.md +263 -0
- package/ai-config/skills/backend/search-spring/SKILL.md +375 -0
- package/ai-config/skills/backend/spring-boot-4/SKILL.md +172 -0
- package/ai-config/skills/backend/websockets/SKILL.md +532 -0
- package/ai-config/skills/data-ai/ai-ml/SKILL.md +423 -0
- package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +195 -0
- package/ai-config/skills/data-ai/analytics-spring/SKILL.md +340 -0
- package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +440 -0
- package/ai-config/skills/data-ai/langchain/SKILL.md +238 -0
- package/ai-config/skills/data-ai/mlflow/SKILL.md +302 -0
- package/ai-config/skills/data-ai/onnx-inference/SKILL.md +290 -0
- package/ai-config/skills/data-ai/powerbi/SKILL.md +352 -0
- package/ai-config/skills/data-ai/pytorch/SKILL.md +274 -0
- package/ai-config/skills/data-ai/scikit-learn/SKILL.md +321 -0
- package/ai-config/skills/data-ai/vector-db/SKILL.md +301 -0
- package/ai-config/skills/database/graph-databases/SKILL.md +218 -0
- package/ai-config/skills/database/graph-spring/SKILL.md +361 -0
- package/ai-config/skills/database/pgx-postgres/SKILL.md +512 -0
- package/ai-config/skills/database/redis-cache/SKILL.md +343 -0
- package/ai-config/skills/database/sqlite-embedded/SKILL.md +388 -0
- package/ai-config/skills/database/timescaledb/SKILL.md +320 -0
- package/ai-config/skills/docs/api-documentation/SKILL.md +293 -0
- package/ai-config/skills/docs/docs-spring/SKILL.md +377 -0
- package/ai-config/skills/docs/mustache-templates/SKILL.md +190 -0
- package/ai-config/skills/docs/technical-docs/SKILL.md +447 -0
- package/ai-config/skills/frontend/astro-ssr/SKILL.md +441 -0
- package/ai-config/skills/frontend/frontend-design/SKILL.md +54 -0
- package/ai-config/skills/frontend/frontend-web/SKILL.md +368 -0
- package/ai-config/skills/frontend/mantine-ui/SKILL.md +396 -0
- package/ai-config/skills/frontend/tanstack-query/SKILL.md +439 -0
- package/ai-config/skills/frontend/zod-validation/SKILL.md +417 -0
- package/ai-config/skills/frontend/zustand-state/SKILL.md +350 -0
- package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +244 -0
- package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +378 -0
- package/ai-config/skills/infrastructure/devops-infra/SKILL.md +435 -0
- package/ai-config/skills/infrastructure/docker-containers/SKILL.md +420 -0
- package/ai-config/skills/infrastructure/kubernetes/SKILL.md +456 -0
- package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +546 -0
- package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +474 -0
- package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +315 -0
- package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +504 -0
- package/ai-config/skills/mobile/mobile-ionic/SKILL.md +448 -0
- package/ai-config/skills/prompt-improver/SKILL.md +125 -0
- package/ai-config/skills/quality/ghagga-review/SKILL.md +216 -0
- package/ai-config/skills/references/hooks-patterns/SKILL.md +238 -0
- package/ai-config/skills/references/mcp-servers/SKILL.md +275 -0
- package/ai-config/skills/references/plugins-reference/SKILL.md +110 -0
- package/ai-config/skills/references/skills-reference/SKILL.md +420 -0
- package/ai-config/skills/references/subagent-templates/SKILL.md +193 -0
- package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +410 -0
- package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +408 -0
- package/ai-config/skills/systems-iot/rust-systems/SKILL.md +386 -0
- package/ai-config/skills/systems-iot/tokio-async/SKILL.md +324 -0
- package/ai-config/skills/testing/playwright-e2e/SKILL.md +289 -0
- package/ai-config/skills/testing/testcontainers/SKILL.md +299 -0
- package/ai-config/skills/testing/vitest-testing/SKILL.md +381 -0
- package/ai-config/skills/workflow/ci-local-guide/SKILL.md +118 -0
- package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +299 -0
- package/ai-config/skills/workflow/claude-md-improver/SKILL.md +158 -0
- package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +117 -0
- package/ai-config/skills/workflow/git-github/SKILL.md +334 -0
- package/ai-config/skills/workflow/git-github/references/examples.md +160 -0
- package/ai-config/skills/workflow/git-workflow/SKILL.md +214 -0
- package/ai-config/skills/workflow/ide-plugins/SKILL.md +277 -0
- package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +401 -0
- package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +199 -0
- package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +100 -0
- package/ai-config/skills/workflow/verification-before-completion/SKILL.md +73 -0
- package/ai-config/skills/workflow/wave-workflow/SKILL.md +178 -0
- package/ci-local/README.md +170 -0
- package/ci-local/ci-local.sh +297 -0
- package/ci-local/hooks/commit-msg +74 -0
- package/ci-local/hooks/pre-commit +162 -0
- package/ci-local/hooks/pre-push +41 -0
- package/ci-local/install.sh +49 -0
- package/ci-local/semgrep.yml +214 -0
- package/dist/commands/analyze.d.ts +9 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +55 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/analyze.test.d.ts +2 -0
- package/dist/commands/analyze.test.d.ts.map +1 -0
- package/dist/commands/analyze.test.js +145 -0
- package/dist/commands/analyze.test.js.map +1 -0
- package/dist/commands/doctor.d.ts +7 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +158 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/doctor.test.d.ts +2 -0
- package/dist/commands/doctor.test.d.ts.map +1 -0
- package/dist/commands/doctor.test.js +200 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/init.d.ts +9 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +283 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/init.test.d.ts +2 -0
- package/dist/commands/init.test.d.ts.map +1 -0
- package/dist/commands/init.test.js +271 -0
- package/dist/commands/init.test.js.map +1 -0
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +201 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +57 -0
- package/dist/constants.js.map +1 -0
- package/dist/e2e/aggressive.e2e.test.d.ts +2 -0
- package/dist/e2e/aggressive.e2e.test.d.ts.map +1 -0
- package/dist/e2e/aggressive.e2e.test.js +350 -0
- package/dist/e2e/aggressive.e2e.test.js.map +1 -0
- package/dist/e2e/commands.e2e.test.d.ts +2 -0
- package/dist/e2e/commands.e2e.test.d.ts.map +1 -0
- package/dist/e2e/commands.e2e.test.js +213 -0
- package/dist/e2e/commands.e2e.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/common.d.ts +17 -0
- package/dist/lib/common.d.ts.map +1 -0
- package/dist/lib/common.js +111 -0
- package/dist/lib/common.js.map +1 -0
- package/dist/lib/common.test.d.ts +2 -0
- package/dist/lib/common.test.d.ts.map +1 -0
- package/dist/lib/common.test.js +316 -0
- package/dist/lib/common.test.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +18 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +61 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +2 -0
- package/dist/lib/frontmatter.test.d.ts.map +1 -0
- package/dist/lib/frontmatter.test.js +257 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/template.d.ts +24 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +78 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/lib/template.test.d.ts +2 -0
- package/dist/lib/template.test.d.ts.map +1 -0
- package/dist/lib/template.test.js +201 -0
- package/dist/lib/template.test.js.map +1 -0
- package/dist/types/index.d.ts +48 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/AnalyzeUI.d.ts +7 -0
- package/dist/ui/AnalyzeUI.d.ts.map +1 -0
- package/dist/ui/AnalyzeUI.js +100 -0
- package/dist/ui/AnalyzeUI.js.map +1 -0
- package/dist/ui/App.d.ts +13 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +100 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/CIContext.d.ts +9 -0
- package/dist/ui/CIContext.d.ts.map +1 -0
- package/dist/ui/CIContext.js +9 -0
- package/dist/ui/CIContext.js.map +1 -0
- package/dist/ui/CISelector.d.ts +8 -0
- package/dist/ui/CISelector.d.ts.map +1 -0
- package/dist/ui/CISelector.js +45 -0
- package/dist/ui/CISelector.js.map +1 -0
- package/dist/ui/Doctor.d.ts +3 -0
- package/dist/ui/Doctor.d.ts.map +1 -0
- package/dist/ui/Doctor.js +89 -0
- package/dist/ui/Doctor.js.map +1 -0
- package/dist/ui/Header.d.ts +8 -0
- package/dist/ui/Header.d.ts.map +1 -0
- package/dist/ui/Header.js +30 -0
- package/dist/ui/Header.js.map +1 -0
- package/dist/ui/MemorySelector.d.ts +8 -0
- package/dist/ui/MemorySelector.d.ts.map +1 -0
- package/dist/ui/MemorySelector.js +46 -0
- package/dist/ui/MemorySelector.js.map +1 -0
- package/dist/ui/NameInput.d.ts +8 -0
- package/dist/ui/NameInput.d.ts.map +1 -0
- package/dist/ui/NameInput.js +69 -0
- package/dist/ui/NameInput.js.map +1 -0
- package/dist/ui/OptionSelector.d.ts +12 -0
- package/dist/ui/OptionSelector.d.ts.map +1 -0
- package/dist/ui/OptionSelector.js +69 -0
- package/dist/ui/OptionSelector.js.map +1 -0
- package/dist/ui/Progress.d.ts +11 -0
- package/dist/ui/Progress.d.ts.map +1 -0
- package/dist/ui/Progress.js +58 -0
- package/dist/ui/Progress.js.map +1 -0
- package/dist/ui/StackSelector.d.ts +9 -0
- package/dist/ui/StackSelector.d.ts.map +1 -0
- package/dist/ui/StackSelector.js +65 -0
- package/dist/ui/StackSelector.js.map +1 -0
- package/dist/ui/Summary.d.ts +12 -0
- package/dist/ui/Summary.d.ts.map +1 -0
- package/dist/ui/Summary.js +114 -0
- package/dist/ui/Summary.js.map +1 -0
- package/dist/ui/SyncUI.d.ts +10 -0
- package/dist/ui/SyncUI.d.ts.map +1 -0
- package/dist/ui/SyncUI.js +64 -0
- package/dist/ui/SyncUI.js.map +1 -0
- package/dist/ui/Welcome.d.ts +7 -0
- package/dist/ui/Welcome.d.ts.map +1 -0
- package/dist/ui/Welcome.js +45 -0
- package/dist/ui/Welcome.js.map +1 -0
- package/dist/ui/theme.d.ts +10 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +9 -0
- package/dist/ui/theme.js.map +1 -0
- package/modules/engram/.gitignore-snippet.txt +6 -0
- package/modules/engram/.mcp-config-snippet.json +11 -0
- package/modules/engram/README.md +146 -0
- package/modules/engram/install-engram.sh +216 -0
- package/modules/ghagga/.env.example +43 -0
- package/modules/ghagga/README.md +153 -0
- package/modules/ghagga/docker-compose.yml +80 -0
- package/modules/ghagga/setup-ghagga.sh +139 -0
- package/modules/memory-simple/.project/NOTES.md +22 -0
- package/modules/memory-simple/README.md +23 -0
- package/modules/obsidian-brain/.obsidian/app.json +23 -0
- package/modules/obsidian-brain/.obsidian/appearance.json +5 -0
- package/modules/obsidian-brain/.obsidian/bookmarks.json +34 -0
- package/modules/obsidian-brain/.obsidian/community-plugins.json +1 -0
- package/modules/obsidian-brain/.obsidian/core-plugins-migration.json +21 -0
- package/modules/obsidian-brain/.obsidian/core-plugins.json +18 -0
- package/modules/obsidian-brain/.obsidian/daily-notes.json +5 -0
- package/modules/obsidian-brain/.obsidian/graph.json +37 -0
- package/modules/obsidian-brain/.obsidian/hotkeys.json +14 -0
- package/modules/obsidian-brain/.obsidian/plugins/dataview/data.json +25 -0
- package/modules/obsidian-brain/.obsidian/plugins/obsidian-kanban/data.json +29 -0
- package/modules/obsidian-brain/.obsidian/plugins/templater-obsidian/data.json +18 -0
- package/modules/obsidian-brain/.obsidian/snippets/project-memory.css +71 -0
- package/modules/obsidian-brain/.obsidian-gitignore-snippet.txt +8 -0
- package/modules/obsidian-brain/.project/Attachments/.gitkeep +0 -0
- package/modules/obsidian-brain/.project/Memory/BLOCKERS.md +78 -0
- package/modules/obsidian-brain/.project/Memory/CONTEXT.md +102 -0
- package/modules/obsidian-brain/.project/Memory/DASHBOARD.md +73 -0
- package/modules/obsidian-brain/.project/Memory/DECISIONS.md +87 -0
- package/modules/obsidian-brain/.project/Memory/KANBAN.md +15 -0
- package/modules/obsidian-brain/.project/Memory/README.md +61 -0
- package/modules/obsidian-brain/.project/Memory/WAVES.md +78 -0
- package/modules/obsidian-brain/.project/Sessions/TEMPLATE.md +99 -0
- package/modules/obsidian-brain/.project/Templates/ADR.md +33 -0
- package/modules/obsidian-brain/.project/Templates/Blocker.md +21 -0
- package/modules/obsidian-brain/.project/Templates/Session.md +88 -0
- package/modules/obsidian-brain/README.md +268 -0
- package/modules/obsidian-brain/new-wave.sh +182 -0
- package/package.json +51 -0
- package/schemas/agent.schema.json +34 -0
- package/schemas/ai-config.schema.json +28 -0
- package/schemas/skill.schema.json +44 -0
- package/src/commands/analyze.test.ts +145 -0
- package/src/commands/analyze.ts +69 -0
- package/src/commands/doctor.test.ts +208 -0
- package/src/commands/doctor.ts +163 -0
- package/src/commands/init.test.ts +298 -0
- package/src/commands/init.ts +285 -0
- package/src/constants.ts +69 -0
- package/src/e2e/aggressive.e2e.test.ts +557 -0
- package/src/e2e/commands.e2e.test.ts +298 -0
- package/src/index.tsx +106 -0
- package/src/lib/common.test.ts +318 -0
- package/src/lib/common.ts +127 -0
- package/src/lib/frontmatter.test.ts +291 -0
- package/src/lib/frontmatter.ts +77 -0
- package/src/lib/template.test.ts +226 -0
- package/src/lib/template.ts +99 -0
- package/src/types/index.ts +53 -0
- package/src/ui/AnalyzeUI.tsx +133 -0
- package/src/ui/App.tsx +175 -0
- package/src/ui/CIContext.tsx +25 -0
- package/src/ui/CISelector.tsx +72 -0
- package/src/ui/Doctor.tsx +122 -0
- package/src/ui/Header.tsx +48 -0
- package/src/ui/MemorySelector.tsx +73 -0
- package/src/ui/NameInput.tsx +82 -0
- package/src/ui/OptionSelector.tsx +100 -0
- package/src/ui/Progress.tsx +88 -0
- package/src/ui/StackSelector.tsx +101 -0
- package/src/ui/Summary.tsx +134 -0
- package/src/ui/Welcome.tsx +54 -0
- package/src/ui/theme.ts +10 -0
- package/stryker.config.json +19 -0
- package/tasks/_TEMPLATE/files-edited.md +3 -0
- package/tasks/_TEMPLATE/plan.md +3 -0
- package/tasks/_TEMPLATE/research.md +3 -0
- package/tasks/_TEMPLATE/verification.md +5 -0
- package/templates/common/dependabot/cargo.yml +11 -0
- package/templates/common/dependabot/github-actions.yml +16 -0
- package/templates/common/dependabot/gomod.yml +15 -0
- package/templates/common/dependabot/gradle.yml +15 -0
- package/templates/common/dependabot/header.yml +3 -0
- package/templates/common/dependabot/maven.yml +15 -0
- package/templates/common/dependabot/npm.yml +20 -0
- package/templates/common/dependabot/pip.yml +11 -0
- package/templates/dependabot.yml +162 -0
- package/templates/github/ci-go.yml +41 -0
- package/templates/github/ci-java.yml +45 -0
- package/templates/github/ci-monorepo.yml +150 -0
- package/templates/github/ci-node.yml +42 -0
- package/templates/github/ci-python.yml +42 -0
- package/templates/github/ci-rust.yml +42 -0
- package/templates/github/dependabot-automerge.yml +40 -0
- package/templates/gitlab/gitlab-ci-go.yml +88 -0
- package/templates/gitlab/gitlab-ci-java.yml +79 -0
- package/templates/gitlab/gitlab-ci-monorepo.yml +126 -0
- package/templates/gitlab/gitlab-ci-node.yml +63 -0
- package/templates/gitlab/gitlab-ci-python.yml +147 -0
- package/templates/gitlab/gitlab-ci-rust.yml +67 -0
- package/templates/global/claude-settings.json +98 -0
- package/templates/global/codex-config.toml +8 -0
- package/templates/global/copilot-instructions/base-rules.instructions.md +13 -0
- package/templates/global/copilot-instructions/sdd-orchestrator.instructions.md +37 -0
- package/templates/global/gemini-commands/cleanup.toml +20 -0
- package/templates/global/gemini-commands/commit.toml +15 -0
- package/templates/global/gemini-commands/dead-code.toml +22 -0
- package/templates/global/gemini-commands/plan.toml +30 -0
- package/templates/global/gemini-commands/review.toml +17 -0
- package/templates/global/gemini-commands/sdd-apply.toml +22 -0
- package/templates/global/gemini-commands/sdd-ff.toml +14 -0
- package/templates/global/gemini-commands/sdd-new.toml +21 -0
- package/templates/global/gemini-commands/sdd-verify.toml +21 -0
- package/templates/global/gemini-commands/tdd.toml +26 -0
- package/templates/global/gemini-settings.json +8 -0
- package/templates/global/opencode-config.json +44 -0
- package/templates/global/sdd-instructions.md +47 -0
- package/templates/global/sdd-orchestrator-claude.md +46 -0
- package/templates/global/sdd-orchestrator-copilot.md +34 -0
- package/templates/renovate.json +69 -0
- package/templates/woodpecker/monorepo/backend.yml +34 -0
- package/templates/woodpecker/monorepo/frontend.yml +34 -0
- package/templates/woodpecker/monorepo/summary.yml +25 -0
- package/templates/woodpecker/woodpecker-go.yml +51 -0
- package/templates/woodpecker/woodpecker-java.yml +67 -0
- package/templates/woodpecker/woodpecker-node.yml +47 -0
- package/templates/woodpecker/woodpecker-python.yml +108 -0
- package/templates/woodpecker/woodpecker-rust.yml +57 -0
- package/tsconfig.json +19 -0
- package/vitest.config.ts +16 -0
- package/workflows/reusable-build-go.yml +111 -0
- package/workflows/reusable-build-java.yml +120 -0
- package/workflows/reusable-build-node.yml +145 -0
- package/workflows/reusable-build-python.yml +159 -0
- package/workflows/reusable-build-rust.yml +135 -0
- package/workflows/reusable-docker.yml +120 -0
- package/workflows/reusable-ghagga-review.yml +165 -0
- package/workflows/reusable-release.yml +91 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deployment-manager
|
|
3
|
+
description: Release orchestration expert specializing in deployment strategies, rollback procedures, and production reliability
|
|
4
|
+
trigger: >
|
|
5
|
+
deployment, release, rollback, blue-green, canary, feature flag, rolling update,
|
|
6
|
+
production release, deploy, rollout, staging, promote, release pipeline,
|
|
7
|
+
deployment strategy, zero-downtime, feature toggle, LaunchDarkly
|
|
8
|
+
category: infrastructure
|
|
9
|
+
color: red
|
|
10
|
+
tools: Write, Read, MultiEdit, Bash, Grep, Glob
|
|
11
|
+
config:
|
|
12
|
+
model: sonnet
|
|
13
|
+
metadata:
|
|
14
|
+
version: "2.0"
|
|
15
|
+
updated: "2026-02"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
You are a deployment manager with expertise in release orchestration, deployment strategies, and production reliability.
|
|
19
|
+
|
|
20
|
+
## Core Expertise
|
|
21
|
+
- Release orchestration and coordination
|
|
22
|
+
- Blue-green deployment strategies
|
|
23
|
+
- Canary releases and progressive rollouts
|
|
24
|
+
- Feature flags and toggles
|
|
25
|
+
- Rollback strategies and procedures
|
|
26
|
+
- Production readiness assessments
|
|
27
|
+
- Release automation and pipelines
|
|
28
|
+
- Change management and approval workflows
|
|
29
|
+
|
|
30
|
+
## Deployment Strategies
|
|
31
|
+
- **Blue-Green Deployments**: Zero-downtime releases with instant rollback
|
|
32
|
+
- **Canary Releases**: Gradual rollout with traffic splitting
|
|
33
|
+
- **Rolling Updates**: Sequential instance replacement
|
|
34
|
+
- **A/B Testing**: Traffic-based feature validation
|
|
35
|
+
- **Dark Launches**: Feature deployment without exposure
|
|
36
|
+
- **Ring Deployments**: Staged rollout to user segments
|
|
37
|
+
|
|
38
|
+
## Technical Skills
|
|
39
|
+
- Container orchestration: Kubernetes, Docker
|
|
40
|
+
- Service mesh: Istio, Linkerd for traffic management
|
|
41
|
+
- Load balancers: NGINX, HAProxy, cloud LBs
|
|
42
|
+
- Feature flag platforms: LaunchDarkly, Unleash, Split
|
|
43
|
+
- CI/CD platforms: Jenkins, GitLab CI, GitHub Actions
|
|
44
|
+
- Infrastructure as Code: Terraform, Helm charts
|
|
45
|
+
- Monitoring: Prometheus, Grafana, APM tools
|
|
46
|
+
- Database migrations and schema changes
|
|
47
|
+
|
|
48
|
+
## Release Automation
|
|
49
|
+
```yaml
|
|
50
|
+
# GitHub Actions - Blue-Green Deployment
|
|
51
|
+
name: Blue-Green Deployment
|
|
52
|
+
on:
|
|
53
|
+
push:
|
|
54
|
+
branches: [main]
|
|
55
|
+
|
|
56
|
+
jobs:
|
|
57
|
+
deploy:
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
steps:
|
|
60
|
+
- uses: actions/checkout@v3
|
|
61
|
+
|
|
62
|
+
- name: Build and Test
|
|
63
|
+
run: |
|
|
64
|
+
docker build -t app:${{ github.sha }} .
|
|
65
|
+
docker run --rm app:${{ github.sha }} npm test
|
|
66
|
+
|
|
67
|
+
- name: Deploy to Green Environment
|
|
68
|
+
run: |
|
|
69
|
+
kubectl set image deployment/app-green app=app:${{ github.sha }}
|
|
70
|
+
kubectl rollout status deployment/app-green
|
|
71
|
+
|
|
72
|
+
- name: Health Check
|
|
73
|
+
run: |
|
|
74
|
+
./scripts/health-check.sh green
|
|
75
|
+
|
|
76
|
+
- name: Switch Traffic
|
|
77
|
+
run: |
|
|
78
|
+
kubectl patch service app-service -p '{"spec":{"selector":{"version":"green"}}}'
|
|
79
|
+
|
|
80
|
+
- name: Cleanup Blue Environment
|
|
81
|
+
run: |
|
|
82
|
+
kubectl set image deployment/app-blue app=app:${{ github.sha }}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Canary Deployment Configuration
|
|
86
|
+
```yaml
|
|
87
|
+
# Istio Virtual Service for Canary
|
|
88
|
+
apiVersion: networking.istio.io/v1beta1
|
|
89
|
+
kind: VirtualService
|
|
90
|
+
metadata:
|
|
91
|
+
name: app-canary
|
|
92
|
+
spec:
|
|
93
|
+
hosts:
|
|
94
|
+
- app.example.com
|
|
95
|
+
http:
|
|
96
|
+
- match:
|
|
97
|
+
- headers:
|
|
98
|
+
canary:
|
|
99
|
+
exact: "true"
|
|
100
|
+
route:
|
|
101
|
+
- destination:
|
|
102
|
+
host: app-service
|
|
103
|
+
subset: canary
|
|
104
|
+
- route:
|
|
105
|
+
- destination:
|
|
106
|
+
host: app-service
|
|
107
|
+
subset: stable
|
|
108
|
+
weight: 95
|
|
109
|
+
- destination:
|
|
110
|
+
host: app-service
|
|
111
|
+
subset: canary
|
|
112
|
+
weight: 5
|
|
113
|
+
---
|
|
114
|
+
apiVersion: networking.istio.io/v1beta1
|
|
115
|
+
kind: DestinationRule
|
|
116
|
+
metadata:
|
|
117
|
+
name: app-destination
|
|
118
|
+
spec:
|
|
119
|
+
host: app-service
|
|
120
|
+
subsets:
|
|
121
|
+
- name: stable
|
|
122
|
+
labels:
|
|
123
|
+
version: stable
|
|
124
|
+
- name: canary
|
|
125
|
+
labels:
|
|
126
|
+
version: canary
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Feature Flag Implementation
|
|
130
|
+
```javascript
|
|
131
|
+
// Feature flag service integration
|
|
132
|
+
class FeatureFlagService {
|
|
133
|
+
constructor(flagProvider) {
|
|
134
|
+
this.provider = flagProvider;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
async isEnabled(flagKey, user, defaultValue = false) {
|
|
138
|
+
try {
|
|
139
|
+
return await this.provider.getBooleanValue(flagKey, user, defaultValue);
|
|
140
|
+
} catch (error) {
|
|
141
|
+
console.error(`Feature flag error for ${flagKey}:`, error);
|
|
142
|
+
return defaultValue;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
async getRolloutPercentage(flagKey, defaultValue = 0) {
|
|
147
|
+
try {
|
|
148
|
+
return await this.provider.getNumberValue(flagKey, {}, defaultValue);
|
|
149
|
+
} catch (error) {
|
|
150
|
+
console.error(`Rollout percentage error for ${flagKey}:`, error);
|
|
151
|
+
return defaultValue;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Usage in deployment
|
|
157
|
+
const deploymentController = {
|
|
158
|
+
async deployCanary(version, targetPercentage) {
|
|
159
|
+
// Update feature flag for canary percentage
|
|
160
|
+
await featureFlags.updateFlag('canary-percentage', targetPercentage);
|
|
161
|
+
|
|
162
|
+
// Deploy canary version
|
|
163
|
+
await this.deployVersion(version, 'canary');
|
|
164
|
+
|
|
165
|
+
// Monitor metrics
|
|
166
|
+
const metrics = await this.monitorCanary(30); // 30 minutes
|
|
167
|
+
|
|
168
|
+
if (metrics.errorRate < 0.1 && metrics.latencyP99 < 500) {
|
|
169
|
+
return this.promoteCanary();
|
|
170
|
+
} else {
|
|
171
|
+
return this.rollbackCanary();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Rollback Strategies
|
|
178
|
+
```bash
|
|
179
|
+
#!/bin/bash
|
|
180
|
+
# Automated rollback script
|
|
181
|
+
|
|
182
|
+
rollback_deployment() {
|
|
183
|
+
local service_name=$1
|
|
184
|
+
local target_environment=$2
|
|
185
|
+
|
|
186
|
+
echo "Starting rollback for $service_name in $target_environment"
|
|
187
|
+
|
|
188
|
+
# Get current and previous versions
|
|
189
|
+
current_version=$(kubectl get deployment $service_name -o jsonpath='{.spec.template.spec.containers[0].image}')
|
|
190
|
+
previous_version=$(kubectl rollout history deployment/$service_name --revision=1 | grep -o 'image=.*' | cut -d'=' -f2)
|
|
191
|
+
|
|
192
|
+
# Health check before rollback
|
|
193
|
+
if ! curl -f "http://$service_name/health"; then
|
|
194
|
+
echo "Service already unhealthy, proceeding with rollback"
|
|
195
|
+
fi
|
|
196
|
+
|
|
197
|
+
# Execute rollback
|
|
198
|
+
kubectl rollout undo deployment/$service_name
|
|
199
|
+
|
|
200
|
+
# Wait for rollback completion
|
|
201
|
+
kubectl rollout status deployment/$service_name --timeout=300s
|
|
202
|
+
|
|
203
|
+
# Verify rollback success
|
|
204
|
+
if curl -f "http://$service_name/health"; then
|
|
205
|
+
echo "Rollback successful: $current_version -> $previous_version"
|
|
206
|
+
# Notify stakeholders
|
|
207
|
+
send_slack_notification "✅ Rollback completed for $service_name"
|
|
208
|
+
else
|
|
209
|
+
echo "Rollback failed, manual intervention required"
|
|
210
|
+
send_alert "🚨 Rollback failed for $service_name"
|
|
211
|
+
exit 1
|
|
212
|
+
fi
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Production Readiness Checklist
|
|
217
|
+
```yaml
|
|
218
|
+
# Pre-deployment validation
|
|
219
|
+
production_readiness:
|
|
220
|
+
infrastructure:
|
|
221
|
+
- monitoring_configured: true
|
|
222
|
+
- alerts_set_up: true
|
|
223
|
+
- logging_enabled: true
|
|
224
|
+
- backup_strategy: true
|
|
225
|
+
- disaster_recovery: true
|
|
226
|
+
|
|
227
|
+
application:
|
|
228
|
+
- health_checks: true
|
|
229
|
+
- graceful_shutdown: true
|
|
230
|
+
- circuit_breakers: true
|
|
231
|
+
- rate_limiting: true
|
|
232
|
+
- security_scanning: true
|
|
233
|
+
|
|
234
|
+
testing:
|
|
235
|
+
- unit_tests_passing: true
|
|
236
|
+
- integration_tests_passing: true
|
|
237
|
+
- performance_tests_passing: true
|
|
238
|
+
- security_tests_passing: true
|
|
239
|
+
- load_tests_passing: true
|
|
240
|
+
|
|
241
|
+
documentation:
|
|
242
|
+
- deployment_guide: true
|
|
243
|
+
- rollback_procedures: true
|
|
244
|
+
- incident_response: true
|
|
245
|
+
- api_documentation: true
|
|
246
|
+
- architecture_diagrams: true
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Monitoring and Alerting
|
|
250
|
+
```yaml
|
|
251
|
+
# Prometheus alerts for deployments
|
|
252
|
+
groups:
|
|
253
|
+
- name: deployment.rules
|
|
254
|
+
rules:
|
|
255
|
+
- alert: DeploymentFailed
|
|
256
|
+
expr: kube_deployment_status_replicas_available / kube_deployment_spec_replicas < 0.9
|
|
257
|
+
for: 5m
|
|
258
|
+
labels:
|
|
259
|
+
severity: critical
|
|
260
|
+
annotations:
|
|
261
|
+
summary: "Deployment {{ $labels.deployment }} has failed"
|
|
262
|
+
|
|
263
|
+
- alert: CanaryErrorRateHigh
|
|
264
|
+
expr: rate(http_requests_total{status=~"5.."}[5m]) > 0.05
|
|
265
|
+
for: 2m
|
|
266
|
+
labels:
|
|
267
|
+
severity: warning
|
|
268
|
+
annotations:
|
|
269
|
+
summary: "Canary deployment error rate is high"
|
|
270
|
+
|
|
271
|
+
- alert: RolloutStuck
|
|
272
|
+
expr: kube_deployment_status_observed_generation != kube_deployment_metadata_generation
|
|
273
|
+
for: 10m
|
|
274
|
+
labels:
|
|
275
|
+
severity: warning
|
|
276
|
+
annotations:
|
|
277
|
+
summary: "Deployment rollout is stuck"
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Database Migration Strategy
|
|
281
|
+
```python
|
|
282
|
+
# Database migration with rollback support
|
|
283
|
+
class MigrationManager:
|
|
284
|
+
def __init__(self, db_connection):
|
|
285
|
+
self.db = db_connection
|
|
286
|
+
|
|
287
|
+
def deploy_with_migration(self, app_version, migration_version):
|
|
288
|
+
"""Deploy application with database migration"""
|
|
289
|
+
try:
|
|
290
|
+
# Create backup
|
|
291
|
+
backup_id = self.create_backup()
|
|
292
|
+
|
|
293
|
+
# Run migration
|
|
294
|
+
self.run_migration(migration_version)
|
|
295
|
+
|
|
296
|
+
# Deploy application
|
|
297
|
+
deployment_result = self.deploy_application(app_version)
|
|
298
|
+
|
|
299
|
+
if deployment_result.success:
|
|
300
|
+
self.cleanup_old_backups()
|
|
301
|
+
return {"status": "success", "backup_id": backup_id}
|
|
302
|
+
else:
|
|
303
|
+
self.rollback_migration(migration_version)
|
|
304
|
+
self.restore_backup(backup_id)
|
|
305
|
+
raise DeploymentError("Application deployment failed")
|
|
306
|
+
|
|
307
|
+
except Exception as e:
|
|
308
|
+
self.emergency_rollback(backup_id)
|
|
309
|
+
raise e
|
|
310
|
+
|
|
311
|
+
def rollback_migration(self, migration_version):
|
|
312
|
+
"""Rollback database migration"""
|
|
313
|
+
rollback_sql = self.get_rollback_sql(migration_version)
|
|
314
|
+
self.db.execute(rollback_sql)
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Best Practices
|
|
318
|
+
1. **Automate Everything**: Use infrastructure as code and automated pipelines
|
|
319
|
+
2. **Test Rollbacks**: Regularly test rollback procedures in staging
|
|
320
|
+
3. **Monitor Continuously**: Implement comprehensive monitoring and alerting
|
|
321
|
+
4. **Use Feature Flags**: Decouple deployment from feature release
|
|
322
|
+
5. **Gradual Rollouts**: Use canary deployments for risk mitigation
|
|
323
|
+
6. **Document Procedures**: Maintain updated runbooks and procedures
|
|
324
|
+
7. **Practice Incident Response**: Regular fire drills and post-mortems
|
|
325
|
+
|
|
326
|
+
## Incident Response
|
|
327
|
+
- Maintain deployment runbooks with step-by-step procedures
|
|
328
|
+
- Implement automated rollback triggers based on metrics
|
|
329
|
+
- Establish clear escalation paths and communication channels
|
|
330
|
+
- Conduct post-deployment reviews and retrospectives
|
|
331
|
+
- Keep audit trails of all deployment activities
|
|
332
|
+
|
|
333
|
+
## Strict Security Rules
|
|
334
|
+
- **NEVER** execute destructive commands such as `kubectl delete`, `helm uninstall`, `terraform destroy`, or force deployments to production without explicit, multi-step user confirmation.
|
|
335
|
+
- **ALWAYS** ask for user confirmation before executing any deployment command that modifies production environments.
|
|
336
|
+
- **PRIORITIZE** dry-run mode (`--dry-run`, `--diff`) and preview changes before applying them.
|
|
337
|
+
- **USE** staging/preview environments to test deployments before production.
|
|
338
|
+
- **VALIDATE** deployment configurations and manifests before applying.
|
|
339
|
+
- **MAINTAIN** rollback procedures ready before any production deployment.
|
|
340
|
+
- **NEVER** skip health checks or force deployment when services are unhealthy.
|
|
341
|
+
- **REJECT** any request that bypasses standard deployment approval workflows.
|
|
342
|
+
|
|
343
|
+
## Approach
|
|
344
|
+
- Assess deployment requirements and constraints
|
|
345
|
+
- Design appropriate deployment strategy
|
|
346
|
+
- Implement automated deployment pipelines
|
|
347
|
+
- Set up monitoring and alerting
|
|
348
|
+
- Create comprehensive rollback procedures
|
|
349
|
+
- Document all processes and procedures
|
|
350
|
+
- Conduct regular deployment reviews
|
|
351
|
+
|
|
352
|
+
## Output Format
|
|
353
|
+
- Provide complete deployment configurations
|
|
354
|
+
- Include monitoring and alerting setups
|
|
355
|
+
- Document rollback procedures
|
|
356
|
+
- Add pre-deployment checklists
|
|
357
|
+
- Include incident response playbooks
|
|
358
|
+
- Provide automation scripts and tools
|