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,204 @@
|
|
|
1
|
+
// check_deps 工具实现
|
|
2
|
+
export async function checkDeps(args) {
|
|
3
|
+
try {
|
|
4
|
+
const message = `请分析项目依赖的健康状况:
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 依赖分析步骤
|
|
9
|
+
|
|
10
|
+
### 第一步:获取依赖信息
|
|
11
|
+
|
|
12
|
+
执行以下命令:
|
|
13
|
+
\`\`\`bash
|
|
14
|
+
# 查看 package.json
|
|
15
|
+
cat package.json
|
|
16
|
+
|
|
17
|
+
# 检查过期依赖
|
|
18
|
+
npm outdated
|
|
19
|
+
|
|
20
|
+
# 检查安全漏洞
|
|
21
|
+
npm audit
|
|
22
|
+
|
|
23
|
+
# 查看依赖树
|
|
24
|
+
npm list --depth=0
|
|
25
|
+
|
|
26
|
+
# 分析包大小
|
|
27
|
+
npm ls --prod --parseable | xargs du -sh
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
### 第二步:依赖健康度检查
|
|
31
|
+
|
|
32
|
+
**1️⃣ 版本检查**
|
|
33
|
+
|
|
34
|
+
检查项:
|
|
35
|
+
- [ ] 依赖版本是否过旧(> 1 年未更新)
|
|
36
|
+
- [ ] 是否有 Major 版本更新可用
|
|
37
|
+
- [ ] 是否使用了废弃的包
|
|
38
|
+
- [ ] 版本锁定策略(^、~、固定版本)
|
|
39
|
+
|
|
40
|
+
**2️⃣ 安全漏洞检查**
|
|
41
|
+
|
|
42
|
+
分析 \`npm audit\` 结果:
|
|
43
|
+
- 🔴 Critical:立即修复
|
|
44
|
+
- 🟠 High:尽快修复
|
|
45
|
+
- 🟡 Moderate:计划修复
|
|
46
|
+
- 🟢 Low:可选修复
|
|
47
|
+
|
|
48
|
+
**3️⃣ 依赖体积分析**
|
|
49
|
+
|
|
50
|
+
检查项:
|
|
51
|
+
- [ ] 单个依赖是否过大(> 10MB)
|
|
52
|
+
- [ ] 是否有轻量级替代方案
|
|
53
|
+
- [ ] Tree-shaking 优化机会
|
|
54
|
+
- [ ] 是否可以按需导入
|
|
55
|
+
|
|
56
|
+
**4️⃣ 依赖健康度评估**
|
|
57
|
+
|
|
58
|
+
评估指标:
|
|
59
|
+
- 维护状态(活跃/停止维护)
|
|
60
|
+
- 社区活跃度(GitHub Stars/Issues)
|
|
61
|
+
- 发布频率
|
|
62
|
+
- 文档质量
|
|
63
|
+
- TypeScript 支持
|
|
64
|
+
|
|
65
|
+
**5️⃣ 未使用依赖检查**
|
|
66
|
+
|
|
67
|
+
查找方法:
|
|
68
|
+
\`\`\`bash
|
|
69
|
+
# 使用 depcheck
|
|
70
|
+
npx depcheck
|
|
71
|
+
|
|
72
|
+
# 手动检查
|
|
73
|
+
grep -r "from 'package-name'" src/
|
|
74
|
+
\`\`\`
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 依赖分析报告
|
|
79
|
+
|
|
80
|
+
### 📊 依赖统计
|
|
81
|
+
|
|
82
|
+
**总体情况**:
|
|
83
|
+
- Dependencies: X 个
|
|
84
|
+
- DevDependencies: Y 个
|
|
85
|
+
- 总大小: Z MB
|
|
86
|
+
|
|
87
|
+
**版本分布**:
|
|
88
|
+
- 最新版本: X 个
|
|
89
|
+
- 需要更新: Y 个
|
|
90
|
+
- 已废弃: Z 个
|
|
91
|
+
|
|
92
|
+
### 🔴 严重问题
|
|
93
|
+
|
|
94
|
+
**安全漏洞**:
|
|
95
|
+
1. **package-name@version**
|
|
96
|
+
- 漏洞等级:Critical
|
|
97
|
+
- CVE 编号:CVE-2024-XXXX
|
|
98
|
+
- 影响:...
|
|
99
|
+
- 修复方案:升级到 version X.X.X
|
|
100
|
+
- 命令:\`npm install package-name@X.X.X\`
|
|
101
|
+
|
|
102
|
+
**废弃包**:
|
|
103
|
+
1. **package-name**
|
|
104
|
+
- 状态:已停止维护
|
|
105
|
+
- 最后更新:2020-01-01
|
|
106
|
+
- 替代方案:alternative-package
|
|
107
|
+
- 迁移指南:...
|
|
108
|
+
|
|
109
|
+
### 🟡 建议更新
|
|
110
|
+
|
|
111
|
+
**可用更新**:
|
|
112
|
+
| 包名 | 当前版本 | 最新版本 | 类型 | 优先级 |
|
|
113
|
+
|------|---------|---------|------|--------|
|
|
114
|
+
| pkg1 | 1.0.0 | 2.0.0 | Major | 中 |
|
|
115
|
+
| pkg2 | 1.5.0 | 1.8.0 | Minor | 低 |
|
|
116
|
+
|
|
117
|
+
**更新建议**:
|
|
118
|
+
1. **Major 更新**(需要测试):
|
|
119
|
+
- \`npm install pkg1@2.0.0\`
|
|
120
|
+
- 查看 Breaking Changes
|
|
121
|
+
|
|
122
|
+
2. **Minor/Patch 更新**(风险较低):
|
|
123
|
+
- \`npm update\`
|
|
124
|
+
|
|
125
|
+
### 🟢 优化建议
|
|
126
|
+
|
|
127
|
+
**体积优化**:
|
|
128
|
+
1. **large-package (15MB)**
|
|
129
|
+
- 建议:使用 tree-shaking
|
|
130
|
+
- 或替换为:lighter-alternative (2MB)
|
|
131
|
+
- 预计减少:13MB
|
|
132
|
+
|
|
133
|
+
**未使用依赖**:
|
|
134
|
+
1. unused-package
|
|
135
|
+
- 建议:移除
|
|
136
|
+
- 命令:\`npm uninstall unused-package\`
|
|
137
|
+
|
|
138
|
+
**重复依赖**:
|
|
139
|
+
1. package-name 存在多个版本
|
|
140
|
+
- 建议:统一版本
|
|
141
|
+
- 使用:\`npm dedupe\`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 升级计划
|
|
146
|
+
|
|
147
|
+
### 立即处理(本周)
|
|
148
|
+
1. 修复 Critical/High 安全漏洞
|
|
149
|
+
2. 移除未使用的依赖
|
|
150
|
+
3. 更新 Patch 版本
|
|
151
|
+
|
|
152
|
+
### 短期计划(本月)
|
|
153
|
+
1. 更新 Minor 版本
|
|
154
|
+
2. 替换废弃的包
|
|
155
|
+
3. 优化依赖体积
|
|
156
|
+
|
|
157
|
+
### 长期计划(本季度)
|
|
158
|
+
1. 评估 Major 版本更新
|
|
159
|
+
2. 重构依赖架构
|
|
160
|
+
3. 定期审查依赖健康度
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 预防措施
|
|
165
|
+
|
|
166
|
+
**最佳实践**:
|
|
167
|
+
1. 使用 \`package-lock.json\` 锁定版本
|
|
168
|
+
2. 定期运行 \`npm audit\`
|
|
169
|
+
3. 使用 Dependabot 自动更新
|
|
170
|
+
4. 评估新依赖前检查健康度
|
|
171
|
+
5. 优先选择活跃维护的包
|
|
172
|
+
|
|
173
|
+
**CI/CD 集成**:
|
|
174
|
+
\`\`\`yaml
|
|
175
|
+
# GitHub Actions 示例
|
|
176
|
+
- name: Audit dependencies
|
|
177
|
+
run: npm audit --audit-level=moderate
|
|
178
|
+
\`\`\`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
现在请开始依赖分析,生成详细的分析报告和升级计划。`;
|
|
183
|
+
return {
|
|
184
|
+
content: [
|
|
185
|
+
{
|
|
186
|
+
type: "text",
|
|
187
|
+
text: message,
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
194
|
+
return {
|
|
195
|
+
content: [
|
|
196
|
+
{
|
|
197
|
+
type: "text",
|
|
198
|
+
text: `❌ 依赖分析失败: ${errorMessage}`,
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
isError: true,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// code_review 工具实现
|
|
2
|
+
export async function codeReview(args) {
|
|
3
|
+
try {
|
|
4
|
+
const code = args?.code || "";
|
|
5
|
+
const focus = args?.focus || "all"; // quality, security, performance, all
|
|
6
|
+
const message = `请对以下代码进行全面审查:
|
|
7
|
+
|
|
8
|
+
📝 **代码内容**:
|
|
9
|
+
${code || "请提供需要审查的代码"}
|
|
10
|
+
|
|
11
|
+
🎯 **审查重点**:${focus}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 代码审查清单
|
|
16
|
+
|
|
17
|
+
### 1️⃣ 代码质量检查
|
|
18
|
+
|
|
19
|
+
**代码坏味道(Code Smells)**:
|
|
20
|
+
- [ ] 重复代码(Duplicated Code)
|
|
21
|
+
- [ ] 过长函数(Long Function)> 30 行
|
|
22
|
+
- [ ] 过长参数列表(Long Parameter List)> 3 个
|
|
23
|
+
- [ ] 复杂条件判断(Complex Conditional)> 3 层嵌套
|
|
24
|
+
- [ ] 魔法数字(Magic Numbers)
|
|
25
|
+
- [ ] 命名不清晰(Poor Naming)
|
|
26
|
+
|
|
27
|
+
**设计原则**:
|
|
28
|
+
- [ ] 单一职责原则(SRP)
|
|
29
|
+
- [ ] 开闭原则(OCP)
|
|
30
|
+
- [ ] 接口隔离原则(ISP)
|
|
31
|
+
- [ ] 依赖倒置原则(DIP)
|
|
32
|
+
|
|
33
|
+
### 2️⃣ 安全漏洞检查
|
|
34
|
+
|
|
35
|
+
**常见漏洞**:
|
|
36
|
+
- [ ] SQL 注入风险
|
|
37
|
+
- [ ] XSS(跨站脚本)风险
|
|
38
|
+
- [ ] CSRF(跨站请求伪造)
|
|
39
|
+
- [ ] 硬编码密钥/密码
|
|
40
|
+
- [ ] 不安全的随机数生成
|
|
41
|
+
- [ ] 路径遍历漏洞
|
|
42
|
+
- [ ] 未验证的输入
|
|
43
|
+
- [ ] 敏感信息泄露
|
|
44
|
+
|
|
45
|
+
**安全最佳实践**:
|
|
46
|
+
- [ ] 输入验证和过滤
|
|
47
|
+
- [ ] 输出编码
|
|
48
|
+
- [ ] 使用参数化查询
|
|
49
|
+
- [ ] 密码/密钥使用环境变量
|
|
50
|
+
- [ ] HTTPS 通信
|
|
51
|
+
|
|
52
|
+
### 3️⃣ 性能问题检查
|
|
53
|
+
|
|
54
|
+
**性能风险**:
|
|
55
|
+
- [ ] 循环内创建对象
|
|
56
|
+
- [ ] 嵌套循环(O(n²) 或更差)
|
|
57
|
+
- [ ] 不必要的重复计算
|
|
58
|
+
- [ ] 内存泄漏风险
|
|
59
|
+
- [ ] 阻塞主线程
|
|
60
|
+
- [ ] 大数据量未分页
|
|
61
|
+
- [ ] 同步 I/O 操作
|
|
62
|
+
|
|
63
|
+
**React/Vue 性能**:
|
|
64
|
+
- [ ] 未使用 useMemo/useCallback
|
|
65
|
+
- [ ] 组件不必要的重渲染
|
|
66
|
+
- [ ] 大列表未虚拟化
|
|
67
|
+
- [ ] 状态管理不当
|
|
68
|
+
|
|
69
|
+
### 4️⃣ 最佳实践检查
|
|
70
|
+
|
|
71
|
+
**TypeScript/JavaScript**:
|
|
72
|
+
- [ ] 类型定义完整(避免 any)
|
|
73
|
+
- [ ] 错误处理完善(try-catch)
|
|
74
|
+
- [ ] 异步操作正确处理
|
|
75
|
+
- [ ] 使用 const/let 替代 var
|
|
76
|
+
- [ ] 箭头函数合理使用
|
|
77
|
+
|
|
78
|
+
**命名规范**:
|
|
79
|
+
- [ ] 变量:驼峰命名(camelCase)
|
|
80
|
+
- [ ] 常量:大写下划线(UPPER_CASE)
|
|
81
|
+
- [ ] 类/接口:帕斯卡命名(PascalCase)
|
|
82
|
+
- [ ] 文件:短横线命名(kebab-case)
|
|
83
|
+
- [ ] 布尔值:is/has/should 前缀
|
|
84
|
+
|
|
85
|
+
**注释和文档**:
|
|
86
|
+
- [ ] 复杂逻辑有注释说明
|
|
87
|
+
- [ ] 公共 API 有文档
|
|
88
|
+
- [ ] TODO/FIXME 标记清晰
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 审查报告格式
|
|
93
|
+
|
|
94
|
+
**严重问题(🔴 Critical)**:
|
|
95
|
+
1. [位置] 问题描述
|
|
96
|
+
- 风险:...
|
|
97
|
+
- 建议:...
|
|
98
|
+
- 修复示例:\`\`\`typescript ... \`\`\`
|
|
99
|
+
|
|
100
|
+
**警告(🟡 Warning)**:
|
|
101
|
+
1. [位置] 问题描述
|
|
102
|
+
- 影响:...
|
|
103
|
+
- 建议:...
|
|
104
|
+
|
|
105
|
+
**建议(🟢 Suggestion)**:
|
|
106
|
+
1. [位置] 改进建议
|
|
107
|
+
- 当前:...
|
|
108
|
+
- 建议:...
|
|
109
|
+
- 收益:...
|
|
110
|
+
|
|
111
|
+
**优点(✅ Good)**:
|
|
112
|
+
- 做得好的地方
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
现在请开始代码审查,生成详细的审查报告。`;
|
|
117
|
+
return {
|
|
118
|
+
content: [
|
|
119
|
+
{
|
|
120
|
+
type: "text",
|
|
121
|
+
text: message,
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
128
|
+
return {
|
|
129
|
+
content: [
|
|
130
|
+
{
|
|
131
|
+
type: "text",
|
|
132
|
+
text: `❌ 代码审查失败: ${errorMessage}`,
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
isError: true,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|