claude-autopm 2.8.1 â 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.
- package/README.md +116 -8
- package/bin/autopm.js +2 -0
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/package.json +4 -1
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/cloud/README.md +0 -55
- package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
- package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
- package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
- package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
- package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
- package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
- package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
- package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
- package/autopm/.claude/agents/core/agent-manager.md +0 -296
- package/autopm/.claude/agents/core/code-analyzer.md +0 -131
- package/autopm/.claude/agents/core/file-analyzer.md +0 -162
- package/autopm/.claude/agents/core/test-runner.md +0 -200
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
- package/autopm/.claude/agents/databases/README.md +0 -50
- package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
- package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
- package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
- package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
- package/autopm/.claude/agents/databases/redis-expert.md +0 -52
- package/autopm/.claude/agents/devops/README.md +0 -52
- package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
- package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
- package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
- package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
- package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
- package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
- package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
- package/autopm/.claude/agents/frameworks/README.md +0 -64
- package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
- package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
- package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
- package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
- package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
- package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/agents/languages/README.md +0 -50
- package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
- package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
- package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
- package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
- package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
- package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
- package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
- package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
- package/autopm/.claude/commands/azure/README.md +0 -246
- package/autopm/.claude/commands/azure/active-work.md +0 -198
- package/autopm/.claude/commands/azure/aliases.md +0 -143
- package/autopm/.claude/commands/azure/blocked-items.md +0 -287
- package/autopm/.claude/commands/azure/clean.md +0 -93
- package/autopm/.claude/commands/azure/docs-query.md +0 -48
- package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
- package/autopm/.claude/commands/azure/feature-list.md +0 -61
- package/autopm/.claude/commands/azure/feature-new.md +0 -115
- package/autopm/.claude/commands/azure/feature-show.md +0 -205
- package/autopm/.claude/commands/azure/feature-start.md +0 -130
- package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
- package/autopm/.claude/commands/azure/help.md +0 -150
- package/autopm/.claude/commands/azure/import-us.md +0 -269
- package/autopm/.claude/commands/azure/init.md +0 -211
- package/autopm/.claude/commands/azure/next-task.md +0 -262
- package/autopm/.claude/commands/azure/search.md +0 -160
- package/autopm/.claude/commands/azure/sprint-status.md +0 -235
- package/autopm/.claude/commands/azure/standup.md +0 -260
- package/autopm/.claude/commands/azure/sync-all.md +0 -99
- package/autopm/.claude/commands/azure/task-analyze.md +0 -186
- package/autopm/.claude/commands/azure/task-close.md +0 -329
- package/autopm/.claude/commands/azure/task-edit.md +0 -145
- package/autopm/.claude/commands/azure/task-list.md +0 -263
- package/autopm/.claude/commands/azure/task-new.md +0 -84
- package/autopm/.claude/commands/azure/task-reopen.md +0 -79
- package/autopm/.claude/commands/azure/task-show.md +0 -126
- package/autopm/.claude/commands/azure/task-start.md +0 -301
- package/autopm/.claude/commands/azure/task-status.md +0 -65
- package/autopm/.claude/commands/azure/task-sync.md +0 -67
- package/autopm/.claude/commands/azure/us-edit.md +0 -164
- package/autopm/.claude/commands/azure/us-list.md +0 -202
- package/autopm/.claude/commands/azure/us-new.md +0 -265
- package/autopm/.claude/commands/azure/us-parse.md +0 -253
- package/autopm/.claude/commands/azure/us-show.md +0 -188
- package/autopm/.claude/commands/azure/us-status.md +0 -320
- package/autopm/.claude/commands/azure/validate.md +0 -86
- package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
- package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
- package/autopm/.claude/commands/github/workflow-create.md +0 -42
- package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
- package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
- package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/pm/blocked.md +0 -28
- package/autopm/.claude/commands/pm/clean.md +0 -119
- package/autopm/.claude/commands/pm/context-create.md +0 -136
- package/autopm/.claude/commands/pm/context-prime.md +0 -170
- package/autopm/.claude/commands/pm/context-update.md +0 -292
- package/autopm/.claude/commands/pm/context.md +0 -28
- package/autopm/.claude/commands/pm/epic-close.md +0 -86
- package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
- package/autopm/.claude/commands/pm/epic-edit.md +0 -83
- package/autopm/.claude/commands/pm/epic-list.md +0 -30
- package/autopm/.claude/commands/pm/epic-merge.md +0 -222
- package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
- package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
- package/autopm/.claude/commands/pm/epic-show.md +0 -28
- package/autopm/.claude/commands/pm/epic-split.md +0 -120
- package/autopm/.claude/commands/pm/epic-start.md +0 -195
- package/autopm/.claude/commands/pm/epic-status.md +0 -28
- package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
- package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
- package/autopm/.claude/commands/pm/epic-sync.md +0 -486
- package/autopm/.claude/commands/pm/help.md +0 -28
- package/autopm/.claude/commands/pm/import.md +0 -115
- package/autopm/.claude/commands/pm/in-progress.md +0 -28
- package/autopm/.claude/commands/pm/init.md +0 -28
- package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
- package/autopm/.claude/commands/pm/issue-close.md +0 -119
- package/autopm/.claude/commands/pm/issue-edit.md +0 -93
- package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
- package/autopm/.claude/commands/pm/issue-show.md +0 -41
- package/autopm/.claude/commands/pm/issue-start.md +0 -234
- package/autopm/.claude/commands/pm/issue-status.md +0 -95
- package/autopm/.claude/commands/pm/issue-sync.md +0 -411
- package/autopm/.claude/commands/pm/next.md +0 -28
- package/autopm/.claude/commands/pm/prd-edit.md +0 -82
- package/autopm/.claude/commands/pm/prd-list.md +0 -28
- package/autopm/.claude/commands/pm/prd-new.md +0 -55
- package/autopm/.claude/commands/pm/prd-parse.md +0 -42
- package/autopm/.claude/commands/pm/prd-status.md +0 -28
- package/autopm/.claude/commands/pm/search.md +0 -28
- package/autopm/.claude/commands/pm/standup.md +0 -28
- package/autopm/.claude/commands/pm/status.md +0 -28
- package/autopm/.claude/commands/pm/sync.md +0 -99
- package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
- package/autopm/.claude/commands/pm/validate.md +0 -28
- package/autopm/.claude/commands/pm/what-next.md +0 -28
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/react/app-scaffold.md +0 -50
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
- package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
- package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
- package/autopm/.claude/rules/docker-first-development.md +0 -404
- package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
- package/autopm/.claude/rules/performance-guidelines.md +0 -403
- package/autopm/.claude/rules/ui-development-standards.md +0 -281
- package/autopm/.claude/rules/ui-framework-rules.md +0 -151
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/autopm/.claude/scripts/pm/analytics.js +0 -425
- package/autopm/.claude/scripts/pm/blocked.js +0 -164
- package/autopm/.claude/scripts/pm/blocked.sh +0 -78
- package/autopm/.claude/scripts/pm/clean.js +0 -464
- package/autopm/.claude/scripts/pm/context-create.js +0 -216
- package/autopm/.claude/scripts/pm/context-prime.js +0 -335
- package/autopm/.claude/scripts/pm/context-update.js +0 -344
- package/autopm/.claude/scripts/pm/context.js +0 -338
- package/autopm/.claude/scripts/pm/epic-close.js +0 -347
- package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
- package/autopm/.claude/scripts/pm/epic-list.js +0 -273
- package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
- package/autopm/.claude/scripts/pm/epic-show.js +0 -291
- package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
- package/autopm/.claude/scripts/pm/epic-split.js +0 -522
- package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
- package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
- package/autopm/.claude/scripts/pm/epic-status.js +0 -291
- package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
- package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
- package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
- package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
- package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
- package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
- package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
- package/autopm/.claude/scripts/pm/help.js +0 -92
- package/autopm/.claude/scripts/pm/help.sh +0 -90
- package/autopm/.claude/scripts/pm/in-progress.js +0 -178
- package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
- package/autopm/.claude/scripts/pm/init.js +0 -321
- package/autopm/.claude/scripts/pm/init.sh +0 -178
- package/autopm/.claude/scripts/pm/issue-close.js +0 -232
- package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
- package/autopm/.claude/scripts/pm/issue-show.js +0 -272
- package/autopm/.claude/scripts/pm/issue-start.js +0 -181
- package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
- package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
- package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
- package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
- package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
- package/autopm/.claude/scripts/pm/lib/README.md +0 -85
- package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
- package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
- package/autopm/.claude/scripts/pm/next.js +0 -189
- package/autopm/.claude/scripts/pm/next.sh +0 -72
- package/autopm/.claude/scripts/pm/optimize.js +0 -407
- package/autopm/.claude/scripts/pm/pr-create.js +0 -337
- package/autopm/.claude/scripts/pm/pr-list.js +0 -257
- package/autopm/.claude/scripts/pm/prd-list.js +0 -242
- package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
- package/autopm/.claude/scripts/pm/prd-new.js +0 -684
- package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
- package/autopm/.claude/scripts/pm/prd-status.js +0 -152
- package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
- package/autopm/.claude/scripts/pm/release.js +0 -460
- package/autopm/.claude/scripts/pm/search.js +0 -192
- package/autopm/.claude/scripts/pm/search.sh +0 -89
- package/autopm/.claude/scripts/pm/standup.js +0 -362
- package/autopm/.claude/scripts/pm/standup.sh +0 -95
- package/autopm/.claude/scripts/pm/status.js +0 -148
- package/autopm/.claude/scripts/pm/status.sh +0 -59
- package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
- package/autopm/.claude/scripts/pm/sync.js +0 -343
- package/autopm/.claude/scripts/pm/template-list.js +0 -141
- package/autopm/.claude/scripts/pm/template-new.js +0 -366
- package/autopm/.claude/scripts/pm/validate.js +0 -274
- package/autopm/.claude/scripts/pm/validate.sh +0 -106
- package/autopm/.claude/scripts/pm/what-next.js +0 -660
- 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
|