oh-my-customcode 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +45 -32
  2. package/dist/cli/index.js +12 -20
  3. package/dist/index.js +3 -3
  4. package/package.json +2 -2
  5. package/templates/.claude/rules/MUST-orchestrator-coordination.md +25 -0
  6. package/templates/agents/index.yaml +6 -0
  7. package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +169 -0
  8. package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +26 -0
  9. package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +143 -0
  10. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +279 -0
  11. package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +27 -0
  12. package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +284 -0
  13. package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +262 -0
  14. package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +26 -0
  15. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +274 -0
  16. package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +26 -0
  17. package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +93 -0
  18. package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +107 -0
  19. package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +108 -0
  20. package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +132 -0
  21. package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +199 -0
  22. package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +62 -0
  23. package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +291 -0
  24. package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +341 -0
  25. package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +84 -0
  26. package/templates/agents/manager/creator/refs/rules/MUST-safety.md +69 -0
  27. package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +219 -0
  28. package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +112 -0
  29. package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +145 -0
  30. package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +102 -0
  31. package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +89 -0
  32. package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +103 -0
  33. package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +114 -0
  34. package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +165 -0
  35. package/templates/agents/manager/creator/refs/rules/index.yaml +125 -0
  36. package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +169 -0
  37. package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +26 -0
  38. package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +143 -0
  39. package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +42 -0
  40. package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +107 -0
  41. package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +90 -0
  42. package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +129 -0
  43. package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +165 -0
  44. package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +100 -0
  45. package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +58 -0
  46. package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +80 -0
  47. package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +89 -0
  48. package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +51 -0
  49. package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +284 -0
  50. package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +262 -0
  51. package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +26 -0
  52. package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +232 -0
  53. package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +21 -0
  54. package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +26 -0
  55. package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +243 -0
  56. package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +212 -0
  57. package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +282 -0
  58. package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +309 -0
  59. package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +250 -0
  60. package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +27 -0
  61. package/templates/agents/manager/supplier/refs/guides/index.yaml +101 -0
  62. package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +247 -0
  63. package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +234 -0
  64. package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +26 -0
  65. package/templates/agents/manager/supplier/refs/guides/python/index.yaml +26 -0
  66. package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +202 -0
  67. package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +79 -0
  68. package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +262 -0
  69. package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +26 -0
  70. package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +180 -0
  71. package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +361 -0
  72. package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +22 -0
  73. package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +225 -0
  74. package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +26 -0
  75. package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +219 -0
  76. package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +66 -0
  77. package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +20 -0
  78. package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +102 -0
  79. package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +93 -0
  80. package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +107 -0
  81. package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +108 -0
  82. package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +132 -0
  83. package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +199 -0
  84. package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +62 -0
  85. package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +291 -0
  86. package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +341 -0
  87. package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +84 -0
  88. package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +69 -0
  89. package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +219 -0
  90. package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +112 -0
  91. package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +145 -0
  92. package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +102 -0
  93. package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +89 -0
  94. package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +103 -0
  95. package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +114 -0
  96. package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +165 -0
  97. package/templates/agents/manager/supplier/refs/rules/index.yaml +125 -0
  98. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/SKILL.md +269 -0
  99. package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +25 -0
  100. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +337 -0
  101. package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +26 -0
  102. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +356 -0
  103. package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +27 -0
  104. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +202 -0
  105. package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +25 -0
  106. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +255 -0
  107. package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +27 -0
  108. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +221 -0
  109. package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +25 -0
  110. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +100 -0
  111. package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +39 -0
  112. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +266 -0
  113. package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +26 -0
  114. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +320 -0
  115. package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +28 -0
  116. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/SKILL.md +73 -0
  117. package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +30 -0
  118. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/SKILL.md +117 -0
  119. package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +34 -0
  120. package/templates/agents/manager/supplier/refs/skills/index.yaml +129 -0
  121. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
  122. package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +27 -0
  123. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
  124. package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +26 -0
  125. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +214 -0
  126. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +30 -0
  127. package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +342 -0
  128. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +188 -0
  129. package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +27 -0
  130. package/templates/agents/manager/supplier/refs/skills/system/memory-management/SKILL.md +194 -0
  131. package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +30 -0
  132. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +163 -0
  133. package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +36 -0
  134. package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +93 -0
  135. package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +107 -0
  136. package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +108 -0
  137. package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +132 -0
  138. package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +199 -0
  139. package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +62 -0
  140. package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +291 -0
  141. package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +341 -0
  142. package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +84 -0
  143. package/templates/agents/manager/updater/refs/rules/MUST-safety.md +69 -0
  144. package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +219 -0
  145. package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +112 -0
  146. package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +145 -0
  147. package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +102 -0
  148. package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +89 -0
  149. package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +103 -0
  150. package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +114 -0
  151. package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +165 -0
  152. package/templates/agents/manager/updater/refs/rules/index.yaml +125 -0
  153. package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +93 -0
  154. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +107 -0
  155. package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +108 -0
  156. package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +132 -0
  157. package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +199 -0
  158. package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +62 -0
  159. package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +291 -0
  160. package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +341 -0
  161. package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +84 -0
  162. package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +69 -0
  163. package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +219 -0
  164. package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +112 -0
  165. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +145 -0
  166. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +102 -0
  167. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +89 -0
  168. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +103 -0
  169. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +114 -0
  170. package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +165 -0
  171. package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +125 -0
  172. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +232 -0
  173. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +21 -0
  174. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +269 -0
  175. package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +25 -0
  176. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +26 -0
  177. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +243 -0
  178. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +212 -0
  179. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +337 -0
  180. package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +26 -0
  181. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +361 -0
  182. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +22 -0
  183. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +356 -0
  184. package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +27 -0
  185. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +100 -0
  186. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +39 -0
  187. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +73 -0
  188. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +30 -0
  189. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +66 -0
  190. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +20 -0
  191. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +102 -0
  192. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +117 -0
  193. package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +34 -0
  194. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +202 -0
  195. package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +25 -0
  196. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +282 -0
  197. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +309 -0
  198. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +250 -0
  199. package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +27 -0
  200. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +247 -0
  201. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +234 -0
  202. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +26 -0
  203. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/SKILL.md +255 -0
  204. package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +27 -0
  205. package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +26 -0
  206. package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +202 -0
  207. package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +79 -0
  208. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/SKILL.md +221 -0
  209. package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +25 -0
  210. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +262 -0
  211. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +26 -0
  212. package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +180 -0
  213. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/SKILL.md +266 -0
  214. package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +26 -0
  215. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +225 -0
  216. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +26 -0
  217. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +219 -0
  218. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +320 -0
  219. package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +28 -0
  220. package/templates/agents/tutor/go-tutor/AGENT.md +130 -0
  221. package/templates/agents/tutor/go-tutor/index.yaml +48 -0
  222. package/templates/manifest.json +55 -0
  223. package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -0
@@ -0,0 +1,279 @@
1
+ # AWS Best Practices Skill
2
+
3
+ > **Category**: Infrastructure
4
+ > **Source**: Internal (based on AWS Well-Architected Framework)
5
+
6
+ ## Purpose
7
+
8
+ Apply AWS patterns for building scalable, secure, and cost-effective cloud infrastructure.
9
+
10
+ ## Well-Architected Framework Pillars
11
+
12
+ ### 1. Operational Excellence
13
+
14
+ ```yaml
15
+ principles:
16
+ - Perform operations as code
17
+ - Make frequent, small, reversible changes
18
+ - Refine operations procedures frequently
19
+ - Anticipate failure
20
+ - Learn from all operational failures
21
+
22
+ practices:
23
+ - Use CloudFormation/CDK for IaC
24
+ - Implement CI/CD pipelines
25
+ - Use CloudWatch for monitoring
26
+ - Set up alarms and dashboards
27
+ - Document runbooks
28
+ ```
29
+
30
+ ### 2. Security
31
+
32
+ ```yaml
33
+ principles:
34
+ - Implement strong identity foundation
35
+ - Enable traceability
36
+ - Apply security at all layers
37
+ - Automate security best practices
38
+ - Protect data in transit and at rest
39
+ - Keep people away from data
40
+ - Prepare for security events
41
+
42
+ iam:
43
+ - Use least privilege principle
44
+ - Never use root account for daily tasks
45
+ - Enable MFA for all users
46
+ - Use IAM roles for services
47
+ - Rotate credentials regularly
48
+
49
+ patterns: |
50
+ # IAM Policy - Least Privilege
51
+ {
52
+ "Version": "2012-10-17",
53
+ "Statement": [{
54
+ "Effect": "Allow",
55
+ "Action": [
56
+ "s3:GetObject",
57
+ "s3:PutObject"
58
+ ],
59
+ "Resource": "arn:aws:s3:::my-bucket/*",
60
+ "Condition": {
61
+ "IpAddress": {
62
+ "aws:SourceIp": "10.0.0.0/8"
63
+ }
64
+ }
65
+ }]
66
+ }
67
+ ```
68
+
69
+ ### 3. Reliability
70
+
71
+ ```yaml
72
+ principles:
73
+ - Automatically recover from failure
74
+ - Test recovery procedures
75
+ - Scale horizontally
76
+ - Stop guessing capacity
77
+ - Manage change through automation
78
+
79
+ practices:
80
+ - Multi-AZ deployments
81
+ - Auto Scaling groups
82
+ - Health checks and self-healing
83
+ - Backup and disaster recovery
84
+ - Loose coupling with queues
85
+
86
+ patterns:
87
+ high_availability: |
88
+ # Multi-AZ RDS
89
+ - Primary in us-east-1a
90
+ - Standby in us-east-1b
91
+ - Read replicas in us-east-1c
92
+
93
+ auto_scaling: |
94
+ # Target tracking scaling
95
+ - Metric: CPUUtilization
96
+ - Target: 70%
97
+ - Min: 2, Max: 10
98
+ ```
99
+
100
+ ### 4. Performance Efficiency
101
+
102
+ ```yaml
103
+ principles:
104
+ - Democratize advanced technologies
105
+ - Go global in minutes
106
+ - Use serverless architectures
107
+ - Experiment more often
108
+ - Consider mechanical sympathy
109
+
110
+ compute:
111
+ - Right-size instances
112
+ - Use Spot for fault-tolerant workloads
113
+ - Consider Graviton (ARM) processors
114
+ - Containerize with ECS/EKS
115
+
116
+ storage:
117
+ - Use appropriate storage class
118
+ - S3 Intelligent-Tiering for variable access
119
+ - EBS volume types based on IOPS needs
120
+
121
+ database:
122
+ - Aurora for MySQL/PostgreSQL
123
+ - DynamoDB for key-value/document
124
+ - ElastiCache for caching
125
+ ```
126
+
127
+ ### 5. Cost Optimization
128
+
129
+ ```yaml
130
+ principles:
131
+ - Implement cloud financial management
132
+ - Adopt consumption model
133
+ - Measure overall efficiency
134
+ - Stop spending on undifferentiated heavy lifting
135
+ - Analyze and attribute expenditure
136
+
137
+ practices:
138
+ - Use Reserved Instances/Savings Plans
139
+ - Right-size resources
140
+ - Delete unused resources
141
+ - Use Spot Instances
142
+ - Implement auto scaling
143
+
144
+ tools:
145
+ - AWS Cost Explorer
146
+ - AWS Budgets
147
+ - AWS Trusted Advisor
148
+ - Cost Allocation Tags
149
+ ```
150
+
151
+ ### 6. Sustainability
152
+
153
+ ```yaml
154
+ principles:
155
+ - Understand your impact
156
+ - Establish sustainability goals
157
+ - Maximize utilization
158
+ - Anticipate and adopt more efficient offerings
159
+ - Use managed services
160
+ - Reduce downstream impact
161
+
162
+ practices:
163
+ - Use efficient instance types (Graviton)
164
+ - Optimize storage lifecycle
165
+ - Use serverless where possible
166
+ - Select regions with lower carbon intensity
167
+ ```
168
+
169
+ ## Common Patterns
170
+
171
+ ### VPC Design
172
+
173
+ ```yaml
174
+ pattern: |
175
+ VPC (10.0.0.0/16)
176
+ ├── Public Subnets
177
+ │ ├── us-east-1a: 10.0.1.0/24
178
+ │ ├── us-east-1b: 10.0.2.0/24
179
+ │ └── us-east-1c: 10.0.3.0/24
180
+ ├── Private Subnets (App)
181
+ │ ├── us-east-1a: 10.0.11.0/24
182
+ │ ├── us-east-1b: 10.0.12.0/24
183
+ │ └── us-east-1c: 10.0.13.0/24
184
+ └── Private Subnets (Data)
185
+ ├── us-east-1a: 10.0.21.0/24
186
+ ├── us-east-1b: 10.0.22.0/24
187
+ └── us-east-1c: 10.0.23.0/24
188
+
189
+ components:
190
+ - Internet Gateway (public access)
191
+ - NAT Gateway (private outbound)
192
+ - VPC Endpoints (AWS services)
193
+ - Network ACLs (subnet level)
194
+ - Security Groups (instance level)
195
+ ```
196
+
197
+ ### Three-Tier Architecture
198
+
199
+ ```yaml
200
+ pattern: |
201
+ [Internet]
202
+
203
+ [CloudFront]
204
+
205
+ [ALB] ← Public Subnet
206
+
207
+ [ECS/EC2] ← Private Subnet (App)
208
+
209
+ [RDS Multi-AZ] ← Private Subnet (Data)
210
+
211
+ components:
212
+ web_tier:
213
+ - CloudFront for CDN
214
+ - WAF for protection
215
+ - ALB for load balancing
216
+
217
+ app_tier:
218
+ - ECS Fargate or EC2
219
+ - Auto Scaling
220
+ - ElastiCache
221
+
222
+ data_tier:
223
+ - RDS Multi-AZ
224
+ - Read Replicas
225
+ - Automated backups
226
+ ```
227
+
228
+ ### Serverless Pattern
229
+
230
+ ```yaml
231
+ pattern: |
232
+ [API Gateway]
233
+
234
+ [Lambda] → [DynamoDB]
235
+
236
+ [SQS] → [Lambda] → [S3]
237
+
238
+ components:
239
+ - API Gateway for REST/HTTP APIs
240
+ - Lambda for compute
241
+ - DynamoDB for NoSQL
242
+ - SQS for decoupling
243
+ - S3 for storage
244
+ - Step Functions for orchestration
245
+ ```
246
+
247
+ ### CI/CD Pipeline
248
+
249
+ ```yaml
250
+ pattern: |
251
+ [CodeCommit/GitHub]
252
+
253
+ [CodePipeline]
254
+
255
+ ├── [CodeBuild] - Build & Test
256
+
257
+ ├── [ECR] - Container Registry
258
+
259
+ └── [CodeDeploy/ECS] - Deploy
260
+
261
+ practices:
262
+ - Blue/Green deployments
263
+ - Canary releases
264
+ - Automated rollback
265
+ - Infrastructure as Code
266
+ ```
267
+
268
+ ## Application
269
+
270
+ When designing AWS architecture:
271
+
272
+ 1. **Always** follow least privilege for IAM
273
+ 2. **Always** use Multi-AZ for production
274
+ 3. **Always** encrypt data at rest and in transit
275
+ 4. **Prefer** managed services over self-managed
276
+ 5. **Implement** monitoring and alerting
277
+ 6. **Use** IaC for all infrastructure
278
+ 7. **Design** for failure
279
+ 8. **Optimize** costs continuously
@@ -0,0 +1,27 @@
1
+ # AWS Best Practices Skill
2
+
3
+ metadata:
4
+ name: aws-best-practices
5
+ category: infrastructure
6
+ description: AWS patterns from Well-Architected Framework
7
+
8
+ source:
9
+ type: internal
10
+ reference:
11
+ - https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
12
+ - https://docs.aws.amazon.com/
13
+ - https://aws.amazon.com/architecture/
14
+
15
+ provides:
16
+ - Well-Architected Framework pillars
17
+ - Security best practices
18
+ - Reliability patterns
19
+ - Performance optimization
20
+ - Cost optimization
21
+ - VPC design patterns
22
+ - Three-tier architecture
23
+ - Serverless patterns
24
+ - CI/CD pipelines
25
+
26
+ used_by:
27
+ - aws-expert
@@ -0,0 +1,284 @@
1
+ # Docker Compose Best Practices
2
+
3
+ > Source: https://docs.docker.com/compose/compose-file/best-practices/
4
+
5
+ ## File Structure
6
+
7
+ ```yaml
8
+ version: "3.8"
9
+
10
+ services:
11
+ # Application services
12
+ app:
13
+ ...
14
+
15
+ # Infrastructure services
16
+ db:
17
+ ...
18
+
19
+ volumes:
20
+ # Named volumes
21
+
22
+ networks:
23
+ # Custom networks
24
+ ```
25
+
26
+ ## Service Configuration
27
+
28
+ ### Build Configuration
29
+
30
+ ```yaml
31
+ services:
32
+ app:
33
+ build:
34
+ context: .
35
+ dockerfile: Dockerfile
36
+ target: production
37
+ args:
38
+ - NODE_ENV=production
39
+ ```
40
+
41
+ ### Environment Variables
42
+
43
+ ```yaml
44
+ services:
45
+ app:
46
+ # From file
47
+ env_file:
48
+ - .env
49
+ - .env.local
50
+
51
+ # Inline
52
+ environment:
53
+ - DATABASE_URL=${DATABASE_URL}
54
+ - NODE_ENV=production
55
+ ```
56
+
57
+ ### Dependencies
58
+
59
+ ```yaml
60
+ services:
61
+ app:
62
+ depends_on:
63
+ db:
64
+ condition: service_healthy
65
+ redis:
66
+ condition: service_started
67
+ ```
68
+
69
+ ### Health Checks
70
+
71
+ ```yaml
72
+ services:
73
+ db:
74
+ image: postgres:16
75
+ healthcheck:
76
+ test: ["CMD-SHELL", "pg_isready -U postgres"]
77
+ interval: 10s
78
+ timeout: 5s
79
+ retries: 5
80
+ start_period: 30s
81
+ ```
82
+
83
+ ### Resource Limits
84
+
85
+ ```yaml
86
+ services:
87
+ app:
88
+ deploy:
89
+ resources:
90
+ limits:
91
+ cpus: "1"
92
+ memory: 512M
93
+ reservations:
94
+ cpus: "0.5"
95
+ memory: 256M
96
+ ```
97
+
98
+ ## Volumes
99
+
100
+ ### Named Volumes
101
+
102
+ ```yaml
103
+ services:
104
+ db:
105
+ volumes:
106
+ - postgres_data:/var/lib/postgresql/data
107
+
108
+ volumes:
109
+ postgres_data:
110
+ driver: local
111
+ ```
112
+
113
+ ### Bind Mounts (Development)
114
+
115
+ ```yaml
116
+ services:
117
+ app:
118
+ volumes:
119
+ - ./src:/app/src:ro
120
+ - ./config:/app/config:ro
121
+ ```
122
+
123
+ ## Networks
124
+
125
+ ### Custom Networks
126
+
127
+ ```yaml
128
+ services:
129
+ app:
130
+ networks:
131
+ - frontend
132
+ - backend
133
+
134
+ db:
135
+ networks:
136
+ - backend
137
+
138
+ networks:
139
+ frontend:
140
+ backend:
141
+ internal: true
142
+ ```
143
+
144
+ ## Multiple Environments
145
+
146
+ ### Override Files
147
+
148
+ ```bash
149
+ # Base configuration
150
+ docker-compose.yml
151
+
152
+ # Development overrides
153
+ docker-compose.override.yml
154
+
155
+ # Production overrides
156
+ docker-compose.prod.yml
157
+
158
+ # Usage
159
+ docker compose -f docker-compose.yml -f docker-compose.prod.yml up
160
+ ```
161
+
162
+ ### Example: Production
163
+
164
+ ```yaml
165
+ # docker-compose.prod.yml
166
+ services:
167
+ app:
168
+ build:
169
+ target: production
170
+ restart: always
171
+ deploy:
172
+ replicas: 3
173
+ resources:
174
+ limits:
175
+ cpus: "1"
176
+ memory: 1G
177
+
178
+ db:
179
+ restart: always
180
+ volumes:
181
+ - /mnt/data/postgres:/var/lib/postgresql/data
182
+ ```
183
+
184
+ ### Example: Development
185
+
186
+ ```yaml
187
+ # docker-compose.override.yml
188
+ services:
189
+ app:
190
+ build:
191
+ target: development
192
+ volumes:
193
+ - ./src:/app/src
194
+ environment:
195
+ - DEBUG=true
196
+ ports:
197
+ - "3000:3000"
198
+ - "9229:9229" # debugger
199
+ ```
200
+
201
+ ## Complete Example
202
+
203
+ ```yaml
204
+ version: "3.8"
205
+
206
+ services:
207
+ app:
208
+ build:
209
+ context: .
210
+ target: production
211
+ restart: unless-stopped
212
+ environment:
213
+ - DATABASE_URL=postgresql://user:pass@db:5432/myapp
214
+ - REDIS_URL=redis://redis:6379
215
+ ports:
216
+ - "8080:8080"
217
+ depends_on:
218
+ db:
219
+ condition: service_healthy
220
+ redis:
221
+ condition: service_started
222
+ healthcheck:
223
+ test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
224
+ interval: 30s
225
+ timeout: 10s
226
+ retries: 3
227
+ deploy:
228
+ resources:
229
+ limits:
230
+ cpus: "2"
231
+ memory: 1G
232
+ networks:
233
+ - frontend
234
+ - backend
235
+
236
+ db:
237
+ image: postgres:16-alpine
238
+ restart: unless-stopped
239
+ environment:
240
+ - POSTGRES_USER=user
241
+ - POSTGRES_PASSWORD=pass
242
+ - POSTGRES_DB=myapp
243
+ volumes:
244
+ - postgres_data:/var/lib/postgresql/data
245
+ healthcheck:
246
+ test: ["CMD-SHELL", "pg_isready -U user -d myapp"]
247
+ interval: 10s
248
+ timeout: 5s
249
+ retries: 5
250
+ networks:
251
+ - backend
252
+
253
+ redis:
254
+ image: redis:7-alpine
255
+ restart: unless-stopped
256
+ command: redis-server --appendonly yes
257
+ volumes:
258
+ - redis_data:/data
259
+ networks:
260
+ - backend
261
+
262
+ nginx:
263
+ image: nginx:1.25-alpine
264
+ restart: unless-stopped
265
+ ports:
266
+ - "80:80"
267
+ - "443:443"
268
+ volumes:
269
+ - ./nginx.conf:/etc/nginx/nginx.conf:ro
270
+ - ./certs:/etc/nginx/certs:ro
271
+ depends_on:
272
+ - app
273
+ networks:
274
+ - frontend
275
+
276
+ volumes:
277
+ postgres_data:
278
+ redis_data:
279
+
280
+ networks:
281
+ frontend:
282
+ backend:
283
+ internal: true
284
+ ```