sumulige-claude 1.5.1 → 1.5.2

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 (219) hide show
  1. package/.claude/hooks/hook-registry.json +0 -15
  2. package/.claude/rules/coding-style.md +18 -7
  3. package/.claude/rules/hooks.md +15 -4
  4. package/.claude/rules/performance.md +15 -5
  5. package/.claude/rules/security.md +140 -4
  6. package/.claude/rules/testing.md +138 -9
  7. package/.claude/rules/web-design-standard.md +16 -5
  8. package/.claude/skills/algorithmic-art/metadata.yaml +28 -0
  9. package/.claude/skills/api-tester/SKILL.md +61 -0
  10. package/.claude/skills/api-tester/examples/basic.md +3 -0
  11. package/.claude/skills/api-tester/metadata.yaml +30 -0
  12. package/.claude/skills/api-tester/templates/default.md +3 -0
  13. package/.claude/skills/brand-guidelines/metadata.yaml +26 -0
  14. package/.claude/skills/canvas-design/metadata.yaml +27 -0
  15. package/.claude/skills/code-reviewer-123/SKILL.md +61 -0
  16. package/.claude/skills/code-reviewer-123/examples/basic.md +3 -0
  17. package/.claude/skills/code-reviewer-123/metadata.yaml +30 -0
  18. package/.claude/skills/code-reviewer-123/templates/default.md +3 -0
  19. package/.claude/skills/doc-coauthoring/metadata.yaml +27 -0
  20. package/.claude/skills/docx/metadata.yaml +30 -0
  21. package/.claude/skills/frontend-design/metadata.yaml +28 -0
  22. package/.claude/skills/internal-comms/metadata.yaml +28 -0
  23. package/.claude/skills/mcp-builder/metadata.yaml +26 -0
  24. package/.claude/skills/my-skill/SKILL.md +61 -0
  25. package/.claude/skills/my-skill/examples/basic.md +3 -0
  26. package/.claude/skills/my-skill/metadata.yaml +30 -0
  27. package/.claude/skills/my-skill/templates/default.md +3 -0
  28. package/.claude/skills/pdf/metadata.yaml +29 -0
  29. package/.claude/skills/pptx/metadata.yaml +29 -0
  30. package/.claude/skills/react-best-practices/metadata.yaml +26 -0
  31. package/.claude/skills/react-node-practices/SKILL.md +409 -0
  32. package/.claude/skills/react-node-practices/metadata.yaml +56 -0
  33. package/.claude/skills/skill-creator/metadata.yaml +25 -0
  34. package/.claude/skills/slack-gif-creator/metadata.yaml +28 -0
  35. package/.claude/skills/test-skill-name/SKILL.md +61 -0
  36. package/.claude/skills/test-skill-name/examples/basic.md +3 -0
  37. package/.claude/skills/test-skill-name/metadata.yaml +30 -0
  38. package/.claude/skills/test-skill-name/templates/default.md +3 -0
  39. package/.claude/skills/test-workflow/metadata.yaml +32 -0
  40. package/.claude/skills/theme-factory/metadata.yaml +26 -0
  41. package/.claude/skills/threejs-fundamentals/metadata.yaml +27 -0
  42. package/.claude/skills/web-artifacts-builder/metadata.yaml +30 -0
  43. package/.claude/skills/web-design-guidelines/metadata.yaml +26 -0
  44. package/.claude/skills/webapp-testing/metadata.yaml +26 -0
  45. package/.claude/skills/xlsx/metadata.yaml +29 -0
  46. package/LICENSE +21 -0
  47. package/cli.js +1 -1
  48. package/package.json +25 -3
  49. package/.claude/.kickoff-hint.txt +0 -52
  50. package/.claude/.sumulige-claude-version +0 -1
  51. package/.claude/.version +0 -1
  52. package/.claude/AGENTS.md +0 -42
  53. package/.claude/ANCHORS.md +0 -40
  54. package/.claude/CLAUDE.md +0 -138
  55. package/.claude/MEMORY.md +0 -69
  56. package/.claude/PROJECT_LOG.md +0 -101
  57. package/.claude/THINKING_CHAIN_GUIDE.md +0 -287
  58. package/.claude/USAGE.md +0 -175
  59. package/.claude/boris-optimizations.md +0 -167
  60. package/.claude/handoffs/INDEX.md +0 -21
  61. package/.claude/handoffs/LATEST.md +0 -76
  62. package/.claude/handoffs/handoff_2026-01-22T13-07-04-757Z.md +0 -76
  63. package/.claude/quality-gate.json +0 -82
  64. package/.claude/rag/skill-index.json +0 -135
  65. package/.claude/settings.json +0 -99
  66. package/.claude/settings.local.json +0 -175
  67. package/.claude/templates/PROJECT_KICKOFF.md +0 -89
  68. package/.claude/templates/PROJECT_PROPOSAL.md +0 -227
  69. package/.claude/templates/TASK_PLAN.md +0 -121
  70. package/.claude/templates/hooks/README.md +0 -302
  71. package/.claude/templates/hooks/hook.sh.template +0 -94
  72. package/.claude/templates/hooks/user-prompt-submit.cjs.template +0 -116
  73. package/.claude/templates/hooks/user-response-submit.cjs.template +0 -94
  74. package/.claude/templates/hooks/validate.js +0 -173
  75. package/.claude/templates/tasks/develop.md +0 -69
  76. package/.claude/templates/tasks/research.md +0 -64
  77. package/.claude/templates/tasks/test.md +0 -96
  78. package/.claude/thinking-routes/.last-sync +0 -1
  79. package/.claude/thinking-routes/QUICKREF.md +0 -98
  80. package/.claude/workflow/document-scanner.js +0 -426
  81. package/.claude/workflow/knowledge-engine.js +0 -941
  82. package/.claude/workflow/notebooklm/browser.js +0 -1028
  83. package/.claude/workflow/phases/phase1-research.js +0 -578
  84. package/.claude/workflow/phases/phase1-research.ts +0 -465
  85. package/.claude/workflow/phases/phase2-approve.js +0 -722
  86. package/.claude/workflow/phases/phase3-plan.js +0 -1200
  87. package/.claude/workflow/phases/phase4-develop.js +0 -894
  88. package/.claude/workflow/search-cache.js +0 -230
  89. package/.claude/workflow/templates/approval.md +0 -315
  90. package/.claude/workflow/templates/development.md +0 -377
  91. package/.claude/workflow/templates/planning.md +0 -328
  92. package/.claude/workflow/templates/research.md +0 -250
  93. package/.claude/workflow/types.js +0 -37
  94. package/.claude/workflow/web-search.js +0 -278
  95. package/.claude-plugin/marketplace.json +0 -71
  96. package/.github/workflows/sync-skills.yml +0 -74
  97. package/.versionrc +0 -25
  98. package/AGENTS.md +0 -580
  99. package/CHANGELOG.md +0 -481
  100. package/CLAUDE-template.md +0 -114
  101. package/DEV_TOOLS_GUIDE.md +0 -190
  102. package/PROJECT_STRUCTURE.md +0 -266
  103. package/Q&A.md +0 -325
  104. package/config/defaults.json +0 -34
  105. package/config/official-skills.json +0 -183
  106. package/config/quality-gate.json +0 -67
  107. package/config/skill-categories.json +0 -40
  108. package/config/version-manifest.json +0 -85
  109. package/demos/power-3d-scatter.html +0 -683
  110. package/development/cache/web-search/search_1193d605f8eb364651fc2f2041b58a31.json +0 -36
  111. package/development/cache/web-search/search_3798bf06960edc125f744a1abb5b72c5.json +0 -36
  112. package/development/cache/web-search/search_37c7d4843a53f0d83f1122a6f908a2a3.json +0 -36
  113. package/development/cache/web-search/search_44166fa0153709ee168485a22aa0ab40.json +0 -36
  114. package/development/cache/web-search/search_4deaebb1f77e86a8ca066dc5a49c59fd.json +0 -36
  115. package/development/cache/web-search/search_94da91789466070a7f545612e73c7372.json +0 -36
  116. package/development/cache/web-search/search_dd5de8491b8b803a3cb01339cd210fb0.json +0 -36
  117. package/development/knowledge-base/.index.clean.json +0 -1
  118. package/development/knowledge-base/.index.json +0 -486
  119. package/development/knowledge-base/test-best-practices.md +0 -29
  120. package/development/projects/proj_mkh1pazz_ixmt1/phase1/feasibility-report.md +0 -160
  121. package/development/projects/proj_mkh4jvnb_z7rwf/phase1/feasibility-report.md +0 -160
  122. package/development/projects/proj_mkh4jxkd_ewz5a/phase1/feasibility-report.md +0 -160
  123. package/development/projects/proj_mkh4k84n_ni73k/phase1/feasibility-report.md +0 -160
  124. package/development/projects/proj_mkh4wfyd_u9w88/phase1/feasibility-report.md +0 -160
  125. package/development/projects/proj_mkh4wsbo_iahvf/development/projects/proj_mkh4xbpg_4na5w/phase1/feasibility-report.md +0 -160
  126. package/development/projects/proj_mkh4wsbo_iahvf/phase1/feasibility-report.md +0 -160
  127. package/development/projects/proj_mkh4xulg_1ka8x/phase1/feasibility-report.md +0 -160
  128. package/development/projects/proj_mkh4xwhj_gch8j/phase1/feasibility-report.md +0 -160
  129. package/development/projects/proj_mkh4y2qk_9lm8z/phase1/feasibility-report.md +0 -160
  130. package/development/projects/proj_mkh4y2qk_9lm8z/phase2/requirements.md +0 -226
  131. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/PRD.md +0 -345
  132. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/TASK_PLAN.md +0 -284
  133. package/development/projects/proj_mkh4y2qk_9lm8z/phase3/prototype/README.md +0 -14
  134. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/DEVELOPMENT_LOG.md +0 -35
  135. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/TASKS.md +0 -34
  136. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/.env.example +0 -5
  137. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/README.md +0 -60
  138. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/package.json +0 -25
  139. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/index.js +0 -70
  140. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/routes/index.js +0 -48
  141. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/health.test.js +0 -20
  142. package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/jest.config.js +0 -21
  143. package/development/projects/proj_mkh7veqg_3lypc/phase1/feasibility-report.md +0 -160
  144. package/development/projects/proj_mkh7veqg_3lypc/phase2/requirements.md +0 -226
  145. package/development/projects/proj_mkh7veqg_3lypc/phase3/PRD.md +0 -345
  146. package/development/projects/proj_mkh7veqg_3lypc/phase3/TASK_PLAN.md +0 -284
  147. package/development/projects/proj_mkh7veqg_3lypc/phase3/prototype/README.md +0 -14
  148. package/development/projects/proj_mkh8k8fo_rmqn5/phase1/feasibility-report.md +0 -160
  149. package/development/projects/proj_mkh8xyhy_1vshq/phase1/feasibility-report.md +0 -178
  150. package/development/projects/proj_mkh8zddd_dhamf/phase1/feasibility-report.md +0 -377
  151. package/development/projects/proj_mkh8zddd_dhamf/phase2/requirements.md +0 -442
  152. package/development/projects/proj_mkh8zddd_dhamf/phase3/api-design.md +0 -800
  153. package/development/projects/proj_mkh8zddd_dhamf/phase3/architecture.md +0 -625
  154. package/development/projects/proj_mkh8zddd_dhamf/phase3/data-model.md +0 -830
  155. package/development/projects/proj_mkh8zddd_dhamf/phase3/risks.md +0 -957
  156. package/development/projects/proj_mkh8zddd_dhamf/phase3/wbs.md +0 -381
  157. package/development/todos/.state.json +0 -19
  158. package/development/todos/INDEX.md +0 -63
  159. package/development/todos/active/_README.md +0 -49
  160. package/development/todos/archived/_README.md +0 -11
  161. package/development/todos/backlog/_README.md +0 -11
  162. package/development/todos/backlog/mcp-integration.md +0 -35
  163. package/development/todos/completed/_README.md +0 -11
  164. package/development/todos/completed/boris-optimizations.md +0 -39
  165. package/development/todos/completed/develop/local-knowledge-index.md +0 -85
  166. package/development/todos/completed/develop/todo-system.md +0 -47
  167. package/development/todos/completed/develop/web-search-integration.md +0 -83
  168. package/development/todos/completed/test/phase1-e2e-test.md +0 -103
  169. package/docs/DEVELOPMENT.md +0 -461
  170. package/docs/MARKETPLACE.md +0 -352
  171. package/docs/RELEASE.md +0 -93
  172. package/jest.config.js +0 -63
  173. package/lib/commands.js +0 -3588
  174. package/lib/config-manager.js +0 -441
  175. package/lib/config-schema.js +0 -408
  176. package/lib/config-validator.js +0 -330
  177. package/lib/config.js +0 -122
  178. package/lib/errors.js +0 -305
  179. package/lib/incremental-sync.js +0 -274
  180. package/lib/marketplace.js +0 -487
  181. package/lib/migrations.js +0 -154
  182. package/lib/permission-audit.js +0 -255
  183. package/lib/quality-gate.js +0 -431
  184. package/lib/quality-rules.js +0 -373
  185. package/lib/utils.js +0 -150
  186. package/lib/version-check.js +0 -169
  187. package/lib/version-manifest.js +0 -171
  188. package/project-paradigm.md +0 -313
  189. package/prompts/how-to-find.md +0 -163
  190. package/prompts/linus-architect.md +0 -71
  191. package/prompts/software-architect.md +0 -173
  192. package/prompts/web-designer.md +0 -249
  193. package/scripts/fix-hooks.mjs +0 -97
  194. package/scripts/sync-external.mjs +0 -298
  195. package/scripts/sync-to-home.sh +0 -108
  196. package/scripts/update-registry.mjs +0 -325
  197. package/sources.yaml +0 -83
  198. package/tests/README.md +0 -263
  199. package/tests/commands.test.js +0 -1086
  200. package/tests/config-manager.test.js +0 -677
  201. package/tests/config-schema.test.js +0 -425
  202. package/tests/config-validator.test.js +0 -436
  203. package/tests/config.test.js +0 -100
  204. package/tests/errors.test.js +0 -477
  205. package/tests/manual/phase1-e2e.sh +0 -389
  206. package/tests/manual/phase2-test-cases.md +0 -311
  207. package/tests/manual/phase3-test-cases.md +0 -309
  208. package/tests/manual/phase4-test-cases.md +0 -414
  209. package/tests/manual/test-cases.md +0 -417
  210. package/tests/marketplace.test.js +0 -420
  211. package/tests/migrations.test.js +0 -187
  212. package/tests/quality-gate.test.js +0 -679
  213. package/tests/quality-rules.test.js +0 -619
  214. package/tests/sync-external.test.js +0 -214
  215. package/tests/update-registry.test.js +0 -251
  216. package/tests/utils.test.js +0 -171
  217. package/tests/version-check.test.js +0 -75
  218. package/tests/web-search.test.js +0 -392
  219. package/thinkinglens-silent.md +0 -138
@@ -1,461 +0,0 @@
1
- # Development Guide - 开发指南
2
-
3
- > 从零开始理解项目架构,逐步深入开发细节
4
-
5
- ---
6
-
7
- ## Level 1: 项目概述 (5 分钟)
8
-
9
- ### 这是一个什么项目?
10
-
11
- **一句话**:为 Claude Code 添加多 Agent 编排能力的 CLI 工具。
12
-
13
- **核心功能**:
14
- 1. **多 Agent 协作** - 5 个专业 AI Agent 配合工作
15
- 2. **技能管理** - 发现、安装、管理可复用的 AI 技能
16
- 3. **项目模板** - 一键部署配置好的 AI 开发环境
17
- 4. **质量门禁** - 自动代码质量检查
18
-
19
- ### 技术栈
20
-
21
- ```
22
- 语言: JavaScript (CommonJS + ES Modules)
23
- 运行时: Node.js >= 16.0
24
- 测试: Jest
25
- 发布: npm
26
- 依赖: ajv, ajv-formats (配置验证)
27
- ```
28
-
29
- ---
30
-
31
- ## Level 2: 项目结构 (10 分钟)
32
-
33
- ### 目录树
34
-
35
- ```
36
- sumulige-claude/
37
- ├── cli.js # 入口文件
38
-
39
- ├── lib/ # 核心代码 (CommonJS)
40
- │ ├── commands.js # 命令实现
41
- │ ├── config.js # 配置管理
42
- │ ├── marketplace.js # 技能市场
43
- │ ├── config-schema.js # 配置 Schema
44
- │ ├── config-validator.js # 配置验证
45
- │ ├── config-manager.js # 配置管理器
46
- │ ├── quality-rules.js # 质量规则
47
- │ ├── quality-gate.js # 质量门禁
48
- │ ├── errors.js # 错误类型
49
- │ └── utils.js # 工具函数
50
-
51
- ├── template/.claude/ # 项目模板
52
- │ ├── commands/ # 斜杠命令
53
- │ ├── skills/ # 技能库
54
- │ ├── hooks/ # 自动化钩子
55
- │ └── settings.json # 默认配置
56
-
57
- ├── scripts/ # 工具脚本 (ES Modules)
58
- │ ├── sync-external.mjs # 同步外部技能
59
- │ └── update-registry.mjs # 更新技能注册表
60
-
61
- ├── config/ # 配置文件
62
- │ ├── defaults.json # 默认配置
63
- │ ├── quality-gate.json # 质量门禁配置
64
- │ └── skill-categories.json # 技能分类
65
-
66
- ├── sources.yaml # 外部技能清单
67
- ├── .claude-plugin/ # Claude Code 插件
68
- │ └── marketplace.json # 技能注册表
69
-
70
- └── package.json # 项目配置
71
- ```
72
-
73
- ### 模块职责
74
-
75
- | 模块 | 职责 | 类型 |
76
- |------|------|------|
77
- | `cli.js` | 命令入口、分发 | CommonJS |
78
- | `lib/commands.js` | 核心命令实现 | CommonJS |
79
- | `lib/marketplace.js` | 技能市场命令 | CommonJS |
80
- | `lib/config*.js` | 配置系统 | CommonJS |
81
- | `lib/quality*.js` | 质量门禁系统 | CommonJS |
82
- | `scripts/*.mjs` | 工具脚本 | ES Module |
83
-
84
- ---
85
-
86
- ## Level 3: 命令系统 (15 分钟)
87
-
88
- ### 命令分发的数据流
89
-
90
- ```
91
- 用户输入
92
-
93
-
94
- ┌─────────────┐
95
- │ cli.js │ 解析命令
96
- └──────┬──────┘
97
-
98
-
99
- ┌─────────────────────────────────┐
100
- │ COMMANDS 注册表 │
101
- │ { │
102
- │ 'init': { help, args }, │
103
- │ 'sync': { help, args }, │
104
- │ ... │
105
- │ } │
106
- └────────────┬────────────────────┘
107
-
108
-
109
- ┌─────────────────────────────────┐
110
- │ runCommand(cmd, args) │
111
- │ ├─ 核心命令 → lib/commands.js │
112
- │ ├─ 市场命令 → lib/marketplace.js│
113
- │ └─ 技能命令 → lib/commands.js │
114
- └─────────────────────────────────┘
115
- ```
116
-
117
- ### 添加新命令
118
-
119
- **Step 1**: 在 `lib/commands.js` 添加实现
120
-
121
- ```javascript
122
- const commands = {
123
- // 新命令
124
- 'my:command': (arg1) => {
125
- console.log('执行命令,参数:', arg1);
126
- // 你的逻辑
127
- }
128
- };
129
- ```
130
-
131
- **Step 2**: 在 `cli.js` 注册
132
-
133
- ```javascript
134
- const COMMANDS = {
135
- 'my:command': {
136
- help: '命令描述',
137
- args: '<arg1>'
138
- }
139
- };
140
- ```
141
-
142
- **Step 3**: 测试
143
-
144
- ```bash
145
- node cli.js my:command test
146
- ```
147
-
148
- ---
149
-
150
- ## Level 4: 技能系统 (20 分钟)
151
-
152
- ### 什么是技能?
153
-
154
- **技能 = 知识 + 指令 + 资源**
155
-
156
- ```
157
- my-skill/
158
- ├── SKILL.md # 知识和指令
159
- ├── metadata.yaml # 技能元数据
160
- ├── scripts/ # 可执行脚本 (资源)
161
- └── templates/ # 模板文件 (资源)
162
- ```
163
-
164
- ### 添加本地技能
165
-
166
- ```bash
167
- # 1. 创建技能目录
168
- mkdir -p template/.claude/skills/my-skill
169
-
170
- # 2. 创建 SKILL.md
171
- cat > template/.claude/skills/my-skill/SKILL.md << 'EOF'
172
- # My Skill
173
-
174
- > 技能描述
175
-
176
- ## 使用场景
177
-
178
- 当用户需要...时使用此技能。
179
-
180
- EOF
181
-
182
- # 3. 创建 metadata.yaml
183
- cat > template/.claude/skills/my-skill/metadata.yaml << 'EOF'
184
- name: my-skill
185
- description: 技能描述
186
- version: 1.0.0
187
- category: tools
188
- keywords:
189
- - my-skill
190
- author:
191
- name: Your Name
192
- github: yourusername
193
- license: MIT
194
- EOF
195
- ```
196
-
197
- ### 添加外部技能
198
-
199
- 编辑 `sources.yaml`:
200
-
201
- ```yaml
202
- - name: external-skill
203
- description: "来自外部仓库的技能"
204
- source:
205
- repo: owner/repo
206
- path: skills/external-skill
207
- ref: main
208
- target:
209
- category: automation
210
- path: template/.claude/skills/automation/external-skill
211
- sync:
212
- include:
213
- - SKILL.md
214
- - src/
215
- exclude:
216
- - node_modules/
217
- ```
218
-
219
- 运行同步:
220
-
221
- ```bash
222
- npm run sync:all
223
- ```
224
-
225
- ---
226
-
227
- ## Level 5: 同步机制 (25 分钟)
228
-
229
- ### 自动同步工作流
230
-
231
- ```
232
- ┌─────────────────────────────────────────────────────────────┐
233
- │ sources.yaml │
234
- │ ├─ native 技能 (本地) │
235
- │ └─ external 技能 (GitHub) │
236
- └──────────────┬──────────────────────────────────────────────┘
237
-
238
-
239
- ┌─────────────────────────────────────────────────────────────┐
240
- │ sync-external.mjs │
241
- │ ├─ 克隆外部仓库 │
242
- │ ├─ 过滤文件 (include/exclude) │
243
- │ └─ 复制到 template/.claude/skills/ │
244
- └──────────────┬──────────────────────────────────────────────┘
245
-
246
-
247
- ┌─────────────────────────────────────────────────────────────┐
248
- │ update-registry.mjs │
249
- │ ├─ 扫描技能目录 │
250
- │ ├─ 提取元数据 │
251
- │ └─ 生成 marketplace.json │
252
- └──────────────┬──────────────────────────────────────────────┘
253
-
254
-
255
- ┌─────────────────────────────────────────────────────────────┐
256
- │ .claude-plugin/marketplace.json │
257
- │ (Claude Code 读取的注册表) │
258
- └─────────────────────────────────────────────────────────────┘
259
- ```
260
-
261
- ### GitHub Actions 自动同步
262
-
263
- `.github/workflows/sync-skills.yml`:
264
-
265
- ```yaml
266
- name: Sync External Skills
267
- on:
268
- schedule:
269
- - cron: '0 0 * * *' # 每天运行
270
- workflow_dispatch: # 手动触发
271
- jobs:
272
- sync:
273
- runs-on: ubuntu-latest
274
- steps:
275
- - uses: actions/checkout@v3
276
- - run: npm install
277
- - run: npm run sync:all
278
- - run: git config user.name "github-actions[bot]"
279
- - run: git add .claude-plugin/
280
- - run: git commit -m "chore: sync skills"
281
- - run: git push
282
- ```
283
-
284
- ---
285
-
286
- ## Level 6: 配置系统 (30 分钟)
287
-
288
- ### 三层配置
289
-
290
- ```
291
- ┌─────────────────────────────────────────────────────────────┐
292
- │ 全局配置 (~/.claude/config.json) │
293
- │ ├─ Agent 定义 │
294
- │ ├─ 默认模型 │
295
- │ └─ 技能列表 │
296
- ├─────────────────────────────────────────────────────────────┤
297
- │ 项目配置 (./.claude/settings.json) │
298
- │ ├─ Hook 配置 │
299
- │ └─ 项目覆盖设置 │
300
- ├─────────────────────────────────────────────────────────────┤
301
- │ 质量配置 (./.claude/quality-gate.json) │
302
- │ ├─ 规则启用设置 │
303
- │ └─ 门禁触发条件 │
304
- └─────────────────────────────────────────────────────────────┘
305
- ```
306
-
307
- ### 配置验证流程
308
-
309
- ```
310
- ┌─────────────────────────────────────────────────────────────┐
311
- │ config-schema.js │
312
- │ ├─ CONFIG_SCHEMA (JSON Schema) │
313
- │ ├─ SETTINGS_SCHEMA │
314
- │ └─ QUALITY_GATE_SCHEMA │
315
- └──────────────┬──────────────────────────────────────────────┘
316
-
317
-
318
- ┌─────────────────────────────────────────────────────────────┐
319
- │ config-validator.js │
320
- │ ├─ AJV 验证器 │
321
- │ ├─ validate(config, schema) │
322
- │ └─ validateFile(path, schema) │
323
- └──────────────┬──────────────────────────────────────────────┘
324
-
325
-
326
- ┌─────────────────────────────────────────────────────────────┐
327
- │ config-manager.js │
328
- │ ├─ backup() - 创建备份 │
329
- │ ├─ rollback() - 回滚配置 │
330
- │ ├─ diff() - 配置对比 │
331
- │ └─ _expandEnvVars() - 环境变量展开 │
332
- └─────────────────────────────────────────────────────────────┘
333
- ```
334
-
335
- ### 环境变量展开
336
-
337
- 配置支持环境变量语法:
338
-
339
- ```json
340
- {
341
- "apiKey": "${API_KEY:default-key}",
342
- "endpoint": "${ENDPOINT:-https://api.example.com}"
343
- }
344
- ```
345
-
346
- ---
347
-
348
- ## Level 7: 质量门禁 (35 分钟)
349
-
350
- ### 质量检查流程
351
-
352
- ```
353
- git commit
354
-
355
-
356
- ┌─────────────────────────────────────────────────────────────┐
357
- │ pre-commit hook │
358
- │ ├─ 读取 .claude/quality-gate.json │
359
- │ └─ 调用 quality-gate.js │
360
- └──────────────┬──────────────────────────────────────────────┘
361
-
362
-
363
- ┌─────────────────────────────────────────────────────────────┐
364
- │ quality-gate.js │
365
- │ ├─ 加载启用的规则 │
366
- │ ├─ 遍历暂存的文件 │
367
- │ └─ 执行每个规则的 check() │
368
- └──────────────┬──────────────────────────────────────────────┘
369
-
370
-
371
- ┌─────────────────────────────────────────────────────────────┐
372
- │ quality-rules.js │
373
- │ ├─ file-size-limit (文件大小) │
374
- │ ├─ line-count-limit (行数) │
375
- │ ├─ no-console-logs (无 console) │
376
- │ ├─ todo-comments (TODO 检查) │
377
- │ ├─ directory-depth (目录深度) │
378
- │ ├─ no-empty-files (无空文件) │
379
- │ ├─ no-trailing-whitespace (无尾随空格) │
380
- │ └─ function-length (函数长度) │
381
- └──────────────┬──────────────────────────────────────────────┘
382
-
383
- ┌───────┴────────┐
384
- ▼ ▼
385
- 通过 ✅ 失败 ❌
386
- │ │
387
- ▼ ▼
388
- 允许提交 阻止提交
389
- ```
390
-
391
- ### 添加自定义规则
392
-
393
- 编辑 `lib/quality-rules.js`:
394
-
395
- ```javascript
396
- RuleRegistry.register('my-rule', {
397
- name: 'My Custom Rule',
398
- description: '规则描述',
399
- severity: 'warn',
400
-
401
- check(file, config) {
402
- const content = fs.readFileSync(file, 'utf8');
403
- const issues = [];
404
-
405
- // 你的检查逻辑
406
- if (content.includes('TODO')) {
407
- issues.push({
408
- line: 1,
409
- message: 'Found TODO',
410
- fix: 'Resolve TODOs'
411
- });
412
- }
413
-
414
- return issues;
415
- }
416
- });
417
- ```
418
-
419
- ---
420
-
421
- ## 快速参考
422
-
423
- ### 开发工作流
424
-
425
- ```bash
426
- # 1. 修改代码
427
- vim lib/commands.js
428
-
429
- # 2. 运行测试
430
- npm test
431
-
432
- # 3. 本地测试
433
- node cli.js my-command
434
-
435
- # 4. 更新版本
436
- npm version patch
437
-
438
- # 5. 发布
439
- npm run sync:all
440
- git add .
441
- git commit -m "chore: release"
442
- git push --follow-tags
443
- npm publish
444
- ```
445
-
446
- ### 调试技巧
447
-
448
- ```bash
449
- # 详细输出
450
- node --trace-warnings cli.js my-command
451
-
452
- # 检查配置
453
- node cli.js config:validate
454
-
455
- # 质量检查
456
- node cli.js qg:check
457
- ```
458
-
459
- ---
460
-
461
- *更多细节查看 [README.md](../README.md) | [Q&A.md](../Q&A.md) | [AGENTS.md](../AGENTS.md)*