mcp-probe-kit 3.2.0 → 3.3.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/README.md +10 -0
- package/build/lib/__tests__/memory-orchestration.unit.test.js +88 -0
- package/build/lib/__tests__/memory-payload.unit.test.js +35 -0
- package/build/lib/__tests__/quality-constraints.unit.test.d.ts +1 -0
- package/build/lib/__tests__/quality-constraints.unit.test.js +54 -0
- package/build/lib/__tests__/spec-validator.unit.test.js +106 -74
- package/build/lib/agents-md-template.js +32 -32
- package/build/lib/cursor-history-client.d.ts +54 -0
- package/build/lib/cursor-history-client.js +240 -0
- package/build/lib/quality-constraints.d.ts +54 -0
- package/build/lib/quality-constraints.js +155 -0
- package/build/lib/skill-bridge.js +12 -12
- package/build/lib/spec-validator.js +16 -3
- package/build/lib/template-loader.js +83 -23
- package/build/resources/ui-ux-data/guidelines/vercel-web-interface.json +1632 -1632
- package/build/resources/ui-ux-data/metadata.json +30 -30
- package/build/resources/ui-ux-data/shadcn/blocks.json +2541 -2541
- package/build/resources/ui-ux-data/shadcn/components.json +997 -997
- package/build/resources/ui-ux-data/themes/presets.json +483 -483
- package/build/tools/__tests__/cursor-history.unit.test.d.ts +1 -0
- package/build/tools/__tests__/cursor-history.unit.test.js +38 -0
- package/build/tools/check_spec.js +16 -16
- package/build/tools/code_insight.js +41 -41
- package/build/tools/code_review.js +11 -4
- package/build/tools/cursor_read_conversation.d.ts +7 -0
- package/build/tools/cursor_read_conversation.js +36 -0
- package/build/tools/fix_bug.js +161 -161
- package/build/tools/gencommit.js +60 -60
- package/build/tools/init_project_context.js +432 -432
- package/build/tools/start_product.js +1 -1
- package/build/tools/start_ui.js +17 -0
- package/build/tools/ui-ux-tools.d.ts +3 -0
- package/build/tools/ui-ux-tools.js +302 -290
- package/build/utils/__tests__/vercel-guidelines-sync.unit.test.js +12 -12
- package/build/utils/design-reasoning-engine.d.ts +2 -0
- package/build/utils/design-reasoning-engine.js +3 -0
- package/build/utils/themes-sync.js +8 -8
- package/package.json +3 -2
- package/build/resources/index.d.ts +0 -4
- package/build/resources/index.js +0 -4
- package/build/resources/tool-params-guide.d.ts +0 -571
- package/build/resources/tool-params-guide.js +0 -488
- package/build/tools/analyze_project.d.ts +0 -1
- package/build/tools/analyze_project.js +0 -527
- package/build/tools/check_deps.d.ts +0 -13
- package/build/tools/check_deps.js +0 -204
- package/build/tools/convert.d.ts +0 -13
- package/build/tools/convert.js +0 -599
- package/build/tools/css_order.d.ts +0 -13
- package/build/tools/css_order.js +0 -81
- package/build/tools/debug.d.ts +0 -13
- package/build/tools/debug.js +0 -131
- package/build/tools/design2code.d.ts +0 -20
- package/build/tools/design2code.js +0 -426
- package/build/tools/detect_shell.d.ts +0 -6
- package/build/tools/detect_shell.js +0 -151
- package/build/tools/explain.d.ts +0 -13
- package/build/tools/explain.js +0 -390
- package/build/tools/fix.d.ts +0 -13
- package/build/tools/fix.js +0 -303
- package/build/tools/gen_mock.d.ts +0 -22
- package/build/tools/gen_mock.js +0 -269
- package/build/tools/gen_skill.d.ts +0 -13
- package/build/tools/gen_skill.js +0 -560
- package/build/tools/genapi.d.ts +0 -13
- package/build/tools/genapi.js +0 -174
- package/build/tools/genchangelog.d.ts +0 -13
- package/build/tools/genchangelog.js +0 -250
- package/build/tools/gendoc.d.ts +0 -13
- package/build/tools/gendoc.js +0 -232
- package/build/tools/genpr.d.ts +0 -13
- package/build/tools/genpr.js +0 -194
- package/build/tools/genreadme.d.ts +0 -13
- package/build/tools/genreadme.js +0 -626
- package/build/tools/gensql.d.ts +0 -13
- package/build/tools/gensql.js +0 -320
- package/build/tools/genui.d.ts +0 -13
- package/build/tools/genui.js +0 -803
- package/build/tools/init_component_catalog.d.ts +0 -22
- package/build/tools/init_component_catalog.js +0 -809
- package/build/tools/init_setting.d.ts +0 -13
- package/build/tools/init_setting.js +0 -47
- package/build/tools/perf.d.ts +0 -13
- package/build/tools/perf.js +0 -409
- package/build/tools/render_ui.d.ts +0 -22
- package/build/tools/render_ui.js +0 -384
- package/build/tools/resolve_conflict.d.ts +0 -13
- package/build/tools/resolve_conflict.js +0 -349
- package/build/tools/security_scan.d.ts +0 -22
- package/build/tools/security_scan.js +0 -323
- package/build/tools/split.d.ts +0 -13
- package/build/tools/split.js +0 -599
- package/build/tools/start_api.d.ts +0 -13
- package/build/tools/start_api.js +0 -193
- package/build/tools/start_doc.d.ts +0 -13
- package/build/tools/start_doc.js +0 -207
- package/build/tools/start_refactor.d.ts +0 -13
- package/build/tools/start_refactor.js +0 -188
- package/build/tools/start_release.d.ts +0 -13
- package/build/tools/start_release.js +0 -167
- package/build/tools/start_review.d.ts +0 -13
- package/build/tools/start_review.js +0 -175
- /package/build/{utils/design-docs-generator.d.ts → lib/__tests__/memory-orchestration.unit.test.d.ts} +0 -0
- /package/build/{utils/design-docs-generator.js → lib/__tests__/memory-payload.unit.test.d.ts} +0 -0
package/build/tools/genapi.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
2
|
-
// genapi 工具实现
|
|
3
|
-
export async function genapi(args) {
|
|
4
|
-
try {
|
|
5
|
-
// 智能参数解析,支持自然语言输入
|
|
6
|
-
const parsedArgs = parseArgs(args, {
|
|
7
|
-
defaultValues: {
|
|
8
|
-
code: "",
|
|
9
|
-
format: "markdown",
|
|
10
|
-
},
|
|
11
|
-
primaryField: "code", // 纯文本输入默认映射到 code 字段
|
|
12
|
-
fieldAliases: {
|
|
13
|
-
code: ["source", "api", "代码", "endpoint"],
|
|
14
|
-
format: ["output_format", "type", "格式", "输出格式"],
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
const code = getString(parsedArgs.code);
|
|
18
|
-
const format = getString(parsedArgs.format) || "markdown"; // markdown, openapi, jsdoc
|
|
19
|
-
const message = `请为以下代码生成 API 文档:
|
|
20
|
-
|
|
21
|
-
📝 **代码**:
|
|
22
|
-
${code || "请提供需要生成文档的代码(函数、类、API 端点等)"}
|
|
23
|
-
|
|
24
|
-
📖 **文档格式**:${format}
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
🎯 **API 文档生成指南**:
|
|
29
|
-
|
|
30
|
-
**基础信息**:
|
|
31
|
-
- API 名称和描述
|
|
32
|
-
- 版本信息
|
|
33
|
-
- 基础 URL
|
|
34
|
-
|
|
35
|
-
**详细文档**(每个端点/函数):
|
|
36
|
-
|
|
37
|
-
1. **功能描述**
|
|
38
|
-
- 简短说明(一句话)
|
|
39
|
-
- 详细描述(用途、场景)
|
|
40
|
-
|
|
41
|
-
2. **请求参数**
|
|
42
|
-
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|
|
43
|
-
|--------|------|------|------|------|
|
|
44
|
-
| id | string | 是 | 用户 ID | "12345" |
|
|
45
|
-
| name | string | 否 | 用户名 | "张三" |
|
|
46
|
-
|
|
47
|
-
3. **返回值**
|
|
48
|
-
- 成功响应(状态码、数据结构、示例)
|
|
49
|
-
- 错误响应(错误码、错误信息)
|
|
50
|
-
|
|
51
|
-
4. **示例代码**
|
|
52
|
-
\`\`\`typescript
|
|
53
|
-
// 请求示例
|
|
54
|
-
const response = await fetch('/api/users/123');
|
|
55
|
-
const data = await response.json();
|
|
56
|
-
|
|
57
|
-
// 响应示例
|
|
58
|
-
{
|
|
59
|
-
"code": 200,
|
|
60
|
-
"data": {
|
|
61
|
-
"id": "123",
|
|
62
|
-
"name": "张三"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
\`\`\`
|
|
66
|
-
|
|
67
|
-
5. **注意事项**
|
|
68
|
-
- 权限要求
|
|
69
|
-
- 速率限制
|
|
70
|
-
- 废弃信息
|
|
71
|
-
- 相关链接
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
**Markdown 格式模板**:
|
|
76
|
-
\`\`\`markdown
|
|
77
|
-
# API 文档
|
|
78
|
-
|
|
79
|
-
## 用户管理
|
|
80
|
-
|
|
81
|
-
### 获取用户信息
|
|
82
|
-
|
|
83
|
-
**接口地址**:\`GET /api/users/:id\`
|
|
84
|
-
|
|
85
|
-
**功能描述**:根据用户 ID 获取用户详细信息
|
|
86
|
-
|
|
87
|
-
**请求参数**:
|
|
88
|
-
| 参数 | 类型 | 必填 | 描述 |
|
|
89
|
-
|------|------|------|------|
|
|
90
|
-
| id | string | 是 | 用户 ID |
|
|
91
|
-
|
|
92
|
-
**返回示例**:
|
|
93
|
-
\`\`\`json
|
|
94
|
-
{
|
|
95
|
-
"code": 200,
|
|
96
|
-
"data": {
|
|
97
|
-
"id": "123",
|
|
98
|
-
"name": "张三",
|
|
99
|
-
"email": "zhangsan@example.com"
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
\`\`\`
|
|
103
|
-
|
|
104
|
-
**错误码**:
|
|
105
|
-
- 404: 用户不存在
|
|
106
|
-
- 403: 无权限访问
|
|
107
|
-
\`\`\`
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
**OpenAPI 3.0 格式模板**:
|
|
112
|
-
\`\`\`yaml
|
|
113
|
-
openapi: 3.0.0
|
|
114
|
-
info:
|
|
115
|
-
title: User API
|
|
116
|
-
version: 1.0.0
|
|
117
|
-
paths:
|
|
118
|
-
/api/users/{id}:
|
|
119
|
-
get:
|
|
120
|
-
summary: 获取用户信息
|
|
121
|
-
parameters:
|
|
122
|
-
- name: id
|
|
123
|
-
in: path
|
|
124
|
-
required: true
|
|
125
|
-
schema:
|
|
126
|
-
type: string
|
|
127
|
-
responses:
|
|
128
|
-
'200':
|
|
129
|
-
description: 成功
|
|
130
|
-
content:
|
|
131
|
-
application/json:
|
|
132
|
-
schema:
|
|
133
|
-
type: object
|
|
134
|
-
properties:
|
|
135
|
-
code:
|
|
136
|
-
type: integer
|
|
137
|
-
data:
|
|
138
|
-
type: object
|
|
139
|
-
\`\`\`
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## ⚠️ 边界约束
|
|
146
|
-
|
|
147
|
-
- ❌ 仅输出文档,不修改业务代码
|
|
148
|
-
- ❌ 不执行代码或命令
|
|
149
|
-
- ✅ 基于现有接口定义/路由/注释推断
|
|
150
|
-
- ✅ 输出完整的 API 文档
|
|
151
|
-
|
|
152
|
-
现在请根据上述代码生成完整的 API 文档。`;
|
|
153
|
-
return {
|
|
154
|
-
content: [
|
|
155
|
-
{
|
|
156
|
-
type: "text",
|
|
157
|
-
text: message,
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
164
|
-
return {
|
|
165
|
-
content: [
|
|
166
|
-
{
|
|
167
|
-
type: "text",
|
|
168
|
-
text: `❌ 生成 API 文档失败: ${errorMessage}`,
|
|
169
|
-
},
|
|
170
|
-
],
|
|
171
|
-
isError: true,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
2
|
-
// genchangelog 工具实现
|
|
3
|
-
export async function genchangelog(args) {
|
|
4
|
-
try {
|
|
5
|
-
// 智能参数解析,支持自然语言输入
|
|
6
|
-
const parsedArgs = parseArgs(args, {
|
|
7
|
-
defaultValues: {
|
|
8
|
-
version: "",
|
|
9
|
-
from: "",
|
|
10
|
-
to: "HEAD",
|
|
11
|
-
},
|
|
12
|
-
primaryField: "version", // 纯文本输入默认映射到 version 字段
|
|
13
|
-
fieldAliases: {
|
|
14
|
-
version: ["ver", "v", "版本", "版本号"],
|
|
15
|
-
from: ["from_tag", "start", "起始", "起始版本"],
|
|
16
|
-
to: ["to_tag", "end", "结束", "结束版本"],
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
const version = getString(parsedArgs.version);
|
|
20
|
-
const from = getString(parsedArgs.from);
|
|
21
|
-
const to = getString(parsedArgs.to) || "HEAD";
|
|
22
|
-
const message = `请生成项目的 CHANGELOG(变更日志):
|
|
23
|
-
|
|
24
|
-
📝 **版本信息**:
|
|
25
|
-
${version || "请提供版本号(如:v1.2.0)"}
|
|
26
|
-
|
|
27
|
-
📋 **Commit 范围**:
|
|
28
|
-
从 ${from || "上一个 tag"} 到 ${to}
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Changelog 生成步骤
|
|
33
|
-
|
|
34
|
-
### 第一步:获取 Commit 历史
|
|
35
|
-
|
|
36
|
-
执行以下命令:
|
|
37
|
-
\`\`\`bash
|
|
38
|
-
# 查看 commit 历史
|
|
39
|
-
git log ${from}..${to} --oneline --no-merges
|
|
40
|
-
|
|
41
|
-
# 查看详细信息
|
|
42
|
-
git log ${from}..${to} --pretty=format:"%h - %s (%an)" --no-merges
|
|
43
|
-
|
|
44
|
-
# 查看所有 tags
|
|
45
|
-
git tag -l
|
|
46
|
-
|
|
47
|
-
# 查看贡献者
|
|
48
|
-
git shortlog ${from}..${to} -sn
|
|
49
|
-
\`\`\`
|
|
50
|
-
|
|
51
|
-
### 第二步:分类 Commits
|
|
52
|
-
|
|
53
|
-
按类型分组:
|
|
54
|
-
- **✨ Features (feat)**:新功能
|
|
55
|
-
- **🐛 Bug Fixes (fix)**:Bug 修复
|
|
56
|
-
- **📝 Documentation (docs)**:文档变更
|
|
57
|
-
- **💄 Styles (style)**:代码格式
|
|
58
|
-
- **♻️ Refactoring (refactor)**:重构
|
|
59
|
-
- **⚡ Performance (perf)**:性能优化
|
|
60
|
-
- **✅ Tests (test)**:测试相关
|
|
61
|
-
- **🔧 Chores (chore)**:构建/工具变更
|
|
62
|
-
- **💥 BREAKING CHANGES**:破坏性变更
|
|
63
|
-
|
|
64
|
-
### 第三步:生成 Changelog
|
|
65
|
-
|
|
66
|
-
**格式标准**:[Keep a Changelog](https://keepachangelog.com/)
|
|
67
|
-
|
|
68
|
-
\`\`\`markdown
|
|
69
|
-
# Changelog
|
|
70
|
-
|
|
71
|
-
All notable changes to this project will be documented in this file.
|
|
72
|
-
|
|
73
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
74
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
75
|
-
|
|
76
|
-
## [版本号] - YYYY-MM-DD
|
|
77
|
-
|
|
78
|
-
### Added(新增)
|
|
79
|
-
- 新功能 1 (#PR号)
|
|
80
|
-
- 新功能 2 by @contributor
|
|
81
|
-
|
|
82
|
-
### Changed(变更)
|
|
83
|
-
- 修改的功能 1
|
|
84
|
-
- 修改的功能 2
|
|
85
|
-
|
|
86
|
-
### Deprecated(废弃)
|
|
87
|
-
- 即将移除的功能
|
|
88
|
-
|
|
89
|
-
### Removed(移除)
|
|
90
|
-
- 已移除的功能
|
|
91
|
-
|
|
92
|
-
### Fixed(修复)
|
|
93
|
-
- Bug 修复 1 (#issue号)
|
|
94
|
-
- Bug 修复 2
|
|
95
|
-
|
|
96
|
-
### Security(安全)
|
|
97
|
-
- 安全漏洞修复
|
|
98
|
-
|
|
99
|
-
## [上一个版本] - YYYY-MM-DD
|
|
100
|
-
|
|
101
|
-
...
|
|
102
|
-
\`\`\`
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Changelog 模板
|
|
107
|
-
|
|
108
|
-
\`\`\`markdown
|
|
109
|
-
# Changelog
|
|
110
|
-
|
|
111
|
-
## [${version || "1.2.0"}] - ${new Date().toISOString().split('T')[0]}
|
|
112
|
-
|
|
113
|
-
### ✨ Added
|
|
114
|
-
- 新增用户认证功能 (#123) [@contributor1]
|
|
115
|
-
- 新增数据导出功能 (#125)
|
|
116
|
-
- 新增邮件通知系统
|
|
117
|
-
|
|
118
|
-
### 🔄 Changed
|
|
119
|
-
- 优化数据库查询性能 (#130)
|
|
120
|
-
- 更新 UI 设计风格
|
|
121
|
-
- 升级依赖包到最新版本
|
|
122
|
-
|
|
123
|
-
### 🗑️ Deprecated
|
|
124
|
-
- \`oldAPI()\` 方法即将在 v2.0 中移除,请使用 \`newAPI()\`
|
|
125
|
-
|
|
126
|
-
### ❌ Removed
|
|
127
|
-
- 移除了废弃的 \`legacyFeature\`
|
|
128
|
-
- 删除了未使用的配置项
|
|
129
|
-
|
|
130
|
-
### 🐛 Fixed
|
|
131
|
-
- 修复登录页面样式错误 (#128)
|
|
132
|
-
- 修复数据分页显示问题 (#132)
|
|
133
|
-
- 修复内存泄漏问题 (#135)
|
|
134
|
-
|
|
135
|
-
### 🔒 Security
|
|
136
|
-
- 修复 SQL 注入漏洞 (CVE-2024-XXXX)
|
|
137
|
-
- 更新依赖以修复安全漏洞
|
|
138
|
-
|
|
139
|
-
### 💥 BREAKING CHANGES
|
|
140
|
-
- API 端点从 \`/api/v1/users\` 改为 \`/api/v2/users\`
|
|
141
|
-
- 配置文件格式从 JSON 改为 YAML
|
|
142
|
-
- 最低 Node.js 版本要求提升到 18.x
|
|
143
|
-
|
|
144
|
-
### 📚 Documentation
|
|
145
|
-
- 更新 README 文档
|
|
146
|
-
- 添加 API 使用指南
|
|
147
|
-
- 完善贡献指南
|
|
148
|
-
|
|
149
|
-
### 🏗️ Infrastructure
|
|
150
|
-
- 升级 CI/CD 流程
|
|
151
|
-
- 添加 Docker 支持
|
|
152
|
-
- 配置自动化测试
|
|
153
|
-
|
|
154
|
-
### 👥 Contributors
|
|
155
|
-
感谢以下贡献者:
|
|
156
|
-
- @contributor1 - 3 commits
|
|
157
|
-
- @contributor2 - 2 commits
|
|
158
|
-
- @contributor3 - 1 commit
|
|
159
|
-
|
|
160
|
-
**Full Changelog**: https://github.com/owner/repo/compare/v1.1.0...v${version || "1.2.0"}
|
|
161
|
-
\`\`\`
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Changelog 最佳实践
|
|
166
|
-
|
|
167
|
-
### 内容要求
|
|
168
|
-
|
|
169
|
-
1. **明确说明变更**
|
|
170
|
-
- 用户能理解的语言(避免技术术语)
|
|
171
|
-
- 说明影响范围
|
|
172
|
-
- 提供迁移指南(破坏性变更)
|
|
173
|
-
|
|
174
|
-
2. **链接相关 Issue/PR**
|
|
175
|
-
- 使用 (#123) 格式
|
|
176
|
-
- 方便追溯详细信息
|
|
177
|
-
|
|
178
|
-
3. **归功贡献者**
|
|
179
|
-
- 使用 @username 格式
|
|
180
|
-
- 体现团队协作
|
|
181
|
-
|
|
182
|
-
### 版本规范
|
|
183
|
-
|
|
184
|
-
**语义化版本 (Semantic Versioning)**:
|
|
185
|
-
- **Major (X.0.0)**:破坏性变更
|
|
186
|
-
- **Minor (x.X.0)**:新功能(向后兼容)
|
|
187
|
-
- **Patch (x.x.X)**:Bug 修复
|
|
188
|
-
|
|
189
|
-
### 发布流程
|
|
190
|
-
|
|
191
|
-
1. 更新 CHANGELOG.md
|
|
192
|
-
2. 更新 package.json 版本号
|
|
193
|
-
3. 创建 Git tag:\`git tag -a v1.2.0 -m "Release v1.2.0"\`
|
|
194
|
-
4. 推送 tag:\`git push origin v1.2.0\`
|
|
195
|
-
5. 发布 GitHub Release
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## 自动化工具
|
|
200
|
-
|
|
201
|
-
**推荐工具**:
|
|
202
|
-
- **standard-version**:自动生成 changelog
|
|
203
|
-
- **conventional-changelog**:基于 commit 生成
|
|
204
|
-
- **semantic-release**:自动发布版本
|
|
205
|
-
|
|
206
|
-
**使用示例**:
|
|
207
|
-
\`\`\`bash
|
|
208
|
-
# 安装
|
|
209
|
-
npm install -D standard-version
|
|
210
|
-
|
|
211
|
-
# 生成 changelog
|
|
212
|
-
npx standard-version
|
|
213
|
-
|
|
214
|
-
# 首次发布
|
|
215
|
-
npx standard-version --first-release
|
|
216
|
-
\`\`\`
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## ⚠️ 边界约束
|
|
223
|
-
|
|
224
|
-
- ❌ 仅输出 CHANGELOG 文本,不自动写入文件
|
|
225
|
-
- ❌ 不执行 git 命令
|
|
226
|
-
- ✅ 输出完整的 CHANGELOG Markdown
|
|
227
|
-
|
|
228
|
-
现在请根据 commit 历史生成详细的 CHANGELOG.md 内容。`;
|
|
229
|
-
return {
|
|
230
|
-
content: [
|
|
231
|
-
{
|
|
232
|
-
type: "text",
|
|
233
|
-
text: message,
|
|
234
|
-
},
|
|
235
|
-
],
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
240
|
-
return {
|
|
241
|
-
content: [
|
|
242
|
-
{
|
|
243
|
-
type: "text",
|
|
244
|
-
text: `❌ 生成 Changelog 失败: ${errorMessage}`,
|
|
245
|
-
},
|
|
246
|
-
],
|
|
247
|
-
isError: true,
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
}
|
package/build/tools/gendoc.d.ts
DELETED
package/build/tools/gendoc.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
2
|
-
// gendoc 工具实现
|
|
3
|
-
export async function gendoc(args) {
|
|
4
|
-
try {
|
|
5
|
-
// 智能参数解析,支持自然语言输入
|
|
6
|
-
const parsedArgs = parseArgs(args, {
|
|
7
|
-
defaultValues: {
|
|
8
|
-
code: "",
|
|
9
|
-
style: "jsdoc",
|
|
10
|
-
lang: "zh",
|
|
11
|
-
},
|
|
12
|
-
primaryField: "code", // 纯文本输入默认映射到 code 字段
|
|
13
|
-
fieldAliases: {
|
|
14
|
-
code: ["source", "src", "代码", "function"],
|
|
15
|
-
style: ["format", "type", "风格", "注释风格"],
|
|
16
|
-
lang: ["language", "语言"],
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
const code = getString(parsedArgs.code);
|
|
20
|
-
const style = getString(parsedArgs.style) || "jsdoc"; // jsdoc, tsdoc, javadoc
|
|
21
|
-
const lang = getString(parsedArgs.lang) || "zh"; // zh, en
|
|
22
|
-
const message = `请为以下代码生成详细的注释文档:
|
|
23
|
-
|
|
24
|
-
📝 **代码内容**:
|
|
25
|
-
${code || "请提供需要生成注释的代码"}
|
|
26
|
-
|
|
27
|
-
📖 **注释风格**:${style}
|
|
28
|
-
🌐 **语言**:${lang === "zh" ? "中文" : "English"}
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## 注释生成指南
|
|
33
|
-
|
|
34
|
-
### JSDoc/TSDoc 格式
|
|
35
|
-
|
|
36
|
-
**函数注释模板**:
|
|
37
|
-
\`\`\`typescript
|
|
38
|
-
/**
|
|
39
|
-
* 函数简短描述(一句话)
|
|
40
|
-
*
|
|
41
|
-
* 详细描述功能、用途、使用场景(可选,多行)
|
|
42
|
-
*
|
|
43
|
-
* @param {类型} 参数名 - 参数描述
|
|
44
|
-
* @param {类型} 参数名 - 参数描述
|
|
45
|
-
* @returns {类型} 返回值描述
|
|
46
|
-
* @throws {ErrorType} 抛出异常的情况
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* // 使用示例
|
|
50
|
-
* const result = functionName(arg1, arg2);
|
|
51
|
-
* console.log(result); // 输出: ...
|
|
52
|
-
*
|
|
53
|
-
* @see 相关函数或文档链接
|
|
54
|
-
* @since 1.0.0
|
|
55
|
-
* @deprecated 使用 newFunction 替代(如果已废弃)
|
|
56
|
-
*/
|
|
57
|
-
function functionName(param1, param2) {
|
|
58
|
-
// ...
|
|
59
|
-
}
|
|
60
|
-
\`\`\`
|
|
61
|
-
|
|
62
|
-
**类注释模板**:
|
|
63
|
-
\`\`\`typescript
|
|
64
|
-
/**
|
|
65
|
-
* 类简短描述
|
|
66
|
-
*
|
|
67
|
-
* 详细描述类的职责、使用场景
|
|
68
|
-
*
|
|
69
|
-
* @class
|
|
70
|
-
* @example
|
|
71
|
-
* const instance = new ClassName(param);
|
|
72
|
-
* instance.method();
|
|
73
|
-
*/
|
|
74
|
-
class ClassName {
|
|
75
|
-
/**
|
|
76
|
-
* 构造函数描述
|
|
77
|
-
* @param {类型} param - 参数描述
|
|
78
|
-
*/
|
|
79
|
-
constructor(param) {}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* 方法描述
|
|
83
|
-
* @returns {类型} 返回值描述
|
|
84
|
-
*/
|
|
85
|
-
method() {}
|
|
86
|
-
}
|
|
87
|
-
\`\`\`
|
|
88
|
-
|
|
89
|
-
**接口注释模板**:
|
|
90
|
-
\`\`\`typescript
|
|
91
|
-
/**
|
|
92
|
-
* 接口描述
|
|
93
|
-
*
|
|
94
|
-
* @interface
|
|
95
|
-
*/
|
|
96
|
-
interface InterfaceName {
|
|
97
|
-
/** 属性描述 */
|
|
98
|
-
property: string;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* 方法描述
|
|
102
|
-
* @param {类型} param - 参数描述
|
|
103
|
-
* @returns {类型} 返回值描述
|
|
104
|
-
*/
|
|
105
|
-
method(param: string): void;
|
|
106
|
-
}
|
|
107
|
-
\`\`\`
|
|
108
|
-
|
|
109
|
-
**类型注释模板**:
|
|
110
|
-
\`\`\`typescript
|
|
111
|
-
/**
|
|
112
|
-
* 类型描述
|
|
113
|
-
*
|
|
114
|
-
* @typedef {Object} TypeName
|
|
115
|
-
* @property {string} prop1 - 属性 1 描述
|
|
116
|
-
* @property {number} prop2 - 属性 2 描述
|
|
117
|
-
*/
|
|
118
|
-
type TypeName = {
|
|
119
|
-
prop1: string;
|
|
120
|
-
prop2: number;
|
|
121
|
-
};
|
|
122
|
-
\`\`\`
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## 注释内容要求
|
|
127
|
-
|
|
128
|
-
### 必须包含
|
|
129
|
-
|
|
130
|
-
1. **功能描述**
|
|
131
|
-
- 简短说明(一句话)
|
|
132
|
-
- 详细说明(用途、场景、原理)
|
|
133
|
-
|
|
134
|
-
2. **参数说明**
|
|
135
|
-
- 参数类型
|
|
136
|
-
- 参数含义
|
|
137
|
-
- 是否可选
|
|
138
|
-
- 默认值(如有)
|
|
139
|
-
- 取值范围/约束(如有)
|
|
140
|
-
|
|
141
|
-
3. **返回值**
|
|
142
|
-
- 返回类型
|
|
143
|
-
- 返回值含义
|
|
144
|
-
- 可能的返回值
|
|
145
|
-
|
|
146
|
-
4. **异常情况**
|
|
147
|
-
- 可能抛出的异常
|
|
148
|
-
- 抛出条件
|
|
149
|
-
|
|
150
|
-
5. **使用示例**
|
|
151
|
-
- 基本用法
|
|
152
|
-
- 典型场景
|
|
153
|
-
- 边界情况
|
|
154
|
-
|
|
155
|
-
### 可选包含
|
|
156
|
-
|
|
157
|
-
1. **复杂度**:\`@complexity O(n)\`
|
|
158
|
-
2. **版本信息**:\`@since 1.0.0\`
|
|
159
|
-
3. **作者**:\`@author Kyle\`
|
|
160
|
-
4. **废弃信息**:\`@deprecated\`
|
|
161
|
-
5. **相关链接**:\`@see\`
|
|
162
|
-
6. **待办事项**:\`@todo\`
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## 注释质量标准
|
|
167
|
-
|
|
168
|
-
**好的注释**:
|
|
169
|
-
- ✅ 说明"为什么",而不只是"做什么"
|
|
170
|
-
- ✅ 描述边界条件和特殊情况
|
|
171
|
-
- ✅ 提供有意义的示例
|
|
172
|
-
- ✅ 保持与代码同步
|
|
173
|
-
- ✅ 使用清晰简洁的语言
|
|
174
|
-
|
|
175
|
-
**避免的注释**:
|
|
176
|
-
- ❌ 重复代码内容的注释
|
|
177
|
-
- ❌ 过时的注释
|
|
178
|
-
- ❌ 误导性的注释
|
|
179
|
-
- ❌ 废话注释(如:\`// 定义变量 x\`)
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## 特殊注释标记
|
|
184
|
-
|
|
185
|
-
**标记类型**:
|
|
186
|
-
\`\`\`typescript
|
|
187
|
-
// TODO: 待实现的功能
|
|
188
|
-
// FIXME: 需要修复的问题
|
|
189
|
-
// HACK: 临时解决方案
|
|
190
|
-
// NOTE: 重要说明
|
|
191
|
-
// WARNING: 警告信息
|
|
192
|
-
// OPTIMIZE: 可优化的地方
|
|
193
|
-
\`\`\`
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## ⚠️ 边界约束
|
|
200
|
-
|
|
201
|
-
- ❌ 仅输出注释,不改变代码逻辑
|
|
202
|
-
- ❌ 不执行代码或命令
|
|
203
|
-
- ✅ 补全参数/返回值/异常/示例说明
|
|
204
|
-
- ✅ 输出带完整注释的代码
|
|
205
|
-
|
|
206
|
-
现在请为代码生成${lang === "zh" ? "中文" : "英文"}的${style}风格注释文档,包括:
|
|
207
|
-
1. 完整的函数/类/接口注释
|
|
208
|
-
2. 复杂逻辑的行内注释
|
|
209
|
-
3. 使用示例
|
|
210
|
-
4. 特殊情况说明`;
|
|
211
|
-
return {
|
|
212
|
-
content: [
|
|
213
|
-
{
|
|
214
|
-
type: "text",
|
|
215
|
-
text: message,
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
222
|
-
return {
|
|
223
|
-
content: [
|
|
224
|
-
{
|
|
225
|
-
type: "text",
|
|
226
|
-
text: `❌ 生成注释失败: ${errorMessage}`,
|
|
227
|
-
},
|
|
228
|
-
],
|
|
229
|
-
isError: true,
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
}
|
package/build/tools/genpr.d.ts
DELETED