bobo-ai-cli 3.0.3 → 3.0.5

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 (238) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +259 -259
  3. package/bundled-skills/CORE_SKILLS.txt +18 -18
  4. package/bundled-skills/backend-expert/SKILL.md +97 -97
  5. package/bundled-skills/code-review/SKILL.md +280 -280
  6. package/bundled-skills/code-review-expert/SKILL.md +85 -85
  7. package/bundled-skills/context-budget-analyzer/SKILL.md +76 -76
  8. package/bundled-skills/context-compressor/SKILL.md +75 -75
  9. package/bundled-skills/context-optimization-suite/SKILL.md +162 -162
  10. package/bundled-skills/frontend-expert/SKILL.md +93 -93
  11. package/bundled-skills/github/SKILL.md +12 -12
  12. package/bundled-skills/high-agency/SKILL.md +473 -473
  13. package/bundled-skills/high-agency/references/builder-patterns.md +126 -126
  14. package/bundled-skills/high-agency/references/recovery-playbook.md +298 -298
  15. package/bundled-skills/memory-manager/SKILL.md +214 -214
  16. package/bundled-skills/memory-manager/references/advanced-config.md +65 -65
  17. package/bundled-skills/orchestrator/SKILL.md +681 -681
  18. package/bundled-skills/planning-with-files/SKILL.md +193 -193
  19. package/bundled-skills/skill-creator/SKILL.md +220 -220
  20. package/bundled-skills/testing-expert/SKILL.md +99 -99
  21. package/bundled-skills/verify/SKILL.md +15 -15
  22. package/dist/agent.d.ts +5 -0
  23. package/dist/agent.js +11 -1
  24. package/dist/agent.js.map +1 -1
  25. package/dist/agents/catalog.d.ts +47 -0
  26. package/dist/agents/catalog.js +63 -5
  27. package/dist/agents/catalog.js.map +1 -1
  28. package/dist/agents/router.d.ts +12 -1
  29. package/dist/agents/router.js +43 -3
  30. package/dist/agents/router.js.map +1 -1
  31. package/dist/agents/spawn.js +36 -18
  32. package/dist/agents/spawn.js.map +1 -1
  33. package/dist/autonomous.js +5 -5
  34. package/dist/cli.js +23 -21
  35. package/dist/cli.js.map +1 -1
  36. package/dist/compactor.js +39 -39
  37. package/dist/dream.js +29 -29
  38. package/dist/image-input.d.ts +44 -0
  39. package/dist/image-input.js +161 -0
  40. package/dist/image-input.js.map +1 -0
  41. package/dist/memory.js +13 -13
  42. package/dist/project.js +15 -15
  43. package/dist/repl.js +88 -0
  44. package/dist/repl.js.map +1 -1
  45. package/dist/skills.js +54 -54
  46. package/dist/sub-agents.js +65 -65
  47. package/dist/tools/browser.js +21 -21
  48. package/dist/tools/claude-code.js +10 -10
  49. package/dist/web.js +7 -7
  50. package/dist/wiki-commands.d.ts +2 -0
  51. package/dist/wiki-commands.js +249 -0
  52. package/dist/wiki-commands.js.map +1 -0
  53. package/dist/wiki.d.ts +90 -0
  54. package/dist/wiki.js +614 -0
  55. package/dist/wiki.js.map +1 -0
  56. package/knowledge/advanced-patterns.md +70 -70
  57. package/knowledge/agent-directives.md +74 -74
  58. package/knowledge/api-integration-patterns.md +102 -0
  59. package/knowledge/code-review-protocol.md +69 -0
  60. package/knowledge/dream.md +36 -36
  61. package/knowledge/engineering.md +52 -46
  62. package/knowledge/error-catalog.md +38 -33
  63. package/knowledge/event-driven-architecture.md +43 -0
  64. package/knowledge/external-alignment.md +47 -0
  65. package/knowledge/high-agency.md +73 -0
  66. package/knowledge/image-generation.md +48 -0
  67. package/knowledge/index.json +194 -169
  68. package/knowledge/llm-wiki-pattern.md +71 -0
  69. package/knowledge/long-task-management.md +79 -0
  70. package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -102
  71. package/knowledge/memory/engineering-patterns.md +134 -134
  72. package/knowledge/memory/feedback_root_structure.md +15 -15
  73. package/knowledge/memory/project-contexts.md +69 -69
  74. package/knowledge/memory/tools-and-services.md +85 -85
  75. package/knowledge/memory-management.md +72 -0
  76. package/knowledge/rules/advisor-strategy.md +204 -0
  77. package/knowledge/rules/agents.md +62 -62
  78. package/knowledge/rules/blocking-rules.md +323 -323
  79. package/knowledge/rules/cache-management.md +379 -379
  80. package/knowledge/rules/capability-evolution.md +132 -132
  81. package/knowledge/rules/coding.md +126 -126
  82. package/knowledge/rules/engineering-workflows.md +225 -225
  83. package/knowledge/rules/evomap-content-guidelines.md +354 -354
  84. package/knowledge/rules/evomap-guide.md +224 -224
  85. package/knowledge/rules/external-alignment.md +22 -0
  86. package/knowledge/rules/git.md +31 -31
  87. package/knowledge/rules/hooks.md +106 -106
  88. package/knowledge/rules/performance.md +101 -101
  89. package/knowledge/rules/remotion-auto-production.md +1120 -1120
  90. package/knowledge/rules/security.md +46 -46
  91. package/knowledge/rules/testing.md +32 -32
  92. package/knowledge/rules/work-mode.md +208 -208
  93. package/knowledge/rules.md +62 -62
  94. package/knowledge/self-evolution.md +78 -0
  95. package/knowledge/self-rationalization-guard.md +52 -0
  96. package/knowledge/skills/Skill_Seekers.md +1722 -1722
  97. package/knowledge/skills/ab-test-setup.md +557 -557
  98. package/knowledge/skills/agent-sdk-dev.md +238 -238
  99. package/knowledge/skills/agent-tools.md +136 -136
  100. package/knowledge/skills/analytics-tracking.md +597 -597
  101. package/knowledge/skills/artifacts-builder.md +89 -89
  102. package/knowledge/skills/asana.md +12 -12
  103. package/knowledge/skills/backend-expert.md +97 -97
  104. package/knowledge/skills/brand-voice.md +481 -481
  105. package/knowledge/skills/browser-use.md +419 -419
  106. package/knowledge/skills/cache-optimization-skill.md +179 -179
  107. package/knowledge/skills/canvas-design.md +147 -147
  108. package/knowledge/skills/citation-validator.md +203 -203
  109. package/knowledge/skills/clangd-lsp.md +52 -52
  110. package/knowledge/skills/code-review-expert.md +85 -85
  111. package/knowledge/skills/code-review.md +280 -280
  112. package/knowledge/skills/code-simplifier.md +12 -12
  113. package/knowledge/skills/commit-commands.md +258 -258
  114. package/knowledge/skills/competitor-alternatives.md +795 -795
  115. package/knowledge/skills/content-atomizer.md +910 -910
  116. package/knowledge/skills/content-research-writer.md +605 -605
  117. package/knowledge/skills/context-optimization-suite.md +162 -162
  118. package/knowledge/skills/context7.md +12 -12
  119. package/knowledge/skills/copy-editing.md +494 -494
  120. package/knowledge/skills/copywriting.md +510 -510
  121. package/knowledge/skills/csharp-lsp.md +40 -40
  122. package/knowledge/skills/decision-making-framework.md +154 -154
  123. package/knowledge/skills/developer-growth-analysis.md +335 -335
  124. package/knowledge/skills/direct-response-copy.md +2336 -2336
  125. package/knowledge/skills/docker-expert.md +229 -229
  126. package/knowledge/skills/document-skills.md +12 -12
  127. package/knowledge/skills/documentation-expert.md +126 -126
  128. package/knowledge/skills/email-sequence.md +1061 -1061
  129. package/knowledge/skills/email-sequences.md +910 -910
  130. package/knowledge/skills/example-plugin.md +72 -72
  131. package/knowledge/skills/explanatory-output-style.md +82 -82
  132. package/knowledge/skills/feature-dev.md +458 -458
  133. package/knowledge/skills/file-organizer.md +466 -466
  134. package/knowledge/skills/firebase.disabled.md +12 -12
  135. package/knowledge/skills/form-cro.md +488 -488
  136. package/knowledge/skills/free-tool-strategy.md +636 -636
  137. package/knowledge/skills/frontend-design-offical.md +55 -55
  138. package/knowledge/skills/frontend-design.md +41 -41
  139. package/knowledge/skills/frontend-expert.md +93 -93
  140. package/knowledge/skills/github.md +12 -12
  141. package/knowledge/skills/gitlab.md +12 -12
  142. package/knowledge/skills/gopls-lsp.md +32 -32
  143. package/knowledge/skills/got-controller.md +218 -218
  144. package/knowledge/skills/greptile.md +72 -72
  145. package/knowledge/skills/hookify.md +376 -376
  146. package/knowledge/skills/image-editor.md +189 -189
  147. package/knowledge/skills/image-enhancer.md +109 -109
  148. package/knowledge/skills/jdtls-lsp.md +49 -49
  149. package/knowledge/skills/json-canvas.md +654 -654
  150. package/knowledge/skills/keyword-research.md +559 -559
  151. package/knowledge/skills/kotlin-lsp.md +28 -28
  152. package/knowledge/skills/laravel-boost.md +12 -12
  153. package/knowledge/skills/launch-strategy.md +394 -394
  154. package/knowledge/skills/lead-magnet.md +393 -393
  155. package/knowledge/skills/learning-output-style.md +106 -106
  156. package/knowledge/skills/linear.md +12 -12
  157. package/knowledge/skills/lua-lsp.md +47 -47
  158. package/knowledge/skills/marketing-ideas.md +720 -720
  159. package/knowledge/skills/marketing-psychology.md +534 -534
  160. package/knowledge/skills/mcp-builder.md +369 -369
  161. package/knowledge/skills/meeting-insights-analyzer.md +347 -347
  162. package/knowledge/skills/memory-evolution-system.md +172 -172
  163. package/knowledge/skills/multi-lens-thinking.md +407 -407
  164. package/knowledge/skills/nano-banana-pro.md +116 -116
  165. package/knowledge/skills/newsletter.md +736 -736
  166. package/knowledge/skills/notebooklm.md +296 -296
  167. package/knowledge/skills/obsidian-bases.md +634 -634
  168. package/knowledge/skills/obsidian-markdown.md +651 -651
  169. package/knowledge/skills/onboarding-cro.md +494 -494
  170. package/knowledge/skills/orchestrator.md +681 -681
  171. package/knowledge/skills/page-cro.md +379 -379
  172. package/knowledge/skills/paid-ads.md +624 -624
  173. package/knowledge/skills/paywall-upgrade-cro.md +651 -651
  174. package/knowledge/skills/php-lsp.md +36 -36
  175. package/knowledge/skills/planning-with-files.md +193 -193
  176. package/knowledge/skills/playwright.md +12 -12
  177. package/knowledge/skills/plugin-dev.md +434 -434
  178. package/knowledge/skills/popup-cro.md +520 -520
  179. package/knowledge/skills/positioning-angles.md +330 -330
  180. package/knowledge/skills/pr-review-toolkit.md +359 -359
  181. package/knowledge/skills/pricing-strategy.md +777 -777
  182. package/knowledge/skills/programmatic-seo.md +714 -714
  183. package/knowledge/skills/pyright-lsp.md +43 -43
  184. package/knowledge/skills/quality-assurance-framework.md +168 -168
  185. package/knowledge/skills/question-refiner.md +160 -160
  186. package/knowledge/skills/ralph-loop.md +205 -205
  187. package/knowledge/skills/refactoring-expert.md +103 -103
  188. package/knowledge/skills/referral-program.md +668 -668
  189. package/knowledge/skills/research-executor.md +164 -164
  190. package/knowledge/skills/review-with-security.md +12 -12
  191. package/knowledge/skills/rust-analyzer-lsp.md +50 -50
  192. package/knowledge/skills/schema-markup.md +647 -647
  193. package/knowledge/skills/security-audit-expert.md +124 -124
  194. package/knowledge/skills/security-expert.md +140 -140
  195. package/knowledge/skills/security-guidance.md +12 -12
  196. package/knowledge/skills/seedance-prompt.md +139 -139
  197. package/knowledge/skills/self-evolution.md +1160 -1160
  198. package/knowledge/skills/seo-audit.md +432 -432
  199. package/knowledge/skills/seo-content.md +787 -787
  200. package/knowledge/skills/serena.md +12 -12
  201. package/knowledge/skills/signup-flow-cro.md +409 -409
  202. package/knowledge/skills/skill-creator.md +220 -220
  203. package/knowledge/skills/skill-manager.md +226 -226
  204. package/knowledge/skills/skill-share.md +98 -98
  205. package/knowledge/skills/slack.md +12 -12
  206. package/knowledge/skills/social-content.md +878 -878
  207. package/knowledge/skills/spec-flow-skill.md +124 -124
  208. package/knowledge/skills/stripe.md +12 -12
  209. package/knowledge/skills/supabase.md +12 -12
  210. package/knowledge/skills/swift-lsp.md +40 -40
  211. package/knowledge/skills/synthesizer.md +236 -236
  212. package/knowledge/skills/template-skill.md +16 -16
  213. package/knowledge/skills/testing-expert.md +99 -99
  214. package/knowledge/skills/theme-factory.md +72 -72
  215. package/knowledge/skills/tiktok-research.md +208 -208
  216. package/knowledge/skills/typescript-lsp.md +36 -36
  217. package/knowledge/skills/ui-ux-pro-max.md +247 -247
  218. package/knowledge/skills/verify.md +15 -15
  219. package/knowledge/skills/visual-prompt-engineer.md +102 -102
  220. package/knowledge/skills/webapp-testing.md +111 -111
  221. package/knowledge/skills/wide-research.md +191 -191
  222. package/knowledge/system.md +93 -93
  223. package/knowledge/task-router.md +46 -37
  224. package/knowledge/verification.md +38 -38
  225. package/knowledge/worker-prompt-craft.md +66 -0
  226. package/knowledge/workflows/3d-viz.md +47 -47
  227. package/knowledge/workflows/data-pipeline.md +47 -47
  228. package/knowledge/workflows/db-migration.md +51 -51
  229. package/knowledge/workflows/feature-dev.md +41 -41
  230. package/knowledge/workflows/tdd-flow.md +52 -52
  231. package/knowledge/workflows/ui-verify.md +51 -51
  232. package/package.json +74 -74
  233. package/dist/claude-bridge.d.ts +0 -18
  234. package/dist/claude-bridge.js +0 -91
  235. package/dist/claude-bridge.js.map +0 -1
  236. package/dist/tools/claude-bridge-tool.d.ts +0 -4
  237. package/dist/tools/claude-bridge-tool.js +0 -44
  238. package/dist/tools/claude-bridge-tool.js.map +0 -1
@@ -1,229 +1,229 @@
1
- ---
2
- id: "docker-expert"
3
- title: "Docker 专家"
4
- category: "infrastructure"
5
- tags: ["docker 专家", "触发时机", "执行流程", "docker 环境检测", "项目结构分析", "容器状态", "构建验证", "安全扫描", "compose 验证", "核心专业领域"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/docker-expert"
9
- ---
10
-
11
- ---
12
- name: docker-expert
13
- description: Docker 容器化专家技能。当用户说 "帮我优化 Dockerfile"、"Docker 容器有问题"、"帮我写 docker-compose"、"镜像太大了"、"容器安全加固"、"部署到 Docker"、"容器启动失败"、"Docker 网络问题" 时使用此技能。提供多阶段构建、镜像优化、安全加固、Compose 编排、CI/CD 集成等专业知识。
14
- category: devops
15
- color: blue
16
- displayName: Docker 专家
17
- version: 2.1.0
18
- ---
19
-
20
- # Docker 专家
21
-
22
- Docker 容器化专家,融合 5 个优秀 Docker 技能的精华,专注于容器优化、安全加固、多阶段构建、编排模式和生产部署策略。
23
-
24
- ## 触发时机
25
-
26
- 以下场景调用此技能:
27
-
28
- - Dockerfile 优化和多阶段构建
29
- - 容器安全问题和加固
30
- - Docker Compose 编排配置
31
- - 镜像体积过大问题
32
- - 容器网络和服务发现
33
- - 开发环境容器化
34
- - CI/CD 流水线集成
35
- - 容器故障排除
36
-
37
- ## 执行流程
38
-
39
- ### 0. 范围检测
40
-
41
- 超出 Docker 范围时,提示切换专家并停止:
42
-
43
- - Kubernetes 编排(Pod、Service、Ingress)→ 切换 kubernetes-expert
44
- - CI/CD 流水线问题 → 切换 github-actions-expert
45
- - 云服务容器(ECS/Fargate/Cloud Run)→ 切换 devops-expert
46
- - 数据库容器化(复杂持久化)→ 切换 database-expert
47
-
48
- 输出示例:
49
- "这需要 Kubernetes 编排专业知识。请调用 kubernetes-expert。在此停止。"
50
-
51
- ### 1. 环境分析
52
-
53
- 优先使用内置工具(Read、Grep、Glob),Shell 命令作为备选。
54
-
55
- ```bash
56
- # Docker 环境检测
57
- docker --version 2>/dev/null || echo "未安装 Docker"
58
- docker info | grep -E "Server Version|Storage Driver" 2>/dev/null
59
-
60
- # 项目结构分析
61
- find . -name "Dockerfile*" -type f | head -10
62
- find . -name "*compose*.yml" -o -name "*compose*.yaml" -type f | head -5
63
-
64
- # 容器状态
65
- docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" 2>/dev/null | head -10
66
- ```
67
-
68
- 分析后调整方案:
69
-
70
- - 匹配现有 Dockerfile 模式和基础镜像
71
- - 尊重多阶段构建惯例
72
- - 区分开发环境与生产环境
73
- - 考虑现有编排设置(Compose/Swarm)
74
-
75
- ### 2. 问题诊断与解决
76
-
77
- 根据问题类型应用对应策略,详细内容参考:
78
-
79
- - `references/dockerfile-patterns.md` - Dockerfile 优化模式(含 2025 新镜像)
80
- - `references/compose-orchestration.md` - Compose 编排模式(含 Monorepo)
81
- - `references/security-hardening.md` - 安全加固指南(含 BuildKit Secrets)
82
- - `references/cicd-integration.md` - CI/CD 集成(GitHub Actions/GitLab CI)
83
- - `references/troubleshooting.md` - 故障排除(含平台特定指南)
84
-
85
- ### 3. 验证
86
-
87
- ```bash
88
- # 构建验证
89
- docker build --no-cache -t test-build . 2>/dev/null && echo "构建成功"
90
-
91
- # 安全扫描
92
- docker scout quickview test-build 2>/dev/null || trivy image test-build 2>/dev/null
93
-
94
- # Compose 验证
95
- docker-compose config 2>/dev/null && echo "Compose 配置有效"
96
- ```
97
-
98
- ---
99
-
100
- ## 核心专业领域
101
-
102
- ### 1. 基础镜像选择(2025 推荐)
103
-
104
- | 优先级 | 镜像类型 | 大小 | 适用场景 |
105
- | ------ | ---------------- | ----- | -------------------- |
106
- | 1 | Wolfi/Chainguard | ~10MB | 零 CVE 目标,含 SBOM |
107
- | 2 | Alpine | ~7MB | 通用,最小攻击面 |
108
- | 3 | Distroless | ~2MB | 无 shell,最安全 |
109
- | 4 | Slim | ~70MB | 需要更多系统工具 |
110
-
111
- **关键规则:**
112
-
113
- - 始终指定精确版本:`node:20.11.0-alpine3.19`
114
- - 永远不用 `latest`(不可预测,破坏可复现性)
115
-
116
- 详细模板和示例参考 `references/dockerfile-patterns.md`
117
-
118
- ### 2. Dockerfile 优化要点
119
-
120
- **层缓存优化**:将变化频率低的内容放在前面
121
-
122
- ```dockerfile
123
- # 依赖先复制(变化少)
124
- COPY package*.json ./
125
- RUN npm ci
126
- # 源码后复制(变化多)
127
- COPY . .
128
- ```
129
-
130
- **BuildKit 缓存挂载**:加速依赖安装
131
-
132
- ```dockerfile
133
- RUN --mount=type=cache,target=/root/.npm npm ci
134
- ```
135
-
136
- **安全配置**:非 root 用户 + 健康检查
137
-
138
- ```dockerfile
139
- RUN adduser -S appuser -u 1001
140
- USER 1001
141
- HEALTHCHECK --interval=30s CMD curl -f http://localhost:3000/health || exit 1
142
- ```
143
-
144
- 完整多阶段构建模板参考 `references/dockerfile-patterns.md`
145
-
146
- ### 3. 容器安全要点
147
-
148
- - 非 root 用户(指定 UID/GID 1001)
149
- - BuildKit Secrets 管理(避免镜像层泄露)
150
- - 能力限制:`--cap-drop=ALL --cap-add=NET_BIND_SERVICE`
151
- - 只读文件系统:`--read-only --tmpfs /tmp`
152
-
153
- 详细加固指南参考 `references/security-hardening.md`
154
-
155
- ### 4. Compose 编排要点
156
-
157
- - 使用 `depends_on.condition: service_healthy` 确保依赖就绪
158
- - 网络隔离:`internal: true` 阻止外部访问
159
- - 资源限制:`deploy.resources.limits`
160
- - 健康检查:所有服务配置 healthcheck
161
-
162
- 完整编排模式参考 `references/compose-orchestration.md`
163
-
164
- ---
165
-
166
- ## 代码审查清单
167
-
168
- ### Dockerfile
169
-
170
- - [ ] 依赖安装与源码分离(层缓存优化)
171
- - [ ] 多阶段构建分离构建和运行环境
172
- - [ ] 非 root 用户运行(USER 1001)
173
- - [ ] Secrets 不在 ENV 或镜像层中
174
- - [ ] 健康检查已配置
175
- - [ ] .dockerignore 已优化
176
- - [ ] 使用精确版本标签(非 latest)
177
-
178
- ### Compose
179
-
180
- - [ ] 服务健康检查依赖(condition: service_healthy)
181
- - [ ] 网络隔离(internal: true)
182
- - [ ] 资源限制已定义
183
- - [ ] 重启策略已配置
184
- - [ ] 日志轮转已配置
185
-
186
- ### 安全
187
-
188
- - [ ] 无 --privileged 标志
189
- - [ ] 无 Docker socket 挂载
190
- - [ ] 能力已限制(cap-drop=ALL)
191
- - [ ] 镜像已扫描(Scout/Trivy)
192
-
193
- ---
194
-
195
- ## 常见问题快速诊断
196
-
197
- | 症状 | 可能原因 | 解决方案 |
198
- | ----------------- | -------------------------- | ---------------------------------- |
199
- | 构建慢(10+分钟) | 层顺序错误,缓存失效 | 依赖先复制,使用缓存挂载 |
200
- | 镜像过大(1GB+) | 基础镜像大,构建工具未清理 | 多阶段构建,使用 Alpine/Distroless |
201
- | 容器立即退出 | 进程崩溃,信号处理错误 | 检查日志,使用 exec 形式 CMD |
202
- | 网络不通 | 不在同一网络,DNS 解析失败 | 使用服务名,检查网络配置 |
203
- | 权限拒绝 | 文件所有权错误 | 使用 --chown 复制文件 |
204
-
205
- 详细诊断流程参考 `references/troubleshooting.md`
206
-
207
- ---
208
-
209
- ## 快速命令参考
210
-
211
- ```bash
212
- # 开发
213
- docker-compose up -d # 启动
214
- docker-compose logs -f app # 日志
215
- docker-compose exec app sh # 进入容器
216
-
217
- # 生产
218
- docker build -t myapp:1.0.0 . # 构建
219
- docker scout cves myapp:1.0.0 # 安全扫描
220
- docker stats # 资源监控
221
-
222
- # 清理
223
- docker system prune -a # 清理未使用资源
224
- docker volume prune # 清理未使用卷
225
-
226
- # 诊断脚本(可选)
227
- bash scripts/docker-diagnose.sh # 一键诊断
228
- bash scripts/docker-cleanup.sh # 安全清理
229
- ```
1
+ ---
2
+ id: "docker-expert"
3
+ title: "Docker 专家"
4
+ category: "infrastructure"
5
+ tags: ["docker 专家", "触发时机", "执行流程", "docker 环境检测", "项目结构分析", "容器状态", "构建验证", "安全扫描", "compose 验证", "核心专业领域"]
6
+ triggers: []
7
+ dependencies: []
8
+ source: "E:/Bobo's Coding cache/.claude/skills/docker-expert"
9
+ ---
10
+
11
+ ---
12
+ name: docker-expert
13
+ description: Docker 容器化专家技能。当用户说 "帮我优化 Dockerfile"、"Docker 容器有问题"、"帮我写 docker-compose"、"镜像太大了"、"容器安全加固"、"部署到 Docker"、"容器启动失败"、"Docker 网络问题" 时使用此技能。提供多阶段构建、镜像优化、安全加固、Compose 编排、CI/CD 集成等专业知识。
14
+ category: devops
15
+ color: blue
16
+ displayName: Docker 专家
17
+ version: 2.1.0
18
+ ---
19
+
20
+ # Docker 专家
21
+
22
+ Docker 容器化专家,融合 5 个优秀 Docker 技能的精华,专注于容器优化、安全加固、多阶段构建、编排模式和生产部署策略。
23
+
24
+ ## 触发时机
25
+
26
+ 以下场景调用此技能:
27
+
28
+ - Dockerfile 优化和多阶段构建
29
+ - 容器安全问题和加固
30
+ - Docker Compose 编排配置
31
+ - 镜像体积过大问题
32
+ - 容器网络和服务发现
33
+ - 开发环境容器化
34
+ - CI/CD 流水线集成
35
+ - 容器故障排除
36
+
37
+ ## 执行流程
38
+
39
+ ### 0. 范围检测
40
+
41
+ 超出 Docker 范围时,提示切换专家并停止:
42
+
43
+ - Kubernetes 编排(Pod、Service、Ingress)→ 切换 kubernetes-expert
44
+ - CI/CD 流水线问题 → 切换 github-actions-expert
45
+ - 云服务容器(ECS/Fargate/Cloud Run)→ 切换 devops-expert
46
+ - 数据库容器化(复杂持久化)→ 切换 database-expert
47
+
48
+ 输出示例:
49
+ "这需要 Kubernetes 编排专业知识。请调用 kubernetes-expert。在此停止。"
50
+
51
+ ### 1. 环境分析
52
+
53
+ 优先使用内置工具(Read、Grep、Glob),Shell 命令作为备选。
54
+
55
+ ```bash
56
+ # Docker 环境检测
57
+ docker --version 2>/dev/null || echo "未安装 Docker"
58
+ docker info | grep -E "Server Version|Storage Driver" 2>/dev/null
59
+
60
+ # 项目结构分析
61
+ find . -name "Dockerfile*" -type f | head -10
62
+ find . -name "*compose*.yml" -o -name "*compose*.yaml" -type f | head -5
63
+
64
+ # 容器状态
65
+ docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" 2>/dev/null | head -10
66
+ ```
67
+
68
+ 分析后调整方案:
69
+
70
+ - 匹配现有 Dockerfile 模式和基础镜像
71
+ - 尊重多阶段构建惯例
72
+ - 区分开发环境与生产环境
73
+ - 考虑现有编排设置(Compose/Swarm)
74
+
75
+ ### 2. 问题诊断与解决
76
+
77
+ 根据问题类型应用对应策略,详细内容参考:
78
+
79
+ - `references/dockerfile-patterns.md` - Dockerfile 优化模式(含 2025 新镜像)
80
+ - `references/compose-orchestration.md` - Compose 编排模式(含 Monorepo)
81
+ - `references/security-hardening.md` - 安全加固指南(含 BuildKit Secrets)
82
+ - `references/cicd-integration.md` - CI/CD 集成(GitHub Actions/GitLab CI)
83
+ - `references/troubleshooting.md` - 故障排除(含平台特定指南)
84
+
85
+ ### 3. 验证
86
+
87
+ ```bash
88
+ # 构建验证
89
+ docker build --no-cache -t test-build . 2>/dev/null && echo "构建成功"
90
+
91
+ # 安全扫描
92
+ docker scout quickview test-build 2>/dev/null || trivy image test-build 2>/dev/null
93
+
94
+ # Compose 验证
95
+ docker-compose config 2>/dev/null && echo "Compose 配置有效"
96
+ ```
97
+
98
+ ---
99
+
100
+ ## 核心专业领域
101
+
102
+ ### 1. 基础镜像选择(2025 推荐)
103
+
104
+ | 优先级 | 镜像类型 | 大小 | 适用场景 |
105
+ | ------ | ---------------- | ----- | -------------------- |
106
+ | 1 | Wolfi/Chainguard | ~10MB | 零 CVE 目标,含 SBOM |
107
+ | 2 | Alpine | ~7MB | 通用,最小攻击面 |
108
+ | 3 | Distroless | ~2MB | 无 shell,最安全 |
109
+ | 4 | Slim | ~70MB | 需要更多系统工具 |
110
+
111
+ **关键规则:**
112
+
113
+ - 始终指定精确版本:`node:20.11.0-alpine3.19`
114
+ - 永远不用 `latest`(不可预测,破坏可复现性)
115
+
116
+ 详细模板和示例参考 `references/dockerfile-patterns.md`
117
+
118
+ ### 2. Dockerfile 优化要点
119
+
120
+ **层缓存优化**:将变化频率低的内容放在前面
121
+
122
+ ```dockerfile
123
+ # 依赖先复制(变化少)
124
+ COPY package*.json ./
125
+ RUN npm ci
126
+ # 源码后复制(变化多)
127
+ COPY . .
128
+ ```
129
+
130
+ **BuildKit 缓存挂载**:加速依赖安装
131
+
132
+ ```dockerfile
133
+ RUN --mount=type=cache,target=/root/.npm npm ci
134
+ ```
135
+
136
+ **安全配置**:非 root 用户 + 健康检查
137
+
138
+ ```dockerfile
139
+ RUN adduser -S appuser -u 1001
140
+ USER 1001
141
+ HEALTHCHECK --interval=30s CMD curl -f http://localhost:3000/health || exit 1
142
+ ```
143
+
144
+ 完整多阶段构建模板参考 `references/dockerfile-patterns.md`
145
+
146
+ ### 3. 容器安全要点
147
+
148
+ - 非 root 用户(指定 UID/GID 1001)
149
+ - BuildKit Secrets 管理(避免镜像层泄露)
150
+ - 能力限制:`--cap-drop=ALL --cap-add=NET_BIND_SERVICE`
151
+ - 只读文件系统:`--read-only --tmpfs /tmp`
152
+
153
+ 详细加固指南参考 `references/security-hardening.md`
154
+
155
+ ### 4. Compose 编排要点
156
+
157
+ - 使用 `depends_on.condition: service_healthy` 确保依赖就绪
158
+ - 网络隔离:`internal: true` 阻止外部访问
159
+ - 资源限制:`deploy.resources.limits`
160
+ - 健康检查:所有服务配置 healthcheck
161
+
162
+ 完整编排模式参考 `references/compose-orchestration.md`
163
+
164
+ ---
165
+
166
+ ## 代码审查清单
167
+
168
+ ### Dockerfile
169
+
170
+ - [ ] 依赖安装与源码分离(层缓存优化)
171
+ - [ ] 多阶段构建分离构建和运行环境
172
+ - [ ] 非 root 用户运行(USER 1001)
173
+ - [ ] Secrets 不在 ENV 或镜像层中
174
+ - [ ] 健康检查已配置
175
+ - [ ] .dockerignore 已优化
176
+ - [ ] 使用精确版本标签(非 latest)
177
+
178
+ ### Compose
179
+
180
+ - [ ] 服务健康检查依赖(condition: service_healthy)
181
+ - [ ] 网络隔离(internal: true)
182
+ - [ ] 资源限制已定义
183
+ - [ ] 重启策略已配置
184
+ - [ ] 日志轮转已配置
185
+
186
+ ### 安全
187
+
188
+ - [ ] 无 --privileged 标志
189
+ - [ ] 无 Docker socket 挂载
190
+ - [ ] 能力已限制(cap-drop=ALL)
191
+ - [ ] 镜像已扫描(Scout/Trivy)
192
+
193
+ ---
194
+
195
+ ## 常见问题快速诊断
196
+
197
+ | 症状 | 可能原因 | 解决方案 |
198
+ | ----------------- | -------------------------- | ---------------------------------- |
199
+ | 构建慢(10+分钟) | 层顺序错误,缓存失效 | 依赖先复制,使用缓存挂载 |
200
+ | 镜像过大(1GB+) | 基础镜像大,构建工具未清理 | 多阶段构建,使用 Alpine/Distroless |
201
+ | 容器立即退出 | 进程崩溃,信号处理错误 | 检查日志,使用 exec 形式 CMD |
202
+ | 网络不通 | 不在同一网络,DNS 解析失败 | 使用服务名,检查网络配置 |
203
+ | 权限拒绝 | 文件所有权错误 | 使用 --chown 复制文件 |
204
+
205
+ 详细诊断流程参考 `references/troubleshooting.md`
206
+
207
+ ---
208
+
209
+ ## 快速命令参考
210
+
211
+ ```bash
212
+ # 开发
213
+ docker-compose up -d # 启动
214
+ docker-compose logs -f app # 日志
215
+ docker-compose exec app sh # 进入容器
216
+
217
+ # 生产
218
+ docker build -t myapp:1.0.0 . # 构建
219
+ docker scout cves myapp:1.0.0 # 安全扫描
220
+ docker stats # 资源监控
221
+
222
+ # 清理
223
+ docker system prune -a # 清理未使用资源
224
+ docker volume prune # 清理未使用卷
225
+
226
+ # 诊断脚本(可选)
227
+ bash scripts/docker-diagnose.sh # 一键诊断
228
+ bash scripts/docker-cleanup.sh # 安全清理
229
+ ```
@@ -1,13 +1,13 @@
1
- ---
2
- id: "document-skills"
3
- title: "document-skills"
4
- category: "knowledge"
5
- tags: ["document-skills"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/document-skills"
9
- ---
10
-
11
- # document-skills
12
-
1
+ ---
2
+ id: "document-skills"
3
+ title: "document-skills"
4
+ category: "knowledge"
5
+ tags: ["document-skills"]
6
+ triggers: []
7
+ dependencies: []
8
+ source: "E:/Bobo's Coding cache/.claude/skills/document-skills"
9
+ ---
10
+
11
+ # document-skills
12
+
13
13
  Skill directory: document-skills