mcp-probe-kit 1.0.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.
- package/LICENSE +22 -0
- package/README.md +607 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +553 -0
- package/build/tools/check_deps.d.ts +13 -0
- package/build/tools/check_deps.js +204 -0
- package/build/tools/code_review.d.ts +13 -0
- package/build/tools/code_review.js +138 -0
- package/build/tools/convert.d.ts +13 -0
- package/build/tools/convert.js +575 -0
- package/build/tools/debug.d.ts +13 -0
- package/build/tools/debug.js +78 -0
- package/build/tools/detect_shell.d.ts +6 -0
- package/build/tools/detect_shell.js +138 -0
- package/build/tools/explain.d.ts +13 -0
- package/build/tools/explain.js +369 -0
- package/build/tools/fix.d.ts +13 -0
- package/build/tools/fix.js +290 -0
- package/build/tools/genapi.d.ts +13 -0
- package/build/tools/genapi.js +152 -0
- package/build/tools/genchangelog.d.ts +13 -0
- package/build/tools/genchangelog.js +227 -0
- package/build/tools/gencommit.d.ts +13 -0
- package/build/tools/gencommit.js +95 -0
- package/build/tools/gendoc.d.ts +13 -0
- package/build/tools/gendoc.js +208 -0
- package/build/tools/genpr.d.ts +13 -0
- package/build/tools/genpr.js +173 -0
- package/build/tools/genreadme.d.ts +13 -0
- package/build/tools/genreadme.js +613 -0
- package/build/tools/gensql.d.ts +13 -0
- package/build/tools/gensql.js +307 -0
- package/build/tools/gentest.d.ts +13 -0
- package/build/tools/gentest.js +155 -0
- package/build/tools/genui.d.ts +13 -0
- package/build/tools/genui.js +781 -0
- package/build/tools/index.d.ts +22 -0
- package/build/tools/index.js +22 -0
- package/build/tools/init_project.d.ts +13 -0
- package/build/tools/init_project.js +142 -0
- package/build/tools/init_setting.d.ts +13 -0
- package/build/tools/init_setting.js +47 -0
- package/build/tools/perf.d.ts +13 -0
- package/build/tools/perf.js +359 -0
- package/build/tools/refactor.d.ts +13 -0
- package/build/tools/refactor.js +318 -0
- package/build/tools/resolve_conflict.d.ts +13 -0
- package/build/tools/resolve_conflict.js +338 -0
- package/build/tools/split.d.ts +13 -0
- package/build/tools/split.js +577 -0
- package/package.json +66 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// gencommit 工具实现
|
|
2
|
+
export async function gencommit(args) {
|
|
3
|
+
try {
|
|
4
|
+
const changes = args?.changes || "";
|
|
5
|
+
const type = args?.type || ""; // feat, fix, docs, style, refactor, test, chore
|
|
6
|
+
const message = `请按以下步骤生成规范的 Git commit 消息:
|
|
7
|
+
|
|
8
|
+
**第一步:获取变更信息**
|
|
9
|
+
${changes ? `已提供变更内容:\n${changes}` : `
|
|
10
|
+
1. 执行 \`git status\` 查看修改的文件
|
|
11
|
+
2. 执行 \`git diff\` 查看具体变更内容
|
|
12
|
+
3. 如果有暂存的文件,执行 \`git diff --staged\` 查看暂存区变更
|
|
13
|
+
`}
|
|
14
|
+
|
|
15
|
+
**第二步:分析变更**
|
|
16
|
+
- 识别变更类型(新功能、修复、重构等)
|
|
17
|
+
- 确定影响范围(哪个模块/功能)
|
|
18
|
+
- 总结主要变更点
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
🎯 **Commit 消息规范**(参考 Conventional Commits):
|
|
23
|
+
|
|
24
|
+
**格式**:
|
|
25
|
+
\`\`\`
|
|
26
|
+
<type>(<scope>): <subject>
|
|
27
|
+
|
|
28
|
+
<body>
|
|
29
|
+
|
|
30
|
+
<footer>
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
**类型(type)**:
|
|
34
|
+
- feat: 新功能
|
|
35
|
+
- fix: Bug 修复
|
|
36
|
+
- docs: 文档变更
|
|
37
|
+
- style: 代码格式(不影响功能)
|
|
38
|
+
- refactor: 重构
|
|
39
|
+
- test: 测试相关
|
|
40
|
+
- chore: 构建/工具变更
|
|
41
|
+
|
|
42
|
+
**要求**:
|
|
43
|
+
1. subject 使用中文,简洁明了(不超过 50 字)
|
|
44
|
+
2. body 详细说明变更内容(可选)
|
|
45
|
+
3. footer 引用相关 issue(如有)
|
|
46
|
+
4. 如有破坏性变更,添加 BREAKING CHANGE
|
|
47
|
+
|
|
48
|
+
**示例**:
|
|
49
|
+
\`\`\`
|
|
50
|
+
feat(auth): 添加用户登录功能
|
|
51
|
+
|
|
52
|
+
- 实现 JWT 认证机制
|
|
53
|
+
- 添加密码加密存储
|
|
54
|
+
- 实现登录失败重试限制
|
|
55
|
+
|
|
56
|
+
Closes #123
|
|
57
|
+
\`\`\`
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
**第三步:生成并提交**
|
|
62
|
+
1. 根据变更内容生成符合规范的 commit 消息
|
|
63
|
+
2. 使用 \`git commit -m "<生成的消息>"\` 提交
|
|
64
|
+
3. 如果消息较长,使用 \`git commit\` 打开编辑器填写完整消息
|
|
65
|
+
|
|
66
|
+
💡 **提示**:
|
|
67
|
+
- 如果暂存区为空,提示用户先使用 \`git add\` 添加文件
|
|
68
|
+
- 如果变更较多,建议分多次提交
|
|
69
|
+
- 确保 commit 消息清晰描述了"做了什么"和"为什么"
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
现在请开始执行上述步骤。`;
|
|
74
|
+
return {
|
|
75
|
+
content: [
|
|
76
|
+
{
|
|
77
|
+
type: "text",
|
|
78
|
+
text: message,
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
85
|
+
return {
|
|
86
|
+
content: [
|
|
87
|
+
{
|
|
88
|
+
type: "text",
|
|
89
|
+
text: `❌ 生成 commit 消息失败: ${errorMessage}`,
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
isError: true,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// gendoc 工具实现
|
|
2
|
+
export async function gendoc(args) {
|
|
3
|
+
try {
|
|
4
|
+
const code = args?.code || "";
|
|
5
|
+
const style = args?.style || "jsdoc"; // jsdoc, tsdoc, javadoc
|
|
6
|
+
const lang = args?.lang || "zh"; // zh, en
|
|
7
|
+
const message = `请为以下代码生成详细的注释文档:
|
|
8
|
+
|
|
9
|
+
📝 **代码内容**:
|
|
10
|
+
${code || "请提供需要生成注释的代码"}
|
|
11
|
+
|
|
12
|
+
📖 **注释风格**:${style}
|
|
13
|
+
🌐 **语言**:${lang === "zh" ? "中文" : "English"}
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 注释生成指南
|
|
18
|
+
|
|
19
|
+
### JSDoc/TSDoc 格式
|
|
20
|
+
|
|
21
|
+
**函数注释模板**:
|
|
22
|
+
\`\`\`typescript
|
|
23
|
+
/**
|
|
24
|
+
* 函数简短描述(一句话)
|
|
25
|
+
*
|
|
26
|
+
* 详细描述功能、用途、使用场景(可选,多行)
|
|
27
|
+
*
|
|
28
|
+
* @param {类型} 参数名 - 参数描述
|
|
29
|
+
* @param {类型} 参数名 - 参数描述
|
|
30
|
+
* @returns {类型} 返回值描述
|
|
31
|
+
* @throws {ErrorType} 抛出异常的情况
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* // 使用示例
|
|
35
|
+
* const result = functionName(arg1, arg2);
|
|
36
|
+
* console.log(result); // 输出: ...
|
|
37
|
+
*
|
|
38
|
+
* @see 相关函数或文档链接
|
|
39
|
+
* @since 1.0.0
|
|
40
|
+
* @deprecated 使用 newFunction 替代(如果已废弃)
|
|
41
|
+
*/
|
|
42
|
+
function functionName(param1, param2) {
|
|
43
|
+
// ...
|
|
44
|
+
}
|
|
45
|
+
\`\`\`
|
|
46
|
+
|
|
47
|
+
**类注释模板**:
|
|
48
|
+
\`\`\`typescript
|
|
49
|
+
/**
|
|
50
|
+
* 类简短描述
|
|
51
|
+
*
|
|
52
|
+
* 详细描述类的职责、使用场景
|
|
53
|
+
*
|
|
54
|
+
* @class
|
|
55
|
+
* @example
|
|
56
|
+
* const instance = new ClassName(param);
|
|
57
|
+
* instance.method();
|
|
58
|
+
*/
|
|
59
|
+
class ClassName {
|
|
60
|
+
/**
|
|
61
|
+
* 构造函数描述
|
|
62
|
+
* @param {类型} param - 参数描述
|
|
63
|
+
*/
|
|
64
|
+
constructor(param) {}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 方法描述
|
|
68
|
+
* @returns {类型} 返回值描述
|
|
69
|
+
*/
|
|
70
|
+
method() {}
|
|
71
|
+
}
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
**接口注释模板**:
|
|
75
|
+
\`\`\`typescript
|
|
76
|
+
/**
|
|
77
|
+
* 接口描述
|
|
78
|
+
*
|
|
79
|
+
* @interface
|
|
80
|
+
*/
|
|
81
|
+
interface InterfaceName {
|
|
82
|
+
/** 属性描述 */
|
|
83
|
+
property: string;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 方法描述
|
|
87
|
+
* @param {类型} param - 参数描述
|
|
88
|
+
* @returns {类型} 返回值描述
|
|
89
|
+
*/
|
|
90
|
+
method(param: string): void;
|
|
91
|
+
}
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
**类型注释模板**:
|
|
95
|
+
\`\`\`typescript
|
|
96
|
+
/**
|
|
97
|
+
* 类型描述
|
|
98
|
+
*
|
|
99
|
+
* @typedef {Object} TypeName
|
|
100
|
+
* @property {string} prop1 - 属性 1 描述
|
|
101
|
+
* @property {number} prop2 - 属性 2 描述
|
|
102
|
+
*/
|
|
103
|
+
type TypeName = {
|
|
104
|
+
prop1: string;
|
|
105
|
+
prop2: number;
|
|
106
|
+
};
|
|
107
|
+
\`\`\`
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 注释内容要求
|
|
112
|
+
|
|
113
|
+
### 必须包含
|
|
114
|
+
|
|
115
|
+
1. **功能描述**
|
|
116
|
+
- 简短说明(一句话)
|
|
117
|
+
- 详细说明(用途、场景、原理)
|
|
118
|
+
|
|
119
|
+
2. **参数说明**
|
|
120
|
+
- 参数类型
|
|
121
|
+
- 参数含义
|
|
122
|
+
- 是否可选
|
|
123
|
+
- 默认值(如有)
|
|
124
|
+
- 取值范围/约束(如有)
|
|
125
|
+
|
|
126
|
+
3. **返回值**
|
|
127
|
+
- 返回类型
|
|
128
|
+
- 返回值含义
|
|
129
|
+
- 可能的返回值
|
|
130
|
+
|
|
131
|
+
4. **异常情况**
|
|
132
|
+
- 可能抛出的异常
|
|
133
|
+
- 抛出条件
|
|
134
|
+
|
|
135
|
+
5. **使用示例**
|
|
136
|
+
- 基本用法
|
|
137
|
+
- 典型场景
|
|
138
|
+
- 边界情况
|
|
139
|
+
|
|
140
|
+
### 可选包含
|
|
141
|
+
|
|
142
|
+
1. **复杂度**:\`@complexity O(n)\`
|
|
143
|
+
2. **版本信息**:\`@since 1.0.0\`
|
|
144
|
+
3. **作者**:\`@author Kyle\`
|
|
145
|
+
4. **废弃信息**:\`@deprecated\`
|
|
146
|
+
5. **相关链接**:\`@see\`
|
|
147
|
+
6. **待办事项**:\`@todo\`
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 注释质量标准
|
|
152
|
+
|
|
153
|
+
**好的注释**:
|
|
154
|
+
- ✅ 说明"为什么",而不只是"做什么"
|
|
155
|
+
- ✅ 描述边界条件和特殊情况
|
|
156
|
+
- ✅ 提供有意义的示例
|
|
157
|
+
- ✅ 保持与代码同步
|
|
158
|
+
- ✅ 使用清晰简洁的语言
|
|
159
|
+
|
|
160
|
+
**避免的注释**:
|
|
161
|
+
- ❌ 重复代码内容的注释
|
|
162
|
+
- ❌ 过时的注释
|
|
163
|
+
- ❌ 误导性的注释
|
|
164
|
+
- ❌ 废话注释(如:\`// 定义变量 x\`)
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 特殊注释标记
|
|
169
|
+
|
|
170
|
+
**标记类型**:
|
|
171
|
+
\`\`\`typescript
|
|
172
|
+
// TODO: 待实现的功能
|
|
173
|
+
// FIXME: 需要修复的问题
|
|
174
|
+
// HACK: 临时解决方案
|
|
175
|
+
// NOTE: 重要说明
|
|
176
|
+
// WARNING: 警告信息
|
|
177
|
+
// OPTIMIZE: 可优化的地方
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
现在请为代码生成${lang === "zh" ? "中文" : "英文"}的${style}风格注释文档,包括:
|
|
183
|
+
1. 完整的函数/类/接口注释
|
|
184
|
+
2. 复杂逻辑的行内注释
|
|
185
|
+
3. 使用示例
|
|
186
|
+
4. 特殊情况说明`;
|
|
187
|
+
return {
|
|
188
|
+
content: [
|
|
189
|
+
{
|
|
190
|
+
type: "text",
|
|
191
|
+
text: message,
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
198
|
+
return {
|
|
199
|
+
content: [
|
|
200
|
+
{
|
|
201
|
+
type: "text",
|
|
202
|
+
text: `❌ 生成注释失败: ${errorMessage}`,
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
isError: true,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// genpr 工具实现
|
|
2
|
+
export async function genpr(args) {
|
|
3
|
+
try {
|
|
4
|
+
const branch = args?.branch || "";
|
|
5
|
+
const commits = args?.commits || "";
|
|
6
|
+
const message = `请生成规范的 Pull Request 描述:
|
|
7
|
+
|
|
8
|
+
📝 **分支信息**:
|
|
9
|
+
${branch || "请提供分支名称"}
|
|
10
|
+
|
|
11
|
+
📋 **Commit 历史**:
|
|
12
|
+
${commits || "请先执行 git log 查看 commit 历史"}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## PR 描述生成指南
|
|
17
|
+
|
|
18
|
+
### 第一步:分析变更内容
|
|
19
|
+
|
|
20
|
+
执行以下命令获取详细信息:
|
|
21
|
+
\`\`\`bash
|
|
22
|
+
# 查看 commit 历史
|
|
23
|
+
git log origin/main..HEAD --oneline
|
|
24
|
+
|
|
25
|
+
# 查看具体变更
|
|
26
|
+
git diff origin/main..HEAD --stat
|
|
27
|
+
|
|
28
|
+
# 查看修改的文件
|
|
29
|
+
git diff origin/main..HEAD --name-only
|
|
30
|
+
\`\`\`
|
|
31
|
+
|
|
32
|
+
### 第二步:生成 PR 描述
|
|
33
|
+
|
|
34
|
+
**标准 PR 模板**:
|
|
35
|
+
|
|
36
|
+
\`\`\`markdown
|
|
37
|
+
## 📝 变更说明
|
|
38
|
+
|
|
39
|
+
### 概述
|
|
40
|
+
简要说明这个 PR 的目的和背景(2-3 句话)
|
|
41
|
+
|
|
42
|
+
### 变更内容
|
|
43
|
+
- 🎨 UI/UX 改进:...
|
|
44
|
+
- ✨ 新功能:...
|
|
45
|
+
- 🐛 Bug 修复:...
|
|
46
|
+
- ♻️ 重构:...
|
|
47
|
+
- 📝 文档更新:...
|
|
48
|
+
- 🚀 性能优化:...
|
|
49
|
+
|
|
50
|
+
## 🎯 解决的问题
|
|
51
|
+
|
|
52
|
+
Closes #123
|
|
53
|
+
Fixes #456
|
|
54
|
+
Relates to #789
|
|
55
|
+
|
|
56
|
+
## 🔧 技术细节
|
|
57
|
+
|
|
58
|
+
### 主要修改
|
|
59
|
+
1. **模块 A**:修改内容和原因
|
|
60
|
+
2. **模块 B**:修改内容和原因
|
|
61
|
+
|
|
62
|
+
### 架构变更(如有)
|
|
63
|
+
- 数据库 Schema 变更
|
|
64
|
+
- API 接口变更
|
|
65
|
+
- 配置文件变更
|
|
66
|
+
|
|
67
|
+
### 依赖变更(如有)
|
|
68
|
+
- 新增依赖:\`package-name@version\`
|
|
69
|
+
- 移除依赖:\`old-package\`
|
|
70
|
+
- 升级依赖:\`package@old → package@new\`
|
|
71
|
+
|
|
72
|
+
## ✅ 测试计划
|
|
73
|
+
|
|
74
|
+
### 单元测试
|
|
75
|
+
- [x] 新增测试用例覆盖新功能
|
|
76
|
+
- [x] 所有测试通过
|
|
77
|
+
- [x] 测试覆盖率 > 80%
|
|
78
|
+
|
|
79
|
+
### 集成测试
|
|
80
|
+
- [x] API 接口测试通过
|
|
81
|
+
- [x] 端到端测试通过
|
|
82
|
+
|
|
83
|
+
### 手动测试
|
|
84
|
+
- [x] 功能 A 正常工作
|
|
85
|
+
- [x] 功能 B 正常工作
|
|
86
|
+
- [x] 边界情况验证
|
|
87
|
+
|
|
88
|
+
## 📸 截图/录屏(UI 变更时)
|
|
89
|
+
|
|
90
|
+
### Before
|
|
91
|
+

|
|
92
|
+
|
|
93
|
+
### After
|
|
94
|
+

|
|
95
|
+
|
|
96
|
+
## ⚠️ 注意事项
|
|
97
|
+
|
|
98
|
+
### Breaking Changes(破坏性变更)
|
|
99
|
+
- ⚠️ API 路径从 \`/old\` 改为 \`/new\`
|
|
100
|
+
- ⚠️ 配置文件格式变更
|
|
101
|
+
|
|
102
|
+
### 部署注意
|
|
103
|
+
- 需要执行数据库迁移:\`npm run migrate\`
|
|
104
|
+
- 需要更新环境变量:\`NEW_VAR=value\`
|
|
105
|
+
- 需要重启服务
|
|
106
|
+
|
|
107
|
+
### 向后兼容性
|
|
108
|
+
- ✅ 完全兼容
|
|
109
|
+
- ⚠️ 部分兼容(说明不兼容的部分)
|
|
110
|
+
- ❌ 不兼容(需要特殊处理)
|
|
111
|
+
|
|
112
|
+
## 📋 Checklist
|
|
113
|
+
|
|
114
|
+
- [ ] 代码通过 lint 检查
|
|
115
|
+
- [ ] 所有测试通过
|
|
116
|
+
- [ ] 文档已更新
|
|
117
|
+
- [ ] Changelog 已更新
|
|
118
|
+
- [ ] 性能影响已评估
|
|
119
|
+
- [ ] 安全影响已评估
|
|
120
|
+
- [ ] 代码已自我审查
|
|
121
|
+
- [ ] 已添加必要的注释
|
|
122
|
+
|
|
123
|
+
## 🔗 相关链接
|
|
124
|
+
|
|
125
|
+
- 设计文档:[链接]
|
|
126
|
+
- 技术方案:[链接]
|
|
127
|
+
- 相关 PR:#xxx
|
|
128
|
+
|
|
129
|
+
## 👥 审查者
|
|
130
|
+
|
|
131
|
+
@reviewer1 @reviewer2
|
|
132
|
+
|
|
133
|
+
## 🙏 致谢
|
|
134
|
+
|
|
135
|
+
感谢 @contributor1 的建议
|
|
136
|
+
\`\`\`
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## PR 标题规范
|
|
141
|
+
|
|
142
|
+
格式:\`<type>(<scope>): <subject>\`
|
|
143
|
+
|
|
144
|
+
**示例**:
|
|
145
|
+
- \`feat(auth): 添加 OAuth2 登录支持\`
|
|
146
|
+
- \`fix(api): 修复用户查询接口分页错误\`
|
|
147
|
+
- \`refactor(ui): 重构组件层级结构\`
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
现在请根据变更内容生成完整的 PR 描述,并建议合适的审查者。`;
|
|
152
|
+
return {
|
|
153
|
+
content: [
|
|
154
|
+
{
|
|
155
|
+
type: "text",
|
|
156
|
+
text: message,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
163
|
+
return {
|
|
164
|
+
content: [
|
|
165
|
+
{
|
|
166
|
+
type: "text",
|
|
167
|
+
text: `❌ 生成 PR 描述失败: ${errorMessage}`,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
isError: true,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|