mcp-probe-kit 3.0.24 → 3.2.0

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 (142) hide show
  1. package/README.md +755 -779
  2. package/build/index.js +42 -41
  3. package/build/lib/__tests__/spec-validator.unit.test.js +115 -0
  4. package/build/lib/agents-md-template.js +32 -32
  5. package/build/lib/memory-orchestration.js +29 -8
  6. package/build/lib/skill-bridge.js +12 -12
  7. package/build/lib/spec-validator.d.ts +36 -0
  8. package/build/lib/spec-validator.js +103 -0
  9. package/build/lib/template-loader.js +149 -47
  10. package/build/lib/tool-annotations.d.ts +30 -0
  11. package/build/lib/tool-annotations.js +55 -0
  12. package/build/lib/toolset-manager.js +2 -0
  13. package/build/resources/index.d.ts +4 -0
  14. package/build/resources/index.js +4 -0
  15. package/build/resources/tool-params-guide.d.ts +571 -0
  16. package/build/resources/tool-params-guide.js +488 -0
  17. package/build/resources/ui-ux-data/guidelines/vercel-web-interface.json +1632 -1632
  18. package/build/resources/ui-ux-data/metadata.json +30 -30
  19. package/build/resources/ui-ux-data/shadcn/blocks.json +2541 -2541
  20. package/build/resources/ui-ux-data/shadcn/components.json +997 -997
  21. package/build/resources/ui-ux-data/themes/presets.json +483 -483
  22. package/build/schemas/index.d.ts +22 -22
  23. package/build/schemas/memory-tools.d.ts +0 -22
  24. package/build/schemas/memory-tools.js +0 -14
  25. package/build/schemas/project-tools.d.ts +22 -0
  26. package/build/schemas/project-tools.js +23 -0
  27. package/build/tools/analyze_project.d.ts +1 -0
  28. package/build/tools/analyze_project.js +527 -0
  29. package/build/tools/check_deps.d.ts +13 -0
  30. package/build/tools/check_deps.js +204 -0
  31. package/build/tools/check_spec.d.ts +7 -0
  32. package/build/tools/check_spec.js +81 -0
  33. package/build/tools/code_insight.js +41 -41
  34. package/build/tools/convert.d.ts +13 -0
  35. package/build/tools/convert.js +599 -0
  36. package/build/tools/css_order.d.ts +13 -0
  37. package/build/tools/css_order.js +81 -0
  38. package/build/tools/debug.d.ts +13 -0
  39. package/build/tools/debug.js +131 -0
  40. package/build/tools/design2code.d.ts +20 -0
  41. package/build/tools/design2code.js +426 -0
  42. package/build/tools/detect_shell.d.ts +6 -0
  43. package/build/tools/detect_shell.js +151 -0
  44. package/build/tools/explain.d.ts +13 -0
  45. package/build/tools/explain.js +390 -0
  46. package/build/tools/fix.d.ts +13 -0
  47. package/build/tools/fix.js +303 -0
  48. package/build/tools/fix_bug.js +161 -161
  49. package/build/tools/gen_mock.d.ts +22 -0
  50. package/build/tools/gen_mock.js +269 -0
  51. package/build/tools/gen_skill.d.ts +13 -0
  52. package/build/tools/gen_skill.js +560 -0
  53. package/build/tools/genapi.d.ts +13 -0
  54. package/build/tools/genapi.js +174 -0
  55. package/build/tools/genchangelog.d.ts +13 -0
  56. package/build/tools/genchangelog.js +250 -0
  57. package/build/tools/gencommit.js +60 -60
  58. package/build/tools/gendoc.d.ts +13 -0
  59. package/build/tools/gendoc.js +232 -0
  60. package/build/tools/genpr.d.ts +13 -0
  61. package/build/tools/genpr.js +194 -0
  62. package/build/tools/genreadme.d.ts +13 -0
  63. package/build/tools/genreadme.js +626 -0
  64. package/build/tools/gensql.d.ts +13 -0
  65. package/build/tools/gensql.js +320 -0
  66. package/build/tools/genui.d.ts +13 -0
  67. package/build/tools/genui.js +803 -0
  68. package/build/tools/index.d.ts +1 -1
  69. package/build/tools/index.js +1 -1
  70. package/build/tools/init_component_catalog.d.ts +22 -0
  71. package/build/tools/init_component_catalog.js +809 -0
  72. package/build/tools/init_project_context.js +432 -432
  73. package/build/tools/init_setting.d.ts +13 -0
  74. package/build/tools/init_setting.js +47 -0
  75. package/build/tools/perf.d.ts +13 -0
  76. package/build/tools/perf.js +409 -0
  77. package/build/tools/render_ui.d.ts +22 -0
  78. package/build/tools/render_ui.js +384 -0
  79. package/build/tools/resolve_conflict.d.ts +13 -0
  80. package/build/tools/resolve_conflict.js +349 -0
  81. package/build/tools/security_scan.d.ts +22 -0
  82. package/build/tools/security_scan.js +323 -0
  83. package/build/tools/split.d.ts +13 -0
  84. package/build/tools/split.js +599 -0
  85. package/build/tools/start_api.d.ts +13 -0
  86. package/build/tools/start_api.js +193 -0
  87. package/build/tools/start_bugfix.js +254 -243
  88. package/build/tools/start_doc.d.ts +13 -0
  89. package/build/tools/start_doc.js +207 -0
  90. package/build/tools/start_feature.js +162 -127
  91. package/build/tools/start_product.js +1 -1
  92. package/build/tools/start_refactor.d.ts +13 -0
  93. package/build/tools/start_refactor.js +188 -0
  94. package/build/tools/start_release.d.ts +13 -0
  95. package/build/tools/start_release.js +167 -0
  96. package/build/tools/start_review.d.ts +13 -0
  97. package/build/tools/start_review.js +175 -0
  98. package/build/tools/start_ui.js +426 -412
  99. package/build/tools/ui-ux-tools.js +290 -290
  100. package/build/utils/__tests__/vercel-guidelines-sync.unit.test.js +12 -12
  101. package/build/utils/themes-sync.js +8 -8
  102. package/package.json +81 -83
  103. package/build/lib/__tests__/memory-orchestration.unit.test.js +0 -88
  104. package/build/lib/__tests__/memory-payload.unit.test.js +0 -35
  105. package/build/lib/cursor-history-client.d.ts +0 -54
  106. package/build/lib/cursor-history-client.js +0 -240
  107. package/build/tools/__tests__/cursor-history.unit.test.js +0 -38
  108. package/build/tools/cursor_read_conversation.d.ts +0 -7
  109. package/build/tools/cursor_read_conversation.js +0 -36
  110. package/docs/.mcp-probe/layout.json +0 -11
  111. package/docs/CNAME +0 -1
  112. package/docs/assets/font/MaterialSymbolsOutlined.codepoints +0 -4102
  113. package/docs/assets/font/MaterialSymbolsOutlined.ttf +0 -0
  114. package/docs/assets/font/noto-sans-sc-400.ttf +0 -0
  115. package/docs/assets/font/noto-sans-sc-700.ttf +0 -0
  116. package/docs/assets/font/noto-sans-sc-900.ttf +0 -0
  117. package/docs/assets/js/i18n.js +0 -375
  118. package/docs/assets/js/tailwind.js +0 -83
  119. package/docs/assets/logo-zh.png +0 -0
  120. package/docs/assets/logo.png +0 -0
  121. package/docs/data/tools.js +0 -523
  122. package/docs/i18n/all-tools/en.json +0 -190
  123. package/docs/i18n/all-tools/ja.json +0 -171
  124. package/docs/i18n/all-tools/ko.json +0 -171
  125. package/docs/i18n/all-tools/zh-CN.json +0 -190
  126. package/docs/i18n/en.json +0 -626
  127. package/docs/i18n/ja.json +0 -602
  128. package/docs/i18n/ko.json +0 -602
  129. package/docs/i18n/zh-CN.json +0 -626
  130. package/docs/index.html +0 -327
  131. package/docs/memory-local-setup.md +0 -315
  132. package/docs/memory-local-setup.zh-CN.md +0 -283
  133. package/docs/pages/all-tools.html +0 -515
  134. package/docs/pages/examples.html +0 -717
  135. package/docs/pages/getting-started.html +0 -964
  136. package/docs/pages/migration.html +0 -308
  137. package/docs/specs/user-auth/design.md +0 -82
  138. package/docs/specs/user-auth/requirements.md +0 -52
  139. package/docs/specs/user-auth/tasks.md +0 -55
  140. /package/build/lib/__tests__/{memory-orchestration.unit.test.d.ts → spec-validator.unit.test.d.ts} +0 -0
  141. /package/build/{lib/__tests__/memory-payload.unit.test.d.ts → utils/design-docs-generator.d.ts} +0 -0
  142. /package/build/{tools/__tests__/cursor-history.unit.test.d.ts → utils/design-docs-generator.js} +0 -0
@@ -0,0 +1,193 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
2
+ /**
3
+ * start_api 智能编排工具
4
+ *
5
+ * 场景:API 开发
6
+ * 编排:[检查上下文] → genapi → gen_mock → gentest
7
+ */
8
+ const PROMPT_TEMPLATE = `# 🔌 API 开发编排指南
9
+
10
+ ## 🎯 目标
11
+
12
+ 为以下 API 代码生成完整的开发资料:
13
+
14
+ \`\`\`{language}
15
+ {code}
16
+ \`\`\`
17
+
18
+ ---
19
+
20
+ ## 📋 步骤 0: 项目上下文(自动处理)
21
+
22
+ **操作**:
23
+ 1. 检查 \`docs/project-context.md\` 是否存在
24
+ 2. **如果不存在**:
25
+ - 调用 \`init_project_context\` 工具
26
+ - 等待生成完成
27
+ 3. **读取** \`docs/project-context.md\` 内容
28
+ 4. 了解项目的 API 规范、测试框架
29
+
30
+ ---
31
+
32
+ ## 📝 步骤 1: 生成 API 文档
33
+
34
+ **调用工具**: \`genapi\`
35
+
36
+ **参数**:
37
+ \`\`\`json
38
+ {
39
+ "code": "[API 代码]",
40
+ "format": "{format}"
41
+ }
42
+ \`\`\`
43
+
44
+ **生成内容**:
45
+ - API 端点列表
46
+ - 请求/响应格式
47
+ - 参数说明
48
+ - 示例
49
+
50
+ **产出**: API 文档(Markdown/OpenAPI/JSDoc)
51
+
52
+ ---
53
+
54
+ ## 🎭 步骤 2: 生成 Mock 数据
55
+
56
+ **调用工具**: \`gen_mock\`
57
+
58
+ **参数**:
59
+ \`\`\`json
60
+ {
61
+ "schema": "[从 API 代码中提取的数据结构]",
62
+ "count": 5,
63
+ "format": "json",
64
+ "locale": "zh-CN"
65
+ }
66
+ \`\`\`
67
+
68
+ **生成内容**:
69
+ - 请求示例数据
70
+ - 响应示例数据
71
+ - 各种场景的测试数据
72
+
73
+ **产出**: Mock 数据文件
74
+
75
+ ---
76
+
77
+ ## 🧪 步骤 3: 生成 API 测试
78
+
79
+ **调用工具**: \`gentest\`
80
+
81
+ **参数**:
82
+ \`\`\`json
83
+ {
84
+ "code": "[API 代码]",
85
+ "framework": "[根据项目上下文选择]"
86
+ }
87
+ \`\`\`
88
+
89
+ **生成内容**:
90
+ - 单元测试
91
+ - 集成测试
92
+ - 边界情况测试
93
+ - 错误处理测试
94
+
95
+ **产出**: 测试代码
96
+
97
+ ---
98
+
99
+ ## ✅ 完成检查
100
+
101
+ - [ ] 项目上下文已读取
102
+ - [ ] API 文档已生成
103
+ - [ ] Mock 数据已生成
104
+ - [ ] 测试代码已生成
105
+
106
+ ---
107
+
108
+ ## 📊 输出汇总
109
+
110
+ 完成后,向用户提供:
111
+
112
+ ### 1. API 文档
113
+
114
+ \`\`\`markdown
115
+ ## API 端点
116
+
117
+ ### [METHOD] /path
118
+
119
+ **描述**: ...
120
+
121
+ **请求参数**:
122
+ | 参数 | 类型 | 必填 | 说明 |
123
+ |------|------|------|------|
124
+
125
+ **响应**:
126
+ \`\`\`json
127
+ {
128
+ "code": 0,
129
+ "data": {}
130
+ }
131
+ \`\`\`
132
+ \`\`\`
133
+
134
+ ### 2. Mock 数据
135
+
136
+ \`\`\`json
137
+ [Mock 数据示例]
138
+ \`\`\`
139
+
140
+ ### 3. 测试代码
141
+
142
+ \`\`\`typescript
143
+ [测试代码]
144
+ \`\`\`
145
+
146
+ ### 4. 使用建议
147
+
148
+ - Mock 数据可用于前端开发联调
149
+ - 测试代码可直接运行验证 API
150
+ - API 文档可分享给前端/调用方
151
+
152
+ ---
153
+
154
+ *编排工具: MCP Probe Kit - start_api*
155
+ `;
156
+ export async function startApi(args) {
157
+ try {
158
+ // 智能参数解析,支持自然语言输入
159
+ const parsedArgs = parseArgs(args, {
160
+ defaultValues: {
161
+ code: "",
162
+ language: "typescript",
163
+ format: "markdown",
164
+ },
165
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
166
+ fieldAliases: {
167
+ code: ["source", "api", "代码", "endpoint"],
168
+ language: ["lang", "语言", "编程语言"],
169
+ format: ["output", "type", "格式", "输出格式"],
170
+ },
171
+ });
172
+ const code = getString(parsedArgs.code);
173
+ const language = getString(parsedArgs.language) || "typescript";
174
+ const format = getString(parsedArgs.format) || "markdown";
175
+ if (!code) {
176
+ throw new Error("缺少必填参数: code(API 代码)");
177
+ }
178
+ const guide = PROMPT_TEMPLATE
179
+ .replace(/{code}/g, code)
180
+ .replace(/{language}/g, language)
181
+ .replace(/{format}/g, format);
182
+ return {
183
+ content: [{ type: "text", text: guide }],
184
+ };
185
+ }
186
+ catch (error) {
187
+ const errorMsg = error instanceof Error ? error.message : String(error);
188
+ return {
189
+ content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
190
+ isError: true,
191
+ };
192
+ }
193
+ }