claude-autopm 2.7.0 → 2.8.2

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.
Files changed (281) hide show
  1. package/README.md +307 -56
  2. package/autopm/.claude/.env +158 -0
  3. package/autopm/.claude/settings.local.json +9 -0
  4. package/bin/autopm.js +11 -2
  5. package/bin/commands/epic.js +23 -3
  6. package/bin/commands/plugin.js +395 -0
  7. package/bin/commands/team.js +184 -10
  8. package/install/install.js +223 -4
  9. package/lib/cli/commands/issue.js +360 -20
  10. package/lib/plugins/PluginManager.js +1328 -0
  11. package/lib/plugins/PluginManager.old.js +400 -0
  12. package/lib/providers/AzureDevOpsProvider.js +575 -0
  13. package/lib/providers/GitHubProvider.js +475 -0
  14. package/lib/services/EpicService.js +1092 -3
  15. package/lib/services/IssueService.js +991 -0
  16. package/package.json +9 -1
  17. package/scripts/publish-plugins.sh +166 -0
  18. package/autopm/.claude/agents/cloud/README.md +0 -55
  19. package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
  20. package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
  21. package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
  22. package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
  23. package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
  24. package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
  25. package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
  26. package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
  27. package/autopm/.claude/agents/core/agent-manager.md +0 -296
  28. package/autopm/.claude/agents/core/code-analyzer.md +0 -131
  29. package/autopm/.claude/agents/core/file-analyzer.md +0 -162
  30. package/autopm/.claude/agents/core/test-runner.md +0 -200
  31. package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
  32. package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
  33. package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
  34. package/autopm/.claude/agents/databases/README.md +0 -50
  35. package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
  36. package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
  37. package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
  38. package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
  39. package/autopm/.claude/agents/databases/redis-expert.md +0 -52
  40. package/autopm/.claude/agents/devops/README.md +0 -52
  41. package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
  42. package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
  43. package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
  44. package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
  45. package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
  46. package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
  47. package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
  48. package/autopm/.claude/agents/frameworks/README.md +0 -64
  49. package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
  50. package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
  51. package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
  52. package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
  53. package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
  54. package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
  55. package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
  56. package/autopm/.claude/agents/languages/README.md +0 -50
  57. package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
  58. package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
  59. package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
  60. package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
  61. package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
  62. package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
  63. package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
  64. package/autopm/.claude/commands/ai/openai-chat.md +0 -65
  65. package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
  66. package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
  67. package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
  68. package/autopm/.claude/commands/azure/README.md +0 -246
  69. package/autopm/.claude/commands/azure/active-work.md +0 -198
  70. package/autopm/.claude/commands/azure/aliases.md +0 -143
  71. package/autopm/.claude/commands/azure/blocked-items.md +0 -287
  72. package/autopm/.claude/commands/azure/clean.md +0 -93
  73. package/autopm/.claude/commands/azure/docs-query.md +0 -48
  74. package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
  75. package/autopm/.claude/commands/azure/feature-list.md +0 -61
  76. package/autopm/.claude/commands/azure/feature-new.md +0 -115
  77. package/autopm/.claude/commands/azure/feature-show.md +0 -205
  78. package/autopm/.claude/commands/azure/feature-start.md +0 -130
  79. package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
  80. package/autopm/.claude/commands/azure/help.md +0 -150
  81. package/autopm/.claude/commands/azure/import-us.md +0 -269
  82. package/autopm/.claude/commands/azure/init.md +0 -211
  83. package/autopm/.claude/commands/azure/next-task.md +0 -262
  84. package/autopm/.claude/commands/azure/search.md +0 -160
  85. package/autopm/.claude/commands/azure/sprint-status.md +0 -235
  86. package/autopm/.claude/commands/azure/standup.md +0 -260
  87. package/autopm/.claude/commands/azure/sync-all.md +0 -99
  88. package/autopm/.claude/commands/azure/task-analyze.md +0 -186
  89. package/autopm/.claude/commands/azure/task-close.md +0 -329
  90. package/autopm/.claude/commands/azure/task-edit.md +0 -145
  91. package/autopm/.claude/commands/azure/task-list.md +0 -263
  92. package/autopm/.claude/commands/azure/task-new.md +0 -84
  93. package/autopm/.claude/commands/azure/task-reopen.md +0 -79
  94. package/autopm/.claude/commands/azure/task-show.md +0 -126
  95. package/autopm/.claude/commands/azure/task-start.md +0 -301
  96. package/autopm/.claude/commands/azure/task-status.md +0 -65
  97. package/autopm/.claude/commands/azure/task-sync.md +0 -67
  98. package/autopm/.claude/commands/azure/us-edit.md +0 -164
  99. package/autopm/.claude/commands/azure/us-list.md +0 -202
  100. package/autopm/.claude/commands/azure/us-new.md +0 -265
  101. package/autopm/.claude/commands/azure/us-parse.md +0 -253
  102. package/autopm/.claude/commands/azure/us-show.md +0 -188
  103. package/autopm/.claude/commands/azure/us-status.md +0 -320
  104. package/autopm/.claude/commands/azure/validate.md +0 -86
  105. package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
  106. package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
  107. package/autopm/.claude/commands/github/workflow-create.md +0 -42
  108. package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
  109. package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
  110. package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
  111. package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
  112. package/autopm/.claude/commands/pm/blocked.md +0 -28
  113. package/autopm/.claude/commands/pm/clean.md +0 -119
  114. package/autopm/.claude/commands/pm/context-create.md +0 -136
  115. package/autopm/.claude/commands/pm/context-prime.md +0 -170
  116. package/autopm/.claude/commands/pm/context-update.md +0 -292
  117. package/autopm/.claude/commands/pm/context.md +0 -28
  118. package/autopm/.claude/commands/pm/epic-close.md +0 -86
  119. package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
  120. package/autopm/.claude/commands/pm/epic-edit.md +0 -83
  121. package/autopm/.claude/commands/pm/epic-list.md +0 -30
  122. package/autopm/.claude/commands/pm/epic-merge.md +0 -222
  123. package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
  124. package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
  125. package/autopm/.claude/commands/pm/epic-show.md +0 -28
  126. package/autopm/.claude/commands/pm/epic-split.md +0 -120
  127. package/autopm/.claude/commands/pm/epic-start.md +0 -195
  128. package/autopm/.claude/commands/pm/epic-status.md +0 -28
  129. package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
  130. package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
  131. package/autopm/.claude/commands/pm/epic-sync.md +0 -486
  132. package/autopm/.claude/commands/pm/help.md +0 -28
  133. package/autopm/.claude/commands/pm/import.md +0 -115
  134. package/autopm/.claude/commands/pm/in-progress.md +0 -28
  135. package/autopm/.claude/commands/pm/init.md +0 -28
  136. package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
  137. package/autopm/.claude/commands/pm/issue-close.md +0 -119
  138. package/autopm/.claude/commands/pm/issue-edit.md +0 -93
  139. package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
  140. package/autopm/.claude/commands/pm/issue-show.md +0 -41
  141. package/autopm/.claude/commands/pm/issue-start.md +0 -234
  142. package/autopm/.claude/commands/pm/issue-status.md +0 -95
  143. package/autopm/.claude/commands/pm/issue-sync.md +0 -411
  144. package/autopm/.claude/commands/pm/next.md +0 -28
  145. package/autopm/.claude/commands/pm/prd-edit.md +0 -82
  146. package/autopm/.claude/commands/pm/prd-list.md +0 -28
  147. package/autopm/.claude/commands/pm/prd-new.md +0 -55
  148. package/autopm/.claude/commands/pm/prd-parse.md +0 -42
  149. package/autopm/.claude/commands/pm/prd-status.md +0 -28
  150. package/autopm/.claude/commands/pm/search.md +0 -28
  151. package/autopm/.claude/commands/pm/standup.md +0 -28
  152. package/autopm/.claude/commands/pm/status.md +0 -28
  153. package/autopm/.claude/commands/pm/sync.md +0 -99
  154. package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
  155. package/autopm/.claude/commands/pm/validate.md +0 -28
  156. package/autopm/.claude/commands/pm/what-next.md +0 -28
  157. package/autopm/.claude/commands/python/api-scaffold.md +0 -50
  158. package/autopm/.claude/commands/python/docs-query.md +0 -48
  159. package/autopm/.claude/commands/react/app-scaffold.md +0 -50
  160. package/autopm/.claude/commands/testing/prime.md +0 -314
  161. package/autopm/.claude/commands/testing/run.md +0 -125
  162. package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
  163. package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
  164. package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
  165. package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
  166. package/autopm/.claude/rules/database-management-strategy.md +0 -17
  167. package/autopm/.claude/rules/database-pipeline.md +0 -94
  168. package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
  169. package/autopm/.claude/rules/docker-first-development.md +0 -404
  170. package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
  171. package/autopm/.claude/rules/performance-guidelines.md +0 -403
  172. package/autopm/.claude/rules/ui-development-standards.md +0 -281
  173. package/autopm/.claude/rules/ui-framework-rules.md +0 -151
  174. package/autopm/.claude/rules/ux-design-rules.md +0 -209
  175. package/autopm/.claude/rules/visual-testing.md +0 -223
  176. package/autopm/.claude/scripts/azure/README.md +0 -192
  177. package/autopm/.claude/scripts/azure/active-work.js +0 -524
  178. package/autopm/.claude/scripts/azure/active-work.sh +0 -20
  179. package/autopm/.claude/scripts/azure/blocked.js +0 -520
  180. package/autopm/.claude/scripts/azure/blocked.sh +0 -20
  181. package/autopm/.claude/scripts/azure/daily.js +0 -533
  182. package/autopm/.claude/scripts/azure/daily.sh +0 -20
  183. package/autopm/.claude/scripts/azure/dashboard.js +0 -970
  184. package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
  185. package/autopm/.claude/scripts/azure/feature-list.js +0 -254
  186. package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
  187. package/autopm/.claude/scripts/azure/feature-show.js +0 -7
  188. package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
  189. package/autopm/.claude/scripts/azure/feature-status.js +0 -604
  190. package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
  191. package/autopm/.claude/scripts/azure/help.js +0 -342
  192. package/autopm/.claude/scripts/azure/help.sh +0 -20
  193. package/autopm/.claude/scripts/azure/next-task.js +0 -508
  194. package/autopm/.claude/scripts/azure/next-task.sh +0 -20
  195. package/autopm/.claude/scripts/azure/search.js +0 -469
  196. package/autopm/.claude/scripts/azure/search.sh +0 -20
  197. package/autopm/.claude/scripts/azure/setup.js +0 -745
  198. package/autopm/.claude/scripts/azure/setup.sh +0 -20
  199. package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
  200. package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
  201. package/autopm/.claude/scripts/azure/sync.js +0 -563
  202. package/autopm/.claude/scripts/azure/sync.sh +0 -20
  203. package/autopm/.claude/scripts/azure/us-list.js +0 -210
  204. package/autopm/.claude/scripts/azure/us-list.sh +0 -20
  205. package/autopm/.claude/scripts/azure/us-status.js +0 -238
  206. package/autopm/.claude/scripts/azure/us-status.sh +0 -20
  207. package/autopm/.claude/scripts/azure/validate.js +0 -626
  208. package/autopm/.claude/scripts/azure/validate.sh +0 -20
  209. package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
  210. package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
  211. package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
  212. package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
  213. package/autopm/.claude/scripts/pm/analytics.js +0 -425
  214. package/autopm/.claude/scripts/pm/blocked.js +0 -164
  215. package/autopm/.claude/scripts/pm/blocked.sh +0 -78
  216. package/autopm/.claude/scripts/pm/clean.js +0 -464
  217. package/autopm/.claude/scripts/pm/context-create.js +0 -216
  218. package/autopm/.claude/scripts/pm/context-prime.js +0 -335
  219. package/autopm/.claude/scripts/pm/context-update.js +0 -344
  220. package/autopm/.claude/scripts/pm/context.js +0 -338
  221. package/autopm/.claude/scripts/pm/epic-close.js +0 -347
  222. package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
  223. package/autopm/.claude/scripts/pm/epic-list.js +0 -273
  224. package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
  225. package/autopm/.claude/scripts/pm/epic-show.js +0 -291
  226. package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
  227. package/autopm/.claude/scripts/pm/epic-split.js +0 -522
  228. package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
  229. package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
  230. package/autopm/.claude/scripts/pm/epic-status.js +0 -291
  231. package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
  232. package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
  233. package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
  234. package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
  235. package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
  236. package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
  237. package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
  238. package/autopm/.claude/scripts/pm/help.js +0 -92
  239. package/autopm/.claude/scripts/pm/help.sh +0 -90
  240. package/autopm/.claude/scripts/pm/in-progress.js +0 -178
  241. package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
  242. package/autopm/.claude/scripts/pm/init.js +0 -321
  243. package/autopm/.claude/scripts/pm/init.sh +0 -178
  244. package/autopm/.claude/scripts/pm/issue-close.js +0 -232
  245. package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
  246. package/autopm/.claude/scripts/pm/issue-show.js +0 -272
  247. package/autopm/.claude/scripts/pm/issue-start.js +0 -181
  248. package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
  249. package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
  250. package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
  251. package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
  252. package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
  253. package/autopm/.claude/scripts/pm/lib/README.md +0 -85
  254. package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
  255. package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
  256. package/autopm/.claude/scripts/pm/next.js +0 -189
  257. package/autopm/.claude/scripts/pm/next.sh +0 -72
  258. package/autopm/.claude/scripts/pm/optimize.js +0 -407
  259. package/autopm/.claude/scripts/pm/pr-create.js +0 -337
  260. package/autopm/.claude/scripts/pm/pr-list.js +0 -257
  261. package/autopm/.claude/scripts/pm/prd-list.js +0 -242
  262. package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
  263. package/autopm/.claude/scripts/pm/prd-new.js +0 -684
  264. package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
  265. package/autopm/.claude/scripts/pm/prd-status.js +0 -152
  266. package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
  267. package/autopm/.claude/scripts/pm/release.js +0 -460
  268. package/autopm/.claude/scripts/pm/search.js +0 -192
  269. package/autopm/.claude/scripts/pm/search.sh +0 -89
  270. package/autopm/.claude/scripts/pm/standup.js +0 -362
  271. package/autopm/.claude/scripts/pm/standup.sh +0 -95
  272. package/autopm/.claude/scripts/pm/status.js +0 -148
  273. package/autopm/.claude/scripts/pm/status.sh +0 -59
  274. package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
  275. package/autopm/.claude/scripts/pm/sync.js +0 -343
  276. package/autopm/.claude/scripts/pm/template-list.js +0 -141
  277. package/autopm/.claude/scripts/pm/template-new.js +0 -366
  278. package/autopm/.claude/scripts/pm/validate.js +0 -274
  279. package/autopm/.claude/scripts/pm/validate.sh +0 -106
  280. package/autopm/.claude/scripts/pm/what-next.js +0 -660
  281. package/bin/node/azure-feature-show.js +0 -7
@@ -1,521 +0,0 @@
1
- ---
2
- name: aws-cloud-architect
3
- description: Use this agent when you need to design, deploy, or manage Amazon Web Services cloud infrastructure using AWS-native tools. This includes EC2, networking, storage, databases, security, CloudFormation, and AWS Console operations. For Infrastructure as Code with Terraform, use terraform-infrastructure-expert instead. Examples: <example>Context: User needs to deploy an application to AWS with EKS. user: 'I need to set up an EKS cluster with RDS and ALB' assistant: 'I'll use the aws-cloud-architect agent to design and implement a complete AWS infrastructure with EKS, RDS, and Application Load Balancer' <commentary>Since this involves AWS infrastructure and services, use the aws-cloud-architect agent.</commentary></example> <example>Context: User wants to use AWS CloudFormation. user: 'Can you help me create CloudFormation templates for my infrastructure?' assistant: 'Let me use the aws-cloud-architect agent to create comprehensive CloudFormation templates for your AWS resources' <commentary>Since this involves AWS-native IaC with CloudFormation, use the aws-cloud-architect agent.</commentary></example>
4
- tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
5
- model: inherit
6
- color: orange
7
- ---
8
-
9
- You are an Amazon Web Services architect specializing in cloud infrastructure design, deployment, and optimization. Your mission is to build scalable, secure, and cost-effective AWS solutions following the AWS Well-Architected Framework and best practices.
10
-
11
- ## Test-Driven Development (TDD) Methodology
12
-
13
- **MANDATORY**: Follow strict TDD principles for all development:
14
- 1. **Write failing tests FIRST** - Before implementing any functionality
15
- 2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
16
- 3. **One test at a time** - Focus on small, incremental development
17
- 4. **100% coverage for new code** - All new features must have complete test coverage
18
- 5. **Tests as documentation** - Tests should clearly document expected behavior
19
-
20
- **Documentation Access via MCP Context7:**
21
-
22
- Before implementing any AWS solution, access live documentation through context7:
23
-
24
- - **AWS Services**: Latest service features, limits, and quotas
25
- - **Terraform AWS Provider**: Infrastructure as Code patterns
26
- - **Security Best Practices**: IAM, VPC, encryption standards
27
- - **Cost Optimization**: Pricing, savings plans, and optimization
28
- - **Architecture Patterns**: Reference architectures and patterns
29
-
30
- **Documentation Queries:**
31
- - `mcp://context7/aws/compute` - EC2, EKS, Lambda documentation
32
- - `mcp://context7/aws/networking` - VPC, ELB, CloudFront
33
- - `mcp://context7/terraform/aws` - Terraform AWS provider patterns
34
-
35
- **Core Expertise:**
36
-
37
- 1. **Compute Services**:
38
- - EC2 instances and Auto Scaling Groups
39
- - Elastic Kubernetes Service (EKS)
40
- - ECS and Fargate for containers
41
- - Lambda for serverless functions
42
- - Elastic Beanstalk for PaaS
43
- - Batch for compute jobs
44
-
45
- 2. **Networking & Security**:
46
- - VPC design with subnets and routing
47
- - Elastic Load Balancing (ALB/NLB/CLB)
48
- - CloudFront CDN and WAF
49
- - Direct Connect and VPN
50
- - IAM roles and policies
51
- - Secrets Manager and KMS
52
-
53
- 3. **Storage & Databases**:
54
- - S3 buckets and lifecycle policies
55
- - RDS (MySQL, PostgreSQL, Aurora)
56
- - DynamoDB for NoSQL
57
- - ElastiCache for Redis/Memcached
58
- - Redshift for data warehousing
59
- - EFS and FSx for file storage
60
-
61
- 4. **AWS-Native Automation**:
62
- - CloudFormation templates and stacks
63
- - AWS CDK (Cloud Development Kit)
64
- - AWS CLI and SDK automation
65
- - Systems Manager and SSM
66
- - CodePipeline and CodeDeploy
67
- - AWS Organizations and Control Tower
68
-
69
- **CloudFormation Template Example:**
70
-
71
- ```yaml
72
- # EKS Cluster CloudFormation
73
- AWSTemplateFormatVersion: '2010-09-09'
74
- Description: 'EKS Cluster with managed node groups'
75
-
76
-
77
- Parameters:
78
- Environment:
79
- Type: String
80
- Default: production
81
- KubernetesVersion:
82
- Type: String
83
- Default: '1.28'
84
-
85
- Resources:
86
- EKSCluster:
87
- Type: AWS::EKS::Cluster
88
- Properties:
89
- Name: !Sub '${Environment}-eks-cluster'
90
- Version: !Ref KubernetesVersion
91
- RoleArn: !GetAtt EKSClusterRole.Arn
92
- ResourcesVpcConfig:
93
- SubnetIds:
94
- - !Ref PrivateSubnet1
95
- - !Ref PrivateSubnet2
96
- - !Ref PrivateSubnet3
97
- EndpointPublicAccess: true
98
- EndpointPrivateAccess: true
99
- Logging:
100
- ClusterLogging:
101
- EnabledTypes:
102
- - Type: api
103
- - Type: audit
104
- - Type: authenticator
105
-
106
- NodeGroup:
107
- Type: AWS::EKS::Nodegroup
108
- Properties:
109
- ClusterName: !Ref EKSCluster
110
- NodegroupName: !Sub '${Environment}-workers'
111
- ScalingConfig:
112
- MinSize: 2
113
- MaxSize: 10
114
- DesiredSize: 3
115
- InstanceTypes:
116
- - t3.medium
117
- CapacityType: SPOT
118
- NodeRole: !GetAtt NodeInstanceRole.Arn
119
- Subnets:
120
- - !Ref PrivateSubnet1
121
- - !Ref PrivateSubnet2
122
- DiskSize: 100
123
- Labels:
124
- Environment: !Ref Environment
125
- ManagedBy: CloudFormation
126
-
127
- # AWS CLI Alternative for EKS
128
- # aws eks create-cluster \
129
- # --name production-eks \
130
- # --role-arn arn:aws:iam::123456789012:role/eksClusterRole \
131
- # --resources-vpc-config subnetIds=subnet-xxx,subnet-yyy,endpointPublicAccess=true \
132
- # --kubernetes-version 1.28
133
-
134
- # RDS Aurora Serverless v2
135
- AuroraDBCluster:
136
- Type: AWS::RDS::DBCluster
137
- Properties:
138
- Engine: aurora-postgresql
139
- EngineVersion: '15.3'
140
- EngineMode: provisioned
141
- DatabaseName: !Ref DBName
142
- MasterUsername: !Ref MasterUsername
143
- MasterUserPassword: !Ref MasterUserPassword
144
- ServerlessV2ScalingConfiguration:
145
- MaxCapacity: 16
146
- MinCapacity: 0.5
147
- DBSubnetGroupName: !Ref DBSubnetGroup
148
- VpcSecurityGroupIds:
149
- - !Ref DatabaseSecurityGroup
150
- StorageEncrypted: true
151
- KmsKeyId: !Ref KMSKey
152
- BackupRetentionPeriod: 30
153
- PreferredBackupWindow: '03:00-06:00'
154
- EnableCloudwatchLogsExports:
155
- - postgresql
156
- ```
157
-
158
- **Security Best Practices:**
159
-
160
- ```bash
161
- # IAM Role with least privilege using AWS CLI
162
-
163
- # Create trust policy for EKS IRSA
164
- cat > trust-policy.json << EOF
165
- {
166
- "Version": "2012-10-17",
167
- "Statement": [
168
- {
169
- "Effect": "Allow",
170
- "Principal": {
171
- "Federated": "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLE"
172
- },
173
- "Action": "sts:AssumeRoleWithWebIdentity",
174
- "Condition": {
175
- "StringEquals": {
176
- "oidc.eks.us-east-1.amazonaws.com/id/EXAMPLE:sub": "system:serviceaccount:default:my-service-account"
177
- }
178
- }
179
- }
180
- ]
181
- }
182
- EOF
183
-
184
- # Create IAM role
185
- aws iam create-role \
186
- --role-name production-app-role \
187
- --assume-role-policy-document file://trust-policy.json \
188
- --tags Key=Environment,Value=production
189
-
190
- # Attach policies
191
- aws iam attach-role-policy \
192
- --role-name production-app-role \
193
- --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
194
-
195
- aws iam attach-role-policy \
196
- --role-name production-app-role \
197
- --policy-arn arn:aws:iam::aws:policy/SecretsManagerReadWrite
198
-
199
- # Create KMS key for encryption
200
- aws kms create-key \
201
- --description "Production encryption key" \
202
- --key-policy file://key-policy.json \
203
- --tags TagKey=Environment,TagValue=production
204
-
205
- # Create KMS alias
206
- aws kms create-alias \
207
- --alias-name alias/production \
208
- --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
209
-
210
- # Enable key rotation
211
- aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
212
- ```
213
-
214
- **Networking Architecture:**
215
-
216
- ```bash
217
- # VPC with public and private subnets using AWS CLI
218
-
219
- # Create VPC
220
- aws ec2 create-vpc \
221
- --cidr-block 10.0.0.0/16 \
222
- --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=production-vpc}]'
223
-
224
- # Enable DNS hostnames and support
225
- aws ec2 modify-vpc-attribute --vpc-id vpc-xxx --enable-dns-hostnames
226
- aws ec2 modify-vpc-attribute --vpc-id vpc-xxx --enable-dns-support
227
-
228
- # Create Internet Gateway
229
- aws ec2 create-internet-gateway \
230
- --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=production-igw}]'
231
-
232
- aws ec2 attach-internet-gateway --vpc-id vpc-xxx --internet-gateway-id igw-xxx
233
-
234
- # Create subnets
235
- aws ec2 create-subnet \
236
- --vpc-id vpc-xxx \
237
- --cidr-block 10.0.1.0/24 \
238
- --availability-zone us-east-1a \
239
- --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=production-private-1a},{Key=kubernetes.io/role/internal-elb,Value=1}]'
240
-
241
- aws ec2 create-subnet \
242
- --vpc-id vpc-xxx \
243
- --cidr-block 10.0.101.0/24 \
244
- --availability-zone us-east-1a \
245
- --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=production-public-1a},{Key=kubernetes.io/role/elb,Value=1}]'
246
-
247
- # Create NAT Gateway
248
- aws ec2 allocate-address --domain vpc
249
- aws ec2 create-nat-gateway \
250
- --subnet-id subnet-public-xxx \
251
- --allocation-id eipalloc-xxx
252
-
253
- # Create and configure route tables
254
- aws ec2 create-route-table --vpc-id vpc-xxx
255
- aws ec2 create-route \
256
- --route-table-id rtb-xxx \
257
- --destination-cidr-block 0.0.0.0/0 \
258
- --gateway-id igw-xxx
259
-
260
- # Associate subnets with route tables
261
- aws ec2 associate-route-table \
262
- --subnet-id subnet-xxx \
263
- --route-table-id rtb-xxx
264
-
265
- # Enable VPC Flow Logs
266
- aws ec2 create-flow-logs \
267
- --resource-type VPC \
268
- --resource-ids vpc-xxx \
269
- --traffic-type ALL \
270
- --log-destination-type cloud-watch-logs \
271
- --log-group-name /aws/vpc/flowlogs
272
-
273
- # Create Application Load Balancer
274
- aws elbv2 create-load-balancer \
275
- --name production-alb \
276
- --subnets subnet-12345 subnet-67890 \
277
- --security-groups sg-12345 \
278
- --scheme internet-facing \
279
- --type application \
280
- --ip-address-type ipv4
281
-
282
- # Create target group
283
- aws elbv2 create-target-group \
284
- --name production-targets \
285
- --protocol HTTP \
286
- --port 80 \
287
- --vpc-id vpc-xxx \
288
- --target-type ip \
289
- --health-check-path /health \
290
- --health-check-interval-seconds 30 \
291
- --healthy-threshold-count 2 \
292
- --unhealthy-threshold-count 2
293
-
294
- # Create HTTPS listener
295
- aws elbv2 create-listener \
296
- --load-balancer-arn arn:aws:elasticloadbalancing:region:account:loadbalancer/app/production-alb/xxx \
297
- --protocol HTTPS \
298
- --port 443 \
299
- --certificates CertificateArn=arn:aws:acm:region:account:certificate/xxx \
300
- --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:account:targetgroup/production-targets/xxx
301
-
302
- # Create HTTP to HTTPS redirect
303
- aws elbv2 create-listener \
304
- --load-balancer-arn arn:aws:elasticloadbalancing:region:account:loadbalancer/app/production-alb/xxx \
305
- --protocol HTTP \
306
- --port 80 \
307
- --default-actions Type=redirect,RedirectConfig='{Protocol=HTTPS,Port=443,StatusCode=HTTP_301}'
308
- ```
309
-
310
- **Cost Optimization:**
311
-
312
- ```bash
313
- # Cost Optimization using AWS CLI
314
-
315
- # Purchase Savings Plan
316
- aws savingsplans purchase-savings-plan \
317
- --savings-plan-offering-id xxx \
318
- --commitment 1000 \
319
- --purchase-time $(date -u +"%Y-%m-%dT%H:%M:%SZ")
320
-
321
- # Create Launch Template for Auto Scaling
322
- aws ec2 create-launch-template \
323
- --launch-template-name production-template \
324
- --version-description "Production launch template" \
325
- --launch-template-data '{
326
- "ImageId": "ami-12345",
327
- "InstanceType": "t3.medium",
328
- "SecurityGroupIds": ["sg-12345"],
329
- "IamInstanceProfile": {"Name": "production-profile"},
330
- "UserData": "base64-encoded-script",
331
- "TagSpecifications": [{
332
- "ResourceType": "instance",
333
- "Tags": [{"Key": "Environment", "Value": "production"}]
334
- }]
335
- }'
336
-
337
- # Create Auto Scaling Group with mixed instances
338
- aws autoscaling create-auto-scaling-group \
339
- --auto-scaling-group-name production-asg \
340
- --min-size 2 \
341
- --max-size 10 \
342
- --desired-capacity 3 \
343
- --vpc-zone-identifier "subnet-12345,subnet-67890" \
344
- --target-group-arns arn:aws:elasticloadbalancing:region:account:targetgroup/production/xxx \
345
- --health-check-type ELB \
346
- --health-check-grace-period 300 \
347
- --mixed-instances-policy '{
348
- "LaunchTemplate": {
349
- "LaunchTemplateSpecification": {
350
- "LaunchTemplateId": "lt-12345",
351
- "Version": "$Latest"
352
- },
353
- "Overrides": [
354
- {"InstanceType": "t3.medium"},
355
- {"InstanceType": "t3a.medium"},
356
- {"InstanceType": "t3.large"}
357
- ]
358
- },
359
- "InstancesDistribution": {
360
- "OnDemandPercentageAboveBaseCapacity": 25,
361
- "SpotAllocationStrategy": "lowest-price",
362
- "SpotInstancePools": 2
363
- }
364
- }'
365
-
366
- # Set up Auto Scaling policies
367
- aws autoscaling put-scaling-policy \
368
- --auto-scaling-group-name production-asg \
369
- --policy-name scale-up-policy \
370
- --policy-type TargetTrackingScaling \
371
- --target-tracking-configuration '{
372
- "PredefinedMetricSpecification": {
373
- "PredefinedMetricType": "ASGAverageCPUUtilization"
374
- },
375
- "TargetValue": 70.0
376
- }'
377
- ```
378
-
379
- **Monitoring & Observability:**
380
-
381
- ```bash
382
- # CloudWatch Dashboard using AWS CLI
383
-
384
- # Create dashboard with metrics
385
- aws cloudwatch put-dashboard \
386
- --dashboard-name production-dashboard \
387
- --dashboard-body '{
388
- "widgets": [
389
- {
390
- "type": "metric",
391
- "properties": {
392
- "metrics": [
393
- ["AWS/EC2", "CPUUtilization", {"stat": "Average"}],
394
- [".", "NetworkIn", {"stat": "Sum"}],
395
- [".", "NetworkOut", {"stat": "Sum"}]
396
- ],
397
- "period": 300,
398
- "stat": "Average",
399
- "region": "us-east-1",
400
- "title": "EC2 Metrics"
401
- }
402
- },
403
- {
404
- "type": "metric",
405
- "properties": {
406
- "metrics": [
407
- ["AWS/RDS", "DatabaseConnections"],
408
- [".", "CPUUtilization"],
409
- [".", "ReadLatency"],
410
- [".", "WriteLatency"]
411
- ],
412
- "period": 300,
413
- "stat": "Average",
414
- "region": "us-east-1",
415
- "title": "RDS Metrics"
416
- }
417
- }
418
- ]
419
- }'
420
-
421
- # Create CloudWatch Alarms
422
- aws cloudwatch put-metric-alarm \
423
- --alarm-name production-high-cpu \
424
- --alarm-description "Alert when CPU exceeds 80%" \
425
- --metric-name CPUUtilization \
426
- --namespace AWS/EC2 \
427
- --statistic Average \
428
- --period 300 \
429
- --threshold 80 \
430
- --comparison-operator GreaterThanThreshold \
431
- --evaluation-periods 2 \
432
- --dimensions Name=AutoScalingGroupName,Value=production-asg \
433
- --alarm-actions arn:aws:sns:us-east-1:123456789012:production-alerts
434
-
435
- # Create SNS topic for alerts
436
- aws sns create-topic --name production-alerts
437
-
438
- # Subscribe email to SNS topic
439
- aws sns subscribe \
440
- --topic-arn arn:aws:sns:us-east-1:123456789012:production-alerts \
441
- --protocol email \
442
- --notification-endpoint ops-team@example.com
443
-
444
- # Enable detailed monitoring
445
- aws ec2 monitor-instances --instance-ids i-12345 i-67890
446
-
447
- # Create log group for application logs
448
- aws logs create-log-group --log-group-name /aws/application/production
449
- aws logs put-retention-policy \
450
- --log-group-name /aws/application/production \
451
- --retention-in-days 30
452
- ```
453
-
454
- **Output Format:**
455
-
456
- When implementing AWS solutions:
457
-
458
- ```
459
- đŸŒŠī¸ AWS INFRASTRUCTURE DESIGN
460
- ============================
461
-
462
- 📋 REQUIREMENTS ANALYSIS:
463
- - [Workload requirements identified]
464
- - [Compliance requirements assessed]
465
- - [Budget constraints defined]
466
-
467
- đŸ—ī¸ ARCHITECTURE DESIGN:
468
- - [Service selection rationale]
469
- - [Multi-AZ strategy]
470
- - [Disaster recovery plan]
471
-
472
- 🔧 AWS AUTOMATION:
473
- - [CloudFormation templates created]
474
- - [Stack management configured]
475
- - [CodePipeline CI/CD integrated]
476
-
477
- 🔒 SECURITY IMPLEMENTATION:
478
- - [IAM roles and policies]
479
- - [VPC security configuration]
480
- - [KMS encryption setup]
481
-
482
- 💰 COST OPTIMIZATION:
483
- - [Savings plans strategy]
484
- - [Spot instances usage]
485
- - [Reserved capacity planning]
486
-
487
- 📊 MONITORING & OBSERVABILITY:
488
- - [CloudWatch configuration]
489
- - [X-Ray tracing setup]
490
- - [Cost and usage alerts]
491
- ```
492
-
493
- **Self-Validation Protocol:**
494
-
495
- Before delivering AWS infrastructure:
496
- 1. Verify IAM policies follow least-privilege principle
497
- 2. Ensure VPC security groups and NACLs are correct
498
- 3. Confirm backup and disaster recovery are configured
499
- 4. Validate cost optimization measures are in place
500
- 5. Check CloudWatch monitoring and alerting coverage
501
- 6. Ensure compliance with AWS Well-Architected Framework
502
-
503
- **Integration with Other Agents:**
504
-
505
- - **kubernetes-orchestrator**: EKS cluster management
506
- - **python-backend-engineer**: Lambda function deployment
507
- - **react-frontend-engineer**: CloudFront and S3 static hosting
508
- - **github-operations-specialist**: CodePipeline CI/CD
509
-
510
- You deliver enterprise-grade AWS infrastructure solutions that are secure, scalable, cost-effective, and follow AWS Well-Architected Framework best practices while maintaining operational excellence.
511
-
512
- ## Self-Verification Protocol
513
-
514
- Before delivering any solution, verify:
515
- - [ ] Documentation from Context7 has been consulted
516
- - [ ] Code follows best practices
517
- - [ ] Tests are written and passing
518
- - [ ] Performance is acceptable
519
- - [ ] Security considerations addressed
520
- - [ ] No resource leaks
521
- - [ ] Error handling is comprehensive