@nockdev/awf 6.2.6 → 6.2.8

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 (269) hide show
  1. package/.agent/config.yaml +2 -2
  2. package/.agent/core/AGENT_BEHAVIOR.md +1 -1
  3. package/.agent/core/AUDIT_POLICY.md +1 -1
  4. package/.agent/core/CACHE.md +1 -1
  5. package/.agent/core/DATA_SAFETY.md +1 -1
  6. package/.agent/core/MEMORY_PATHS.yaml +2 -2
  7. package/.agent/core/PERMISSIONS.md +1 -1
  8. package/.agent/core/README.md +1 -1
  9. package/.agent/core/VERSION.yaml +4 -4
  10. package/.agent/core/archive/ACTIVE_MEMORY.yaml +2 -2
  11. package/.agent/core/archive/CHECKPOINT.yaml +2 -2
  12. package/.agent/core/archive/CLEANUP_ENGINE.yaml +2 -2
  13. package/.agent/core/archive/CONTEXT_INJECTOR.yaml +2 -2
  14. package/.agent/core/archive/CONTEXT_LOADER.yaml +1 -1
  15. package/.agent/core/archive/CONTEXT_OPTIMIZATION.yaml +1 -1
  16. package/.agent/core/archive/CONTEXT_PRIORITY.yaml +2 -2
  17. package/.agent/core/archive/FLOW_ENGINE.yaml +1 -1
  18. package/.agent/core/archive/GRAPH_MEMORY.yaml +1 -1
  19. package/.agent/core/archive/HYBRID_ROUTER.yaml +1 -1
  20. package/.agent/core/archive/INTENT_DETECTION.yaml +1 -1
  21. package/.agent/core/archive/MEMORY_CONSOLIDATION.yaml +3 -3
  22. package/.agent/core/archive/MEMORY_ENGINE.yaml +2 -2
  23. package/.agent/core/archive/MEMORY_UTILS.yaml +1 -1
  24. package/.agent/core/archive/REFLECTION_ENGINE.yaml +1 -1
  25. package/.agent/core/archive/ROUTER.yaml +4 -4
  26. package/.agent/core/archive/SCORING_FORMULA.yaml +2 -2
  27. package/.agent/core/archive/SEMANTIC_ENGINE.yaml +1 -1
  28. package/.agent/core/archive/SKILLS_FLOW.yaml +1 -1
  29. package/.agent/core/archive/STATE_MACHINE.yaml +1 -1
  30. package/.agent/core/archive/SUMMARIZATION_ENGINE.yaml +2 -2
  31. package/.agent/core/archive/TOKEN_BUDGETS.yaml +2 -2
  32. package/.agent/core/archive/TOKEN_LOADING.yaml +2 -2
  33. package/.agent/core/archive/TOKEN_SUMMARY.yaml +2 -2
  34. package/.agent/core/reference/CODING_STYLES.yaml +1 -1
  35. package/.agent/core/reference/LIBRARY_REGISTRY.yaml +1 -1
  36. package/.agent/core/reference/MCP_TOOLS.yaml +2 -2
  37. package/.agent/core/reference/PATTERNS.yaml +1 -1
  38. package/.agent/core/reference/SKILL_SCHEMA.yaml +1 -1
  39. package/.agent/i18n/en.yaml +6 -6
  40. package/.agent/i18n/vi.yaml +6 -6
  41. package/.agent/ide/README.md +1 -1
  42. package/.agent/ide/amazonq.json +1 -1
  43. package/.agent/ide/amp.json +1 -1
  44. package/.agent/ide/antigravity.json +1 -1
  45. package/.agent/ide/augment.json +1 -1
  46. package/.agent/ide/claude.json +1 -1
  47. package/.agent/ide/cline.json +1 -1
  48. package/.agent/ide/cody.json +1 -1
  49. package/.agent/ide/continue.json +1 -1
  50. package/.agent/ide/cursor.json +1 -1
  51. package/.agent/ide/gemini.json +1 -1
  52. package/.agent/ide/jetbrains.json +1 -1
  53. package/.agent/ide/kiro.json +1 -1
  54. package/.agent/ide/opencode.json +1 -1
  55. package/.agent/ide/roo.json +1 -1
  56. package/.agent/ide/tabnine.json +1 -1
  57. package/.agent/ide/trae.json +1 -1
  58. package/.agent/ide/vscode.json +1 -1
  59. package/.agent/ide/windsurf.json +1 -1
  60. package/.agent/ide/zed.json +1 -1
  61. package/.agent/manifest.yaml +1 -1
  62. package/.agent/personas/README.md +1 -1
  63. package/.agent/personas/architect.md +1 -1
  64. package/.agent/personas/auditor.md +1 -1
  65. package/.agent/personas/debugger.md +1 -1
  66. package/.agent/personas/developer.md +1 -1
  67. package/.agent/personas/devops.md +1 -1
  68. package/.agent/personas/documenter.md +1 -1
  69. package/.agent/personas/orchestrator.md +1 -1
  70. package/.agent/personas/persona.schema.yaml +1 -1
  71. package/.agent/personas/planner.md +1 -1
  72. package/.agent/personas/researcher.md +1 -1
  73. package/.agent/personas/security.md +1 -1
  74. package/.agent/personas/tester.md +1 -1
  75. package/.agent/rules/README.md +1 -1
  76. package/.agent/rules/archive/constitutional/tier-0-core.yaml +5 -5
  77. package/.agent/rules/archive/constitutional/tier-1-safety.yaml +5 -5
  78. package/.agent/rules/archive/constitutional/tier-2-execution.yaml +6 -6
  79. package/.agent/rules/archive/context-management.yaml +1 -1
  80. package/.agent/rules/archive/duplication-prevention.md +1 -1
  81. package/.agent/rules/archive/evidence.yaml +1 -1
  82. package/.agent/rules/archive/project-detection.md +1 -1
  83. package/.agent/rules/archive/reflection.yaml +1 -1
  84. package/.agent/rules/archive/versioning.yaml +5 -5
  85. package/.agent/rules/data/build-systems.yaml +2 -2
  86. package/.agent/rules/modules/agent-delegation.yaml +2 -2
  87. package/.agent/rules/modules/edit-verification.yaml +1 -1
  88. package/.agent/rules/modules/git-workflow.yaml +1 -1
  89. package/.agent/rules/modules/language.yaml +1 -1
  90. package/.agent/rules/modules/online-research.yaml +1 -1
  91. package/.agent/rules/modules/performance-optimization.yaml +2 -2
  92. package/.agent/rules/modules/quality.yaml +1 -1
  93. package/.agent/rules/modules/stop-conditions.yaml +1 -1
  94. package/.agent/rules/modules/terminal-safety.yaml +1 -1
  95. package/.agent/rules/modules/yagni.yaml +1 -1
  96. package/.agent/rules/validation-framework.md +1 -1
  97. package/.agent/skills/README.md +1 -1
  98. package/.agent/skills/_categories.yaml +2 -2
  99. package/.agent/skills/ai-ml/rag-patterns/META.yaml +2 -0
  100. package/.agent/skills/core/api-design/META.yaml +1 -1
  101. package/.agent/skills/core/authentication/META.yaml +1 -1
  102. package/.agent/skills/core/error-handling/META.yaml +1 -1
  103. package/.agent/skills/core/logging/META.yaml +1 -1
  104. package/.agent/skills/core/observability/META.yaml +1 -1
  105. package/.agent/skills/core/security/META.yaml +1 -1
  106. package/.agent/skills/core/security/SKILL.md +1 -1
  107. package/.agent/skills/cross-cutting/accessibility/META.yaml +1 -1
  108. package/.agent/skills/cross-cutting/audit-pro/META.yaml +9 -1
  109. package/.agent/skills/cross-cutting/audit-pro/SKILL.md +61 -5
  110. package/.agent/skills/cross-cutting/bun/META.yaml +17 -8
  111. package/.agent/skills/cross-cutting/bun/SKILL.md +1 -1
  112. package/.agent/skills/cross-cutting/coding-rules/META.yaml +1 -1
  113. package/.agent/skills/cross-cutting/database/META.yaml +42 -1
  114. package/.agent/skills/cross-cutting/database/SKILL.md +44 -628
  115. package/.agent/skills/cross-cutting/database/references/nosql-patterns.md +194 -0
  116. package/.agent/skills/cross-cutting/database/references/orms-patterns.md +278 -0
  117. package/.agent/skills/cross-cutting/database/references/postgresql.md +144 -0
  118. package/.agent/skills/cross-cutting/deno/META.yaml +19 -10
  119. package/.agent/skills/cross-cutting/deno/SKILL.md +1 -1
  120. package/.agent/skills/cross-cutting/domyh-design/META.yaml +1 -1
  121. package/.agent/skills/cross-cutting/domyh-design/data/desktop-colors.yaml +1 -1
  122. package/.agent/skills/cross-cutting/electron/SKILL.md +15 -616
  123. package/.agent/skills/cross-cutting/electron/references/ipc-testing.md +114 -0
  124. package/.agent/skills/cross-cutting/electron/references/native-integrations.md +216 -0
  125. package/.agent/skills/cross-cutting/electron/references/performance-accessibility.md +118 -0
  126. package/.agent/skills/cross-cutting/electron/references/updates-persistence.md +165 -0
  127. package/.agent/skills/cross-cutting/seo/META.yaml +1 -1
  128. package/.agent/skills/cross-cutting/skill-creator/META.yaml +37 -0
  129. package/.agent/skills/cross-cutting/skill-creator/SKILL.md +163 -0
  130. package/.agent/skills/cross-cutting/skill-creator/references/patterns.md +58 -0
  131. package/.agent/skills/cross-cutting/skill-creator/references/schema-v2.md +44 -0
  132. package/.agent/skills/cross-cutting/sql/META.yaml +1 -1
  133. package/.agent/skills/cross-cutting/sql/SKILL.md +1 -1
  134. package/.agent/skills/cross-cutting/tailwind/META.yaml +1 -1
  135. package/.agent/skills/cross-cutting/tailwind/SKILL.md +1 -1
  136. package/.agent/skills/cross-cutting/tdd-workflow/META.yaml +1 -1
  137. package/.agent/skills/cross-cutting/testing/META.yaml +7 -1
  138. package/.agent/skills/cross-cutting/testing/SKILL.md +1 -1
  139. package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +1 -1
  140. package/.agent/skills/cross-cutting/web-perf/META.yaml +1 -1
  141. package/.agent/skills/cross-cutting/web-perf/SKILL.md +1 -1
  142. package/.agent/skills/devops/aws/META.yaml +1 -1
  143. package/.agent/skills/devops/aws/SKILL.md +101 -16
  144. package/.agent/skills/devops/azure/SKILL.md +96 -30
  145. package/.agent/skills/devops/ci-cd/META.yaml +1 -1
  146. package/.agent/skills/devops/ci-cd/SKILL.md +114 -8
  147. package/.agent/skills/devops/docker/META.yaml +1 -1
  148. package/.agent/skills/devops/docker/SKILL.md +96 -8
  149. package/.agent/skills/devops/gcp/SKILL.md +106 -30
  150. package/.agent/skills/devops/kubernetes/META.yaml +1 -1
  151. package/.agent/skills/devops/kubernetes/SKILL.md +125 -8
  152. package/.agent/skills/frameworks/angular/META.yaml +1 -1
  153. package/.agent/skills/frameworks/angular/SKILL.md +1 -1
  154. package/.agent/skills/frameworks/flutter/META.yaml +1 -1
  155. package/.agent/skills/frameworks/flutter/SKILL.md +1 -1
  156. package/.agent/skills/frameworks/nextjs/META.yaml +1 -1
  157. package/.agent/skills/frameworks/nextjs/SKILL.md +1 -1
  158. package/.agent/skills/frameworks/nuxt/META.yaml +1 -1
  159. package/.agent/skills/frameworks/nuxt/SKILL.md +1 -1
  160. package/.agent/skills/frameworks/react/META.yaml +1 -1
  161. package/.agent/skills/frameworks/react/SKILL.md +24 -1
  162. package/.agent/skills/frameworks/react-native/META.yaml +1 -1
  163. package/.agent/skills/frameworks/react-native/SKILL.md +1 -1
  164. package/.agent/skills/frameworks/svelte/META.yaml +1 -1
  165. package/.agent/skills/frameworks/svelte/SKILL.md +1 -1
  166. package/.agent/skills/frameworks/vue/META.yaml +1 -1
  167. package/.agent/skills/frameworks/vue/SKILL.md +1 -1
  168. package/.agent/skills/index.json +2 -2
  169. package/.agent/skills/languages/asm/META.yaml +1 -1
  170. package/.agent/skills/languages/asm/SKILL.md +27 -436
  171. package/.agent/skills/languages/asm/references/advanced-architectures.md +191 -0
  172. package/.agent/skills/languages/asm/references/build-structure.md +150 -0
  173. package/.agent/skills/languages/asm/references/simd-programming.md +92 -0
  174. package/.agent/skills/languages/c/META.yaml +1 -1
  175. package/.agent/skills/languages/c/SKILL.md +14 -356
  176. package/.agent/skills/languages/c/references/data-structures.md +63 -0
  177. package/.agent/skills/languages/c/references/memory-management.md +74 -0
  178. package/.agent/skills/languages/c/references/platform-headers.md +230 -0
  179. package/.agent/skills/languages/clojure/META.yaml +1 -1
  180. package/.agent/skills/languages/clojure/SKILL.md +1 -1
  181. package/.agent/skills/languages/cpp/META.yaml +1 -1
  182. package/.agent/skills/languages/cpp/SKILL.md +22 -753
  183. package/.agent/skills/languages/cpp/references/headers-optimization.md +229 -0
  184. package/.agent/skills/languages/cpp/references/memory-concurrency.md +85 -0
  185. package/.agent/skills/languages/cpp/references/modern-cpp-features.md +126 -0
  186. package/.agent/skills/languages/cpp/references/platform-headers.md +202 -0
  187. package/.agent/skills/languages/cpp/references/stl-containers.md +57 -0
  188. package/.agent/skills/languages/crystal/META.yaml +1 -1
  189. package/.agent/skills/languages/crystal/SKILL.md +1 -1
  190. package/.agent/skills/languages/csharp/META.yaml +1 -1
  191. package/.agent/skills/languages/csharp/SKILL.md +1 -1
  192. package/.agent/skills/languages/elixir/META.yaml +1 -1
  193. package/.agent/skills/languages/elixir/SKILL.md +1 -1
  194. package/.agent/skills/languages/fsharp/META.yaml +1 -1
  195. package/.agent/skills/languages/fsharp/SKILL.md +1 -1
  196. package/.agent/skills/languages/go/META.yaml +1 -1
  197. package/.agent/skills/languages/go/SKILL.md +1 -1
  198. package/.agent/skills/languages/haskell/META.yaml +1 -1
  199. package/.agent/skills/languages/haskell/SKILL.md +1 -1
  200. package/.agent/skills/languages/java/META.yaml +1 -1
  201. package/.agent/skills/languages/java/SKILL.md +1 -1
  202. package/.agent/skills/languages/javascript/META.yaml +1 -1
  203. package/.agent/skills/languages/javascript/SKILL.md +1 -1
  204. package/.agent/skills/languages/julia/META.yaml +1 -1
  205. package/.agent/skills/languages/julia/SKILL.md +1 -1
  206. package/.agent/skills/languages/kotlin/META.yaml +1 -1
  207. package/.agent/skills/languages/kotlin/SKILL.md +1 -1
  208. package/.agent/skills/languages/lua/META.yaml +1 -1
  209. package/.agent/skills/languages/lua/SKILL.md +3 -3
  210. package/.agent/skills/languages/nim/META.yaml +1 -1
  211. package/.agent/skills/languages/nim/SKILL.md +1 -1
  212. package/.agent/skills/languages/ocaml/META.yaml +1 -1
  213. package/.agent/skills/languages/ocaml/SKILL.md +1 -1
  214. package/.agent/skills/languages/perl/META.yaml +1 -1
  215. package/.agent/skills/languages/perl/SKILL.md +1 -1
  216. package/.agent/skills/languages/php/META.yaml +1 -1
  217. package/.agent/skills/languages/php/SKILL.md +1 -1
  218. package/.agent/skills/languages/python/META.yaml +1 -1
  219. package/.agent/skills/languages/python/SKILL.md +1 -1
  220. package/.agent/skills/languages/r/META.yaml +1 -1
  221. package/.agent/skills/languages/r/SKILL.md +1 -1
  222. package/.agent/skills/languages/ruby/META.yaml +1 -1
  223. package/.agent/skills/languages/ruby/SKILL.md +1 -1
  224. package/.agent/skills/languages/rust/META.yaml +1 -1
  225. package/.agent/skills/languages/rust/SKILL.md +1 -1
  226. package/.agent/skills/languages/scala/META.yaml +1 -1
  227. package/.agent/skills/languages/scala/SKILL.md +1 -1
  228. package/.agent/skills/languages/solidity/META.yaml +1 -1
  229. package/.agent/skills/languages/solidity/SKILL.md +1 -1
  230. package/.agent/skills/languages/swift/META.yaml +1 -1
  231. package/.agent/skills/languages/swift/SKILL.md +1 -1
  232. package/.agent/skills/languages/typescript/META.yaml +19 -1
  233. package/.agent/skills/languages/typescript/SKILL.md +23 -1
  234. package/.agent/skills/languages/zig/META.yaml +1 -1
  235. package/.agent/skills/languages/zig/SKILL.md +1 -1
  236. package/.agent/templates/README.md +2 -2
  237. package/.agent/templates/chains/feature/step1-requirements.md +76 -0
  238. package/.agent/templates/chains/feature/step2-design.md +75 -0
  239. package/.agent/templates/chains/feature/step3-planning.md +81 -0
  240. package/.agent/templates/chains/feature/step4-implementation.md +74 -0
  241. package/.agent/templates/chains/feature/step5-testing.md +81 -0
  242. package/.agent/templates/debug-report.md +1 -1
  243. package/.agent/templates/deploy-plan.md +1 -1
  244. package/.agent/templates/doc-template.md +1 -1
  245. package/.agent/templates/feature-lifecycle.md +53 -0
  246. package/.agent/templates/index.yaml +53 -2
  247. package/.agent/templates/migrate-plan.md +1 -1
  248. package/.agent/templates/phase-template.md +1 -1
  249. package/.agent/templates/tasks/audit.yaml +1 -1
  250. package/.agent/templates/tasks/bug_fix.yaml +1 -1
  251. package/.agent/templates/tasks/code_implementation.yaml +1 -1
  252. package/.agent/templates/tasks/feature_development.yaml +89 -0
  253. package/.agent/templates/tasks/refactor.yaml +1 -1
  254. package/.agent/templates/test-report.md +1 -1
  255. package/.agent/workflows/doctor.md +124 -0
  256. package/.agent/workflows/feature.md +130 -0
  257. package/.agent/workflows/help.md +7 -5
  258. package/dist/commands/install.js +1 -1
  259. package/dist/commands/install.js.map +1 -1
  260. package/dist/constants/ide-install-specs.js +30 -30
  261. package/dist/constants/ide-install-specs.js.map +1 -1
  262. package/dist/constants/ides.d.ts.map +1 -1
  263. package/dist/constants/ides.js +7 -5
  264. package/dist/constants/ides.js.map +1 -1
  265. package/dist/constants.d.ts +1 -1
  266. package/dist/constants.js +1 -1
  267. package/dist/types/ide-install.d.ts +1 -1
  268. package/dist/types/ide-install.d.ts.map +1 -1
  269. package/package.json +2 -2
@@ -2,6 +2,120 @@
2
2
 
3
3
  CI/CD pipeline patterns for GitHub Actions, GitLab CI, and GitOps. Includes SLSA Build Level 3, ARM64 runners, security scanning.
4
4
 
5
+ ## Decision Tree
6
+
7
+ ```
8
+ Task → What CI/CD platform?
9
+ ├─ GitHub Actions
10
+ │ ├─ Simple project → Single workflow file
11
+ │ ├─ Monorepo → Path filters + matrix
12
+ │ └─ Org-wide → Reusable workflows (workflow_call)
13
+ ├─ GitLab CI
14
+ │ ├─ Simple → .gitlab-ci.yml stages
15
+ │ └─ Multi-project → Pipeline triggers
16
+ └─ Deployment strategy
17
+ ├─ Simple → Push-to-deploy (main branch)
18
+ ├─ Staged → Environment promotion (dev → staging → prod)
19
+ ├─ Zero-downtime → Blue/green with health checks
20
+ └─ Risk-managed → Canary with progressive rollout
21
+ ```
22
+
23
+ ## Quick Start — GitHub Actions
24
+
25
+ ```yaml
26
+ # .github/workflows/ci.yml
27
+ name: CI
28
+ on:
29
+ push:
30
+ branches: [main]
31
+ pull_request:
32
+ branches: [main]
33
+
34
+ permissions:
35
+ contents: read
36
+
37
+ jobs:
38
+ build-test:
39
+ runs-on: ubuntu-latest
40
+ timeout-minutes: 15
41
+ steps:
42
+ - uses: actions/checkout@v4
43
+ - uses: actions/setup-node@v4
44
+ with:
45
+ node-version: 22
46
+ cache: "npm"
47
+ - run: npm ci
48
+ - run: npm run lint
49
+ - run: npm test
50
+ - run: npm run build
51
+
52
+ deploy:
53
+ needs: build-test
54
+ if: github.ref == 'refs/heads/main'
55
+ runs-on: ubuntu-latest
56
+ environment: production
57
+ permissions:
58
+ id-token: write # OIDC
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+ - uses: aws-actions/configure-aws-credentials@v4
62
+ with:
63
+ role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
64
+ aws-region: us-east-1
65
+ - run: npm ci && npm run build
66
+ - run: aws s3 sync dist/ s3://${{ vars.BUCKET }}
67
+ ```
68
+
69
+ ## Quick Start — Reusable Workflow
70
+
71
+ ```yaml
72
+ # .github/workflows/reusable-build.yml
73
+ name: Build
74
+ on:
75
+ workflow_call:
76
+ inputs:
77
+ node-version:
78
+ type: string
79
+ default: "22"
80
+ secrets:
81
+ NPM_TOKEN:
82
+ required: false
83
+
84
+ jobs:
85
+ build:
86
+ runs-on: ubuntu-latest
87
+ steps:
88
+ - uses: actions/checkout@v4
89
+ - uses: actions/setup-node@v4
90
+ with:
91
+ node-version: ${{ inputs.node-version }}
92
+ cache: npm
93
+ - run: npm ci
94
+ - run: npm run build
95
+ ```
96
+
97
+ ```yaml
98
+ # Caller workflow
99
+ jobs:
100
+ build:
101
+ uses: ./.github/workflows/reusable-build.yml
102
+ with:
103
+ node-version: "22"
104
+ ```
105
+
106
+ ## Security Best Practices
107
+
108
+ - [ ] Pin actions to full SHA: `uses: actions/checkout@abc123`
109
+ - [ ] Use OIDC for cloud auth (no long-lived secrets)
110
+ - [ ] Set `permissions` on job/workflow level (least privilege)
111
+ - [ ] Enable Dependabot for workflow dependency updates
112
+ - [ ] Add `timeout-minutes` on all jobs
113
+ - [ ] Use `continue-on-error: false` (default, be explicit)
114
+ - [ ] Cache dependencies to reduce build time
115
+ - [ ] Scan with CodeQL and dependency review
116
+ - [ ] Generate SBOM for supply chain security
117
+ - [ ] Use SLSA Level 3 attestation for artifacts
118
+
5
119
  ## Patterns (20 total)
6
120
 
7
121
  ### GitHub Actions (6)
@@ -36,14 +150,6 @@ CI/CD pipeline patterns for GitHub Actions, GitLab CI, and GitOps. Includes SLSA
36
150
  - GitOps with ArgoCD/Flux
37
151
  - Multi-environment promotion pipeline
38
152
 
39
- ## Best Practices
40
-
41
- - Pin actions to commit SHA (not tags)
42
- - Use OIDC for cloud provider auth (no long-lived secrets)
43
- - Cache dependencies (npm, pip, go modules)
44
- - Fail fast with `continue-on-error: false`
45
- - Set timeout-minutes on all jobs
46
-
47
153
  ## Data Files
48
154
 
49
155
  - `data/github-actions.yaml` — GitHub Actions patterns
@@ -1,5 +1,5 @@
1
1
  name: docker
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  category: infrastructure
4
4
  tier: 3
5
5
 
@@ -2,6 +2,102 @@
2
2
 
3
3
  Docker containerization patterns for builds, security, and deployment. Covers Compose v5, Hardened Images, Build Cloud, Bake.
4
4
 
5
+ ## Decision Tree
6
+
7
+ ```
8
+ Task → What are you building?
9
+ ├─ Development environment
10
+ │ ├─ Single service → Dockerfile + docker run
11
+ │ └─ Multi-service → docker-compose.yml
12
+ │ ├─ Hot reload → Compose watch
13
+ │ └─ DB included → services + healthcheck
14
+ ├─ Production image
15
+ │ ├─ Node.js → Multi-stage (builder → node:alpine)
16
+ │ ├─ Go → Multi-stage (builder → scratch/distroless)
17
+ │ ├─ Python → Multi-stage (builder → python:slim)
18
+ │ └─ Static site → Multi-stage (build → nginx:alpine)
19
+ └─ CI/CD
20
+ ├─ Multi-platform → Buildx (linux/amd64 + arm64)
21
+ └─ Complex builds → Docker Bake (HCL)
22
+ ```
23
+
24
+ ## Quick Start — Multi-Stage Build (Node.js)
25
+
26
+ ```dockerfile
27
+ # Stage 1: Build
28
+ FROM node:22-alpine AS builder
29
+ WORKDIR /app
30
+ COPY package*.json ./
31
+ RUN npm ci --only=production
32
+ COPY . .
33
+ RUN npm run build
34
+
35
+ # Stage 2: Production
36
+ FROM node:22-alpine
37
+ RUN addgroup -g 1001 -S appuser && adduser -u 1001 -S appuser -G appuser
38
+ WORKDIR /app
39
+ COPY --from=builder --chown=appuser:appuser /app/dist ./dist
40
+ COPY --from=builder --chown=appuser:appuser /app/node_modules ./node_modules
41
+ USER appuser
42
+ EXPOSE 3000
43
+ HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://localhost:3000/health || exit 1
44
+ CMD ["node", "dist/index.js"]
45
+ ```
46
+
47
+ ## Compose v5 — Dev Environment
48
+
49
+ ```yaml
50
+ # docker-compose.yml
51
+ services:
52
+ app:
53
+ build:
54
+ context: .
55
+ target: builder # Use builder stage for dev
56
+ volumes:
57
+ - .:/app
58
+ - /app/node_modules # Anonymous volume (don't mount)
59
+ ports:
60
+ - "3000:3000"
61
+ depends_on:
62
+ db:
63
+ condition: service_healthy
64
+ develop:
65
+ watch:
66
+ - action: sync
67
+ path: ./src
68
+ target: /app/src
69
+ - action: rebuild
70
+ path: package.json
71
+
72
+ db:
73
+ image: postgres:17-alpine
74
+ environment:
75
+ POSTGRES_PASSWORD: ${DB_PASS:-dev}
76
+ POSTGRES_DB: myapp
77
+ volumes:
78
+ - pgdata:/var/lib/postgresql/data
79
+ healthcheck:
80
+ test: ["CMD-SHELL", "pg_isready -U postgres"]
81
+ interval: 5s
82
+ retries: 5
83
+
84
+ volumes:
85
+ pgdata:
86
+ ```
87
+
88
+ ## Security Hardening Checklist
89
+
90
+ - [ ] Use specific image tags (never `:latest` in production)
91
+ - [ ] Run as non-root user (`USER 1001`)
92
+ - [ ] Use `COPY` instead of `ADD`
93
+ - [ ] Add `.dockerignore` (exclude `.git`, `node_modules`, `.env`)
94
+ - [ ] Use distroless/chainguard base images for production
95
+ - [ ] Scan with Docker Scout: `docker scout quickview`
96
+ - [ ] Sign images with cosign
97
+ - [ ] Set resource limits: `--memory=512m --cpus=1`
98
+ - [ ] Use `--init` flag for proper signal handling
99
+ - [ ] Order Dockerfile instructions for cache optimization
100
+
5
101
  ## Patterns (18 total)
6
102
 
7
103
  ### Build (5)
@@ -34,14 +130,6 @@ Docker containerization patterns for builds, security, and deployment. Covers Co
34
130
  - Logging drivers configuration
35
131
  - Container networking (bridge, host, overlay)
36
132
 
37
- ## Best Practices
38
-
39
- - Use specific image tags (never `latest` in production)
40
- - Order Dockerfile instructions for cache optimization
41
- - Use `.dockerignore` to reduce build context
42
- - Run as non-root user (`USER 1001`)
43
- - Use COPY instead of ADD (explicit behavior)
44
-
45
133
  ## Data Files
46
134
 
47
135
  - `data/dockerfile.yaml` — Dockerfile patterns
@@ -1,43 +1,119 @@
1
- # Google Cloud Platform
1
+ # GCP Cloud Services
2
2
 
3
- > Cloud Run Cloud Functions BigQuery • Firestore
3
+ Google Cloud Platform patterns for compute, data, and AI/ML. Covers Cloud Run, GKE, Cloud Functions, Firestore, Vertex AI.
4
4
 
5
- ---
5
+ ## Decision Tree
6
6
 
7
- ## Khi Nào Dùng
8
-
9
- - Deploy containerized apps (Cloud Run)
10
- - Serverless functions (Cloud Functions)
11
- - Big data analytics (BigQuery)
12
-
13
- ## Service Selection
14
-
15
- | Service | Type | Best For |
16
- | ------------------- | ---------------------- | --------------------- |
17
- | **Cloud Run** | Serverless containers | APIs, web apps |
18
- | **Cloud Functions** | Event-driven functions | Webhooks, triggers |
19
- | **GKE** | Managed K8s | Complex microservices |
20
- | **BigQuery** | Data warehouse | Analytics, ML |
21
- | **Firestore** | NoSQL document DB | Real-time apps |
22
- | **Cloud SQL** | Managed SQL | Relational data |
7
+ ```
8
+ Task → What are you deploying?
9
+ ├─ Web API / Microservice
10
+ │ ├─ Stateless container Cloud Run (serverless)
11
+ │ ├─ Event-driven Cloud Functions (2nd gen)
12
+ │ └─ Complex orchestration → GKE Autopilot
13
+ ├─ Static website
14
+ │ └─ Cloud Storage + Cloud CDN + Load Balancer
15
+ ├─ Database
16
+ │ ├─ Relational Cloud SQL (PostgreSQL/MySQL)
17
+ │ ├─ Global NoSQL Firestore
18
+ │ ├─ Wide column Bigtable
19
+ │ └─ Analytics BigQuery
20
+ ├─ AI/ML
21
+ │ ├─ Gemini models Vertex AI
22
+ │ ├─ Custom training Vertex AI Training
23
+ │ └─ Vector search → Vertex AI Vector Search
24
+ └─ DevOps
25
+ ├─ CI/CD → Cloud Build or GitHub Actions
26
+ └─ IaC → Terraform (recommended) or Pulumi
27
+ ```
23
28
 
24
- ## Cloud Run Quick Start
29
+ ## Quick Start — Cloud Run
25
30
 
26
31
  ```bash
27
- gcloud run deploy my-service \
32
+ # Build + deploy in one step
33
+ gcloud run deploy myapp \
28
34
  --source . \
29
35
  --region us-central1 \
30
- --allow-unauthenticated
36
+ --allow-unauthenticated \
37
+ --min-instances 0 \
38
+ --max-instances 10 \
39
+ --memory 512Mi \
40
+ --cpu 1
41
+ ```
42
+
43
+ ## Quick Start — Vertex AI (Gemini)
44
+
45
+ ```python
46
+ import vertexai
47
+ from vertexai.generative_models import GenerativeModel
48
+
49
+ vertexai.init(project="my-project", location="us-central1")
50
+ model = GenerativeModel("gemini-2.0-flash")
51
+
52
+ response = model.generate_content("Hello, Gemini!")
53
+ print(response.text)
31
54
  ```
32
55
 
33
- ## Common Traps
56
+ ## Quick Start — Firestore
57
+
58
+ ```typescript
59
+ import { initializeApp } from "firebase-admin/app";
60
+ import { getFirestore } from "firebase-admin/firestore";
61
+
62
+ initializeApp();
63
+ const db = getFirestore();
64
+
65
+ // Write
66
+ await db.collection("users").doc("user1").set({
67
+ name: "Alice",
68
+ email: "alice@example.com",
69
+ });
70
+
71
+ // Read with real-time listener
72
+ db.collection("users").onSnapshot((snapshot) => {
73
+ snapshot.docChanges().forEach((change) => {
74
+ console.log(change.type, change.doc.data());
75
+ });
76
+ });
77
+ ```
78
+
79
+ ## Patterns (22 total)
80
+
81
+ ### Compute (5)
82
+
83
+ - Cloud Run multi-container, jobs, services
84
+ - Cloud Functions 2nd gen (event-driven)
85
+ - GKE Autopilot (managed K8s)
86
+ - Compute Engine (VMs) with MIGs
87
+ - Cloud Tasks for async processing
88
+
89
+ ### Data (6)
90
+
91
+ - BigQuery (analytics, ML, streaming)
92
+ - Firestore (real-time, offline sync)
93
+ - Cloud SQL with IAM auth
94
+ - Memorystore (Redis/Valkey)
95
+ - Pub/Sub for messaging
96
+ - Cloud Storage lifecycle policies
97
+
98
+ ### AI (5)
99
+
100
+ - Vertex AI Gemini 2.0 integration
101
+ - Vertex AI Vector Search
102
+ - Custom model training + endpoints
103
+ - Agent Builder
104
+ - Document AI
105
+
106
+ ### Infrastructure (6)
34
107
 
35
- | Trap | Fix |
36
- | -------------- | -------------------------------------- |
37
- | Cold starts | Min instances, Cloud Run always-on |
38
- | IAM complexity | Use workload identity, least privilege |
39
- | Cost spike | Budget alerts, quotas |
108
+ - Terraform modules for GCP
109
+ - Cloud Build CI/CD pipelines
110
+ - Workload Identity Federation
111
+ - Secret Manager
112
+ - Cloud Armor (WAF)
113
+ - VPC Service Controls
40
114
 
41
- ---
115
+ ## Data Files
42
116
 
43
- _DOMYH Awesome Code GCP Skill v1.0.0_
117
+ - `data/compute.yaml` Cloud Run, Functions, GKE patterns
118
+ - `data/data.yaml` — BigQuery, Firestore, Pub/Sub patterns
119
+ - `data/ai.yaml` — Vertex AI, Gemini patterns
@@ -1,5 +1,5 @@
1
1
  name: kubernetes
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  category: infrastructure
4
4
  tier: 3
5
5
 
@@ -2,6 +2,131 @@
2
2
 
3
3
  Kubernetes orchestration patterns for K8s 1.32-1.33+. Covers Gateway API, Sidecar Containers, Kueue, Pod Security.
4
4
 
5
+ ## Decision Tree
6
+
7
+ ```
8
+ Task → What are you deploying to K8s?
9
+ ├─ Stateless web app
10
+ │ ├─ Simple → Deployment + Service + Ingress
11
+ │ └─ Advanced → Deployment + Gateway API (HTTPRoute)
12
+ ├─ Stateful service (database, cache)
13
+ │ └─ StatefulSet + PersistentVolumeClaim
14
+ ├─ Background job
15
+ │ ├─ One-time → Job with backoffLimit
16
+ │ ├─ Scheduled → CronJob
17
+ │ └─ Queued → Kueue (fair scheduling)
18
+ ├─ Networking
19
+ │ ├─ Modern → Gateway API (HTTPRoute, GRPCRoute)
20
+ │ └─ Legacy → Ingress (nginx/traefik)
21
+ └─ Package management
22
+ ├─ Templating → Helm charts
23
+ └─ Patching → Kustomize overlays
24
+ ```
25
+
26
+ ## Quick Start — Deployment + Service
27
+
28
+ ```yaml
29
+ # deployment.yaml
30
+ apiVersion: apps/v1
31
+ kind: Deployment
32
+ metadata:
33
+ name: myapp
34
+ labels:
35
+ app: myapp
36
+ spec:
37
+ replicas: 3
38
+ strategy:
39
+ type: RollingUpdate
40
+ rollingUpdate:
41
+ maxSurge: 1
42
+ maxUnavailable: 0 # Zero-downtime
43
+ selector:
44
+ matchLabels:
45
+ app: myapp
46
+ template:
47
+ metadata:
48
+ labels:
49
+ app: myapp
50
+ spec:
51
+ securityContext:
52
+ runAsNonRoot: true
53
+ seccompProfile:
54
+ type: RuntimeDefault
55
+ containers:
56
+ - name: myapp
57
+ image: myapp:1.0.0
58
+ ports:
59
+ - containerPort: 3000
60
+ resources:
61
+ requests:
62
+ cpu: 100m
63
+ memory: 128Mi
64
+ limits:
65
+ cpu: 500m
66
+ memory: 512Mi
67
+ readinessProbe:
68
+ httpGet:
69
+ path: /health
70
+ port: 3000
71
+ initialDelaySeconds: 5
72
+ periodSeconds: 10
73
+ livenessProbe:
74
+ httpGet:
75
+ path: /health
76
+ port: 3000
77
+ initialDelaySeconds: 15
78
+ periodSeconds: 20
79
+ ---
80
+ apiVersion: v1
81
+ kind: Service
82
+ metadata:
83
+ name: myapp
84
+ spec:
85
+ selector:
86
+ app: myapp
87
+ ports:
88
+ - port: 80
89
+ targetPort: 3000
90
+ type: ClusterIP
91
+ ```
92
+
93
+ ## Quick Start — Gateway API
94
+
95
+ ```yaml
96
+ # gateway.yaml
97
+ apiVersion: gateway.networking.k8s.io/v1
98
+ kind: HTTPRoute
99
+ metadata:
100
+ name: myapp-route
101
+ spec:
102
+ parentRefs:
103
+ - name: main-gateway
104
+ hostnames:
105
+ - "api.example.com"
106
+ rules:
107
+ - matches:
108
+ - path:
109
+ type: PathPrefix
110
+ value: /api
111
+ backendRefs:
112
+ - name: myapp
113
+ port: 80
114
+ weight: 100
115
+ ```
116
+
117
+ ## Production Checklist
118
+
119
+ - [ ] Set `requests` AND `limits` on all containers
120
+ - [ ] Add `readinessProbe` and `livenessProbe`
121
+ - [ ] Use `PodDisruptionBudget` (minAvailable: 1)
122
+ - [ ] Apply `Pod Security Standards` (restricted)
123
+ - [ ] Set `securityContext.runAsNonRoot: true`
124
+ - [ ] Use `Namespace` isolation for multi-tenancy
125
+ - [ ] Configure `NetworkPolicy` for pod-to-pod isolation
126
+ - [ ] Enable `HorizontalPodAutoscaler` for scaling
127
+ - [ ] Use `topologySpreadConstraints` across zones
128
+ - [ ] Implement `startupProbe` for slow-starting apps
129
+
5
130
  ## Patterns (20 total)
6
131
 
7
132
  ### Networking (5)
@@ -36,14 +161,6 @@ Kubernetes orchestration patterns for K8s 1.32-1.33+. Covers Gateway API, Sideca
36
161
  - Priority classes for preemption
37
162
  - Cluster autoscaler configuration
38
163
 
39
- ## Best Practices
40
-
41
- - Use Namespace isolation for multi-tenancy
42
- - Set resource requests AND limits on all containers
43
- - Use PodDisruptionBudget for high availability
44
- - Enable audit logging for security compliance
45
- - Use Helm or Kustomize for reproducible deployments
46
-
47
164
  ## Data Files
48
165
 
49
166
  - `data/gateway-api.yaml` — Gateway API patterns
@@ -1,5 +1,5 @@
1
1
  name: angular
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "Angular Patterns"
4
4
  category: frontend
5
5
  tier: 1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: angular
3
3
  detect: ["angular.json", "*.component.ts", "@angular/core"]
4
- version: "6.2.6"
4
+ version: "6.2.7"
5
5
  category: frontend
6
6
  tier: 1
7
7
  ---
@@ -1,5 +1,5 @@
1
1
  name: flutter
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "Flutter & Dart Patterns"
4
4
  category: mobile
5
5
  tier: 1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: flutter
3
3
  detect: ["pubspec.yaml", "*.dart", "lib/main.dart", "analysis_options.yaml"]
4
- version: "6.2.6"
4
+ version: "6.2.7"
5
5
  category: mobile
6
6
  tier: 1
7
7
  ---
@@ -1,5 +1,5 @@
1
1
  name: nextjs
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "Next.js Patterns"
4
4
  category: frontend
5
5
  tier: 1
@@ -2,7 +2,7 @@
2
2
  name: nextjs
3
3
  detect:
4
4
  ["next.config.js", "next.config.mjs", "next.config.ts", "app/layout.tsx"]
5
- version: "6.2.6"
5
+ version: "6.2.7"
6
6
  category: frontend
7
7
  tier: 1
8
8
  ---
@@ -1,5 +1,5 @@
1
1
  name: nuxt
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "Nuxt Framework Patterns"
4
4
  category: frontend
5
5
  tier: 1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: nuxt
3
3
  detect: ["nuxt.config.ts", "nuxt.config.js", ".nuxtrc", "app.vue"]
4
- version: "6.2.6"
4
+ version: "6.2.7"
5
5
  category: frontend
6
6
  tier: 1
7
7
  ---
@@ -1,5 +1,5 @@
1
1
  name: react
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "React Patterns"
4
4
  category: frontend
5
5
  tier: 1
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: react
3
3
  detect: ["package.json:react", "*.jsx", "*.tsx", "vite.config.ts"]
4
- version: "6.2.6"
4
+ version: "6.2.7"
5
5
  category: frontend
6
6
  tier: 1
7
7
  ---
@@ -13,6 +13,29 @@ tier: 1
13
13
 
14
14
  ---
15
15
 
16
+ ## Decision Tree
17
+
18
+ ```
19
+ Task → What React pattern?
20
+ ├─ Component design
21
+ │ ├─ List/forms → Server Components (RSC)
22
+ │ ├─ Interactive → Client Component ('use client')
23
+ │ └─ Layout → Composition pattern (children)
24
+ ├─ State management
25
+ │ ├─ Local → useState / useReducer
26
+ │ ├─ Shared (small) → Context + useReducer
27
+ │ ├─ Complex → Zustand (simple) / Jotai (atomic)
28
+ │ └─ Server → TanStack Query / SWR
29
+ ├─ Data fetching
30
+ │ ├─ Server → use() + fetch in RSC
31
+ │ ├─ Client → TanStack Query
32
+ │ └─ Forms → Server Actions + useActionState
33
+ └─ Rendering
34
+ ├─ SEO needed → Next.js SSR/SSG
35
+ ├─ SPA → Vite + React Router
36
+ └─ Static → Astro + React islands
37
+ ```
38
+
16
39
  ## 🎯 When to Use This Skill
17
40
 
18
41
  Use for: React SPAs, component libraries, client-side apps.
@@ -1,5 +1,5 @@
1
1
  name: react-native
2
- version: "6.2.6"
2
+ version: "6.2.7"
3
3
  display: "React Native Patterns"
4
4
  category: mobile
5
5
  tier: 1