@sylix/coworker 2.0.11 → 2.0.12

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 (169) hide show
  1. package/dist/commands/slash/config.d.ts.map +1 -1
  2. package/dist/commands/slash/config.js +22 -4
  3. package/dist/commands/slash/config.js.map +1 -1
  4. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  5. package/dist/core/CoWorkerAgent.js +6 -3
  6. package/dist/core/CoWorkerAgent.js.map +1 -1
  7. package/dist/skills/defaults/accessibility/screen-reader-testing.md +545 -0
  8. package/dist/skills/defaults/accessibility/wcag-audit-patterns.md +555 -0
  9. package/dist/skills/defaults/ai-ml/rag.md +276 -0
  10. package/dist/skills/defaults/backend-development/api-design-principles.md +528 -0
  11. package/dist/skills/defaults/backend-development/api-design.md +285 -0
  12. package/dist/skills/defaults/backend-development/architecture-patterns.md +494 -0
  13. package/dist/skills/defaults/backend-development/async-python.md +237 -0
  14. package/dist/skills/defaults/backend-development/auth-implementation-patterns.md +638 -0
  15. package/dist/skills/defaults/backend-development/bazel-build-optimization.md +387 -0
  16. package/dist/skills/defaults/backend-development/billing-automation/SKILL.md +566 -0
  17. package/dist/skills/defaults/backend-development/code-review-excellence.md +538 -0
  18. package/dist/skills/defaults/backend-development/cqrs-implementation.md +554 -0
  19. package/dist/skills/defaults/backend-development/database-design.md +305 -0
  20. package/dist/skills/defaults/backend-development/debugging-strategies.md +536 -0
  21. package/dist/skills/defaults/backend-development/e2e-testing-patterns.md +544 -0
  22. package/dist/skills/defaults/backend-development/error-handling-patterns.md +641 -0
  23. package/dist/skills/defaults/backend-development/fastapi-templates.md +559 -0
  24. package/dist/skills/defaults/backend-development/fastapi.md +309 -0
  25. package/dist/skills/defaults/backend-development/git-advanced-workflows.md +405 -0
  26. package/dist/skills/defaults/backend-development/microservices-patterns.md +595 -0
  27. package/dist/skills/defaults/backend-development/microservices.md +284 -0
  28. package/dist/skills/defaults/backend-development/monorepo-management.md +623 -0
  29. package/dist/skills/defaults/backend-development/nodejs-backend-patterns.md +1048 -0
  30. package/dist/skills/defaults/backend-development/nx-workspace-patterns.md +457 -0
  31. package/dist/skills/defaults/backend-development/paypal-integration/SKILL.md +478 -0
  32. package/dist/skills/defaults/backend-development/pci-compliance/SKILL.md +480 -0
  33. package/dist/skills/defaults/backend-development/python-anti-patterns.md +349 -0
  34. package/dist/skills/defaults/backend-development/python-background-jobs.md +364 -0
  35. package/dist/skills/defaults/backend-development/python-code-style.md +360 -0
  36. package/dist/skills/defaults/backend-development/python-configuration.md +368 -0
  37. package/dist/skills/defaults/backend-development/python-design-patterns.md +296 -0
  38. package/dist/skills/defaults/backend-development/python-error-handling.md +323 -0
  39. package/dist/skills/defaults/backend-development/python-packaging.md +887 -0
  40. package/dist/skills/defaults/backend-development/python-performance-optimization.md +874 -0
  41. package/dist/skills/defaults/backend-development/python-project-structure.md +252 -0
  42. package/dist/skills/defaults/backend-development/python-resilience.md +376 -0
  43. package/dist/skills/defaults/backend-development/python-resource-management.md +421 -0
  44. package/dist/skills/defaults/backend-development/python-type-safety.md +428 -0
  45. package/dist/skills/defaults/backend-development/sql-optimization-patterns.md +509 -0
  46. package/dist/skills/defaults/backend-development/stripe-integration/SKILL.md +522 -0
  47. package/dist/skills/defaults/backend-development/turborepo-caching.md +376 -0
  48. package/dist/skills/defaults/blockchain/defi-protocol-templates.md +430 -0
  49. package/dist/skills/defaults/blockchain/nft-standards.md +364 -0
  50. package/dist/skills/defaults/blockchain/solidity-security.md +514 -0
  51. package/dist/skills/defaults/blockchain/web3-testing.md +360 -0
  52. package/dist/skills/defaults/business/competitive-landscape/SKILL.md +527 -0
  53. package/dist/skills/defaults/business/market-sizing-analysis/SKILL.md +451 -0
  54. package/dist/skills/defaults/business/startup-financial-modeling/SKILL.md +494 -0
  55. package/dist/skills/defaults/business/startup-metrics-framework/SKILL.md +564 -0
  56. package/dist/skills/defaults/business/team-composition-analysis.md +437 -0
  57. package/dist/skills/defaults/compliance/employment-contract-templates/SKILL.md +527 -0
  58. package/dist/skills/defaults/compliance/gdpr-data-handling/SKILL.md +630 -0
  59. package/dist/skills/defaults/data-engineering/airflow-dag-patterns.md +436 -0
  60. package/dist/skills/defaults/data-engineering/airflow.md +519 -0
  61. package/dist/skills/defaults/data-engineering/data-quality.md +583 -0
  62. package/dist/skills/defaults/data-engineering/dbt-transformation-patterns.md +482 -0
  63. package/dist/skills/defaults/data-engineering/dbt.md +556 -0
  64. package/dist/skills/defaults/data-engineering/ml-pipeline-workflow/SKILL.md +247 -0
  65. package/dist/skills/defaults/data-engineering/spark-optimization.md +348 -0
  66. package/dist/skills/defaults/data-engineering/spark.md +411 -0
  67. package/dist/skills/defaults/database/postgresql.md +202 -0
  68. package/dist/skills/defaults/debugging/systematic-debugging.md +249 -0
  69. package/dist/skills/defaults/devops/architecture-decision-records.md +448 -0
  70. package/dist/skills/defaults/devops/changelog-automation.md +580 -0
  71. package/dist/skills/defaults/devops/cicd.md +314 -0
  72. package/dist/skills/defaults/devops/cloud.md +263 -0
  73. package/dist/skills/defaults/devops/code-review-excellence.md +299 -0
  74. package/dist/skills/defaults/devops/cost-optimization.md +295 -0
  75. package/dist/skills/defaults/devops/deployment-pipeline-design.md +356 -0
  76. package/dist/skills/defaults/devops/docker.md +281 -0
  77. package/dist/skills/defaults/devops/git-workflows.md +205 -0
  78. package/dist/skills/defaults/devops/github-actions.md +311 -0
  79. package/dist/skills/defaults/devops/gitlab-ci-patterns.md +266 -0
  80. package/dist/skills/defaults/devops/hybrid-cloud-networking.md +241 -0
  81. package/dist/skills/defaults/devops/istio-traffic-management.md +327 -0
  82. package/dist/skills/defaults/devops/kubernetes.md +339 -0
  83. package/dist/skills/defaults/devops/linkerd-patterns.md +311 -0
  84. package/dist/skills/defaults/devops/multi-cloud-architecture.md +181 -0
  85. package/dist/skills/defaults/devops/observability.md +243 -0
  86. package/dist/skills/defaults/devops/openapi-spec-generation.md +1024 -0
  87. package/dist/skills/defaults/devops/postmortem-writing.md +396 -0
  88. package/dist/skills/defaults/devops/prometheus-configuration.md +265 -0
  89. package/dist/skills/defaults/devops/secrets-management.md +341 -0
  90. package/dist/skills/defaults/devops/service-mesh-observability.md +385 -0
  91. package/dist/skills/defaults/devops/terraform-module-library.md +244 -0
  92. package/dist/skills/defaults/finance/backtesting-frameworks/SKILL.md +663 -0
  93. package/dist/skills/defaults/finance/risk-metrics-calculation/SKILL.md +557 -0
  94. package/dist/skills/defaults/frontend/accessibility-compliance.md +420 -0
  95. package/dist/skills/defaults/frontend/design-system-patterns.md +337 -0
  96. package/dist/skills/defaults/frontend/interaction-design.md +327 -0
  97. package/dist/skills/defaults/frontend/javascript.md +311 -0
  98. package/dist/skills/defaults/frontend/modern-javascript-patterns.md +927 -0
  99. package/dist/skills/defaults/frontend/react-native-design.md +440 -0
  100. package/dist/skills/defaults/frontend/react.md +345 -0
  101. package/dist/skills/defaults/frontend/responsive-design.md +472 -0
  102. package/dist/skills/defaults/frontend/tailwind-design-system.md +337 -0
  103. package/dist/skills/defaults/frontend/typescript-advanced-types.md +724 -0
  104. package/dist/skills/defaults/frontend/typescript.md +334 -0
  105. package/dist/skills/defaults/frontend/visual-design-foundations.md +326 -0
  106. package/dist/skills/defaults/frontend/web-component-design.md +279 -0
  107. package/dist/skills/defaults/game-development/godot-gdscript-patterns.md +188 -0
  108. package/dist/skills/defaults/game-development/unity-ecs-patterns.md +594 -0
  109. package/dist/skills/defaults/kubernetes/gitops-workflow.md +285 -0
  110. package/dist/skills/defaults/kubernetes/gitops.md +280 -0
  111. package/dist/skills/defaults/kubernetes/helm-chart-scaffolding.md +553 -0
  112. package/dist/skills/defaults/kubernetes/helm.md +343 -0
  113. package/dist/skills/defaults/kubernetes/k8s-manifest-generator.md +501 -0
  114. package/dist/skills/defaults/kubernetes/k8s-security-policies.md +342 -0
  115. package/dist/skills/defaults/kubernetes/manifests.md +330 -0
  116. package/dist/skills/defaults/kubernetes/security.md +337 -0
  117. package/dist/skills/defaults/llm-application/embedding-strategies.md +608 -0
  118. package/dist/skills/defaults/llm-application/hybrid-search-implementation.md +570 -0
  119. package/dist/skills/defaults/llm-application/hybrid-search.md +570 -0
  120. package/dist/skills/defaults/llm-application/langchain-architecture.md +666 -0
  121. package/dist/skills/defaults/llm-application/langchain.md +259 -0
  122. package/dist/skills/defaults/llm-application/llm-evaluation.md +695 -0
  123. package/dist/skills/defaults/llm-application/prompt-engineering-patterns.md +449 -0
  124. package/dist/skills/defaults/llm-application/prompt-engineering.md +219 -0
  125. package/dist/skills/defaults/llm-application/rag-implementation.md +434 -0
  126. package/dist/skills/defaults/llm-application/similarity-search-patterns.md +560 -0
  127. package/dist/skills/defaults/llm-application/similarity-search.md +560 -0
  128. package/dist/skills/defaults/llm-application/vector-index-tuning.md +523 -0
  129. package/dist/skills/defaults/mobile/mobile-android-design.md +440 -0
  130. package/dist/skills/defaults/mobile/mobile-ios-design.md +266 -0
  131. package/dist/skills/defaults/monitoring/distributed-tracing.md +436 -0
  132. package/dist/skills/defaults/monitoring/grafana-dashboards.md +370 -0
  133. package/dist/skills/defaults/monitoring/prometheus-configuration.md +379 -0
  134. package/dist/skills/defaults/monitoring/slo-implementation.md +323 -0
  135. package/dist/skills/defaults/refactoring/code-refactoring.md +349 -0
  136. package/dist/skills/defaults/security/anti-reversing-techniques/SKILL.md +559 -0
  137. package/dist/skills/defaults/security/auditor.md +168 -0
  138. package/dist/skills/defaults/security/binary-analysis-patterns/SKILL.md +438 -0
  139. package/dist/skills/defaults/security/memory-forensics/SKILL.md +483 -0
  140. package/dist/skills/defaults/security/mtls-configuration.md +349 -0
  141. package/dist/skills/defaults/security/protocol-reverse-engineering/SKILL.md +520 -0
  142. package/dist/skills/defaults/security/sast-configuration.md +182 -0
  143. package/dist/skills/defaults/security/security.md +313 -0
  144. package/dist/skills/defaults/security/stride-analysis.md +273 -0
  145. package/dist/skills/defaults/security/threat-mitigation-mapping.md +290 -0
  146. package/dist/skills/defaults/systems/bash-defensive-patterns/SKILL.md +539 -0
  147. package/dist/skills/defaults/systems/bats-testing-patterns/SKILL.md +631 -0
  148. package/dist/skills/defaults/systems/go-concurrency-patterns.md +657 -0
  149. package/dist/skills/defaults/systems/memory-safety-patterns.md +605 -0
  150. package/dist/skills/defaults/systems/rust-async-patterns.md +519 -0
  151. package/dist/skills/defaults/systems/shellcheck-configuration/SKILL.md +456 -0
  152. package/dist/skills/defaults/team-collaboration/multi-reviewer-patterns.md +126 -0
  153. package/dist/skills/defaults/team-collaboration/parallel-feature-development.md +151 -0
  154. package/dist/skills/defaults/testing/javascript-testing-patterns.md +1021 -0
  155. package/dist/skills/defaults/testing/python-testing-patterns.md +351 -0
  156. package/dist/skills/defaults/testing/testing.md +332 -0
  157. package/dist/skills/defaults/workflows/context-driven-development.md +384 -0
  158. package/dist/skills/defaults/workflows/track-management.md +592 -0
  159. package/dist/skills/defaults/workflows/workflow-patterns.md +622 -0
  160. package/dist/skills/index.d.ts +11 -0
  161. package/dist/skills/index.d.ts.map +1 -0
  162. package/dist/skills/index.js +129 -0
  163. package/dist/skills/index.js.map +1 -0
  164. package/dist/utils/character.js +4 -4
  165. package/dist/utils/character.js.map +1 -1
  166. package/dist/utils/inputbar.d.ts.map +1 -1
  167. package/dist/utils/inputbar.js +7 -0
  168. package/dist/utils/inputbar.js.map +1 -1
  169. package/package.json +1 -1
@@ -0,0 +1,314 @@
1
+ ---
2
+ name: cicd
3
+ description: Design and implement CI/CD pipelines with automated testing, deployment, and release strategies.
4
+ ---
5
+
6
+ # CI/CD Pipeline Design — CoWorker Edition
7
+
8
+ Build reliable, fast, and secure deployment pipelines.
9
+
10
+ ## When to Use This Skill
11
+
12
+ - Setting up new CI/CD pipelines
13
+ - Improving deployment frequency
14
+ - Implementing automated testing
15
+ - Adding security scanning
16
+
17
+ ## Core Concepts
18
+
19
+ ### 1. GitHub Actions Pipeline
20
+
21
+ ```yaml
22
+ name: CI Pipeline
23
+
24
+ on:
25
+ push:
26
+ branches: [main, develop]
27
+ pull_request:
28
+ branches: [main]
29
+
30
+ env:
31
+ NODE_VERSION: '20'
32
+ REGISTRY: ghcr.io
33
+ IMAGE_NAME: ${{ github.repository }}
34
+
35
+ jobs:
36
+ test:
37
+ runs-on: ubuntu-latest
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - name: Setup Node.js
42
+ uses: actions/setup-node@v4
43
+ with:
44
+ node-version: ${{ env.NODE_VERSION }}
45
+ cache: 'npm'
46
+
47
+ - name: Install dependencies
48
+ run: npm ci
49
+
50
+ - name: Run linter
51
+ run: npm run lint
52
+
53
+ - name: Run type check
54
+ run: npm run typecheck
55
+
56
+ - name: Run tests
57
+ run: npm run test:ci
58
+ env:
59
+ CI: true
60
+ DATABASE_URL: postgres://test
61
+
62
+ - name: Upload coverage
63
+ uses: codecov/codecov-action@v3
64
+ with:
65
+ files: ./coverage/lcov.info
66
+ fail_ci_if_error: true
67
+
68
+ build:
69
+ needs: test
70
+ runs-on: ubuntu-latest
71
+ outputs:
72
+ image-tag: ${{ steps.meta.outputs.tags }}
73
+ steps:
74
+ - uses: actions/checkout@v4
75
+
76
+ - name: Set up Docker Buildx
77
+ uses: docker/setup-buildx-action@v3
78
+
79
+ - name: Login to Container Registry
80
+ uses: docker/login-action@v3
81
+ with:
82
+ registry: ${{ env.REGISTRY }}
83
+ username: ${{ github.actor }}
84
+ password: ${{ secrets.GITHUB_TOKEN }}
85
+
86
+ - name: Extract metadata
87
+ id: meta
88
+ uses: docker/metadata-action@v5
89
+ with:
90
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
91
+ tags: |
92
+ type=ref,event=branch
93
+ type=sha,prefix=
94
+ type=raw,value=latest,enable={{is_default_branch}}
95
+
96
+ - name: Build and push
97
+ uses: docker/build-push-action@v5
98
+ with:
99
+ context: .
100
+ push: true
101
+ tags: ${{ steps.meta.outputs.tags }}
102
+ labels: ${{ steps.meta.outputs.labels }}
103
+ cache-from: type=gha
104
+ cache-to: type=gha,mode=max
105
+
106
+ deploy:
107
+ needs: build
108
+ if: github.ref == 'refs/heads/main'
109
+ runs-on: ubuntu-latest
110
+ environment: production
111
+ steps:
112
+ - name: Deploy to production
113
+ run: |
114
+ echo "Deploying ${{ needs.build.outputs.image-tag }}"
115
+ # Add deployment commands
116
+ ```
117
+
118
+ ### 2. Dockerfile Best Practices
119
+
120
+ ```dockerfile
121
+ # Use specific versions, not latest
122
+ FROM node:20-alpine AS builder
123
+
124
+ WORKDIR /app
125
+
126
+ # Copy package files first for better caching
127
+ COPY package*.json ./
128
+ RUN npm ci
129
+
130
+ # Copy source and build
131
+ COPY . .
132
+ RUN npm run build
133
+
134
+ # Production image
135
+ FROM node:20-alpine AS runner
136
+
137
+ WORKDIR /app
138
+
139
+ # Create non-root user
140
+ RUN addgroup --system --gid 1001 nodejs
141
+ RUN adduser --system --uid 1001 nodejs
142
+
143
+ # Copy built artifacts
144
+ COPY --from=builder /app/dist ./dist
145
+ COPY --from=builder /app/node_modules ./node_modules
146
+
147
+ USER nodejs
148
+
149
+ ENV NODE_ENV=production
150
+
151
+ EXPOSE 3000
152
+
153
+ CMD ["node", "dist/index.js"]
154
+ ```
155
+
156
+ ### 3. GitOps with GitHub Actions
157
+
158
+ ```yaml
159
+ name: Deploy
160
+
161
+ on:
162
+ push:
163
+ branches: [main]
164
+ paths:
165
+ - 'k8s/**'
166
+
167
+ jobs:
168
+ deploy:
169
+ runs-on: ubuntu-latest
170
+ steps:
171
+ - uses: actions/checkout@v4
172
+ with:
173
+ ref: main
174
+
175
+ - name: Deploy to Kubernetes
176
+ uses: azure/k8s-set-context@v4
177
+ with:
178
+ kubeconfig: ${{ secrets.KUBE_CONFIG }}
179
+
180
+ - name: Deploy with Helm
181
+ run: |
182
+ helm upgrade --install myapp ./charts/myapp \
183
+ --namespace production \
184
+ --set image.tag=${{ github.sha }}
185
+ ```
186
+
187
+ ### 4. Testing Stages
188
+
189
+ ```yaml
190
+ jobs:
191
+ test:
192
+ runs-on: ubuntu-latest
193
+ services:
194
+ postgres:
195
+ image: postgres:15
196
+ env:
197
+ POSTGRES_DB: test
198
+ POSTGRES_USER: test
199
+ POSTGRES_PASSWORD: test
200
+ options: >-
201
+ --health-cmd pg_isready
202
+ --health-interval 10s
203
+ --health-timeout 5s
204
+ --health-retries 5
205
+ ports:
206
+ - 5432:5432
207
+
208
+ redis:
209
+ image: redis:7-alpine
210
+ ports:
211
+ - 6379:6379
212
+
213
+ steps:
214
+ - name: Unit tests
215
+ run: npm run test:unit
216
+
217
+ - name: Integration tests
218
+ run: npm run test:integration
219
+ env:
220
+ DATABASE_URL: postgres://test:test@localhost:5432/test
221
+ REDIS_URL: redis://localhost:6379
222
+
223
+ - name: E2E tests
224
+ run: npm run test:e2e
225
+ ```
226
+
227
+ ### 5. Security Scanning
228
+
229
+ ```yaml
230
+ jobs:
231
+ security:
232
+ runs-on: ubuntu-latest
233
+ steps:
234
+ - uses: actions/checkout@v4
235
+
236
+ - name: Run Trivy scanner
237
+ uses: aquasecurity/trivy-action@master
238
+ with:
239
+ scan-type: 'fs'
240
+ scan-ref: '.'
241
+ format: 'sarif'
242
+ output: 'trivy-results.sarif'
243
+
244
+ - name: Upload Trivy results to GitHub Security
245
+ uses: github/codeql-action/upload-sarif@v2
246
+ with:
247
+ sarif_file: 'trivy-results.sarif'
248
+
249
+ - name: Check dependencies
250
+ run: |
251
+ npm audit --audit-level=high || true
252
+
253
+ - name: Container scan
254
+ if: github.event_name == 'push'
255
+ uses: aquasecurity/trivy-action@master
256
+ with:
257
+ image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
258
+ format: 'sarif'
259
+ output: 'container-results.sarif'
260
+ ```
261
+
262
+ ### 6. Release Strategy
263
+
264
+ ```yaml
265
+ name: Release
266
+
267
+ on:
268
+ push:
269
+ tags:
270
+ - 'v*'
271
+
272
+ jobs:
273
+ release:
274
+ runs-on: ubuntu-latest
275
+ steps:
276
+ - uses: actions/checkout@v4
277
+
278
+ - name: Create GitHub Release
279
+ uses: actions/create-release@v1
280
+ env:
281
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
282
+ with:
283
+ tag_name: ${{ github.ref }}
284
+ release_name: Release ${{ github.ref }}
285
+ draft: true
286
+ prerelease: ${{ contains(github.ref, 'beta') }}
287
+
288
+ - name: Build and release Docker
289
+ run: |
290
+ # Multi-platform build
291
+ docker buildx build \
292
+ --platform linux/amd64,linux/arm64 \
293
+ --tag app:${{ github.ref_name }} \
294
+ --push .
295
+ ```
296
+
297
+ ## Best Practices
298
+
299
+ 1. **Fast feedback** - Run tests in parallel
300
+ 2. **Cache dependencies** - Speed up builds
301
+ 3. **Fail fast** - Lint/typecheck before tests
302
+ 4. **Environment parity** - Same Docker images everywhere
303
+ 5. **Secret management** - Never commit secrets
304
+ 6. **Immutable tags** - Don't retag releases
305
+ 7. **Rollback ready** - Always have a way back
306
+
307
+ ## Common Issues
308
+
309
+ - Slow pipelines (no caching)
310
+ - Flaky tests (not isolated)
311
+ - Secrets in logs
312
+ - No artifact retention
313
+ - Manual approvals bottleneck
314
+ - Not scanning images
@@ -0,0 +1,263 @@
1
+ ---
2
+ name: cloud-architecture
3
+ description: Design scalable, resilient cloud architectures on AWS, GCP, or Azure.
4
+ ---
5
+
6
+ # Cloud Architecture — CoWorker Edition
7
+
8
+ Build robust cloud-native systems.
9
+
10
+ ## When to Use This Skill
11
+
12
+ - Designing cloud infrastructure
13
+ - Architecture decisions
14
+ - Cost optimization
15
+ - Scalability planning
16
+
17
+ ## Core Concepts
18
+
19
+ ### 1. Well-Architected Framework
20
+
21
+ ```
22
+ 5 Pillars:
23
+ 1. Operational Excellence
24
+ 2. Security
25
+ 3. Reliability
26
+ 4. Performance Efficiency
27
+ 5. Cost Optimization
28
+ ```
29
+
30
+ ### 2. High-Level Architecture
31
+
32
+ ```
33
+ ┌─────────────┐
34
+ │ CDN │
35
+ └──────┬──────┘
36
+
37
+ ┌──────▼──────┐
38
+ │ Load Balancer│
39
+ └──────┬──────┘
40
+
41
+ ┌─────────────────┼─────────────────┐
42
+ │ │ │
43
+ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
44
+ │ App 1 │ │ App 2 │ │ App 3 │
45
+ └────┬────┘ └────┬────┘ └────┬────┘
46
+ │ │ │
47
+ └─────────────────┼─────────────────┘
48
+
49
+ ┌────────────┼────────────┐
50
+ │ │ │
51
+ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
52
+ │ Cache │ │ DB │ │ Queue │
53
+ │(Redis) │ │ (RDS) │ │ (SQS) │
54
+ └─────────┘ └─────────┘ └─────────┘
55
+ ```
56
+
57
+ ### 3. AWS Example (Terraform)
58
+
59
+ ```hcl
60
+ # VPC
61
+ resource "aws_vpc" "main" {
62
+ cidr_block = "10.0.0.0/16"
63
+ enable_dns_hostnames = true
64
+ enable_dns_support = true
65
+ }
66
+
67
+ # Subnets
68
+ resource "aws_subnet" "public" {
69
+ count = 3
70
+ vpc_id = aws_vpc.main.id
71
+ cidr_block = "10.0.${count.index + 1}.0/24"
72
+ availability_zone = data.aws_availability_zones.available.names[count.index]
73
+ map_public_ip_on_launch = true
74
+ }
75
+
76
+ # Security Groups
77
+ resource "aws_security_group" "app" {
78
+ name = "app-sg"
79
+ vpc_id = aws_vpc.main.id
80
+
81
+ ingress {
82
+ from_port = 443
83
+ to_port = 443
84
+ protocol = "tcp"
85
+ cidr_blocks = ["10.0.0.0/16"]
86
+ }
87
+
88
+ egress {
89
+ from_port = 0
90
+ to_port = 0
91
+ protocol = "-1"
92
+ cidr_blocks = ["0.0.0.0/0"]
93
+ }
94
+ }
95
+
96
+ # ECS Cluster
97
+ resource "aws_ecs_cluster" "app" {
98
+ name = "production-cluster"
99
+
100
+ setting {
101
+ name = "containerInsights"
102
+ value = "enabled"
103
+ }
104
+ }
105
+
106
+ # ECS Service
107
+ resource "aws_ecs_service" "app" {
108
+ name = "api-service"
109
+ cluster = aws_ecs_cluster.app.id
110
+ task_definition = aws_ecs_task_definition.api.arn
111
+ desired_count = 3
112
+
113
+ network_configuration {
114
+ subnets = aws_subnet.private[*].id
115
+ security_groups = [aws_security_group.app.id]
116
+ }
117
+
118
+ load_balancer {
119
+ target_group_arn = aws_lb_target_group.app.arn
120
+ container_name = "api"
121
+ container_port = 8080
122
+ }
123
+
124
+ depends_on = [aws_lb_listener.app]
125
+ }
126
+
127
+ # RDS
128
+ resource "aws_db_instance" "main" {
129
+ identifier = "production-db"
130
+ engine = "postgres"
131
+ engine_version = "15.3"
132
+ instance_class = "db.t3.medium"
133
+ allocated_storage = 100
134
+ max_allocated_storage = 500
135
+
136
+ backup_retention_period = 7
137
+ backup_window = "03:00-04:00"
138
+ maintenance_window = "mon:04:00-mon:05:00"
139
+
140
+ skip_final_snapshot = false
141
+ final_snapshot_identifier = "production-db-final"
142
+ }
143
+ ```
144
+
145
+ ### 4. Scaling Patterns
146
+
147
+ ```yaml
148
+ # Kubernetes HPA
149
+ apiVersion: autoscaling/v2
150
+ kind: HorizontalPodAutoscaler
151
+ metadata:
152
+ name: api-hpa
153
+ spec:
154
+ scaleTargetRef:
155
+ apiVersion: apps/v1
156
+ kind: Deployment
157
+ name: api
158
+ minReplicas: 3
159
+ maxReplicas: 20
160
+ metrics:
161
+ - type: Resource
162
+ resource:
163
+ name: cpu
164
+ target:
165
+ type: Utilization
166
+ averageUtilization: 70
167
+ - type: Resource
168
+ resource:
169
+ name: memory
170
+ target:
171
+ type: Utilization
172
+ averageUtilization: 80
173
+ ```
174
+
175
+ ### 5. Multi-Region Architecture
176
+
177
+ ```
178
+ ┌──────────────┐
179
+ │ Global DNS │
180
+ │ (Route53) │
181
+ └──────┬───────┘
182
+
183
+ ┌─────────────────┼─────────────────┐
184
+ │ │ │
185
+ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐
186
+ │ us-east│ │ eu-west │ │ ap-south│
187
+ │ Primary │ │Secondary│ │ Tert │
188
+ └────┬────┘ └────┬────┘ └────┬────┘
189
+ │ │ │
190
+ │ ┌────────────┴────────┐ │
191
+ │ │ Data Replication │ │
192
+ │ └────────────┬────────┘ │
193
+ └─────────────────┼─────────────────┘
194
+
195
+ ┌──────▼──────┐
196
+ │ Clients │
197
+ └─────────────┘
198
+ ```
199
+
200
+ ### 6. Disaster Recovery
201
+
202
+ ```yaml
203
+ # RTO/RPO targets
204
+ # Critical: RTO < 1 hour, RPO < 1 minute
205
+ # Standard: RTO < 4 hours, RPO < 1 hour
206
+ # Batch: RTO < 24 hours, RPO < 24 hours
207
+
208
+ # Backup strategy
209
+ apiVersion: v1
210
+ kind: PersistentVolumeClaim
211
+ metadata:
212
+ name: backup-pvc
213
+ spec:
214
+ accessModes:
215
+ - ReadWriteMany
216
+ resources:
217
+ requests:
218
+ storage: 1Ti
219
+ storageClassName: standard-rwo
220
+ ---
221
+ apiVersion: batch/v1
222
+ kind: CronJob
223
+ metadata:
224
+ name: backup-cron
225
+ spec:
226
+ schedule: "0 2 * * *" # Daily at 2 AM
227
+ jobTemplate:
228
+ spec:
229
+ template:
230
+ spec:
231
+ containers:
232
+ - name: backup
233
+ image: postgres:15
234
+ command:
235
+ - /bin/sh
236
+ - -c
237
+ - pg_dump $DATABASE_URL > /backups/$(date +%Y%m%d).sql
238
+ volumeMounts:
239
+ - name: backup
240
+ mountPath: /backups
241
+ volumes:
242
+ - name: backup
243
+ persistentVolumeClaim:
244
+ claimName: backup-pvc
245
+ ```
246
+
247
+ ## Best Practices
248
+
249
+ 1. **Use managed services** - Less operational burden
250
+ 2. **Automate everything** - IaC
251
+ 3. **Design for failure** - Assume anything can fail
252
+ 4. **Multi-AZ** - Availability
253
+ 5. **Cost awareness** - Right-size resources
254
+ 6. **Security by default** - Least privilege
255
+
256
+ ## Common Mistakes
257
+
258
+ - Single points of failure
259
+ - Not using IaC
260
+ - Over-provisioning
261
+ - No monitoring
262
+ - Missing backups
263
+ - Security misconfigurations