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,227 +0,0 @@
1
- # 项目计划书 (Project Proposal)
2
-
3
- > 完整技术方案与实施计划
4
- > 生成日期: {DATE}
5
-
6
- ---
7
-
8
- ## 执行摘要
9
-
10
- {EXECUTIVE_SUMMARY}
11
-
12
- ---
13
-
14
- ## 1. 项目背景
15
-
16
- ### 1.1 问题陈述
17
- {PROBLEM_STATEMENT}
18
-
19
- ### 1.2 解决方案概述
20
- {SOLUTION_OVERVIEW}
21
-
22
- ### 1.3 目标用户
23
- {TARGET_USERS}
24
-
25
- ---
26
-
27
- ## 2. 功能需求
28
-
29
- ### 2.1 核心功能 (MVP)
30
- | 功能 | 描述 | 优先级 |
31
- |------|------|--------|
32
- | {FEATURE_1} | {DESCRIPTION} | P0 |
33
- | {FEATURE_2} | {DESCRIPTION} | P0 |
34
-
35
- ### 2.2 扩展功能
36
- | 功能 | 描述 | 优先级 |
37
- |------|------|--------|
38
- | {FEATURE_3} | {DESCRIPTION} | P1 |
39
-
40
- ---
41
-
42
- ## 3. 技术架构
43
-
44
- ### 3.1 架构图
45
-
46
- ```
47
- ┌─────────────────────────────────────────────────────────────┐
48
- │ 系统架构 │
49
- ├─────────────────────────────────────────────────────────────┤
50
- │ │
51
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
52
- │ │ 前端层 │ │ API层 │ │ 数据层 │ │
53
- │ │ {FRONTEND} │◄──►│ {API} │◄──►│ {DATABASE} │ │
54
- │ └─────────────┘ └─────────────┘ └─────────────┘ │
55
- │ │ │
56
- │ ▼ │
57
- │ ┌─────────────┐ │
58
- │ │ 外部服务 │ │
59
- │ │ {EXTERNAL} │ │
60
- │ └─────────────┘ │
61
- └─────────────────────────────────────────────────────────────┘
62
- ```
63
-
64
- ### 3.2 技术栈
65
-
66
- | 层级 | 技术选择 | 理由 |
67
- |------|----------|------|
68
- | **前端** | {FRONTEND_TECH} | {REASON} |
69
- | **后端** | {BACKEND_TECH} | {REASON} |
70
- | **数据库** | {DATABASE_TECH} | {REASON} |
71
- | **部署** | {DEPLOYMENT_TECH} | {REASON} |
72
- | **监控** | {MONITORING_TECH} | {REASON} |
73
-
74
- ### 3.3 数据模型
75
-
76
- ```typescript
77
- // 核心数据结构
78
- interface {ENTITY_NAME} {
79
- id: string;
80
- {FIELD}: {TYPE};
81
- // ...
82
- }
83
- ```
84
-
85
- ### 3.4 API 设计
86
-
87
- | 方法 | 端点 | 描述 | 认证 |
88
- |------|------|------|------|
89
- | GET | /api/{RESOURCE} | 获取列表 | ✅ |
90
- | POST | /api/{RESOURCE} | 创建资源 | ✅ |
91
- | PUT | /api/{RESOURCE}/:id | 更新资源 | ✅ |
92
- | DELETE | /api/{RESOURCE}/:id | 删除资源 | ✅ |
93
-
94
- ---
95
-
96
- ## 4. 目录结构
97
-
98
- ```
99
- {PROJECT_NAME}/
100
- ├── docs/ # 文档
101
- ├── src/ # 源代码
102
- │ ├── components/ # 组件
103
- │ ├── services/ # 服务
104
- │ ├── utils/ # 工具
105
- │ └── types/ # 类型定义
106
- ├── tests/ # 测试
107
- ├── .claude/ # AI 上下文
108
- │ ├── CLAUDE.md # 项目说明
109
- │ ├── MEMORY.md # 增量记忆
110
- │ ├── PROJECT_LOG.md # 构建历史
111
- │ ├── TASK_PLAN.md # 任务计划
112
- │ └── skills/ # 领域技能
113
- └── package.json
114
- ```
115
-
116
- ---
117
-
118
- ## 5. 开发计划
119
-
120
- ### 5.1 迭代规划
121
-
122
- | Sprint | 目标 | 任务 | 预估 | 状态 |
123
- |--------|------|------|------|------|
124
- | Sprint 0 | 项目启动 | 架构设计、环境搭建 | 1周 | ⏳ |
125
- | Sprint 1 | MVP 核心 | 核心功能开发 | 2周 | ⏳ |
126
- | Sprint 2 | 完善 | 扩展功能、测试 | 1周 | ⏳ |
127
- | Sprint 3 | 优化 | 性能优化、文档 | 1周 | ⏳ |
128
-
129
- ### 5.2 里程碑
130
-
131
- | 里程碑 | 交付物 | 预计日期 |
132
- |--------|--------|----------|
133
- | M0: 项目启动 | 架构文档、任务计划 | {DATE} |
134
- | M1: MVP | 可运行的原型 | {DATE} |
135
- | M2: Beta | 功能完整 | {DATE} |
136
- | M3: Release | 生产就绪 | {DATE} |
137
-
138
- ---
139
-
140
- ## 6. 质量保证
141
-
142
- ### 6.1 测试策略
143
- - **单元测试**: 覆盖率目标 {COVERAGE}%
144
- - **集成测试**: 关键流程覆盖
145
- - **E2E 测试**: 用户场景覆盖
146
-
147
- ### 6.2 代码质量
148
- - **Linting**: {LINTER}
149
- - **格式化**: {FORMATTER}
150
- - **代码审查**: AI Reviewer + Human 确认
151
-
152
- ### 6.3 性能指标
153
- | 指标 | 目标 | 测量方法 |
154
- |------|------|----------|
155
- | 响应时间 | < {LATENCY}ms | 自动化测试 |
156
- | 吞吐量 | > {THROUGHPUT} QPS | 压力测试 |
157
- | 错误率 | < {ERROR_RATE}% | 监控 |
158
-
159
- ---
160
-
161
- ## 7. 部署计划
162
-
163
- ### 7.1 环境配置
164
- - **开发**: 本地 Docker
165
- - **测试**: CI/CD 自动部署
166
- - **生产**: {PRODUCTION_DEPLOYMENT}
167
-
168
- ### 7.2 发布流程
169
- 1. 代码审查
170
- 2. 测试通过
171
- 3. Human 确认
172
- 4. 标记版本
173
- 5. 部署上线
174
-
175
- ---
176
-
177
- ## 8. 风险与缓解
178
-
179
- | 风险 | 影响 | 可能性 | 缓解措施 |
180
- |------|------|--------|----------|
181
- | {RISK_1} | 高 | 中 | {MITIGATION_1} |
182
- | {RISK_2} | 中 | 低 | {MITIGATION_2} |
183
-
184
- ---
185
-
186
- ## 9. 成功指标
187
-
188
- ### 9.1 技术指标
189
- - 代码测试覆盖率 > {TARGET}%
190
- - 构建时间 < {TARGET}min
191
- - 部署频率 > {TARGET}/week
192
-
193
- ### 9.2 业务指标
194
- - {BUSINESS_METRIC_1}
195
- - {BUSINESS_METRIC_2}
196
-
197
- ---
198
-
199
- ## 10. 后续规划
200
-
201
- ### 10.1 短期 (3个月)
202
- {SHORT_TERM_PLANS}
203
-
204
- ### 10.2 中期 (6个月)
205
- {MID_TERM_PLANS}
206
-
207
- ### 10.3 长期 (1年)
208
- {LONG_TERM_PLANS}
209
-
210
- ---
211
-
212
- ## 附录
213
-
214
- ### A. 术语表
215
- | 术语 | 定义 |
216
- |------|------|
217
- | {TERM} | {DEFINITION} |
218
-
219
- ### B. 参考资料
220
- - {REFERENCE_1}
221
- - {REFERENCE_2}
222
-
223
- ---
224
-
225
- **文档版本**: v1.0
226
- **最后更新**: {DATE}
227
- **状态**: ⏳ 待 Human 确认
@@ -1,121 +0,0 @@
1
- # 任务执行计划 (Task Execution Plan)
2
-
3
- > 本文件由 AI 在项目启动时生成,执行时持续更新
4
- > 关联文件: PROJECT_KICKOFF.md, ARCHITECTURE.md
5
-
6
- ---
7
-
8
- ## 任务概览
9
-
10
- ```
11
- 总任务数: {TOTAL_TASKS} | 已完成: {COMPLETED} | 进行中: {IN_PROGRESS} | 待开始: {PENDING}
12
- 进度: {PERCENTAGE}%
13
- ```
14
-
15
- ---
16
-
17
- ## 任务分解 (WBS)
18
-
19
- ### Phase 1: {PHASE_1_NAME}
20
- | ID | 任务 | 依赖 | 预估 | 优先级 | 状态 | 负责Agent |
21
- |----|------|------|------|--------|------|-----------|
22
- | T1.1 | {TASK_NAME} | - | {EST} | P0 | ⏳ | {AGENT} |
23
- | T1.2 | {TASK_NAME} | T1.1 | {EST} | P0 | ⏳ | {AGENT} |
24
-
25
- ### Phase 2: {PHASE_2_NAME}
26
- | ID | 任务 | 依赖 | 预估 | 优先级 | 状态 | 负责Agent |
27
- |----|------|------|------|--------|------|-----------|
28
- | T2.1 | {TASK_NAME} | T1.2 | {EST} | P1 | ⏳ | {AGENT} |
29
-
30
- ### Phase 3: {PHASE_3_NAME}
31
- | ID | 任务 | 依赖 | 预估 | 优先级 | 状态 | 负责Agent |
32
- |----|------|------|------|--------|------|-----------|
33
- | T3.1 | {TASK_NAME} | T2.1 | {EST} | P2 | ⏳ | {AGENT} |
34
-
35
- ---
36
-
37
- ## 依赖关系图
38
-
39
- ```
40
- ┌─────────────────────────────────────────────────────────────┐
41
- │ 任务依赖图 │
42
- ├─────────────────────────────────────────────────────────────┤
43
- │ │
44
- │ [T1.1] ──► [T1.2] ──► [T1.3] │
45
- │ │ │
46
- │ └───► [T2.1] ──► [T2.2] │
47
- │ │ │
48
- │ └───► [T3.1] │
49
- │ │
50
- └─────────────────────────────────────────────────────────────┘
51
- ```
52
-
53
- ---
54
-
55
- ## 里程碑
56
-
57
- | 里程碑 | 包含任务 | 预计完成 | 实际完成 | 状态 |
58
- |--------|----------|----------|----------|------|
59
- | M1: {MILESTONE} | T1.1-T1.3 | {DATE} | - | ⏳ |
60
- | M2: {MILESTONE} | T2.1-T2.2 | {DATE} | - | ⏳ |
61
- | M3: {MILESTONE} | T3.1 | {DATE} | - | ⏳ |
62
-
63
- ---
64
-
65
- ## 风险登记
66
-
67
- | 风险 | 可能性 | 影响 | 缓解措施 | 状态 |
68
- |------|--------|------|----------|------|
69
- | {RISK} | 高/中/低 | 高/中/低 | {MITIGATION} | 🟡 |
70
-
71
- ---
72
-
73
- ## 执行日志
74
-
75
- ### {DATE}
76
- - **T1.1 完成**: {NOTES}
77
- - **T1.2 启动**: {NOTES}
78
-
79
- ---
80
-
81
- ## Agent 分配规则
82
-
83
- | Agent | 擅长任务 | 默认分配 |
84
- |-------|----------|----------|
85
- | **Conductor** | 任务分解、依赖分析、风险评估 | Phase 启动 |
86
- | **Architect** | 架构设计、技术选型、接口定义 | 架构相关任务 |
87
- | **Builder** | 功能实现、单元测试、Bug 修复 | 开发任务 |
88
- | **Reviewer** | 代码审查、质量检查、性能优化 | 审查任务 |
89
- | **Librarian** | 文档编写、知识整理、注释更新 | 文档任务 |
90
-
91
- ---
92
-
93
- ## 检查点策略
94
-
95
- | 检查点 | 触发条件 | Human 确认 |
96
- |--------|----------|------------|
97
- | CP1 | Phase 1 完成 | ✅ 必需 |
98
- | CP2 | 架构变更 | ✅ 必需 |
99
- | CP3 | 数据模型变更 | ✅ 必需 |
100
- | CP4 | 里程碑完成 | ✅ 确认 |
101
-
102
- ---
103
-
104
- ## 状态图例
105
-
106
- | 图例 | 含义 |
107
- |------|------|
108
- | ⏳ | 待开始 (Pending) |
109
- | 🔄 | 进行中 (In Progress) |
110
- | ✅ | 已完成 (Completed) |
111
- | ⏸️ | 阻塞 (Blocked) |
112
- | ❌ | 取消 (Cancelled) |
113
- | 🛑 | 等待确认 (Waiting for Human) |
114
-
115
- ---
116
-
117
- ## 下一步行动
118
-
119
- 1. **当前任务**: {CURRENT_TASK}
120
- 2. **阻塞问题**: {BLOCKERS}
121
- 3. **需要决策**: {DECISIONS_NEEDED}
@@ -1,302 +0,0 @@
1
- # Claude Code Hooks 模板库
2
-
3
- > 标准化 hook 开发,防止常见错误
4
-
5
- ---
6
-
7
- ## 📋 目录
8
-
9
- - [快速开始](#快速开始)
10
- - [Hook 类型](#hook-类型)
11
- - [最佳实践](#最佳实践)
12
- - [常见错误](#常见错误)
13
- - [检查清单](#检查清单)
14
-
15
- ---
16
-
17
- ## 🚀 快速开始
18
-
19
- ### 1. 选择模板
20
-
21
- ```bash
22
- # UserPromptSubmit hook (用户提交提示时触发)
23
- cp user-prompt-submit.cjs.template my-hook.cjs
24
-
25
- # UserResponseSubmit hook (AI 返回响应后触发)
26
- cp user-response-submit.cjs.template my-hook.cjs
27
-
28
- # Shell hook
29
- cp hook.sh.template my-hook.sh
30
- ```
31
-
32
- ### 2. 修改配置
33
-
34
- ```javascript
35
- // 修改配置区域
36
- const CONFIG = {
37
- enabled: true,
38
- verbose: false, // 开发时设为 true
39
- };
40
- ```
41
-
42
- ### 3. 实现逻辑
43
-
44
- 在标记区域添加你的代码:
45
-
46
- ```javascript
47
- // ===== 在这里实现你的 hook 逻辑 =====
48
-
49
- // 你的代码
50
-
51
- // ===== Hook 逻辑结束 =====
52
- ```
53
-
54
- ### 4. 测试
55
-
56
- ```bash
57
- # 添加执行权限
58
- chmod +x my-hook.cjs
59
-
60
- # 测试(模拟环境变量)
61
- CLAUDE_PROJECT_DIR=/path/to/project node my-hook.cjs
62
-
63
- # 开启调试模式
64
- VERBOSE=true CLAUDE_PROJECT_DIR=/path/to/project node my-hook.cjs
65
- ```
66
-
67
- ---
68
-
69
- ## 📦 Hook 类型
70
-
71
- ### UserPromptSubmit
72
-
73
- 用户每次提交提示时触发。
74
-
75
- **可用环境变量:**
76
- - `CLAUDE_PROJECT_DIR` - 项目根目录
77
- - `CLAUDE_TOOL_NAME` - 当前调用的工具名
78
- - `CLAUDE_TOOL_INPUT` - 工具输入内容
79
-
80
- **使用场景:**
81
- - 追踪用户操作
82
- - 记录工具调用
83
- - 触发自动化流程
84
-
85
- ### UserResponseSubmit
86
-
87
- AI 返回响应后触发。
88
-
89
- **可用环境变量:**
90
- - `CLAUDE_PROJECT_DIR` - 项目根目录
91
- - `CLAUDE_RESPONSE_CONTENT` - 响应内容
92
-
93
- **使用场景:**
94
- - 分析响应内容
95
- - 统计 token 使用
96
- - 自动保存代码
97
-
98
- ---
99
-
100
- ## ✅ 最佳实践
101
-
102
- ### 1. 环境变量处理
103
-
104
- ```javascript
105
- // ✅ 正确 - 提供 fallback
106
- const PROJECT_DIR = process.env.CLAUDE_PROJECT_DIR || process.cwd();
107
-
108
- // ❌ 错误 - 直接使用可能 undefined
109
- const PROJECT_DIR = process.env.CLAUDE_PROJECT_DIR;
110
- ```
111
-
112
- ### 2. 静默退出
113
-
114
- ```javascript
115
- // ✅ 正确 - 非项目环境时静默退出
116
- if (!process.env.CLAUDE_PROJECT_DIR) {
117
- process.exit(0);
118
- }
119
-
120
- // ❌ 错误 - 会抛出异常
121
- if (!process.env.CLAUDE_PROJECT_DIR) {
122
- throw new Error('No project dir');
123
- }
124
- ```
125
-
126
- ### 3. 错误处理
127
-
128
- ```javascript
129
- // ✅ 正确 - 捕获所有错误
130
- try {
131
- // 你的逻辑
132
- } catch (error) {
133
- log('Error:', error.message);
134
- }
135
-
136
- // ❌ 错误 - 未捕获错误会显示给用户
137
- // 直接执行可能失败的操作
138
- ```
139
-
140
- ### 4. 文件操作
141
-
142
- ```javascript
143
- // ✅ 正确 - 安全的文件操作
144
- function safeWriteFile(filePath, content) {
145
- try {
146
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
147
- fs.writeFileSync(filePath, content, 'utf-8');
148
- return true;
149
- } catch (e) {
150
- return false; // 静默失败
151
- }
152
- }
153
-
154
- // ❌ 错误 - 可能因为目录不存在而失败
155
- fs.writeFileSync(filePath, content);
156
- ```
157
-
158
- ### 5. 输出控制
159
-
160
- ```javascript
161
- // ✅ 正确 - 使用 stderr 记录日志
162
- function log(...args) {
163
- console.error('[Hook]', ...args);
164
- }
165
-
166
- // ❌ 错误 - stdout 会干扰响应
167
- console.log(...args);
168
- ```
169
-
170
- ---
171
-
172
- ## 🐛 常见错误
173
-
174
- ### 错误 1: 未检查环境变量
175
-
176
- ```javascript
177
- // ❌ 问题代码
178
- const dir = path.join(process.env.CLAUDE_PROJECT_DIR, 'subdir');
179
-
180
- // ✅ 修复
181
- const PROJECT_DIR = process.env.CLAUDE_PROJECT_DIR || process.cwd();
182
- if (!process.env.CLAUDE_PROJECT_DIR) {
183
- process.exit(0);
184
- }
185
- const dir = path.join(PROJECT_DIR, 'subdir');
186
- ```
187
-
188
- ### 错误 2: 未捕获异常
189
-
190
- ```javascript
191
- // ❌ 问题代码
192
- function main() {
193
- const data = JSON.parse(fs.readFileSync('data.json')); // 文件不存在会崩溃
194
- }
195
-
196
- // ✅ 修复
197
- function main() {
198
- try {
199
- const data = JSON.parse(fs.readFileSync('data.json') || '{}');
200
- } catch (e) {
201
- // 静默处理
202
- }
203
- }
204
- ```
205
-
206
- ### 错误 3: 输出到 stdout
207
-
208
- ```javascript
209
- // ❌ 问题代码
210
- console.log('Processing...'); // 会出现在用户对话中
211
-
212
- // ✅ 修复
213
- function log(...args) {
214
- if (CONFIG.verbose) {
215
- console.error('[Hook]', ...args); // stderr 不影响对话
216
- }
217
- }
218
- ```
219
-
220
- ### 错误 4: 忘记退出码
221
-
222
- ```javascript
223
- // ❌ 问题代码
224
- main(); // 可能返回非零退出码
225
-
226
- // ✅ 修复
227
- try {
228
- main();
229
- } catch (e) {
230
- // ...
231
- }
232
- process.exit(0); // 始终返回成功
233
- ```
234
-
235
- ---
236
-
237
- ## 📝 Hook 开发检查清单
238
-
239
- 在提交新 hook 前,确保:
240
-
241
- - [ ] **环境变量**: 使用 `|| process.cwd()` 提供 fallback
242
- - [ ] **静默退出**: 非项目环境时 `process.exit(0)`
243
- - [ ] **错误处理**: 所有可能失败的操作都在 try-catch 中
244
- - [ ] **文件操作**: 使用安全函数,目录不存在时自动创建
245
- - [ ] **输出控制**: 调试信息使用 stderr,生产环境静默
246
- - [ ] **退出码**: 始终返回 0,不影响 Claude Code
247
- - [ ] **执行权限**: Shell hooks 有 `chmod +x`
248
- - [ ] **测试**: 在有/无 CLAUDE_PROJECT_DIR 环境下都测试过
249
-
250
- ---
251
-
252
- ## 🔧 调试技巧
253
-
254
- ### 开启调试模式
255
-
256
- ```bash
257
- # 临时开启
258
- VERBOSE=true CLAUDE_PROJECT_DIR=/path/to/project node my-hook.cjs
259
-
260
- # 或修改配置
261
- const CONFIG = {
262
- verbose: true, // 开启调试
263
- };
264
- ```
265
-
266
- ### 查看日志
267
-
268
- ```bash
269
- # 追踪执行
270
- node my-hook.cjs 2>&1 | tee hook-debug.log
271
-
272
- # 检查退出码
273
- node my-hook.cjs; echo "Exit code: $?"
274
- ```
275
-
276
- ### 常用测试命令
277
-
278
- ```bash
279
- # 模拟完整环境
280
- CLAUDE_PROJECT_DIR=$(pwd) \
281
- CLAUDE_TOOL_NAME=Edit \
282
- CLAUDE_TOOL_INPUT="test input" \
283
- node my-hook.cjs
284
-
285
- # 测试错误处理
286
- CLAUDE_PROJECT_DIR="" node my-hook.cjs
287
- ```
288
-
289
- ---
290
-
291
- ## 📚 现有 Hooks 参考
292
-
293
- | Hook | 功能 | 关键技术 |
294
- |------|------|----------|
295
- | `todo-manager.cjs` | 任务管理 | 目录扫描、状态流转 |
296
- | `thinking-silent.cjs` | 对话追踪 | 静默执行、定期同步 |
297
- | `code-formatter.cjs` | 代码格式化 | 文件监听、外部调用 |
298
- | `multi-session.cjs` | 多会话管理 | 会话追踪、状态恢复 |
299
-
300
- ---
301
-
302
- > **维护**: 添加新 hook 时,请基于模板创建并更新本文档