@amsterdamdatalabs/enact-extensions 0.1.0 → 0.1.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 +96 -21
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +171 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +402 -49
- package/dist/install.js.map +1 -1
- package/dist/internal/codex.d.ts.map +1 -1
- package/dist/internal/codex.js +7 -1
- package/dist/internal/codex.js.map +1 -1
- package/dist/internal/platform.d.ts +8 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +46 -2
- package/dist/internal/platform.js.map +1 -1
- package/dist/provision.d.ts +30 -0
- package/dist/provision.d.ts.map +1 -0
- package/dist/provision.js +202 -0
- package/dist/provision.js.map +1 -0
- package/dist/validate/index.d.ts +44 -0
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +157 -0
- package/dist/validate/index.js.map +1 -1
- package/extensions/cmux/.agents/plugin.json +37 -0
- package/extensions/cmux/skills/cmux/SKILL.md +82 -0
- package/extensions/cmux/skills/cmux/agents/openai.yaml +4 -0
- package/extensions/cmux/skills/cmux/references/handles-and-identify.md +35 -0
- package/extensions/cmux/skills/cmux/references/panes-surfaces.md +37 -0
- package/extensions/cmux/skills/cmux/references/trigger-flash-and-health.md +23 -0
- package/extensions/cmux/skills/cmux/references/windows-workspaces.md +31 -0
- package/extensions/cmux/skills/cmux-vm-monitor/SKILL.md +122 -0
- package/extensions/cmux/skills/cmux-vm-monitor/agents/openai.yaml +4 -0
- package/extensions/cmux/skills/cmux-vm-monitor/references/cmux-commands.md +66 -0
- package/extensions/cmux/skills/cmux-vm-monitor/scripts/codex_vm_monitor.sh +45 -0
- package/extensions/cmux/skills/cmux-workspace/SKILL.md +93 -0
- package/extensions/dev-state/.agents/plugin.json +35 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +194 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +4 -0
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +130 -0
- package/extensions/devops/.agents/plugin.json +36 -0
- package/extensions/devops/skills/azure-devops-cli/SKILL.md +431 -0
- package/extensions/devops/skills/azure-devops-cli/agents/openai.yaml +4 -0
- package/extensions/devops/skills/ci-pipeline-strategy/SKILL.md +217 -0
- package/extensions/devops/skills/ci-pipeline-strategy/agents/openai.yaml +4 -0
- package/extensions/enact-context/.agents/plugin.json +40 -0
- package/extensions/enact-context/.mcp.json +8 -0
- package/extensions/enact-context/README.md +25 -0
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +115 -0
- package/extensions/enact-context/skills/enact-context/SKILL.md +149 -0
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +69 -0
- package/extensions/enact-factory/.agents/plugin.json +42 -0
- package/extensions/enact-factory/.mcp.json +8 -0
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/hooks/user-prompt-submit.mjs +67 -0
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +167 -0
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +22 -0
- package/extensions/enact-operator/.agents/plugin.json +57 -0
- package/extensions/enact-operator/.app.json +3 -0
- package/extensions/enact-operator/.mcp.json +10 -0
- package/extensions/enact-operator/_taxonomy.md +86 -0
- package/extensions/enact-operator/agents/README.md +5 -0
- package/extensions/enact-operator/agents/architect.toml +25 -0
- package/extensions/enact-operator/agents/code-reviewer.toml +24 -0
- package/extensions/enact-operator/agents/critic.toml +30 -0
- package/extensions/enact-operator/agents/executor.toml +24 -0
- package/extensions/enact-operator/agents/explore.toml +23 -0
- package/extensions/enact-operator/agents/planner.toml +24 -0
- package/extensions/enact-operator/agents/verifier.toml +24 -0
- package/extensions/enact-operator/assets/icon.png +0 -0
- package/extensions/enact-operator/assets/logo.png +0 -0
- package/extensions/enact-operator/commands/doctor.md +39 -0
- package/extensions/enact-operator/commands/setup.md +51 -0
- package/extensions/enact-operator/hooks/hooks.json +146 -0
- package/extensions/enact-operator/skills/_variants.md +44 -0
- package/extensions/enact-operator/skills/ai-slop-cleaner/SKILL.md +50 -0
- package/extensions/enact-operator/skills/analyze/SKILL.md +91 -0
- package/extensions/enact-operator/skills/ask/SKILL.md +47 -0
- package/extensions/enact-operator/skills/autopilot/SKILL.md +170 -0
- package/extensions/enact-operator/skills/autoresearch-goal/SKILL.md +79 -0
- package/extensions/enact-operator/skills/cancel/SKILL.md +99 -0
- package/extensions/enact-operator/skills/configure-notifications/SKILL.md +77 -0
- package/extensions/enact-operator/skills/deep-interview/SKILL.md +80 -0
- package/extensions/enact-operator/skills/doctor/SKILL.md +48 -0
- package/extensions/enact-operator/skills/hud/SKILL.md +49 -0
- package/extensions/enact-operator/skills/hyperplan/SKILL.md +47 -0
- package/extensions/enact-operator/skills/plan/SKILL.md +78 -0
- package/extensions/enact-operator/skills/ralph/SKILL.md +201 -0
- package/extensions/enact-operator/skills/ralph/gemini.md +18 -0
- package/extensions/enact-operator/skills/ralplan/SKILL.md +151 -0
- package/extensions/enact-operator/skills/remove-deadcode/SKILL.md +45 -0
- package/extensions/enact-operator/skills/research/SKILL.md +74 -0
- package/extensions/enact-operator/skills/review/SKILL.md +58 -0
- package/extensions/enact-operator/skills/security-research/SKILL.md +54 -0
- package/extensions/enact-operator/skills/setup/SKILL.md +91 -0
- package/extensions/enact-operator/skills/setup/scripts/install.sh +50 -0
- package/extensions/enact-operator/skills/skill/SKILL.md +82 -0
- package/extensions/enact-operator/skills/tdd/SKILL.md +59 -0
- package/extensions/enact-operator/skills/team/SKILL.md +199 -0
- package/extensions/enact-operator/skills/trace/SKILL.md +41 -0
- package/extensions/enact-operator/skills/ultragoal/SKILL.md +99 -0
- package/extensions/enact-operator/skills/ultraqa/SKILL.md +113 -0
- package/extensions/enact-operator/skills/ultrawork/SKILL.md +145 -0
- package/extensions/enact-operator/skills/ultrawork/planner.md +28 -0
- package/extensions/enact-operator/skills/wiki/SKILL.md +41 -0
- package/extensions/enact-operator/skills/work-with-workitem/SKILL.md +51 -0
- package/extensions/enact-wiki/.agents/plugin.json +42 -0
- package/extensions/enact-wiki/.mcp.json +15 -0
- package/extensions/enact-wiki/README.md +44 -0
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +17 -0
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +60 -0
- package/extensions/enact-wiki/skills/document-parser/skill.json +9 -0
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +30 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +62 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +34 -0
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +59 -0
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +57 -0
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +23 -0
- package/{plugins/net-revenue-management/.codex-plugin → extensions/net-revenue-management/.agents}/plugin.json +10 -6
- package/extensions/plugin-dev/.agents/plugin.json +42 -0
- package/extensions/plugin-dev/.mcp.json +3 -0
- package/extensions/plugin-dev/agents/agent-creator.md +199 -0
- package/extensions/plugin-dev/agents/plugin-validator.md +91 -0
- package/extensions/plugin-dev/agents/skill-reviewer.md +212 -0
- package/extensions/plugin-dev/commands/_archive/create-marketplace.md +427 -0
- package/extensions/plugin-dev/commands/_archive/plugin-dev-guide.md +12 -0
- package/extensions/plugin-dev/commands/create-plugin.md +498 -0
- package/extensions/plugin-dev/commands/start.md +81 -0
- package/extensions/plugin-dev/hooks/hooks.json +3 -0
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +641 -0
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +250 -0
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +461 -0
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +246 -0
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +216 -0
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +226 -0
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +464 -0
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +474 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +176 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +227 -0
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +227 -0
- package/extensions/plugin-dev/skills/command-development/SKILL.md +763 -0
- package/extensions/plugin-dev/skills/command-development/examples/plugin-commands.md +612 -0
- package/extensions/plugin-dev/skills/command-development/examples/simple-commands.md +527 -0
- package/extensions/plugin-dev/skills/command-development/references/advanced-workflows.md +762 -0
- package/extensions/plugin-dev/skills/command-development/references/documentation-patterns.md +769 -0
- package/extensions/plugin-dev/skills/command-development/references/frontmatter-reference.md +508 -0
- package/extensions/plugin-dev/skills/command-development/references/interactive-commands.md +966 -0
- package/extensions/plugin-dev/skills/command-development/references/marketplace-considerations.md +943 -0
- package/extensions/plugin-dev/skills/command-development/references/plugin-features-reference.md +637 -0
- package/extensions/plugin-dev/skills/command-development/references/plugin-integration.md +191 -0
- package/extensions/plugin-dev/skills/command-development/references/skill-tool.md +447 -0
- package/extensions/plugin-dev/skills/command-development/references/testing-strategies.md +723 -0
- package/extensions/plugin-dev/skills/command-development/scripts/check-frontmatter.sh +234 -0
- package/extensions/plugin-dev/skills/command-development/scripts/validate-command.sh +160 -0
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +861 -0
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +55 -0
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +57 -0
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +48 -0
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +871 -0
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +145 -0
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +392 -0
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +430 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +181 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +153 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +276 -0
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +775 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +20 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +19 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +38 -0
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +26 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +601 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +190 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +572 -0
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +623 -0
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +222 -0
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +705 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +774 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +83 -0
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +611 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +289 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +592 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +233 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +193 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +625 -0
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +116 -0
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +564 -0
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +465 -0
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +167 -0
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +111 -0
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +225 -0
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +39 -0
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +379 -0
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +210 -0
- package/package.json +8 -11
- package/scripts/enact-extensions.mjs +823 -21
- package/scripts/hooks/session-start-drift-check.mjs +58 -0
- package/scripts/lib/build-index.mjs +50 -0
- package/scripts/lib/bundle-hash.mjs +137 -0
- package/scripts/lib/hooks.mjs +741 -0
- package/scripts/lib/ledger.mjs +163 -0
- package/scripts/lib/list-bundles.mjs +70 -0
- package/scripts/lib/outdated.mjs +144 -0
- package/scripts/lib/provision-mcp.mjs +16 -0
- package/scripts/lib/resolve-bundle.mjs +121 -0
- package/scripts/lib/run-install.mjs +402 -38
- package/scripts/lib/run-prune.mjs +73 -0
- package/scripts/lib/run-sync.mjs +9 -1
- package/scripts/lib/run-uninstall.mjs +244 -0
- package/scripts/lib/run-update.mjs +152 -0
- package/scripts/lib/run-validate.mjs +21 -18
- package/scripts/lib/serve.mjs +472 -0
- package/scripts/postinstall.mjs +63 -0
- package/scripts/setup-enact-context.sh +2 -2
- package/scripts/version-bump.sh +463 -0
- package/spec/codex.json +1 -11
- package/spec/index.json +59 -0
- package/web/assets/README.md +111 -0
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +45 -0
- package/web/assets/tokens/colors.css +248 -0
- package/web/assets/tokens/effects.css +24 -0
- package/web/assets/tokens/fonts.css +8 -0
- package/web/assets/tokens/index.css +18 -0
- package/web/assets/tokens/spacing.css +50 -0
- package/web/index.html +1188 -0
- package/.agents/plugins/marketplace.json +0 -20
- package/catalog/enact-context.json +0 -9
- package/catalog/enact-factory.json +0 -7
- package/catalog/enact-operator.json +0 -7
- package/catalog/enact-wiki.json +0 -7
- package/catalog/net-revenue-management.json +0 -8
- package/scripts/rename-supervisor-to-operator.pl +0 -66
- package/scripts/sync-manifests.mjs +0 -23
- package/scripts/validate-catalog.mjs +0 -37
- package/scripts/validate-plugin.mjs +0 -10
- /package/{plugins → extensions}/net-revenue-management/.mcp.json +0 -0
- /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -0
- /package/{plugins → extensions}/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -0
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
# Advanced Plugin Example
|
|
2
|
+
|
|
3
|
+
A complex, enterprise-grade plugin with MCP integration and advanced organization.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
enterprise-devops/
|
|
9
|
+
├── .claude-plugin/
|
|
10
|
+
│ └── plugin.json
|
|
11
|
+
├── commands/
|
|
12
|
+
│ ├── ci/
|
|
13
|
+
│ │ ├── build.md
|
|
14
|
+
│ │ ├── test.md
|
|
15
|
+
│ │ └── deploy.md
|
|
16
|
+
│ ├── monitoring/
|
|
17
|
+
│ │ ├── status.md
|
|
18
|
+
│ │ └── logs.md
|
|
19
|
+
│ └── admin/
|
|
20
|
+
│ ├── configure.md
|
|
21
|
+
│ └── manage.md
|
|
22
|
+
├── agents/
|
|
23
|
+
│ ├── orchestration/
|
|
24
|
+
│ │ ├── deployment-orchestrator.md
|
|
25
|
+
│ │ └── rollback-manager.md
|
|
26
|
+
│ └── specialized/
|
|
27
|
+
│ ├── kubernetes-expert.md
|
|
28
|
+
│ ├── terraform-expert.md
|
|
29
|
+
│ └── security-auditor.md
|
|
30
|
+
├── skills/
|
|
31
|
+
│ ├── kubernetes-ops/
|
|
32
|
+
│ │ ├── SKILL.md
|
|
33
|
+
│ │ ├── references/
|
|
34
|
+
│ │ │ ├── deployment-patterns.md
|
|
35
|
+
│ │ │ ├── troubleshooting.md
|
|
36
|
+
│ │ │ └── security.md
|
|
37
|
+
│ │ ├── examples/
|
|
38
|
+
│ │ │ ├── basic-deployment.yaml
|
|
39
|
+
│ │ │ ├── stateful-set.yaml
|
|
40
|
+
│ │ │ └── ingress-config.yaml
|
|
41
|
+
│ │ └── scripts/
|
|
42
|
+
│ │ ├── validate-manifest.sh
|
|
43
|
+
│ │ └── health-check.sh
|
|
44
|
+
│ ├── terraform-iac/
|
|
45
|
+
│ │ ├── SKILL.md
|
|
46
|
+
│ │ ├── references/
|
|
47
|
+
│ │ │ └── best-practices.md
|
|
48
|
+
│ │ └── examples/
|
|
49
|
+
│ │ └── module-template/
|
|
50
|
+
│ └── ci-cd-pipelines/
|
|
51
|
+
│ ├── SKILL.md
|
|
52
|
+
│ └── references/
|
|
53
|
+
│ └── pipeline-patterns.md
|
|
54
|
+
├── hooks/
|
|
55
|
+
│ ├── hooks.json
|
|
56
|
+
│ └── scripts/
|
|
57
|
+
│ ├── security/
|
|
58
|
+
│ │ ├── scan-secrets.sh
|
|
59
|
+
│ │ ├── validate-permissions.sh
|
|
60
|
+
│ │ └── audit-changes.sh
|
|
61
|
+
│ ├── quality/
|
|
62
|
+
│ │ ├── check-config.sh
|
|
63
|
+
│ │ └── verify-tests.sh
|
|
64
|
+
│ └── workflow/
|
|
65
|
+
│ ├── notify-team.sh
|
|
66
|
+
│ └── update-status.sh
|
|
67
|
+
├── .mcp.json
|
|
68
|
+
├── servers/
|
|
69
|
+
│ ├── kubernetes-mcp/
|
|
70
|
+
│ │ ├── index.js
|
|
71
|
+
│ │ ├── package.json
|
|
72
|
+
│ │ └── lib/
|
|
73
|
+
│ ├── terraform-mcp/
|
|
74
|
+
│ │ ├── main.py
|
|
75
|
+
│ │ └── requirements.txt
|
|
76
|
+
│ └── github-actions-mcp/
|
|
77
|
+
│ ├── server.js
|
|
78
|
+
│ └── package.json
|
|
79
|
+
├── lib/
|
|
80
|
+
│ ├── core/
|
|
81
|
+
│ │ ├── logger.js
|
|
82
|
+
│ │ ├── config.js
|
|
83
|
+
│ │ └── auth.js
|
|
84
|
+
│ ├── integrations/
|
|
85
|
+
│ │ ├── slack.js
|
|
86
|
+
│ │ ├── pagerduty.js
|
|
87
|
+
│ │ └── datadog.js
|
|
88
|
+
│ └── utils/
|
|
89
|
+
│ ├── retry.js
|
|
90
|
+
│ └── validation.js
|
|
91
|
+
└── config/
|
|
92
|
+
├── environments/
|
|
93
|
+
│ ├── production.json
|
|
94
|
+
│ ├── staging.json
|
|
95
|
+
│ └── development.json
|
|
96
|
+
└── templates/
|
|
97
|
+
├── deployment.yaml
|
|
98
|
+
└── service.yaml
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## File Contents
|
|
102
|
+
|
|
103
|
+
### .claude-plugin/plugin.json
|
|
104
|
+
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"name": "enterprise-devops",
|
|
108
|
+
"version": "2.3.1",
|
|
109
|
+
"description": "Comprehensive DevOps automation for enterprise CI/CD pipelines, infrastructure management, and monitoring",
|
|
110
|
+
"author": {
|
|
111
|
+
"name": "DevOps Platform Team",
|
|
112
|
+
"email": "devops-platform@company.com",
|
|
113
|
+
"url": "https://company.com/teams/devops"
|
|
114
|
+
},
|
|
115
|
+
"homepage": "https://docs.company.com/plugins/devops",
|
|
116
|
+
"repository": {
|
|
117
|
+
"type": "git",
|
|
118
|
+
"url": "https://github.com/company/devops-plugin.git"
|
|
119
|
+
},
|
|
120
|
+
"license": "Apache-2.0",
|
|
121
|
+
"keywords": [
|
|
122
|
+
"devops",
|
|
123
|
+
"ci-cd",
|
|
124
|
+
"kubernetes",
|
|
125
|
+
"terraform",
|
|
126
|
+
"automation",
|
|
127
|
+
"infrastructure",
|
|
128
|
+
"deployment",
|
|
129
|
+
"monitoring"
|
|
130
|
+
],
|
|
131
|
+
"commands": ["./commands/ci", "./commands/monitoring", "./commands/admin"],
|
|
132
|
+
"agents": ["./agents/orchestration", "./agents/specialized"],
|
|
133
|
+
"hooks": "./hooks/hooks.json",
|
|
134
|
+
"mcpServers": "./.mcp.json"
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### .mcp.json
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"mcpServers": {
|
|
143
|
+
"kubernetes": {
|
|
144
|
+
"command": "node",
|
|
145
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/servers/kubernetes-mcp/index.js"],
|
|
146
|
+
"env": {
|
|
147
|
+
"KUBECONFIG": "${KUBECONFIG}",
|
|
148
|
+
"K8S_NAMESPACE": "${K8S_NAMESPACE:-default}"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"terraform": {
|
|
152
|
+
"command": "python",
|
|
153
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/servers/terraform-mcp/main.py"],
|
|
154
|
+
"env": {
|
|
155
|
+
"TF_STATE_BUCKET": "${TF_STATE_BUCKET}",
|
|
156
|
+
"AWS_REGION": "${AWS_REGION}"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"github-actions": {
|
|
160
|
+
"command": "node",
|
|
161
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/servers/github-actions-mcp/server.js"],
|
|
162
|
+
"env": {
|
|
163
|
+
"GITHUB_TOKEN": "${GITHUB_TOKEN}",
|
|
164
|
+
"GITHUB_ORG": "${GITHUB_ORG}"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### commands/ci/build.md
|
|
172
|
+
|
|
173
|
+
```markdown
|
|
174
|
+
---
|
|
175
|
+
name: build
|
|
176
|
+
description: Trigger and monitor CI build pipeline
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
# Build Command
|
|
180
|
+
|
|
181
|
+
Trigger CI/CD build pipeline and monitor progress in real-time.
|
|
182
|
+
|
|
183
|
+
## Process
|
|
184
|
+
|
|
185
|
+
1. **Validation**: Check prerequisites
|
|
186
|
+
- Verify branch status
|
|
187
|
+
- Check for uncommitted changes
|
|
188
|
+
- Validate configuration files
|
|
189
|
+
|
|
190
|
+
2. **Trigger**: Start build via MCP server
|
|
191
|
+
\`\`\`javascript
|
|
192
|
+
// Uses github-actions MCP server
|
|
193
|
+
const build = await tools.github_actions_trigger_workflow({
|
|
194
|
+
workflow: 'build.yml',
|
|
195
|
+
ref: currentBranch
|
|
196
|
+
})
|
|
197
|
+
\`\`\`
|
|
198
|
+
|
|
199
|
+
3. **Monitor**: Track build progress
|
|
200
|
+
- Display real-time logs
|
|
201
|
+
- Show test results as they complete
|
|
202
|
+
- Alert on failures
|
|
203
|
+
|
|
204
|
+
4. **Report**: Summarize results
|
|
205
|
+
- Build status
|
|
206
|
+
- Test coverage
|
|
207
|
+
- Performance metrics
|
|
208
|
+
- Deploy readiness
|
|
209
|
+
|
|
210
|
+
## Integration
|
|
211
|
+
|
|
212
|
+
After successful build:
|
|
213
|
+
|
|
214
|
+
- Offer to deploy to staging
|
|
215
|
+
- Suggest performance optimizations
|
|
216
|
+
- Generate deployment checklist
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### agents/orchestration/deployment-orchestrator.md
|
|
220
|
+
|
|
221
|
+
```markdown
|
|
222
|
+
---
|
|
223
|
+
description: Orchestrates complex multi-environment deployments with rollback capabilities and health monitoring
|
|
224
|
+
capabilities:
|
|
225
|
+
- Plan and execute multi-stage deployments
|
|
226
|
+
- Coordinate service dependencies
|
|
227
|
+
- Monitor deployment health
|
|
228
|
+
- Execute automated rollbacks
|
|
229
|
+
- Manage deployment approvals
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
# Deployment Orchestrator Agent
|
|
233
|
+
|
|
234
|
+
Specialized agent for orchestrating complex deployments across multiple environments.
|
|
235
|
+
|
|
236
|
+
## Expertise
|
|
237
|
+
|
|
238
|
+
- **Deployment strategies**: Blue-green, canary, rolling updates
|
|
239
|
+
- **Dependency management**: Service startup ordering, dependency injection
|
|
240
|
+
- **Health monitoring**: Service health checks, metric validation
|
|
241
|
+
- **Rollback automation**: Automatic rollback on failure detection
|
|
242
|
+
- **Approval workflows**: Multi-stage approval processes
|
|
243
|
+
|
|
244
|
+
## Orchestration Process
|
|
245
|
+
|
|
246
|
+
1. **Planning Phase**
|
|
247
|
+
- Analyze deployment requirements
|
|
248
|
+
- Identify service dependencies
|
|
249
|
+
- Generate deployment plan
|
|
250
|
+
- Calculate rollback strategy
|
|
251
|
+
|
|
252
|
+
2. **Validation Phase**
|
|
253
|
+
- Verify environment readiness
|
|
254
|
+
- Check resource availability
|
|
255
|
+
- Validate configurations
|
|
256
|
+
- Run pre-deployment tests
|
|
257
|
+
|
|
258
|
+
3. **Execution Phase**
|
|
259
|
+
- Deploy services in dependency order
|
|
260
|
+
- Monitor health after each stage
|
|
261
|
+
- Validate metrics and logs
|
|
262
|
+
- Proceed to next stage on success
|
|
263
|
+
|
|
264
|
+
4. **Verification Phase**
|
|
265
|
+
- Run smoke tests
|
|
266
|
+
- Validate service integration
|
|
267
|
+
- Check performance metrics
|
|
268
|
+
- Confirm deployment success
|
|
269
|
+
|
|
270
|
+
5. **Rollback Phase** (if needed)
|
|
271
|
+
- Detect failure conditions
|
|
272
|
+
- Execute rollback plan
|
|
273
|
+
- Restore previous state
|
|
274
|
+
- Notify stakeholders
|
|
275
|
+
|
|
276
|
+
## MCP Integration
|
|
277
|
+
|
|
278
|
+
Uses multiple MCP servers:
|
|
279
|
+
|
|
280
|
+
- `kubernetes`: Deploy and manage containers
|
|
281
|
+
- `terraform`: Provision infrastructure
|
|
282
|
+
- `github-actions`: Trigger deployment pipelines
|
|
283
|
+
|
|
284
|
+
## Monitoring Integration
|
|
285
|
+
|
|
286
|
+
Integrates with monitoring tools via lib:
|
|
287
|
+
\`\`\`javascript
|
|
288
|
+
const { DatadogClient } = require('${CLAUDE_PLUGIN_ROOT}/lib/integrations/datadog')
|
|
289
|
+
const metrics = await DatadogClient.getMetrics(service, timeRange)
|
|
290
|
+
\`\`\`
|
|
291
|
+
|
|
292
|
+
## Notification Integration
|
|
293
|
+
|
|
294
|
+
Sends updates via Slack and PagerDuty:
|
|
295
|
+
\`\`\`javascript
|
|
296
|
+
const { SlackClient } = require('${CLAUDE_PLUGIN_ROOT}/lib/integrations/slack')
|
|
297
|
+
await SlackClient.notify({
|
|
298
|
+
channel: '#deployments',
|
|
299
|
+
message: 'Deployment started',
|
|
300
|
+
metadata: deploymentPlan
|
|
301
|
+
})
|
|
302
|
+
\`\`\`
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### skills/kubernetes-ops/SKILL.md
|
|
306
|
+
|
|
307
|
+
```markdown
|
|
308
|
+
---
|
|
309
|
+
name: kubernetes-ops
|
|
310
|
+
description: This skill should be used when deploying to Kubernetes, managing K8s resources, troubleshooting cluster issues, configuring ingress/services, scaling deployments, or working with Kubernetes manifests. Provides comprehensive Kubernetes operational knowledge and best practices.
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
# Kubernetes Operations
|
|
314
|
+
|
|
315
|
+
Comprehensive operational knowledge for managing Kubernetes clusters and workloads.
|
|
316
|
+
|
|
317
|
+
## Overview
|
|
318
|
+
|
|
319
|
+
Manage Kubernetes infrastructure effectively through:
|
|
320
|
+
|
|
321
|
+
- Deployment strategies and patterns
|
|
322
|
+
- Resource configuration and optimization
|
|
323
|
+
- Troubleshooting and debugging
|
|
324
|
+
- Security best practices
|
|
325
|
+
- Performance tuning
|
|
326
|
+
|
|
327
|
+
## Core Concepts
|
|
328
|
+
|
|
329
|
+
### Resource Management
|
|
330
|
+
|
|
331
|
+
**Deployments**: Use for stateless applications
|
|
332
|
+
|
|
333
|
+
- Rolling updates for zero-downtime deployments
|
|
334
|
+
- Rollback capabilities for failed deployments
|
|
335
|
+
- Replica management for scaling
|
|
336
|
+
|
|
337
|
+
**StatefulSets**: Use for stateful applications
|
|
338
|
+
|
|
339
|
+
- Stable network identities
|
|
340
|
+
- Persistent storage
|
|
341
|
+
- Ordered deployment and scaling
|
|
342
|
+
|
|
343
|
+
**DaemonSets**: Use for node-level services
|
|
344
|
+
|
|
345
|
+
- Log collectors
|
|
346
|
+
- Monitoring agents
|
|
347
|
+
- Network plugins
|
|
348
|
+
|
|
349
|
+
### Configuration
|
|
350
|
+
|
|
351
|
+
**ConfigMaps**: Store non-sensitive configuration
|
|
352
|
+
|
|
353
|
+
- Environment-specific settings
|
|
354
|
+
- Application configuration files
|
|
355
|
+
- Feature flags
|
|
356
|
+
|
|
357
|
+
**Secrets**: Store sensitive data
|
|
358
|
+
|
|
359
|
+
- API keys and tokens
|
|
360
|
+
- Database credentials
|
|
361
|
+
- TLS certificates
|
|
362
|
+
|
|
363
|
+
Use external secret management (Vault, AWS Secrets Manager) for production.
|
|
364
|
+
|
|
365
|
+
### Networking
|
|
366
|
+
|
|
367
|
+
**Services**: Expose applications internally
|
|
368
|
+
|
|
369
|
+
- ClusterIP for internal communication
|
|
370
|
+
- NodePort for external access (non-production)
|
|
371
|
+
- LoadBalancer for external access (production)
|
|
372
|
+
|
|
373
|
+
**Ingress**: HTTP/HTTPS routing
|
|
374
|
+
|
|
375
|
+
- Path-based routing
|
|
376
|
+
- Host-based routing
|
|
377
|
+
- TLS termination
|
|
378
|
+
- Load balancing
|
|
379
|
+
|
|
380
|
+
## Deployment Strategies
|
|
381
|
+
|
|
382
|
+
### Rolling Update
|
|
383
|
+
|
|
384
|
+
Default strategy, gradual replacement:
|
|
385
|
+
\`\`\`yaml
|
|
386
|
+
strategy:
|
|
387
|
+
type: RollingUpdate
|
|
388
|
+
rollingUpdate:
|
|
389
|
+
maxSurge: 1
|
|
390
|
+
maxUnavailable: 0
|
|
391
|
+
\`\`\`
|
|
392
|
+
|
|
393
|
+
**When to use**: Standard deployments, minor updates
|
|
394
|
+
|
|
395
|
+
### Recreate
|
|
396
|
+
|
|
397
|
+
Stop all pods, then create new ones:
|
|
398
|
+
\`\`\`yaml
|
|
399
|
+
strategy:
|
|
400
|
+
type: Recreate
|
|
401
|
+
\`\`\`
|
|
402
|
+
|
|
403
|
+
**When to use**: Stateful apps that can't run multiple versions
|
|
404
|
+
|
|
405
|
+
### Blue-Green
|
|
406
|
+
|
|
407
|
+
Run two complete environments, switch traffic:
|
|
408
|
+
|
|
409
|
+
1. Deploy new version (green)
|
|
410
|
+
2. Test green environment
|
|
411
|
+
3. Switch traffic to green
|
|
412
|
+
4. Keep blue for quick rollback
|
|
413
|
+
|
|
414
|
+
**When to use**: Critical services, need instant rollback
|
|
415
|
+
|
|
416
|
+
### Canary
|
|
417
|
+
|
|
418
|
+
Gradually roll out to subset of users:
|
|
419
|
+
|
|
420
|
+
1. Deploy canary version (10% traffic)
|
|
421
|
+
2. Monitor metrics and errors
|
|
422
|
+
3. Increase traffic gradually
|
|
423
|
+
4. Complete rollout or rollback
|
|
424
|
+
|
|
425
|
+
**When to use**: High-risk changes, want gradual validation
|
|
426
|
+
|
|
427
|
+
## Resource Configuration
|
|
428
|
+
|
|
429
|
+
### Resource Requests and Limits
|
|
430
|
+
|
|
431
|
+
Always set for production workloads:
|
|
432
|
+
\`\`\`yaml
|
|
433
|
+
resources:
|
|
434
|
+
requests:
|
|
435
|
+
memory: "256Mi"
|
|
436
|
+
cpu: "250m"
|
|
437
|
+
limits:
|
|
438
|
+
memory: "512Mi"
|
|
439
|
+
cpu: "500m"
|
|
440
|
+
\`\`\`
|
|
441
|
+
|
|
442
|
+
**Requests**: Guaranteed resources
|
|
443
|
+
**Limits**: Maximum allowed resources
|
|
444
|
+
|
|
445
|
+
### Health Checks
|
|
446
|
+
|
|
447
|
+
Essential for reliability:
|
|
448
|
+
\`\`\`yaml
|
|
449
|
+
livenessProbe:
|
|
450
|
+
httpGet:
|
|
451
|
+
path: /health
|
|
452
|
+
port: 8080
|
|
453
|
+
initialDelaySeconds: 30
|
|
454
|
+
periodSeconds: 10
|
|
455
|
+
|
|
456
|
+
readinessProbe:
|
|
457
|
+
httpGet:
|
|
458
|
+
path: /ready
|
|
459
|
+
port: 8080
|
|
460
|
+
initialDelaySeconds: 5
|
|
461
|
+
periodSeconds: 5
|
|
462
|
+
\`\`\`
|
|
463
|
+
|
|
464
|
+
**Liveness**: Restart unhealthy pods
|
|
465
|
+
**Readiness**: Remove unready pods from service
|
|
466
|
+
|
|
467
|
+
## Troubleshooting
|
|
468
|
+
|
|
469
|
+
### Common Issues
|
|
470
|
+
|
|
471
|
+
1. **Pods not starting**
|
|
472
|
+
- Check: `kubectl describe pod <name>`
|
|
473
|
+
- Look for: Image pull errors, resource constraints
|
|
474
|
+
- Fix: Verify image name, increase resources
|
|
475
|
+
|
|
476
|
+
2. **Service not reachable**
|
|
477
|
+
- Check: `kubectl get svc`, `kubectl get endpoints`
|
|
478
|
+
- Look for: No endpoints, wrong selector
|
|
479
|
+
- Fix: Verify pod labels match service selector
|
|
480
|
+
|
|
481
|
+
3. **High memory usage**
|
|
482
|
+
- Check: `kubectl top pods`
|
|
483
|
+
- Look for: Pods near memory limit
|
|
484
|
+
- Fix: Increase limits, optimize application
|
|
485
|
+
|
|
486
|
+
4. **Frequent restarts**
|
|
487
|
+
- Check: `kubectl get pods`, `kubectl logs <name>`
|
|
488
|
+
- Look for: Liveness probe failures, OOMKilled
|
|
489
|
+
- Fix: Adjust health checks, increase memory
|
|
490
|
+
|
|
491
|
+
### Debugging Commands
|
|
492
|
+
|
|
493
|
+
Get pod details:
|
|
494
|
+
\`\`\`bash
|
|
495
|
+
kubectl describe pod <name>
|
|
496
|
+
kubectl logs <name>
|
|
497
|
+
kubectl logs <name> --previous # logs from crashed container
|
|
498
|
+
\`\`\`
|
|
499
|
+
|
|
500
|
+
Execute commands in pod:
|
|
501
|
+
\`\`\`bash
|
|
502
|
+
kubectl exec -it <name> -- /bin/sh
|
|
503
|
+
kubectl exec <name> -- env
|
|
504
|
+
\`\`\`
|
|
505
|
+
|
|
506
|
+
Check resource usage:
|
|
507
|
+
\`\`\`bash
|
|
508
|
+
kubectl top nodes
|
|
509
|
+
kubectl top pods
|
|
510
|
+
\`\`\`
|
|
511
|
+
|
|
512
|
+
## Security Best Practices
|
|
513
|
+
|
|
514
|
+
### Pod Security
|
|
515
|
+
|
|
516
|
+
- Run as non-root user
|
|
517
|
+
- Use read-only root filesystem
|
|
518
|
+
- Drop unnecessary capabilities
|
|
519
|
+
- Use security contexts
|
|
520
|
+
|
|
521
|
+
Example:
|
|
522
|
+
\`\`\`yaml
|
|
523
|
+
securityContext:
|
|
524
|
+
runAsNonRoot: true
|
|
525
|
+
runAsUser: 1000
|
|
526
|
+
readOnlyRootFilesystem: true
|
|
527
|
+
capabilities:
|
|
528
|
+
drop: - ALL
|
|
529
|
+
\`\`\`
|
|
530
|
+
|
|
531
|
+
### Network Policies
|
|
532
|
+
|
|
533
|
+
Restrict pod communication:
|
|
534
|
+
\`\`\`yaml
|
|
535
|
+
apiVersion: networking.k8s.io/v1
|
|
536
|
+
kind: NetworkPolicy
|
|
537
|
+
metadata:
|
|
538
|
+
name: api-allow
|
|
539
|
+
spec:
|
|
540
|
+
podSelector:
|
|
541
|
+
matchLabels:
|
|
542
|
+
app: api
|
|
543
|
+
ingress: - from: - podSelector:
|
|
544
|
+
matchLabels:
|
|
545
|
+
app: frontend
|
|
546
|
+
\`\`\`
|
|
547
|
+
|
|
548
|
+
### Secrets Management
|
|
549
|
+
|
|
550
|
+
- Never commit secrets to git
|
|
551
|
+
- Use external secret managers
|
|
552
|
+
- Rotate secrets regularly
|
|
553
|
+
- Limit secret access with RBAC
|
|
554
|
+
|
|
555
|
+
## Performance Optimization
|
|
556
|
+
|
|
557
|
+
### Resource Tuning
|
|
558
|
+
|
|
559
|
+
1. **Start conservative**: Set low limits initially
|
|
560
|
+
2. **Monitor usage**: Track actual resource consumption
|
|
561
|
+
3. **Adjust gradually**: Increase based on metrics
|
|
562
|
+
4. **Set appropriate requests**: Match typical usage
|
|
563
|
+
5. **Set safe limits**: 2x requests for headroom
|
|
564
|
+
|
|
565
|
+
### Horizontal Pod Autoscaling
|
|
566
|
+
|
|
567
|
+
Automatically scale based on metrics:
|
|
568
|
+
\`\`\`yaml
|
|
569
|
+
apiVersion: autoscaling/v2
|
|
570
|
+
kind: HorizontalPodAutoscaler
|
|
571
|
+
metadata:
|
|
572
|
+
name: api-hpa
|
|
573
|
+
spec:
|
|
574
|
+
scaleTargetRef:
|
|
575
|
+
apiVersion: apps/v1
|
|
576
|
+
kind: Deployment
|
|
577
|
+
name: api
|
|
578
|
+
minReplicas: 2
|
|
579
|
+
maxReplicas: 10
|
|
580
|
+
metrics: - type: Resource
|
|
581
|
+
resource:
|
|
582
|
+
name: cpu
|
|
583
|
+
target:
|
|
584
|
+
type: Utilization
|
|
585
|
+
averageUtilization: 70
|
|
586
|
+
\`\`\`
|
|
587
|
+
|
|
588
|
+
## MCP Server Integration
|
|
589
|
+
|
|
590
|
+
This skill works with the kubernetes MCP server for operations:
|
|
591
|
+
|
|
592
|
+
**List pods**:
|
|
593
|
+
\`\`\`javascript
|
|
594
|
+
const pods = await tools.k8s_list_pods({ namespace: 'default' })
|
|
595
|
+
\`\`\`
|
|
596
|
+
|
|
597
|
+
**Get pod logs**:
|
|
598
|
+
\`\`\`javascript
|
|
599
|
+
const logs = await tools.k8s_get_logs({ pod: 'api-xyz', container: 'app' })
|
|
600
|
+
\`\`\`
|
|
601
|
+
|
|
602
|
+
**Apply manifests**:
|
|
603
|
+
\`\`\`javascript
|
|
604
|
+
const result = await tools.k8s_apply_manifest({ file: 'deployment.yaml' })
|
|
605
|
+
\`\`\`
|
|
606
|
+
|
|
607
|
+
## Detailed References
|
|
608
|
+
|
|
609
|
+
For in-depth information:
|
|
610
|
+
|
|
611
|
+
- **Deployment patterns**: `references/deployment-patterns.md`
|
|
612
|
+
- **Troubleshooting guide**: `references/troubleshooting.md`
|
|
613
|
+
- **Security hardening**: `references/security.md`
|
|
614
|
+
|
|
615
|
+
## Example Manifests
|
|
616
|
+
|
|
617
|
+
For copy-paste examples:
|
|
618
|
+
|
|
619
|
+
- **Basic deployment**: `examples/basic-deployment.yaml`
|
|
620
|
+
- **StatefulSet**: `examples/stateful-set.yaml`
|
|
621
|
+
- **Ingress config**: `examples/ingress-config.yaml`
|
|
622
|
+
|
|
623
|
+
## Validation Scripts
|
|
624
|
+
|
|
625
|
+
For manifest validation:
|
|
626
|
+
\`\`\`bash
|
|
627
|
+
bash ${CLAUDE_PLUGIN_ROOT}/skills/kubernetes-ops/scripts/validate-manifest.sh deployment.yaml
|
|
628
|
+
\`\`\`
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
### hooks/hooks.json
|
|
632
|
+
|
|
633
|
+
```json
|
|
634
|
+
{
|
|
635
|
+
"hooks": {
|
|
636
|
+
"PreToolUse": [
|
|
637
|
+
{
|
|
638
|
+
"matcher": "Write|Edit",
|
|
639
|
+
"hooks": [
|
|
640
|
+
{
|
|
641
|
+
"type": "command",
|
|
642
|
+
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/security/scan-secrets.sh",
|
|
643
|
+
"timeout": 30
|
|
644
|
+
}
|
|
645
|
+
]
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"matcher": "Bash",
|
|
649
|
+
"hooks": [
|
|
650
|
+
{
|
|
651
|
+
"type": "prompt",
|
|
652
|
+
"prompt": "Evaluate if this bash command is safe for production environment. Check for destructive operations, missing safeguards, and potential security issues. Commands should be idempotent and reversible.",
|
|
653
|
+
"timeout": 20
|
|
654
|
+
}
|
|
655
|
+
]
|
|
656
|
+
}
|
|
657
|
+
],
|
|
658
|
+
"PostToolUse": [
|
|
659
|
+
{
|
|
660
|
+
"matcher": "Bash",
|
|
661
|
+
"hooks": [
|
|
662
|
+
{
|
|
663
|
+
"type": "command",
|
|
664
|
+
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/workflow/update-status.sh",
|
|
665
|
+
"timeout": 15
|
|
666
|
+
}
|
|
667
|
+
]
|
|
668
|
+
}
|
|
669
|
+
],
|
|
670
|
+
"Stop": [
|
|
671
|
+
{
|
|
672
|
+
"matcher": ".*",
|
|
673
|
+
"hooks": [
|
|
674
|
+
{
|
|
675
|
+
"type": "command",
|
|
676
|
+
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/quality/check-config.sh",
|
|
677
|
+
"timeout": 45
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"type": "command",
|
|
681
|
+
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/workflow/notify-team.sh",
|
|
682
|
+
"timeout": 30
|
|
683
|
+
}
|
|
684
|
+
]
|
|
685
|
+
}
|
|
686
|
+
],
|
|
687
|
+
"SessionStart": [
|
|
688
|
+
{
|
|
689
|
+
"matcher": ".*",
|
|
690
|
+
"hooks": [
|
|
691
|
+
{
|
|
692
|
+
"type": "command",
|
|
693
|
+
"command": "bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/security/validate-permissions.sh",
|
|
694
|
+
"timeout": 20
|
|
695
|
+
}
|
|
696
|
+
]
|
|
697
|
+
}
|
|
698
|
+
]
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
## Key Features
|
|
704
|
+
|
|
705
|
+
### Multi-Level Organization
|
|
706
|
+
|
|
707
|
+
**Commands**: Organized by function (CI, monitoring, admin)
|
|
708
|
+
**Agents**: Separated by role (orchestration vs. specialized)
|
|
709
|
+
**Skills**: Rich resources (references, examples, scripts)
|
|
710
|
+
|
|
711
|
+
### MCP Integration
|
|
712
|
+
|
|
713
|
+
Three custom MCP servers:
|
|
714
|
+
|
|
715
|
+
- **Kubernetes**: Cluster operations
|
|
716
|
+
- **Terraform**: Infrastructure provisioning
|
|
717
|
+
- **GitHub Actions**: CI/CD automation
|
|
718
|
+
|
|
719
|
+
### Shared Libraries
|
|
720
|
+
|
|
721
|
+
Reusable code in `lib/`:
|
|
722
|
+
|
|
723
|
+
- **Core**: Common utilities (logging, config, auth)
|
|
724
|
+
- **Integrations**: External services (Slack, Datadog)
|
|
725
|
+
- **Utils**: Helper functions (retry, validation)
|
|
726
|
+
|
|
727
|
+
### Configuration Management
|
|
728
|
+
|
|
729
|
+
Environment-specific configs in `config/`:
|
|
730
|
+
|
|
731
|
+
- **Environments**: Per-environment settings
|
|
732
|
+
- **Templates**: Reusable deployment templates
|
|
733
|
+
|
|
734
|
+
### Security Automation
|
|
735
|
+
|
|
736
|
+
Multiple security hooks:
|
|
737
|
+
|
|
738
|
+
- Secret scanning before writes
|
|
739
|
+
- Permission validation on session start
|
|
740
|
+
- Configuration auditing on completion
|
|
741
|
+
|
|
742
|
+
### Monitoring Integration
|
|
743
|
+
|
|
744
|
+
Built-in monitoring via lib integrations:
|
|
745
|
+
|
|
746
|
+
- Datadog for metrics
|
|
747
|
+
- PagerDuty for alerts
|
|
748
|
+
- Slack for notifications
|
|
749
|
+
|
|
750
|
+
## Use Cases
|
|
751
|
+
|
|
752
|
+
1. **Multi-environment deployments**: Orchestrated rollouts across dev/staging/prod
|
|
753
|
+
2. **Infrastructure as code**: Terraform automation with state management
|
|
754
|
+
3. **CI/CD automation**: Build, test, deploy pipelines
|
|
755
|
+
4. **Monitoring and observability**: Integrated metrics and alerting
|
|
756
|
+
5. **Security enforcement**: Automated security scanning and validation
|
|
757
|
+
6. **Team collaboration**: Slack notifications and status updates
|
|
758
|
+
|
|
759
|
+
## When to Use This Pattern
|
|
760
|
+
|
|
761
|
+
- Large-scale enterprise deployments
|
|
762
|
+
- Multiple environment management
|
|
763
|
+
- Complex CI/CD workflows
|
|
764
|
+
- Integrated monitoring requirements
|
|
765
|
+
- Security-critical infrastructure
|
|
766
|
+
- Team collaboration needs
|
|
767
|
+
|
|
768
|
+
## Scaling Considerations
|
|
769
|
+
|
|
770
|
+
- **Performance**: Separate MCP servers for parallel operations
|
|
771
|
+
- **Organization**: Multi-level directories for scalability
|
|
772
|
+
- **Maintainability**: Shared libraries reduce duplication
|
|
773
|
+
- **Flexibility**: Environment configs enable customization
|
|
774
|
+
- **Security**: Layered security hooks and validation
|