mcp-probe-kit 3.0.5 → 3.0.7

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 (69) hide show
  1. package/README.md +458 -431
  2. package/build/index.js +875 -141
  3. package/build/lib/gitnexus-bridge.d.ts +58 -0
  4. package/build/lib/gitnexus-bridge.js +379 -0
  5. package/build/lib/template-loader.js +317 -317
  6. package/build/lib/tool-execution-context.d.ts +8 -0
  7. package/build/lib/tool-execution-context.js +20 -0
  8. package/build/lib/toolset-manager.d.ts +1 -1
  9. package/build/lib/toolset-manager.js +7 -5
  10. package/build/schemas/code-analysis-tools.d.ts +46 -0
  11. package/build/schemas/code-analysis-tools.js +47 -0
  12. package/build/schemas/git-tools.js +16 -16
  13. package/build/schemas/index.d.ts +46 -0
  14. package/build/tools/__tests__/code_insight.unit.test.d.ts +1 -0
  15. package/build/tools/__tests__/code_insight.unit.test.js +35 -0
  16. package/build/tools/__tests__/start_bugfix.unit.test.js +14 -14
  17. package/build/tools/__tests__/start_ui.unit.test.js +11 -11
  18. package/build/tools/add_feature.js +79 -79
  19. package/build/tools/ask_user.js +5 -5
  20. package/build/tools/code_insight.d.ts +8 -0
  21. package/build/tools/code_insight.js +129 -0
  22. package/build/tools/index.d.ts +1 -0
  23. package/build/tools/index.js +1 -0
  24. package/build/tools/interview.js +9 -9
  25. package/build/tools/start_bugfix.d.ts +2 -1
  26. package/build/tools/start_bugfix.js +170 -126
  27. package/build/tools/start_feature.d.ts +2 -1
  28. package/build/tools/start_feature.js +156 -112
  29. package/build/tools/start_onboard.d.ts +2 -1
  30. package/build/tools/start_onboard.js +57 -51
  31. package/build/tools/start_product.d.ts +2 -1
  32. package/build/tools/start_product.js +9 -1
  33. package/build/tools/start_ralph.d.ts +2 -1
  34. package/build/tools/start_ralph.js +9 -3
  35. package/build/tools/start_ui.d.ts +2 -1
  36. package/build/tools/start_ui.js +102 -88
  37. package/build/tools/ui-ux-tools.d.ts +2 -1
  38. package/build/tools/ui-ux-tools.js +19 -3
  39. package/build/utils/ui-sync.d.ts +6 -2
  40. package/build/utils/ui-sync.js +125 -29
  41. package/docs/assets/font/MaterialSymbolsOutlined.codepoints +4102 -0
  42. package/docs/assets/font/MaterialSymbolsOutlined.ttf +0 -0
  43. package/docs/assets/font/noto-sans-sc-400.ttf +0 -0
  44. package/docs/assets/font/noto-sans-sc-700.ttf +0 -0
  45. package/docs/assets/font/noto-sans-sc-900.ttf +0 -0
  46. package/docs/assets/js/i18n.js +122 -21
  47. package/docs/assets/js/tailwind.js +83 -83
  48. package/docs/data/tools.js +419 -399
  49. package/docs/debug-i18n.html +163 -0
  50. package/docs/i18n/all-tools/en.json +157 -0
  51. package/docs/i18n/all-tools/ja.json +157 -0
  52. package/docs/i18n/all-tools/ko.json +157 -0
  53. package/docs/i18n/all-tools/zh-CN.json +157 -0
  54. package/docs/pages/all-tools.html +514 -352
  55. package/docs/pages/examples.html +689 -689
  56. package/docs/pages/getting-started.html +589 -589
  57. package/docs/pages/migration.html +298 -298
  58. package/docs/specs/user-auth/design.md +82 -0
  59. package/docs/specs/user-auth/requirements.md +52 -0
  60. package/docs/specs/user-auth/tasks.md +55 -0
  61. package/package.json +5 -5
  62. package/docs/project-context/architecture.md +0 -0
  63. package/docs/project-context/how-to-develop.md +0 -313
  64. package/docs/project-context/how-to-test.md +0 -457
  65. package/docs/project-context/tech-stack.md +0 -96
  66. package/docs/project-context.md +0 -53
  67. package/docs/specs/git-work-report/design.md +0 -568
  68. package/docs/specs/git-work-report/requirements.md +0 -131
  69. package/docs/specs/git-work-report/tasks.md +0 -197
@@ -19,328 +19,328 @@ const TEMPLATE_VALIDATORS = {
19
19
  },
20
20
  };
21
21
  const EMBEDDED_TEMPLATES = {
22
- 'specs/feature/guided/requirements.md': `# 需求文档:{feature_name}
23
-
24
- ## 功能概述
25
-
26
- {description}
27
-
28
- ## 术语定义
29
-
30
- - **[术语1]**: [填写:定义]
31
- - **[术语2]**: [填写:定义]
32
-
33
- ---
34
-
35
- ## 需求列表
36
-
37
- ### 需求 1: [填写:需求标题]
38
-
39
- **用户故事:** 作为 [填写:角色],我想要 [填写:功能],以便 [填写:目标]。
40
-
41
- #### 验收标准
42
-
43
- 1. WHEN [填写:触发条件] THEN 系统 SHALL [填写:响应]
44
- 2. WHILE [填写:状态条件] THE 系统 SHALL [填写:响应]
45
- 3. IF [填写:异常条件] THEN 系统 SHALL [填写:处理方式]
46
-
47
- ---
48
-
49
- ## 非功能需求
50
-
51
- ### 性能要求
52
- - [填写:性能相关需求]
53
-
54
- ### 安全要求
55
- - [填写:安全相关需求]
56
-
57
- ### 兼容性要求
58
- - [填写:兼容性相关需求]
59
-
60
- ---
61
-
62
- ## 依赖关系
63
-
64
- - [填写:列出与其他功能的依赖]
65
-
66
- ---
67
-
68
- ## 检查清单
69
-
70
- - [ ] 需求覆盖核心场景与边界场景
71
- - [ ] 验收标准使用 EARS 格式
72
- - [ ] 非功能需求明确
73
- - [ ] 依赖关系完整
22
+ 'specs/feature/guided/requirements.md': `# 需求文档:{feature_name}
23
+
24
+ ## 功能概述
25
+
26
+ {description}
27
+
28
+ ## 术语定义
29
+
30
+ - **[术语1]**: [填写:定义]
31
+ - **[术语2]**: [填写:定义]
32
+
33
+ ---
34
+
35
+ ## 需求列表
36
+
37
+ ### 需求 1: [填写:需求标题]
38
+
39
+ **用户故事:** 作为 [填写:角色],我想要 [填写:功能],以便 [填写:目标]。
40
+
41
+ #### 验收标准
42
+
43
+ 1. WHEN [填写:触发条件] THEN 系统 SHALL [填写:响应]
44
+ 2. WHILE [填写:状态条件] THE 系统 SHALL [填写:响应]
45
+ 3. IF [填写:异常条件] THEN 系统 SHALL [填写:处理方式]
46
+
47
+ ---
48
+
49
+ ## 非功能需求
50
+
51
+ ### 性能要求
52
+ - [填写:性能相关需求]
53
+
54
+ ### 安全要求
55
+ - [填写:安全相关需求]
56
+
57
+ ### 兼容性要求
58
+ - [填写:兼容性相关需求]
59
+
60
+ ---
61
+
62
+ ## 依赖关系
63
+
64
+ - [填写:列出与其他功能的依赖]
65
+
66
+ ---
67
+
68
+ ## 检查清单
69
+
70
+ - [ ] 需求覆盖核心场景与边界场景
71
+ - [ ] 验收标准使用 EARS 格式
72
+ - [ ] 非功能需求明确
73
+ - [ ] 依赖关系完整
74
74
  `,
75
- 'specs/feature/guided/design.md': `# 设计文档:{feature_name}
76
-
77
- ## 概述
78
-
79
- {description}
80
-
81
- 本设计文档描述 {feature_name} 功能的技术实现方案。
82
-
83
- ---
84
-
85
- ## 技术方案
86
-
87
- ### 技术选型
88
-
89
- | 类别 | 选择 | 理由 |
90
- |------|------|------|
91
- | [填写:类别] | [填写:技术] | [填写:选择理由] |
92
-
93
- ### 架构设计
94
-
95
- [填写:描述功能的架构设计,参考项目现有架构]
96
-
97
- \`\`\`
98
- [填写:架构图或流程图,使用 ASCII 或 Mermaid]
99
- \`\`\`
100
-
101
- ---
102
-
103
- ## 数据模型
104
-
105
- [填写:如果功能涉及数据存储,描述数据模型]
106
-
107
- ---
108
-
109
- ## API 设计
110
-
111
- [填写:如果功能涉及 API,描述 API 设计]
112
-
113
- ---
114
-
115
- ## 文件结构
116
-
117
- [填写:描述功能涉及的文件和目录]
118
-
119
- \`\`\`
120
- [项目目录]/
121
- ├── [填写:新增文件1]
122
- ├── [填写:新增文件2]
123
- └── [填写:修改文件]
124
- \`\`\`
125
-
126
- ---
127
-
128
- ## 设计决策
129
-
130
- ### 决策 1: [填写:决策标题]
131
-
132
- **问题**: [填写:描述面临的问题]
133
-
134
- **选项**:
135
- 1. [填写:选项 A]: [填写:描述]
136
- 2. [填写:选项 B]: [填写:描述]
137
-
138
- **决策**: 选择 [填写:选项]
139
-
140
- **理由**: [填写:解释选择的理由]
141
-
142
- ---
143
-
144
- ## 风险评估
145
-
146
- | 风险 | 影响 | 缓解措施 |
147
- |------|------|----------|
148
- | [填写:风险描述] | [填写:高/中/低] | [填写:缓解措施] |
149
-
150
- ---
151
-
152
- ## 检查清单
153
-
154
- - [ ] 技术方案与现有架构一致
155
- - [ ] 数据模型与接口定义清晰
156
- - [ ] 关键设计决策已记录
75
+ 'specs/feature/guided/design.md': `# 设计文档:{feature_name}
76
+
77
+ ## 概述
78
+
79
+ {description}
80
+
81
+ 本设计文档描述 {feature_name} 功能的技术实现方案。
82
+
83
+ ---
84
+
85
+ ## 技术方案
86
+
87
+ ### 技术选型
88
+
89
+ | 类别 | 选择 | 理由 |
90
+ |------|------|------|
91
+ | [填写:类别] | [填写:技术] | [填写:选择理由] |
92
+
93
+ ### 架构设计
94
+
95
+ [填写:描述功能的架构设计,参考项目现有架构]
96
+
97
+ \`\`\`
98
+ [填写:架构图或流程图,使用 ASCII 或 Mermaid]
99
+ \`\`\`
100
+
101
+ ---
102
+
103
+ ## 数据模型
104
+
105
+ [填写:如果功能涉及数据存储,描述数据模型]
106
+
107
+ ---
108
+
109
+ ## API 设计
110
+
111
+ [填写:如果功能涉及 API,描述 API 设计]
112
+
113
+ ---
114
+
115
+ ## 文件结构
116
+
117
+ [填写:描述功能涉及的文件和目录]
118
+
119
+ \`\`\`
120
+ [项目目录]/
121
+ ├── [填写:新增文件1]
122
+ ├── [填写:新增文件2]
123
+ └── [填写:修改文件]
124
+ \`\`\`
125
+
126
+ ---
127
+
128
+ ## 设计决策
129
+
130
+ ### 决策 1: [填写:决策标题]
131
+
132
+ **问题**: [填写:描述面临的问题]
133
+
134
+ **选项**:
135
+ 1. [填写:选项 A]: [填写:描述]
136
+ 2. [填写:选项 B]: [填写:描述]
137
+
138
+ **决策**: 选择 [填写:选项]
139
+
140
+ **理由**: [填写:解释选择的理由]
141
+
142
+ ---
143
+
144
+ ## 风险评估
145
+
146
+ | 风险 | 影响 | 缓解措施 |
147
+ |------|------|----------|
148
+ | [填写:风险描述] | [填写:高/中/低] | [填写:缓解措施] |
149
+
150
+ ---
151
+
152
+ ## 检查清单
153
+
154
+ - [ ] 技术方案与现有架构一致
155
+ - [ ] 数据模型与接口定义清晰
156
+ - [ ] 关键设计决策已记录
157
157
  `,
158
- 'specs/feature/guided/tasks.md': `# 任务清单:{feature_name}
159
-
160
- ## 概述
161
-
162
- 实现 {feature_name} 功能的任务分解。
163
-
164
- ---
165
-
166
- ## 任务列表
167
-
168
- ### 阶段 1: 准备工作
169
-
170
- - [ ] 1.1 [填写:任务标题]
171
- - [填写:具体操作说明]
172
- - _需求: [填写:对应的需求编号]_
173
-
174
- ---
175
-
176
- ### 阶段 2: 核心实现
177
-
178
- - [ ] 2.1 [填写:任务标题]
179
- - [填写:具体操作说明]
180
- - _需求: [填写:对应的需求编号]_
181
-
182
- ---
183
-
184
- ### 阶段 3: 集成测试
185
-
186
- - [ ] 3.1 [填写:任务标题]
187
- - [填写:具体操作说明]
188
- - _需求: [填写:对应的需求编号]_
189
-
190
- ---
191
-
192
- ## 检查点
193
-
194
- - [ ] 阶段 1 完成后:[填写:验证内容]
195
- - [ ] 阶段 2 完成后:[填写:验证内容]
196
- - [ ] 阶段 3 完成后:[填写:验证内容]
197
-
198
- ---
199
-
200
- ## 文件变更清单
201
-
202
- | 文件 | 操作 | 说明 |
203
- |------|------|------|
204
- | [填写:文件路径] | 新建/修改 | [填写:说明] |
205
-
206
- ---
207
-
208
- ## 检查清单
209
-
210
- - [ ] 任务分阶段合理
211
- - [ ] 每项任务可执行且可验证
212
- - [ ] 任务与需求一一对应
158
+ 'specs/feature/guided/tasks.md': `# 任务清单:{feature_name}
159
+
160
+ ## 概述
161
+
162
+ 实现 {feature_name} 功能的任务分解。
163
+
164
+ ---
165
+
166
+ ## 任务列表
167
+
168
+ ### 阶段 1: 准备工作
169
+
170
+ - [ ] 1.1 [填写:任务标题]
171
+ - [填写:具体操作说明]
172
+ - _需求: [填写:对应的需求编号]_
173
+
174
+ ---
175
+
176
+ ### 阶段 2: 核心实现
177
+
178
+ - [ ] 2.1 [填写:任务标题]
179
+ - [填写:具体操作说明]
180
+ - _需求: [填写:对应的需求编号]_
181
+
182
+ ---
183
+
184
+ ### 阶段 3: 集成测试
185
+
186
+ - [ ] 3.1 [填写:任务标题]
187
+ - [填写:具体操作说明]
188
+ - _需求: [填写:对应的需求编号]_
189
+
190
+ ---
191
+
192
+ ## 检查点
193
+
194
+ - [ ] 阶段 1 完成后:[填写:验证内容]
195
+ - [ ] 阶段 2 完成后:[填写:验证内容]
196
+ - [ ] 阶段 3 完成后:[填写:验证内容]
197
+
198
+ ---
199
+
200
+ ## 文件变更清单
201
+
202
+ | 文件 | 操作 | 说明 |
203
+ |------|------|------|
204
+ | [填写:文件路径] | 新建/修改 | [填写:说明] |
205
+
206
+ ---
207
+
208
+ ## 检查清单
209
+
210
+ - [ ] 任务分阶段合理
211
+ - [ ] 每项任务可执行且可验证
212
+ - [ ] 任务与需求一一对应
213
213
  `,
214
- 'specs/feature/strict/requirements.md': `# 需求文档:{feature_name}
215
-
216
- ## 功能概述
217
-
218
- {description}
219
-
220
- ---
221
-
222
- ## 需求列表
223
-
224
- ### 需求 1: [填写:需求标题]
225
-
226
- **用户故事:** 作为 [填写:角色],我想要 [填写:功能],以便 [填写:目标]。
227
-
228
- #### 验收标准
229
-
230
- 1. WHEN [填写:触发条件] THEN 系统 SHALL [填写:响应]
231
- 2. IF [填写:异常条件] THEN 系统 SHALL [填写:处理方式]
232
-
233
- ---
234
-
235
- ## 非功能需求
236
-
237
- - [填写:性能/安全/兼容性]
238
-
239
- ---
240
-
241
- ## 依赖关系
242
-
243
- - [填写:列出依赖]
214
+ 'specs/feature/strict/requirements.md': `# 需求文档:{feature_name}
215
+
216
+ ## 功能概述
217
+
218
+ {description}
219
+
220
+ ---
221
+
222
+ ## 需求列表
223
+
224
+ ### 需求 1: [填写:需求标题]
225
+
226
+ **用户故事:** 作为 [填写:角色],我想要 [填写:功能],以便 [填写:目标]。
227
+
228
+ #### 验收标准
229
+
230
+ 1. WHEN [填写:触发条件] THEN 系统 SHALL [填写:响应]
231
+ 2. IF [填写:异常条件] THEN 系统 SHALL [填写:处理方式]
232
+
233
+ ---
234
+
235
+ ## 非功能需求
236
+
237
+ - [填写:性能/安全/兼容性]
238
+
239
+ ---
240
+
241
+ ## 依赖关系
242
+
243
+ - [填写:列出依赖]
244
244
  `,
245
- 'specs/feature/strict/design.md': `# 设计文档:{feature_name}
246
-
247
- ## 概述
248
-
249
- {description}
250
-
251
- ---
252
-
253
- ## 技术方案
254
-
255
- ### 技术选型
256
-
257
- | 类别 | 选择 | 理由 |
258
- |------|------|------|
259
- | [填写:类别] | [填写:技术] | [填写:理由] |
260
-
261
- ### 架构设计
262
-
263
- [填写:架构说明]
264
-
265
- ---
266
-
267
- ## 数据模型
268
-
269
- [填写:数据结构或表设计]
270
-
271
- ---
272
-
273
- ## API 设计
274
-
275
- | 方法 | 路径 | 描述 |
276
- |------|------|------|
277
- | [填写:GET/POST/...] | [填写:/path] | [填写:描述] |
278
-
279
- ---
280
-
281
- ## 文件结构
282
-
283
- [填写:涉及的文件]
284
-
285
- ---
286
-
287
- ## 设计决策
288
-
289
- ### 决策 1: [填写:决策标题]
290
-
291
- **问题**: [填写:问题]
292
- **选项**: [填写:选项]
293
- **决策**: [填写:结论]
294
-
295
- ---
296
-
297
- ## 风险评估
298
-
299
- | 风险 | 影响 | 缓解措施 |
300
- |------|------|----------|
301
- | [填写:风险描述] | [填写:高/中/低] | [填写:缓解措施] |
245
+ 'specs/feature/strict/design.md': `# 设计文档:{feature_name}
246
+
247
+ ## 概述
248
+
249
+ {description}
250
+
251
+ ---
252
+
253
+ ## 技术方案
254
+
255
+ ### 技术选型
256
+
257
+ | 类别 | 选择 | 理由 |
258
+ |------|------|------|
259
+ | [填写:类别] | [填写:技术] | [填写:理由] |
260
+
261
+ ### 架构设计
262
+
263
+ [填写:架构说明]
264
+
265
+ ---
266
+
267
+ ## 数据模型
268
+
269
+ [填写:数据结构或表设计]
270
+
271
+ ---
272
+
273
+ ## API 设计
274
+
275
+ | 方法 | 路径 | 描述 |
276
+ |------|------|------|
277
+ | [填写:GET/POST/...] | [填写:/path] | [填写:描述] |
278
+
279
+ ---
280
+
281
+ ## 文件结构
282
+
283
+ [填写:涉及的文件]
284
+
285
+ ---
286
+
287
+ ## 设计决策
288
+
289
+ ### 决策 1: [填写:决策标题]
290
+
291
+ **问题**: [填写:问题]
292
+ **选项**: [填写:选项]
293
+ **决策**: [填写:结论]
294
+
295
+ ---
296
+
297
+ ## 风险评估
298
+
299
+ | 风险 | 影响 | 缓解措施 |
300
+ |------|------|----------|
301
+ | [填写:风险描述] | [填写:高/中/低] | [填写:缓解措施] |
302
302
  `,
303
- 'specs/feature/strict/tasks.md': `# 任务清单:{feature_name}
304
-
305
- ## 概述
306
-
307
- 实现 {feature_name} 的任务分解。
308
-
309
- ---
310
-
311
- ## 任务列表
312
-
313
- ### 阶段 1: 准备工作
314
-
315
- - [ ] 1.1 [填写:任务标题]
316
-
317
- ---
318
-
319
- ### 阶段 2: 核心实现
320
-
321
- - [ ] 2.1 [填写:任务标题]
322
-
323
- ---
324
-
325
- ### 阶段 3: 集成测试
326
-
327
- - [ ] 3.1 [填写:任务标题]
328
-
329
- ---
330
-
331
- ## 检查点
332
-
333
- - [ ] 阶段 1 完成后:[填写:验证内容]
334
- - [ ] 阶段 2 完成后:[填写:验证内容]
335
- - [ ] 阶段 3 完成后:[填写:验证内容]
336
-
337
- ---
338
-
339
- ## 文件变更清单
340
-
341
- | 文件 | 操作 | 说明 |
342
- |------|------|------|
343
- | [填写:文件路径] | 新建/修改 | [填写:说明] |
303
+ 'specs/feature/strict/tasks.md': `# 任务清单:{feature_name}
304
+
305
+ ## 概述
306
+
307
+ 实现 {feature_name} 的任务分解。
308
+
309
+ ---
310
+
311
+ ## 任务列表
312
+
313
+ ### 阶段 1: 准备工作
314
+
315
+ - [ ] 1.1 [填写:任务标题]
316
+
317
+ ---
318
+
319
+ ### 阶段 2: 核心实现
320
+
321
+ - [ ] 2.1 [填写:任务标题]
322
+
323
+ ---
324
+
325
+ ### 阶段 3: 集成测试
326
+
327
+ - [ ] 3.1 [填写:任务标题]
328
+
329
+ ---
330
+
331
+ ## 检查点
332
+
333
+ - [ ] 阶段 1 完成后:[填写:验证内容]
334
+ - [ ] 阶段 2 完成后:[填写:验证内容]
335
+ - [ ] 阶段 3 完成后:[填写:验证内容]
336
+
337
+ ---
338
+
339
+ ## 文件变更清单
340
+
341
+ | 文件 | 操作 | 说明 |
342
+ |------|------|------|
343
+ | [填写:文件路径] | 新建/修改 | [填写:说明] |
344
344
  `,
345
345
  };
346
346
  export function normalizeTemplateProfile(input) {
@@ -0,0 +1,8 @@
1
+ export interface ToolExecutionContext {
2
+ signal?: AbortSignal;
3
+ reportProgress?: (progress: number, message: string) => Promise<void> | void;
4
+ traceMeta?: unknown;
5
+ }
6
+ export declare function isAbortError(error: unknown): boolean;
7
+ export declare function throwIfAborted(signal: AbortSignal | undefined, message?: string): void;
8
+ export declare function reportToolProgress(context: ToolExecutionContext | undefined, progress: number, message: string): Promise<void>;
@@ -0,0 +1,20 @@
1
+ export function isAbortError(error) {
2
+ if (error instanceof Error) {
3
+ return error.name === "AbortError" || /aborted|cancel/i.test(error.message);
4
+ }
5
+ return false;
6
+ }
7
+ export function throwIfAborted(signal, message = "操作已取消") {
8
+ if (!signal?.aborted) {
9
+ return;
10
+ }
11
+ const err = new Error(message);
12
+ err.name = "AbortError";
13
+ throw err;
14
+ }
15
+ export async function reportToolProgress(context, progress, message) {
16
+ if (!context?.reportProgress) {
17
+ return;
18
+ }
19
+ await context.reportProgress(progress, message);
20
+ }
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export type ToolsetType = 'core' | 'ui' | 'workflow' | 'full';
6
6
  /**
7
- * 工具集定义 (v3.0 精简版 - 20 个工具)
7
+ * 工具集定义 (v3.0 精简版)
8
8
  *
9
9
  * - core: 核心工具(日常高频)
10
10
  * - ui: UI/UX 工具(推荐使用 start_ui 统一入口)