oh-my-customcode 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -32
- package/dist/cli/index.js +12 -20
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +25 -0
- package/templates/agents/index.yaml +6 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +169 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +26 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +143 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +27 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +284 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +26 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +291 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +341 -0
- package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/creator/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +112 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +89 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/creator/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +169 -0
- package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +143 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +42 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +107 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +90 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +129 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +165 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +100 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +58 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +80 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +89 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +51 -0
- package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +284 -0
- package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +232 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +21 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +243 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +212 -0
- package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +282 -0
- package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +309 -0
- package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +250 -0
- package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/guides/index.yaml +101 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +247 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +234 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +202 -0
- package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +79 -0
- package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +180 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +361 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +22 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +225 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +219 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +66 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +20 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +291 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +341 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +112 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +89 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/supplier/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +202 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +221 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +100 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +39 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/manager/supplier/refs/skills/index.yaml +129 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +214 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +342 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +188 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/SKILL.md +194 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +163 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +36 -0
- package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +291 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +341 -0
- package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/updater/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +112 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +89 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/updater/refs/rules/index.yaml +125 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +291 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +341 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +112 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +89 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +125 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +232 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +21 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +243 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +212 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +361 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +22 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +100 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +39 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +30 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +66 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +20 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +102 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +202 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +282 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +309 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +250 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +247 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +234 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +202 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +79 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/SKILL.md +221 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +262 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +180 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +225 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +219 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/tutor/go-tutor/AGENT.md +130 -0
- package/templates/agents/tutor/go-tutor/index.yaml +48 -0
- package/templates/manifest.json +55 -0
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -0
package/README.md
CHANGED
|
@@ -14,7 +14,8 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
|
|
|
14
14
|
|
|
15
15
|
| Feature | Description |
|
|
16
16
|
|---------|-------------|
|
|
17
|
-
| **Batteries Included** |
|
|
17
|
+
| **Batteries Included** | 37 agents, 17 skills, 12 guides - synced with baekgom-agents templates |
|
|
18
|
+
| **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
|
|
18
19
|
| **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
|
|
19
20
|
| **Mix and Match** | Use built-in components, create your own, or combine both |
|
|
20
21
|
| **Non-Destructive** | Your customizations live alongside defaults, never overwritten |
|
|
@@ -27,7 +28,7 @@ npm install -g oh-my-customcode
|
|
|
27
28
|
|
|
28
29
|
# Initialize in your project
|
|
29
30
|
cd your-project
|
|
30
|
-
|
|
31
|
+
omcustom init
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
That's it. You now have a fully configured Claude Code environment.
|
|
@@ -183,36 +184,48 @@ your-project/
|
|
|
183
184
|
|
|
184
185
|
## What's Included
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
|
191
|
-
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
|
|
|
187
|
+
> **Templates synced from [baekgom-agents](https://github.com/baekenough/baekgom-agents)** - Battle-tested agent system with sub-agent orchestration support.
|
|
188
|
+
|
|
189
|
+
### Agents (37)
|
|
190
|
+
|
|
191
|
+
| Category | Count | Agents |
|
|
192
|
+
|----------|-------|--------|
|
|
193
|
+
| **Orchestrators** | 4 | planner, secretary, dev-lead, qa-lead |
|
|
194
|
+
| **Managers** | 6 | creator, updater, supplier, gitnerd, sync-checker, sauron |
|
|
195
|
+
| **System** | 2 | memory-keeper, naggy |
|
|
196
|
+
| **Languages** | 6 | golang, python, rust, kotlin, typescript, java21 |
|
|
197
|
+
| **Frontend** | 3 | vercel-agent, vuejs-agent, svelte-agent |
|
|
198
|
+
| **Backend** | 5 | fastapi, springboot, go-backend, express, nestjs |
|
|
199
|
+
| **Tooling** | 3 | npm-expert, optimizer, bun-expert |
|
|
200
|
+
| **Architecture** | 2 | documenter, speckit-agent |
|
|
201
|
+
| **Infrastructure** | 2 | docker-expert, aws-expert |
|
|
202
|
+
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
203
|
+
| **Tutor** | 1 | go-tutor |
|
|
204
|
+
| **Total** | **37** | |
|
|
200
205
|
|
|
201
206
|
### Skills (17)
|
|
202
207
|
|
|
203
|
-
- **Development
|
|
204
|
-
- **Backend
|
|
205
|
-
- **Infrastructure
|
|
206
|
-
- **System
|
|
207
|
-
- **Orchestration
|
|
208
|
+
- **Development** (8): Go, Python, TypeScript, Kotlin, Rust, Java, React, Vercel
|
|
209
|
+
- **Backend** (5): FastAPI, Spring Boot, Express, NestJS, Go Backend
|
|
210
|
+
- **Infrastructure** (2): Docker, AWS
|
|
211
|
+
- **System** (2): Memory management, result aggregation
|
|
212
|
+
- **Orchestration** (2): Pipeline execution, intent detection
|
|
213
|
+
|
|
214
|
+
### Guides (12)
|
|
215
|
+
|
|
216
|
+
Comprehensive reference documentation covering:
|
|
217
|
+
- Agent creation and management
|
|
218
|
+
- Skill development
|
|
219
|
+
- Pipeline workflows
|
|
220
|
+
- Best practices and patterns
|
|
208
221
|
|
|
209
222
|
### Rules (18)
|
|
210
223
|
|
|
211
224
|
| Priority | Count | Purpose |
|
|
212
225
|
|----------|-------|---------|
|
|
213
|
-
| MUST | 10 | Safety, permissions, agent design (enforced) |
|
|
214
|
-
| SHOULD | 6 | Interactions, error handling (recommended) |
|
|
215
|
-
| MAY | 2 | Optimization guidelines (optional) |
|
|
226
|
+
| **MUST** | 10 | Safety, permissions, agent design (enforced) |
|
|
227
|
+
| **SHOULD** | 6 | Interactions, error handling (recommended) |
|
|
228
|
+
| **MAY** | 2 | Optimization guidelines (optional) |
|
|
216
229
|
|
|
217
230
|
---
|
|
218
231
|
|
|
@@ -220,19 +233,19 @@ your-project/
|
|
|
220
233
|
|
|
221
234
|
| Command | Description |
|
|
222
235
|
|---------|-------------|
|
|
223
|
-
| `
|
|
224
|
-
| `
|
|
225
|
-
| `
|
|
226
|
-
| `
|
|
227
|
-
| `
|
|
228
|
-
| `
|
|
229
|
-
| `
|
|
236
|
+
| `omcustom init` | Initialize in current project |
|
|
237
|
+
| `omcustom init --lang ko` | Initialize with Korean language |
|
|
238
|
+
| `omcustom update` | Update to latest version |
|
|
239
|
+
| `omcustom list` | List all installed components |
|
|
240
|
+
| `omcustom list agents` | List agents only |
|
|
241
|
+
| `omcustom doctor` | Verify installation health |
|
|
242
|
+
| `omcustom doctor --fix` | Auto-fix common issues |
|
|
230
243
|
|
|
231
244
|
---
|
|
232
245
|
|
|
233
246
|
## Project Structure
|
|
234
247
|
|
|
235
|
-
After `
|
|
248
|
+
After `omcustom init`:
|
|
236
249
|
|
|
237
250
|
```
|
|
238
251
|
your-project/
|
package/dist/cli/index.js
CHANGED
|
@@ -11450,7 +11450,7 @@ var en_default = {
|
|
|
11450
11450
|
cli: {
|
|
11451
11451
|
description: "Batteries-included agent harness for Claude Code",
|
|
11452
11452
|
versionOption: "Show version number",
|
|
11453
|
-
usage: "Usage:
|
|
11453
|
+
usage: "Usage: omcustom <command> [options]",
|
|
11454
11454
|
commands: "Commands",
|
|
11455
11455
|
options: "Options",
|
|
11456
11456
|
examples: "Examples",
|
|
@@ -11472,7 +11472,7 @@ var en_default = {
|
|
|
11472
11472
|
symlinking: "Creating symlinks...",
|
|
11473
11473
|
verifying: "Verifying installation...",
|
|
11474
11474
|
success: "Successfully initialized oh-my-customcode!",
|
|
11475
|
-
verificationFailed: "Installation verification failed. Run '
|
|
11475
|
+
verificationFailed: "Installation verification failed. Run 'omcustom doctor' for details.",
|
|
11476
11476
|
failed: "Failed to initialize:",
|
|
11477
11477
|
alreadyInitialized: "oh-my-customcode is already initialized in this directory",
|
|
11478
11478
|
configCreated: "Configuration created at {{path}}",
|
|
@@ -11488,7 +11488,7 @@ var en_default = {
|
|
|
11488
11488
|
description: "Update agents and configurations to latest version",
|
|
11489
11489
|
checking: "Checking for updates...",
|
|
11490
11490
|
notInstalled: "oh-my-customcode is not installed in this directory.",
|
|
11491
|
-
runInitFirst: "Run '
|
|
11491
|
+
runInitFirst: "Run 'omcustom init' first to install.",
|
|
11492
11492
|
alreadyLatest: "Already at the latest version.",
|
|
11493
11493
|
updating: "Updating from {{from}} to {{to}}...",
|
|
11494
11494
|
success: "Successfully updated to the latest version!",
|
|
@@ -11537,7 +11537,7 @@ var en_default = {
|
|
|
11537
11537
|
fixed: "{{name}} has been fixed",
|
|
11538
11538
|
passed: "All checks passed!",
|
|
11539
11539
|
failed: "Some checks failed.",
|
|
11540
|
-
runWithFix: "Run '
|
|
11540
|
+
runWithFix: "Run 'omcustom doctor --fix' to fix {{count}} issue(s) automatically.",
|
|
11541
11541
|
summary: "Summary: {{pass}} passed, {{warn}} warnings, {{fail}} failed, {{fixed}} fixed",
|
|
11542
11542
|
running: "Running health checks...",
|
|
11543
11543
|
checkingConfig: "Checking configuration...",
|
|
@@ -11697,7 +11697,7 @@ var ko_default = {
|
|
|
11697
11697
|
cli: {
|
|
11698
11698
|
description: "Claude Code를 위한 올인원 에이전트 하네스",
|
|
11699
11699
|
versionOption: "버전 번호 표시",
|
|
11700
|
-
usage: "사용법:
|
|
11700
|
+
usage: "사용법: omcustom <명령어> [옵션]",
|
|
11701
11701
|
commands: "명령어",
|
|
11702
11702
|
options: "옵션",
|
|
11703
11703
|
examples: "예제",
|
|
@@ -11719,7 +11719,7 @@ var ko_default = {
|
|
|
11719
11719
|
symlinking: "심볼릭 링크 생성 중...",
|
|
11720
11720
|
verifying: "설치 확인 중...",
|
|
11721
11721
|
success: "oh-my-customcode 초기화 완료!",
|
|
11722
|
-
verificationFailed: "설치 확인 실패. '
|
|
11722
|
+
verificationFailed: "설치 확인 실패. 'omcustom doctor'를 실행하여 자세한 내용을 확인하세요.",
|
|
11723
11723
|
failed: "초기화 실패:",
|
|
11724
11724
|
alreadyInitialized: "이 디렉토리에 oh-my-customcode가 이미 초기화되어 있습니다",
|
|
11725
11725
|
configCreated: "설정 파일 생성됨: {{path}}",
|
|
@@ -11735,7 +11735,7 @@ var ko_default = {
|
|
|
11735
11735
|
description: "에이전트 및 설정을 최신 버전으로 업데이트",
|
|
11736
11736
|
checking: "업데이트 확인 중...",
|
|
11737
11737
|
notInstalled: "이 디렉토리에 oh-my-customcode가 설치되어 있지 않습니다.",
|
|
11738
|
-
runInitFirst: "먼저 '
|
|
11738
|
+
runInitFirst: "먼저 'omcustom init'을 실행하여 설치하세요.",
|
|
11739
11739
|
alreadyLatest: "이미 최신 버전입니다.",
|
|
11740
11740
|
updating: "{{from}}에서 {{to}}로 업데이트 중...",
|
|
11741
11741
|
success: "최신 버전으로 업데이트 완료!",
|
|
@@ -11784,7 +11784,7 @@ var ko_default = {
|
|
|
11784
11784
|
fixed: "{{name}}이(가) 수정되었습니다",
|
|
11785
11785
|
passed: "모든 검사 통과!",
|
|
11786
11786
|
failed: "일부 검사 실패.",
|
|
11787
|
-
runWithFix: "'
|
|
11787
|
+
runWithFix: "'omcustom doctor --fix'를 실행하여 {{count}}개 문제를 자동으로 수정할 수 있습니다.",
|
|
11788
11788
|
summary: "요약: {{pass}}개 통과, {{warn}}개 경고, {{fail}}개 실패, {{fixed}}개 수정됨",
|
|
11789
11789
|
running: "상태 검사 실행 중...",
|
|
11790
11790
|
checkingConfig: "설정 확인 중...",
|
|
@@ -12034,10 +12034,6 @@ async function isDirectory(targetPath) {
|
|
|
12034
12034
|
}
|
|
12035
12035
|
async function isValidSymlink(symlinkPath) {
|
|
12036
12036
|
try {
|
|
12037
|
-
const stat = await fs.lstat(symlinkPath);
|
|
12038
|
-
if (!stat.isSymbolicLink()) {
|
|
12039
|
-
return true;
|
|
12040
|
-
}
|
|
12041
12037
|
await fs.stat(symlinkPath);
|
|
12042
12038
|
return true;
|
|
12043
12039
|
} catch {
|
|
@@ -12096,12 +12092,8 @@ async function findRefsSymlinks(dir2) {
|
|
|
12096
12092
|
return results;
|
|
12097
12093
|
}
|
|
12098
12094
|
async function countDirectories(dirPath) {
|
|
12099
|
-
|
|
12100
|
-
|
|
12101
|
-
return entries.filter((e) => e.isDirectory()).length;
|
|
12102
|
-
} catch {
|
|
12103
|
-
return 0;
|
|
12104
|
-
}
|
|
12095
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
12096
|
+
return entries.filter((e) => e.isDirectory()).length;
|
|
12105
12097
|
}
|
|
12106
12098
|
async function countAgentsInTypeDir(typePath) {
|
|
12107
12099
|
let count = 0;
|
|
@@ -12741,7 +12733,7 @@ function success(messageKey, params) {
|
|
|
12741
12733
|
|
|
12742
12734
|
// src/core/config.ts
|
|
12743
12735
|
import { join as join2 } from "node:path";
|
|
12744
|
-
var CONFIG_FILE = ".
|
|
12736
|
+
var CONFIG_FILE = ".omcustomrc.json";
|
|
12745
12737
|
var CURRENT_CONFIG_VERSION = 1;
|
|
12746
12738
|
function getDefaultConfig() {
|
|
12747
12739
|
return {
|
|
@@ -13525,7 +13517,7 @@ var require2 = createRequire2(import.meta.url);
|
|
|
13525
13517
|
var packageJson = require2("../../package.json");
|
|
13526
13518
|
function createProgram() {
|
|
13527
13519
|
const program2 = new Command;
|
|
13528
|
-
program2.name("
|
|
13520
|
+
program2.name("omcustom").description(i18n.t("cli.description")).version(packageJson.version, "-v, --version", i18n.t("cli.versionOption"));
|
|
13529
13521
|
program2.command("init").description(i18n.t("cli.init.description")).option("-l, --lang <language>", i18n.t("cli.init.langOption"), "en").action(async (options) => {
|
|
13530
13522
|
await initCommand(options);
|
|
13531
13523
|
});
|
package/dist/index.js
CHANGED
|
@@ -324,7 +324,7 @@ function success(messageKey, params) {
|
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
// src/core/config.ts
|
|
327
|
-
var CONFIG_FILE = ".
|
|
327
|
+
var CONFIG_FILE = ".omcustomrc.json";
|
|
328
328
|
var CURRENT_CONFIG_VERSION = 1;
|
|
329
329
|
function getDefaultConfig() {
|
|
330
330
|
return {
|
|
@@ -684,7 +684,7 @@ async function backupExistingInstallation(targetDir) {
|
|
|
684
684
|
}
|
|
685
685
|
// src/core/updater.ts
|
|
686
686
|
import { join as join4 } from "node:path";
|
|
687
|
-
var CUSTOMIZATION_MANIFEST_FILE = ".
|
|
687
|
+
var CUSTOMIZATION_MANIFEST_FILE = ".omcustom-customizations.json";
|
|
688
688
|
function createUpdateResult() {
|
|
689
689
|
return {
|
|
690
690
|
success: false,
|
|
@@ -862,7 +862,7 @@ function getComponentPath(component) {
|
|
|
862
862
|
}
|
|
863
863
|
async function backupInstallation(targetDir) {
|
|
864
864
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
865
|
-
const backupDir = join4(targetDir, `.
|
|
865
|
+
const backupDir = join4(targetDir, `.omcustom-backup-${timestamp}`);
|
|
866
866
|
const fs = await import("node:fs/promises");
|
|
867
867
|
await ensureDirectory(backupDir);
|
|
868
868
|
const dirsToBackup = [".claude", "agents", "skills", "guides", "pipelines", "commands"];
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-customcode",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Batteries-included agent harness for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
7
|
+
"omcustom": "./dist/cli/index.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -226,6 +226,31 @@ CORRECT:
|
|
|
226
226
|
| memory-keeper | agents/system/memory-keeper/ | Memory operations |
|
|
227
227
|
| naggy | agents/system/naggy/ | TODO management |
|
|
228
228
|
|
|
229
|
+
## CRITICAL: Use Specialized Expert Agents for Code Work
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
233
|
+
║ CODE WORK MUST USE SPECIALIZED EXPERT AGENTS ║
|
|
234
|
+
║ ║
|
|
235
|
+
║ Language/Framework → Required Agent ║
|
|
236
|
+
║ ───────────────────────────────────────────────── ║
|
|
237
|
+
║ Python/FastAPI backend → python-expert or fastapi-expert ║
|
|
238
|
+
║ TypeScript/Next.js frontend → typescript-expert or vercel-agent║
|
|
239
|
+
║ Go code → golang-expert ║
|
|
240
|
+
║ Kotlin/Spring → kotlin-expert or springboot-expert║
|
|
241
|
+
║ ║
|
|
242
|
+
║ WRONG: ║
|
|
243
|
+
║ secretary → Task(general-purpose) → writes Python code ║
|
|
244
|
+
║ ║
|
|
245
|
+
║ CORRECT: ║
|
|
246
|
+
║ secretary → Task(python-expert) → writes Python code ║
|
|
247
|
+
║ ║
|
|
248
|
+
║ general-purpose should ONLY be used when: ║
|
|
249
|
+
║ - No specialized agent exists for the task ║
|
|
250
|
+
║ - Task is truly generic (file moves, simple scripts) ║
|
|
251
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
252
|
+
```
|
|
253
|
+
|
|
229
254
|
## CRITICAL: Git Operations Delegation
|
|
230
255
|
|
|
231
256
|
```
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# AWS Common Architecture Patterns
|
|
2
|
+
|
|
3
|
+
> Source: https://aws.amazon.com/architecture/
|
|
4
|
+
|
|
5
|
+
## Web Application (Three-Tier)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ Internet │
|
|
10
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
11
|
+
│
|
|
12
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
13
|
+
│ CloudFront (CDN) │
|
|
14
|
+
│ + WAF │
|
|
15
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
16
|
+
│
|
|
17
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
18
|
+
│ Application Load Balancer │
|
|
19
|
+
│ (Public Subnets) │
|
|
20
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
21
|
+
│
|
|
22
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
23
|
+
│ ECS Fargate / EC2 Auto Scaling │
|
|
24
|
+
│ (Private Subnets) │
|
|
25
|
+
│ + ElastiCache (Redis) │
|
|
26
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
27
|
+
│
|
|
28
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
29
|
+
│ RDS Aurora (Multi-AZ) │
|
|
30
|
+
│ (Private Subnets) │
|
|
31
|
+
└─────────────────────────────────────────────────────────────┘
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Serverless API
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
38
|
+
│ Client │
|
|
39
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
40
|
+
│
|
|
41
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
42
|
+
│ API Gateway │
|
|
43
|
+
│ (REST/HTTP API) │
|
|
44
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
45
|
+
│
|
|
46
|
+
┌───────────────────┼───────────────────┐
|
|
47
|
+
│ │ │
|
|
48
|
+
┌────────┴────────┐ ┌───────┴────────┐ ┌───────┴────────┐
|
|
49
|
+
│ Lambda │ │ Lambda │ │ Lambda │
|
|
50
|
+
│ (Get User) │ │ (Create User) │ │ (List Users) │
|
|
51
|
+
└────────┬────────┘ └───────┬────────┘ └───────┬────────┘
|
|
52
|
+
│ │ │
|
|
53
|
+
└───────────────────┼───────────────────┘
|
|
54
|
+
│
|
|
55
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
56
|
+
│ DynamoDB │
|
|
57
|
+
└─────────────────────────────────────────────────────────────┘
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Event-Driven Architecture
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
64
|
+
│ Producer │───▶│ EventBridge│───▶│ Consumer │
|
|
65
|
+
│ (Lambda) │ │ (Events) │ │ (Lambda) │
|
|
66
|
+
└──────────────┘ └──────┬───────┘ └──────────────┘
|
|
67
|
+
│
|
|
68
|
+
┌─────────────────┼─────────────────┐
|
|
69
|
+
│ │ │
|
|
70
|
+
▼ ▼ ▼
|
|
71
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
72
|
+
│ SQS Queue │ │ SNS Topic │ │ Step Function│
|
|
73
|
+
└──────────────┘ └──────────────┘ └──────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Microservices
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
80
|
+
│ API Gateway / ALB │
|
|
81
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
82
|
+
│
|
|
83
|
+
┌────────────────────────┼────────────────────────┐
|
|
84
|
+
│ │ │
|
|
85
|
+
┌───┴───┐ ┌────┴────┐ ┌────┴────┐
|
|
86
|
+
│Service│ │ Service │ │ Service │
|
|
87
|
+
│ A │ │ B │ │ C │
|
|
88
|
+
│(ECS) │ │ (Lambda)│ │ (EKS) │
|
|
89
|
+
└───┬───┘ └────┬────┘ └────┬────┘
|
|
90
|
+
│ │ │
|
|
91
|
+
└────────────────────────┼────────────────────────┘
|
|
92
|
+
│
|
|
93
|
+
┌────────┴────────┐
|
|
94
|
+
│ Service Mesh │
|
|
95
|
+
│ (App Mesh) │
|
|
96
|
+
└─────────────────┘
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Data Lake
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
103
|
+
│ Data Sources │
|
|
104
|
+
│ (Databases, APIs, IoT, Logs, Streams) │
|
|
105
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
106
|
+
│
|
|
107
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
108
|
+
│ Ingestion Layer │
|
|
109
|
+
│ (Kinesis, DMS, AppFlow, Transfer Family) │
|
|
110
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
111
|
+
│
|
|
112
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
113
|
+
│ Storage Layer │
|
|
114
|
+
│ S3 (Raw → Processed → Curated) │
|
|
115
|
+
│ + Lake Formation │
|
|
116
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
117
|
+
│
|
|
118
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
119
|
+
│ Processing Layer │
|
|
120
|
+
│ (Glue, EMR, Athena, Redshift Spectrum) │
|
|
121
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
122
|
+
│
|
|
123
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
124
|
+
│ Consumption Layer │
|
|
125
|
+
│ (QuickSight, SageMaker, APIs) │
|
|
126
|
+
└──────────────────────────────────────────────────────────────┘
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## CI/CD Pipeline
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
133
|
+
│ GitHub / │───▶│ CodePipeline│───▶│ CodeBuild │
|
|
134
|
+
│ CodeCommit │ │ (Source) │ │ (Build) │
|
|
135
|
+
└──────────────┘ └──────────────┘ └──────┬───────┘
|
|
136
|
+
│
|
|
137
|
+
┌─────────────────────┴─────────────────────┐
|
|
138
|
+
│ │
|
|
139
|
+
▼ ▼
|
|
140
|
+
┌──────────────┐ ┌──────────────┐
|
|
141
|
+
│ ECR │ │ S3 │
|
|
142
|
+
│ (Container) │ │ (Artifact) │
|
|
143
|
+
└──────┬───────┘ └──────┬───────┘
|
|
144
|
+
│ │
|
|
145
|
+
└─────────────────┬─────────────────────────┘
|
|
146
|
+
│
|
|
147
|
+
▼
|
|
148
|
+
┌──────────────────┐
|
|
149
|
+
│ CodeDeploy │
|
|
150
|
+
│ (Blue/Green) │
|
|
151
|
+
└────────┬─────────┘
|
|
152
|
+
│
|
|
153
|
+
┌────────────────────────┼────────────────────────┐
|
|
154
|
+
│ │ │
|
|
155
|
+
▼ ▼ ▼
|
|
156
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
157
|
+
│ Dev │ │ Stage │ │ Prod │
|
|
158
|
+
│ ECS │ │ ECS │ │ ECS │
|
|
159
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Disaster Recovery
|
|
163
|
+
|
|
164
|
+
| Strategy | RTO | RPO | Cost |
|
|
165
|
+
|----------|-----|-----|------|
|
|
166
|
+
| Backup & Restore | Hours | Hours | $ |
|
|
167
|
+
| Pilot Light | Minutes-Hours | Minutes | $$ |
|
|
168
|
+
| Warm Standby | Minutes | Seconds | $$$ |
|
|
169
|
+
| Multi-Site Active | Near Zero | Near Zero | $$$$ |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# AWS Guide
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: aws
|
|
5
|
+
description: AWS cloud reference documentation
|
|
6
|
+
|
|
7
|
+
source:
|
|
8
|
+
type: external
|
|
9
|
+
origin: aws.amazon.com
|
|
10
|
+
urls:
|
|
11
|
+
- https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
|
|
12
|
+
- https://docs.aws.amazon.com/
|
|
13
|
+
- https://aws.amazon.com/architecture/
|
|
14
|
+
last_fetched: "2026-01-22"
|
|
15
|
+
|
|
16
|
+
documents:
|
|
17
|
+
- name: well-architected
|
|
18
|
+
path: ./well-architected.md
|
|
19
|
+
description: AWS Well-Architected Framework summary
|
|
20
|
+
|
|
21
|
+
- name: common-patterns
|
|
22
|
+
path: ./common-patterns.md
|
|
23
|
+
description: Common AWS architecture patterns
|
|
24
|
+
|
|
25
|
+
used_by:
|
|
26
|
+
- aws-expert
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# AWS Well-Architected Framework
|
|
2
|
+
|
|
3
|
+
> Source: https://docs.aws.amazon.com/wellarchitected/
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The AWS Well-Architected Framework helps you understand the pros and cons of decisions you make while building systems on AWS.
|
|
8
|
+
|
|
9
|
+
## Six Pillars
|
|
10
|
+
|
|
11
|
+
### 1. Operational Excellence
|
|
12
|
+
|
|
13
|
+
Focus on running and monitoring systems to deliver business value.
|
|
14
|
+
|
|
15
|
+
**Design Principles:**
|
|
16
|
+
- Perform operations as code
|
|
17
|
+
- Make frequent, small, reversible changes
|
|
18
|
+
- Refine operations procedures frequently
|
|
19
|
+
- Anticipate failure
|
|
20
|
+
- Learn from operational failures
|
|
21
|
+
|
|
22
|
+
**Key Services:**
|
|
23
|
+
- AWS CloudFormation
|
|
24
|
+
- AWS Config
|
|
25
|
+
- Amazon CloudWatch
|
|
26
|
+
- AWS Systems Manager
|
|
27
|
+
|
|
28
|
+
### 2. Security
|
|
29
|
+
|
|
30
|
+
Protect information, systems, and assets.
|
|
31
|
+
|
|
32
|
+
**Design Principles:**
|
|
33
|
+
- Implement strong identity foundation
|
|
34
|
+
- Enable traceability
|
|
35
|
+
- Apply security at all layers
|
|
36
|
+
- Automate security best practices
|
|
37
|
+
- Protect data in transit and at rest
|
|
38
|
+
- Keep people away from data
|
|
39
|
+
- Prepare for security events
|
|
40
|
+
|
|
41
|
+
**Key Services:**
|
|
42
|
+
- AWS IAM
|
|
43
|
+
- AWS KMS
|
|
44
|
+
- AWS WAF
|
|
45
|
+
- Amazon GuardDuty
|
|
46
|
+
- AWS Security Hub
|
|
47
|
+
|
|
48
|
+
### 3. Reliability
|
|
49
|
+
|
|
50
|
+
Ensure workload performs correctly and consistently.
|
|
51
|
+
|
|
52
|
+
**Design Principles:**
|
|
53
|
+
- Automatically recover from failure
|
|
54
|
+
- Test recovery procedures
|
|
55
|
+
- Scale horizontally
|
|
56
|
+
- Stop guessing capacity
|
|
57
|
+
- Manage change through automation
|
|
58
|
+
|
|
59
|
+
**Key Services:**
|
|
60
|
+
- Amazon Route 53
|
|
61
|
+
- Elastic Load Balancing
|
|
62
|
+
- Auto Scaling
|
|
63
|
+
- AWS Backup
|
|
64
|
+
|
|
65
|
+
### 4. Performance Efficiency
|
|
66
|
+
|
|
67
|
+
Use computing resources efficiently.
|
|
68
|
+
|
|
69
|
+
**Design Principles:**
|
|
70
|
+
- Democratize advanced technologies
|
|
71
|
+
- Go global in minutes
|
|
72
|
+
- Use serverless architectures
|
|
73
|
+
- Experiment more often
|
|
74
|
+
- Consider mechanical sympathy
|
|
75
|
+
|
|
76
|
+
**Key Services:**
|
|
77
|
+
- Amazon EC2 Auto Scaling
|
|
78
|
+
- AWS Lambda
|
|
79
|
+
- Amazon ElastiCache
|
|
80
|
+
- Amazon CloudFront
|
|
81
|
+
|
|
82
|
+
### 5. Cost Optimization
|
|
83
|
+
|
|
84
|
+
Avoid unnecessary costs.
|
|
85
|
+
|
|
86
|
+
**Design Principles:**
|
|
87
|
+
- Implement cloud financial management
|
|
88
|
+
- Adopt consumption model
|
|
89
|
+
- Measure overall efficiency
|
|
90
|
+
- Stop spending money on undifferentiated heavy lifting
|
|
91
|
+
- Analyze and attribute expenditure
|
|
92
|
+
|
|
93
|
+
**Key Services:**
|
|
94
|
+
- AWS Cost Explorer
|
|
95
|
+
- AWS Budgets
|
|
96
|
+
- AWS Trusted Advisor
|
|
97
|
+
- Savings Plans
|
|
98
|
+
|
|
99
|
+
### 6. Sustainability
|
|
100
|
+
|
|
101
|
+
Minimize environmental impacts.
|
|
102
|
+
|
|
103
|
+
**Design Principles:**
|
|
104
|
+
- Understand your impact
|
|
105
|
+
- Establish sustainability goals
|
|
106
|
+
- Maximize utilization
|
|
107
|
+
- Anticipate and adopt efficient offerings
|
|
108
|
+
- Use managed services
|
|
109
|
+
- Reduce downstream impact
|
|
110
|
+
|
|
111
|
+
## Well-Architected Review
|
|
112
|
+
|
|
113
|
+
### Questions to Ask
|
|
114
|
+
|
|
115
|
+
**Operational Excellence:**
|
|
116
|
+
- How do you manage and automate changes?
|
|
117
|
+
- How do you respond to unplanned events?
|
|
118
|
+
- How do you evolve operations?
|
|
119
|
+
|
|
120
|
+
**Security:**
|
|
121
|
+
- How do you manage identities?
|
|
122
|
+
- How do you detect security events?
|
|
123
|
+
- How do you protect your network?
|
|
124
|
+
|
|
125
|
+
**Reliability:**
|
|
126
|
+
- How do you manage service quotas?
|
|
127
|
+
- How does your system adapt to demand?
|
|
128
|
+
- How do you back up data?
|
|
129
|
+
|
|
130
|
+
**Performance Efficiency:**
|
|
131
|
+
- How do you select compute resources?
|
|
132
|
+
- How do you select storage solutions?
|
|
133
|
+
- How do you configure networking?
|
|
134
|
+
|
|
135
|
+
**Cost Optimization:**
|
|
136
|
+
- How do you manage usage?
|
|
137
|
+
- How do you monitor cost?
|
|
138
|
+
- How do you decommission resources?
|
|
139
|
+
|
|
140
|
+
**Sustainability:**
|
|
141
|
+
- How do you select efficient hardware?
|
|
142
|
+
- How do you reduce software impact?
|
|
143
|
+
- How do you reduce data movement?
|