mcp-probe-kit 1.4.0 → 1.6.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 (64) hide show
  1. package/README.md +731 -98
  2. package/build/index.js +350 -1
  3. package/build/tools/add_feature.d.ts +33 -0
  4. package/build/tools/add_feature.js +464 -0
  5. package/build/tools/analyze_project.js +58 -58
  6. package/build/tools/css_order.js +55 -55
  7. package/build/tools/estimate.d.ts +22 -0
  8. package/build/tools/estimate.js +225 -0
  9. package/build/tools/fix_bug.d.ts +24 -0
  10. package/build/tools/fix_bug.js +298 -0
  11. package/build/tools/gen_mock.d.ts +22 -0
  12. package/build/tools/gen_mock.js +250 -0
  13. package/build/tools/index.d.ts +14 -0
  14. package/build/tools/index.js +15 -0
  15. package/build/tools/init_project.js +121 -76
  16. package/build/tools/init_project_context.d.ts +26 -0
  17. package/build/tools/init_project_context.js +331 -0
  18. package/build/tools/security_scan.d.ts +22 -0
  19. package/build/tools/security_scan.js +282 -0
  20. package/build/tools/start_api.d.ts +19 -0
  21. package/build/tools/start_api.js +178 -0
  22. package/build/tools/start_bugfix.d.ts +19 -0
  23. package/build/tools/start_bugfix.js +127 -0
  24. package/build/tools/start_doc.d.ts +19 -0
  25. package/build/tools/start_doc.js +190 -0
  26. package/build/tools/start_feature.d.ts +19 -0
  27. package/build/tools/start_feature.js +122 -0
  28. package/build/tools/start_onboard.d.ts +19 -0
  29. package/build/tools/start_onboard.js +146 -0
  30. package/build/tools/start_refactor.d.ts +19 -0
  31. package/build/tools/start_refactor.js +175 -0
  32. package/build/tools/start_release.d.ts +19 -0
  33. package/build/tools/start_release.js +152 -0
  34. package/build/tools/start_review.d.ts +19 -0
  35. package/build/tools/start_review.js +162 -0
  36. package/docs/BEST_PRACTICES.md +722 -0
  37. package/docs/HOW_TO_TRIGGER.html +186 -0
  38. package/docs/HOW_TO_TRIGGER.md +941 -0
  39. package/docs/specs/add-feature/design.md +608 -0
  40. package/docs/specs/add-feature/requirements.md +175 -0
  41. package/docs/specs/add-feature/tasks.md +111 -0
  42. package/docs/specs/estimate/design.md +209 -0
  43. package/docs/specs/estimate/requirements.md +140 -0
  44. package/docs/specs/estimate/tasks.md +66 -0
  45. package/docs/specs/fix-bug/design.md +259 -0
  46. package/docs/specs/fix-bug/requirements.md +132 -0
  47. package/docs/specs/fix-bug/tasks.md +66 -0
  48. package/docs/specs/gen-mock/design.md +241 -0
  49. package/docs/specs/gen-mock/requirements.md +137 -0
  50. package/docs/specs/gen-mock/tasks.md +66 -0
  51. package/docs/specs/init-project-context/design.md +515 -0
  52. package/docs/specs/init-project-context/requirements.md +144 -0
  53. package/docs/specs/init-project-context/tasks.md +93 -0
  54. package/docs/specs/security-scan/design.md +152 -0
  55. package/docs/specs/security-scan/requirements.md +150 -0
  56. package/docs/specs/security-scan/tasks.md +67 -0
  57. package/docs/specs/start-bugfix/design.md +42 -0
  58. package/docs/specs/start-bugfix/requirements.md +70 -0
  59. package/docs/specs/start-bugfix/tasks.md +21 -0
  60. package/docs/specs/start-feature/design.md +41 -0
  61. package/docs/specs/start-feature/requirements.md +90 -0
  62. package/docs/specs/start-feature/tasks.md +21 -0
  63. package/docs/specs/start-review/requirements.md +0 -0
  64. package/package.json +3 -2
@@ -0,0 +1,146 @@
1
+ /**
2
+ * start_onboard 智能编排工具
3
+ *
4
+ * 场景:快速上手项目
5
+ * 编排:analyze_project → init_project_context
6
+ */
7
+ const PROMPT_TEMPLATE = `# 📚 快速上手编排指南
8
+
9
+ ## 🎯 目标
10
+
11
+ 快速了解并上手当前项目
12
+
13
+ ---
14
+
15
+ ## 🔍 步骤 1: 项目分析
16
+
17
+ **调用工具**: \`analyze_project\`
18
+
19
+ **参数**:
20
+ \`\`\`json
21
+ {
22
+ "project_path": "{project_path}",
23
+ "max_depth": 5,
24
+ "include_content": true
25
+ }
26
+ \`\`\`
27
+
28
+ **分析内容**:
29
+ - 项目结构
30
+ - 技术栈识别
31
+ - 入口文件
32
+ - 核心模块
33
+ - 依赖关系
34
+
35
+ **产出**: 项目分析报告
36
+
37
+ ---
38
+
39
+ ## 📝 步骤 2: 生成项目上下文
40
+
41
+ **调用工具**: \`init_project_context\`
42
+
43
+ **参数**:
44
+ \`\`\`json
45
+ {
46
+ "docs_dir": "{docs_dir}"
47
+ }
48
+ \`\`\`
49
+
50
+ **生成内容**:
51
+ - 技术栈文档
52
+ - 架构说明
53
+ - 编码规范
54
+ - 开发指南
55
+
56
+ **产出**: \`{docs_dir}/project-context.md\`
57
+
58
+ ---
59
+
60
+ ## ✅ 完成检查
61
+
62
+ - [ ] 项目结构已分析
63
+ - [ ] 技术栈已识别
64
+ - [ ] 项目上下文已生成
65
+ - [ ] 文档已保存
66
+
67
+ ---
68
+
69
+ ## 📊 输出汇总
70
+
71
+ 完成后,向用户提供:
72
+
73
+ ### 1. 项目概览
74
+
75
+ | 项目 | 内容 |
76
+ |------|------|
77
+ | 项目名称 | [名称] |
78
+ | 项目类型 | [前端/后端/全栈/库] |
79
+ | 主要语言 | [语言] |
80
+ | 框架 | [框架] |
81
+
82
+ ### 2. 技术栈
83
+
84
+ | 类别 | 技术 |
85
+ |------|------|
86
+ | 语言 | [语言列表] |
87
+ | 框架 | [框架列表] |
88
+ | 构建工具 | [工具列表] |
89
+ | 测试框架 | [框架列表] |
90
+
91
+ ### 3. 项目结构
92
+
93
+ \`\`\`
94
+ [目录树]
95
+ \`\`\`
96
+
97
+ ### 4. 核心文件
98
+
99
+ | 文件 | 用途 |
100
+ |------|------|
101
+ | [文件1] | [用途] |
102
+ | [文件2] | [用途] |
103
+
104
+ ### 5. 快速开始
105
+
106
+ \`\`\`bash
107
+ # 安装依赖
108
+ [安装命令]
109
+
110
+ # 启动开发
111
+ [启动命令]
112
+
113
+ # 运行测试
114
+ [测试命令]
115
+ \`\`\`
116
+
117
+ ### 6. 下一步建议
118
+
119
+ 1. 阅读 \`{docs_dir}/project-context.md\` 了解详细信息
120
+ 2. 查看 README.md 了解项目背景
121
+ 3. 运行项目熟悉功能
122
+ 4. 阅读核心模块代码
123
+
124
+ ---
125
+
126
+ *编排工具: MCP Probe Kit - start_onboard*
127
+ `;
128
+ export async function startOnboard(args) {
129
+ try {
130
+ const projectPath = args?.project_path || ".";
131
+ const docsDir = args?.docs_dir || "docs";
132
+ const guide = PROMPT_TEMPLATE
133
+ .replace(/{project_path}/g, projectPath)
134
+ .replace(/{docs_dir}/g, docsDir);
135
+ return {
136
+ content: [{ type: "text", text: guide }],
137
+ };
138
+ }
139
+ catch (error) {
140
+ const errorMsg = error instanceof Error ? error.message : String(error);
141
+ return {
142
+ content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
143
+ isError: true,
144
+ };
145
+ }
146
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * start_refactor 智能编排工具
3
+ *
4
+ * 场景:代码重构
5
+ * 编排:[检查上下文] → code_review → refactor → gentest
6
+ */
7
+ export declare function startRefactor(args: any): Promise<{
8
+ content: {
9
+ type: string;
10
+ text: string;
11
+ }[];
12
+ isError?: undefined;
13
+ } | {
14
+ content: {
15
+ type: string;
16
+ text: string;
17
+ }[];
18
+ isError: boolean;
19
+ }>;
@@ -0,0 +1,175 @@
1
+ /**
2
+ * start_refactor 智能编排工具
3
+ *
4
+ * 场景:代码重构
5
+ * 编排:[检查上下文] → code_review → refactor → gentest
6
+ */
7
+ const PROMPT_TEMPLATE = `# ♻️ 代码重构编排指南
8
+
9
+ ## 🎯 目标
10
+
11
+ 重构以下代码:
12
+
13
+ \`\`\`
14
+ {code}
15
+ \`\`\`
16
+
17
+ **重构目标**: {goal}
18
+
19
+ ---
20
+
21
+ ## 📋 步骤 0: 项目上下文(自动处理)
22
+
23
+ **操作**:
24
+ 1. 检查 \`docs/project-context.md\` 是否存在
25
+ 2. **如果不存在**:
26
+ - 调用 \`init_project_context\` 工具
27
+ - 等待生成完成
28
+ 3. **读取** \`docs/project-context.md\` 内容
29
+ 4. 了解项目的架构模式、编码规范
30
+ 5. 重构要符合项目规范
31
+
32
+ ---
33
+
34
+ ## 🔍 步骤 1: 代码审查(发现问题)
35
+
36
+ **调用工具**: \`code_review\`
37
+
38
+ **参数**:
39
+ \`\`\`json
40
+ {
41
+ "code": "[待重构代码]",
42
+ "focus": "quality"
43
+ }
44
+ \`\`\`
45
+
46
+ **目的**:
47
+ - 识别代码坏味道
48
+ - 发现可改进点
49
+ - 评估当前代码质量
50
+
51
+ **产出**: 问题清单
52
+
53
+ ---
54
+
55
+ ## ♻️ 步骤 2: 生成重构方案
56
+
57
+ **调用工具**: \`refactor\`
58
+
59
+ **参数**:
60
+ \`\`\`json
61
+ {
62
+ "code": "[待重构代码]",
63
+ "goal": "{goal}"
64
+ }
65
+ \`\`\`
66
+
67
+ **重构方向**:
68
+ - improve_readability: 提高可读性
69
+ - reduce_complexity: 降低复杂度
70
+ - extract_function: 提取函数
71
+ - remove_duplication: 消除重复
72
+ - improve_naming: 改进命名
73
+
74
+ **产出**: 重构后的代码 + 重构说明
75
+
76
+ ---
77
+
78
+ ## 🧪 步骤 3: 生成保护测试
79
+
80
+ **调用工具**: \`gentest\`
81
+
82
+ **参数**:
83
+ \`\`\`json
84
+ {
85
+ "code": "[重构后的代码]",
86
+ "framework": "[根据项目上下文选择]"
87
+ }
88
+ \`\`\`
89
+
90
+ **目的**:
91
+ - 确保重构不改变行为
92
+ - 为重构后的代码提供测试保护
93
+ - 覆盖主要功能和边界情况
94
+
95
+ **产出**: 测试代码
96
+
97
+ ---
98
+
99
+ ## ✅ 完成检查
100
+
101
+ - [ ] 项目上下文已读取
102
+ - [ ] 代码问题已识别
103
+ - [ ] 重构方案已生成
104
+ - [ ] 代码已重构
105
+ - [ ] 测试已添加
106
+ - [ ] 测试已通过
107
+
108
+ ---
109
+
110
+ ## 📝 输出汇总
111
+
112
+ 完成后,向用户提供:
113
+
114
+ ### 1. 重构前后对比
115
+
116
+ **重构前**:
117
+ \`\`\`
118
+ [原代码]
119
+ \`\`\`
120
+
121
+ **重构后**:
122
+ \`\`\`
123
+ [新代码]
124
+ \`\`\`
125
+
126
+ ### 2. 改进说明
127
+
128
+ | 改进项 | 说明 |
129
+ |--------|------|
130
+ | [改进1] | [说明] |
131
+ | [改进2] | [说明] |
132
+
133
+ ### 3. 测试覆盖
134
+
135
+ - 测试用例数: X
136
+ - 覆盖场景: [列出]
137
+
138
+ ### 4. 注意事项
139
+
140
+ - [重构可能影响的地方]
141
+ - [需要同步修改的地方]
142
+
143
+ ---
144
+
145
+ *编排工具: MCP Probe Kit - start_refactor*
146
+ `;
147
+ export async function startRefactor(args) {
148
+ try {
149
+ const code = args?.code;
150
+ if (!code) {
151
+ throw new Error("缺少必填参数: code(需要重构的代码)");
152
+ }
153
+ const goal = args?.goal || "improve_readability";
154
+ const goalDesc = {
155
+ improve_readability: "提高可读性",
156
+ reduce_complexity: "降低复杂度",
157
+ extract_function: "提取函数",
158
+ remove_duplication: "消除重复",
159
+ improve_naming: "改进命名",
160
+ };
161
+ const guide = PROMPT_TEMPLATE
162
+ .replace(/{code}/g, code)
163
+ .replace(/{goal}/g, goalDesc[goal] || goal);
164
+ return {
165
+ content: [{ type: "text", text: guide }],
166
+ };
167
+ }
168
+ catch (error) {
169
+ const errorMsg = error instanceof Error ? error.message : String(error);
170
+ return {
171
+ content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
172
+ isError: true,
173
+ };
174
+ }
175
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * start_release 智能编排工具
3
+ *
4
+ * 场景:发布准备
5
+ * 编排:[检查上下文] → genchangelog → genpr
6
+ */
7
+ export declare function startRelease(args: any): Promise<{
8
+ content: {
9
+ type: string;
10
+ text: string;
11
+ }[];
12
+ isError?: undefined;
13
+ } | {
14
+ content: {
15
+ type: string;
16
+ text: string;
17
+ }[];
18
+ isError: boolean;
19
+ }>;
@@ -0,0 +1,152 @@
1
+ /**
2
+ * start_release 智能编排工具
3
+ *
4
+ * 场景:发布准备
5
+ * 编排:[检查上下文] → genchangelog → genpr
6
+ */
7
+ const PROMPT_TEMPLATE = `# 📦 发布准备编排指南
8
+
9
+ ## 🎯 目标
10
+
11
+ 准备发布版本:**{version}**
12
+
13
+ ---
14
+
15
+ ## 📋 步骤 0: 项目上下文(自动处理)
16
+
17
+ **操作**:
18
+ 1. 检查 \`docs/project-context.md\` 是否存在
19
+ 2. **如果不存在**:
20
+ - 调用 \`init_project_context\` 工具
21
+ - 等待生成完成
22
+ 3. **读取** \`docs/project-context.md\` 内容
23
+ 4. 了解项目的版本管理方式、发布流程
24
+
25
+ ---
26
+
27
+ ## 📝 步骤 1: 生成 Changelog
28
+
29
+ **调用工具**: \`genchangelog\`
30
+
31
+ **参数**:
32
+ \`\`\`json
33
+ {
34
+ "version": "{version}",
35
+ "from": "{from_tag}",
36
+ "to": "HEAD"
37
+ }
38
+ \`\`\`
39
+
40
+ **执行要点**:
41
+ 1. 分析从上个版本到现在的所有 commit
42
+ 2. 按类型分类(feat/fix/docs/refactor 等)
43
+ 3. 生成结构化的变更日志
44
+
45
+ **产出**: CHANGELOG.md 内容
46
+
47
+ ---
48
+
49
+ ## 📋 步骤 2: 生成 PR 描述
50
+
51
+ **调用工具**: \`genpr\`
52
+
53
+ **参数**:
54
+ \`\`\`json
55
+ {
56
+ "branch": "{branch}",
57
+ "commits": "[从 genchangelog 获取的 commit 信息]"
58
+ }
59
+ \`\`\`
60
+
61
+ **执行要点**:
62
+ 1. 总结本次发布的主要变更
63
+ 2. 列出新功能、Bug 修复、破坏性变更
64
+ 3. 生成规范的 PR 描述
65
+
66
+ **产出**: PR 描述
67
+
68
+ ---
69
+
70
+ ## ✅ 完成检查
71
+
72
+ - [ ] 项目上下文已读取
73
+ - [ ] Changelog 已生成
74
+ - [ ] PR 描述已生成
75
+ - [ ] 版本号已确认
76
+
77
+ ---
78
+
79
+ ## 📝 输出汇总
80
+
81
+ 完成后,向用户提供:
82
+
83
+ ### 1. CHANGELOG 内容
84
+
85
+ \`\`\`markdown
86
+ ## [{version}] - {date}
87
+
88
+ ### ✨ 新功能
89
+ - ...
90
+
91
+ ### 🐛 Bug 修复
92
+ - ...
93
+
94
+ ### 📝 文档
95
+ - ...
96
+
97
+ ### ♻️ 重构
98
+ - ...
99
+ \`\`\`
100
+
101
+ ### 2. PR 描述
102
+
103
+ \`\`\`markdown
104
+ ## 发布 {version}
105
+
106
+ ### 变更摘要
107
+ ...
108
+
109
+ ### 详细变更
110
+ ...
111
+
112
+ ### 测试情况
113
+ ...
114
+ \`\`\`
115
+
116
+ ### 3. 发布检查清单
117
+
118
+ - [ ] 版本号已更新(package.json 等)
119
+ - [ ] CHANGELOG.md 已更新
120
+ - [ ] 测试全部通过
121
+ - [ ] 文档已更新
122
+ - [ ] PR 已创建
123
+
124
+ ---
125
+
126
+ *编排工具: MCP Probe Kit - start_release*
127
+ `;
128
+ export async function startRelease(args) {
129
+ try {
130
+ const version = args?.version;
131
+ if (!version) {
132
+ throw new Error("缺少必填参数: version(版本号,如 v1.2.0)");
133
+ }
134
+ const fromTag = args?.from_tag || "上个版本 tag";
135
+ const branch = args?.branch || "release/" + version;
136
+ const guide = PROMPT_TEMPLATE
137
+ .replace(/{version}/g, version)
138
+ .replace(/{from_tag}/g, fromTag)
139
+ .replace(/{branch}/g, branch)
140
+ .replace(/{date}/g, new Date().toISOString().split("T")[0]);
141
+ return {
142
+ content: [{ type: "text", text: guide }],
143
+ };
144
+ }
145
+ catch (error) {
146
+ const errorMsg = error instanceof Error ? error.message : String(error);
147
+ return {
148
+ content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
149
+ isError: true,
150
+ };
151
+ }
152
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * start_review 智能编排工具
3
+ *
4
+ * 场景:代码体检
5
+ * 编排:[检查上下文] → code_review → security_scan → perf
6
+ */
7
+ export declare function startReview(args: any): Promise<{
8
+ content: {
9
+ type: string;
10
+ text: string;
11
+ }[];
12
+ isError?: undefined;
13
+ } | {
14
+ content: {
15
+ type: string;
16
+ text: string;
17
+ }[];
18
+ isError: boolean;
19
+ }>;
@@ -0,0 +1,162 @@
1
+ /**
2
+ * start_review 智能编排工具
3
+ *
4
+ * 场景:代码体检
5
+ * 编排:[检查上下文] → code_review → security_scan → perf
6
+ */
7
+ const PROMPT_TEMPLATE = `# 🔍 代码体检编排指南
8
+
9
+ ## 🎯 目标
10
+
11
+ 对以下代码进行全面体检:
12
+
13
+ \`\`\`{language}
14
+ {code}
15
+ \`\`\`
16
+
17
+ ---
18
+
19
+ ## 📋 步骤 0: 项目上下文(自动处理)
20
+
21
+ **操作**:
22
+ 1. 检查 \`docs/project-context.md\` 是否存在
23
+ 2. **如果不存在**:
24
+ - 调用 \`init_project_context\` 工具
25
+ - 等待生成完成
26
+ 3. **读取** \`docs/project-context.md\` 内容
27
+ 4. 了解项目的编码规范、技术栈
28
+ 5. 后续审查要参考项目规范
29
+
30
+ ---
31
+
32
+ ## 📝 步骤 1: 代码质量审查
33
+
34
+ **调用工具**: \`code_review\`
35
+
36
+ **参数**:
37
+ \`\`\`json
38
+ {
39
+ "code": "[待审查代码]",
40
+ "focus": "quality"
41
+ }
42
+ \`\`\`
43
+
44
+ **审查要点**:
45
+ - 代码可读性
46
+ - 命名规范
47
+ - 代码结构
48
+ - 最佳实践
49
+ - 潜在 Bug
50
+
51
+ **产出**: 质量问题清单
52
+
53
+ ---
54
+
55
+ ## 🔒 步骤 2: 安全漏洞扫描
56
+
57
+ **调用工具**: \`security_scan\`
58
+
59
+ **参数**:
60
+ \`\`\`json
61
+ {
62
+ "code": "[待审查代码]",
63
+ "scan_type": "all"
64
+ }
65
+ \`\`\`
66
+
67
+ **扫描要点**:
68
+ - 注入漏洞(SQL/XSS/命令注入)
69
+ - 认证授权问题
70
+ - 加密安全
71
+ - 敏感数据泄露
72
+
73
+ **产出**: 安全漏洞报告
74
+
75
+ ---
76
+
77
+ ## ⚡ 步骤 3: 性能分析
78
+
79
+ **调用工具**: \`perf\`
80
+
81
+ **参数**:
82
+ \`\`\`json
83
+ {
84
+ "code": "[待审查代码]",
85
+ "type": "all"
86
+ }
87
+ \`\`\`
88
+
89
+ **分析要点**:
90
+ - 算法复杂度
91
+ - 内存使用
92
+ - 数据库查询
93
+ - 渲染性能(如适用)
94
+
95
+ **产出**: 性能优化建议
96
+
97
+ ---
98
+
99
+ ## ✅ 完成检查
100
+
101
+ - [ ] 项目上下文已读取
102
+ - [ ] 代码质量已审查
103
+ - [ ] 安全漏洞已扫描
104
+ - [ ] 性能已分析
105
+
106
+ ---
107
+
108
+ ## 📊 综合报告模板
109
+
110
+ 完成后,生成综合报告:
111
+
112
+ ### 代码体检报告
113
+
114
+ #### 📈 总体评分
115
+
116
+ | 维度 | 评分 | 问题数 |
117
+ |------|------|--------|
118
+ | 代码质量 | ?/10 | X 个 |
119
+ | 安全性 | ?/10 | X 个 |
120
+ | 性能 | ?/10 | X 个 |
121
+ | **综合** | ?/10 | |
122
+
123
+ #### 🔴 严重问题(需立即修复)
124
+ [列出严重问题]
125
+
126
+ #### 🟡 一般问题(建议修复)
127
+ [列出一般问题]
128
+
129
+ #### 🟢 优化建议
130
+ [列出优化建议]
131
+
132
+ #### 📋 修复优先级
133
+ 1. [最高优先级问题]
134
+ 2. [次优先级问题]
135
+ ...
136
+
137
+ ---
138
+
139
+ *编排工具: MCP Probe Kit - start_review*
140
+ `;
141
+ export async function startReview(args) {
142
+ try {
143
+ const code = args?.code;
144
+ if (!code) {
145
+ throw new Error("缺少必填参数: code(需要审查的代码)");
146
+ }
147
+ const language = args?.language || "auto";
148
+ const guide = PROMPT_TEMPLATE
149
+ .replace(/{code}/g, code)
150
+ .replace(/{language}/g, language);
151
+ return {
152
+ content: [{ type: "text", text: guide }],
153
+ };
154
+ }
155
+ catch (error) {
156
+ const errorMsg = error instanceof Error ? error.message : String(error);
157
+ return {
158
+ content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
159
+ isError: true,
160
+ };
161
+ }
162
+ }