mcp-probe-kit 1.3.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.
- package/README.md +719 -74
- package/build/index.js +362 -1
- package/build/tools/add_feature.d.ts +33 -0
- package/build/tools/add_feature.js +464 -0
- package/build/tools/css_order.d.ts +13 -0
- package/build/tools/css_order.js +81 -0
- package/build/tools/estimate.d.ts +22 -0
- package/build/tools/estimate.js +225 -0
- package/build/tools/fix_bug.d.ts +24 -0
- package/build/tools/fix_bug.js +298 -0
- package/build/tools/gen_mock.d.ts +22 -0
- package/build/tools/gen_mock.js +250 -0
- package/build/tools/index.d.ts +15 -0
- package/build/tools/index.js +16 -0
- package/build/tools/init_project.js +121 -76
- package/build/tools/init_project_context.d.ts +26 -0
- package/build/tools/init_project_context.js +331 -0
- package/build/tools/security_scan.d.ts +22 -0
- package/build/tools/security_scan.js +282 -0
- package/build/tools/start_api.d.ts +19 -0
- package/build/tools/start_api.js +178 -0
- package/build/tools/start_bugfix.d.ts +19 -0
- package/build/tools/start_bugfix.js +127 -0
- package/build/tools/start_doc.d.ts +19 -0
- package/build/tools/start_doc.js +190 -0
- package/build/tools/start_feature.d.ts +19 -0
- package/build/tools/start_feature.js +122 -0
- package/build/tools/start_onboard.d.ts +19 -0
- package/build/tools/start_onboard.js +146 -0
- package/build/tools/start_refactor.d.ts +19 -0
- package/build/tools/start_refactor.js +175 -0
- package/build/tools/start_release.d.ts +19 -0
- package/build/tools/start_release.js +152 -0
- package/build/tools/start_review.d.ts +19 -0
- package/build/tools/start_review.js +162 -0
- package/docs/BEST_PRACTICES.md +722 -0
- package/docs/HOW_TO_TRIGGER.html +186 -0
- package/docs/HOW_TO_TRIGGER.md +941 -0
- package/docs/specs/add-feature/design.md +608 -0
- package/docs/specs/add-feature/requirements.md +175 -0
- package/docs/specs/add-feature/tasks.md +111 -0
- package/docs/specs/estimate/design.md +209 -0
- package/docs/specs/estimate/requirements.md +140 -0
- package/docs/specs/estimate/tasks.md +66 -0
- package/docs/specs/fix-bug/design.md +259 -0
- package/docs/specs/fix-bug/requirements.md +132 -0
- package/docs/specs/fix-bug/tasks.md +66 -0
- package/docs/specs/gen-mock/design.md +241 -0
- package/docs/specs/gen-mock/requirements.md +137 -0
- package/docs/specs/gen-mock/tasks.md +66 -0
- package/docs/specs/init-project-context/design.md +515 -0
- package/docs/specs/init-project-context/requirements.md +144 -0
- package/docs/specs/init-project-context/tasks.md +93 -0
- package/docs/specs/security-scan/design.md +152 -0
- package/docs/specs/security-scan/requirements.md +150 -0
- package/docs/specs/security-scan/tasks.md +67 -0
- package/docs/specs/start-bugfix/design.md +42 -0
- package/docs/specs/start-bugfix/requirements.md +70 -0
- package/docs/specs/start-bugfix/tasks.md +21 -0
- package/docs/specs/start-feature/design.md +41 -0
- package/docs/specs/start-feature/requirements.md +90 -0
- package/docs/specs/start-feature/tasks.md +21 -0
- package/docs/specs/start-review/requirements.md +0 -0
- package/package.json +66 -65
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_api 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:API 开发
|
|
5
|
+
* 编排:[检查上下文] → genapi → gen_mock → gentest
|
|
6
|
+
*/
|
|
7
|
+
const PROMPT_TEMPLATE = `# 🔌 API 开发编排指南
|
|
8
|
+
|
|
9
|
+
## 🎯 目标
|
|
10
|
+
|
|
11
|
+
为以下 API 代码生成完整的开发资料:
|
|
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. 了解项目的 API 规范、测试框架
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 📝 步骤 1: 生成 API 文档
|
|
32
|
+
|
|
33
|
+
**调用工具**: \`genapi\`
|
|
34
|
+
|
|
35
|
+
**参数**:
|
|
36
|
+
\`\`\`json
|
|
37
|
+
{
|
|
38
|
+
"code": "[API 代码]",
|
|
39
|
+
"format": "{format}"
|
|
40
|
+
}
|
|
41
|
+
\`\`\`
|
|
42
|
+
|
|
43
|
+
**生成内容**:
|
|
44
|
+
- API 端点列表
|
|
45
|
+
- 请求/响应格式
|
|
46
|
+
- 参数说明
|
|
47
|
+
- 示例
|
|
48
|
+
|
|
49
|
+
**产出**: API 文档(Markdown/OpenAPI/JSDoc)
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🎭 步骤 2: 生成 Mock 数据
|
|
54
|
+
|
|
55
|
+
**调用工具**: \`gen_mock\`
|
|
56
|
+
|
|
57
|
+
**参数**:
|
|
58
|
+
\`\`\`json
|
|
59
|
+
{
|
|
60
|
+
"schema": "[从 API 代码中提取的数据结构]",
|
|
61
|
+
"count": 5,
|
|
62
|
+
"format": "json",
|
|
63
|
+
"locale": "zh-CN"
|
|
64
|
+
}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
**生成内容**:
|
|
68
|
+
- 请求示例数据
|
|
69
|
+
- 响应示例数据
|
|
70
|
+
- 各种场景的测试数据
|
|
71
|
+
|
|
72
|
+
**产出**: Mock 数据文件
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 🧪 步骤 3: 生成 API 测试
|
|
77
|
+
|
|
78
|
+
**调用工具**: \`gentest\`
|
|
79
|
+
|
|
80
|
+
**参数**:
|
|
81
|
+
\`\`\`json
|
|
82
|
+
{
|
|
83
|
+
"code": "[API 代码]",
|
|
84
|
+
"framework": "[根据项目上下文选择]"
|
|
85
|
+
}
|
|
86
|
+
\`\`\`
|
|
87
|
+
|
|
88
|
+
**生成内容**:
|
|
89
|
+
- 单元测试
|
|
90
|
+
- 集成测试
|
|
91
|
+
- 边界情况测试
|
|
92
|
+
- 错误处理测试
|
|
93
|
+
|
|
94
|
+
**产出**: 测试代码
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## ✅ 完成检查
|
|
99
|
+
|
|
100
|
+
- [ ] 项目上下文已读取
|
|
101
|
+
- [ ] API 文档已生成
|
|
102
|
+
- [ ] Mock 数据已生成
|
|
103
|
+
- [ ] 测试代码已生成
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 📊 输出汇总
|
|
108
|
+
|
|
109
|
+
完成后,向用户提供:
|
|
110
|
+
|
|
111
|
+
### 1. API 文档
|
|
112
|
+
|
|
113
|
+
\`\`\`markdown
|
|
114
|
+
## API 端点
|
|
115
|
+
|
|
116
|
+
### [METHOD] /path
|
|
117
|
+
|
|
118
|
+
**描述**: ...
|
|
119
|
+
|
|
120
|
+
**请求参数**:
|
|
121
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
122
|
+
|------|------|------|------|
|
|
123
|
+
|
|
124
|
+
**响应**:
|
|
125
|
+
\`\`\`json
|
|
126
|
+
{
|
|
127
|
+
"code": 0,
|
|
128
|
+
"data": {}
|
|
129
|
+
}
|
|
130
|
+
\`\`\`
|
|
131
|
+
\`\`\`
|
|
132
|
+
|
|
133
|
+
### 2. Mock 数据
|
|
134
|
+
|
|
135
|
+
\`\`\`json
|
|
136
|
+
[Mock 数据示例]
|
|
137
|
+
\`\`\`
|
|
138
|
+
|
|
139
|
+
### 3. 测试代码
|
|
140
|
+
|
|
141
|
+
\`\`\`typescript
|
|
142
|
+
[测试代码]
|
|
143
|
+
\`\`\`
|
|
144
|
+
|
|
145
|
+
### 4. 使用建议
|
|
146
|
+
|
|
147
|
+
- Mock 数据可用于前端开发联调
|
|
148
|
+
- 测试代码可直接运行验证 API
|
|
149
|
+
- API 文档可分享给前端/调用方
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
*编排工具: MCP Probe Kit - start_api*
|
|
154
|
+
`;
|
|
155
|
+
export async function startApi(args) {
|
|
156
|
+
try {
|
|
157
|
+
const code = args?.code;
|
|
158
|
+
if (!code) {
|
|
159
|
+
throw new Error("缺少必填参数: code(API 代码)");
|
|
160
|
+
}
|
|
161
|
+
const language = args?.language || "typescript";
|
|
162
|
+
const format = args?.format || "markdown";
|
|
163
|
+
const guide = PROMPT_TEMPLATE
|
|
164
|
+
.replace(/{code}/g, code)
|
|
165
|
+
.replace(/{language}/g, language)
|
|
166
|
+
.replace(/{format}/g, format);
|
|
167
|
+
return {
|
|
168
|
+
content: [{ type: "text", text: guide }],
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
173
|
+
return {
|
|
174
|
+
content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
|
|
175
|
+
isError: true,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_bugfix 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:修复 Bug
|
|
5
|
+
* 编排:[检查上下文] → fix_bug → gentest
|
|
6
|
+
*/
|
|
7
|
+
export declare function startBugfix(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,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_bugfix 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:修复 Bug
|
|
5
|
+
* 编排:[检查上下文] → fix_bug → gentest
|
|
6
|
+
*/
|
|
7
|
+
const PROMPT_TEMPLATE = `# 🐛 Bug 修复编排指南
|
|
8
|
+
|
|
9
|
+
## 🎯 目标
|
|
10
|
+
|
|
11
|
+
修复以下 Bug:
|
|
12
|
+
|
|
13
|
+
**错误信息**:
|
|
14
|
+
\`\`\`
|
|
15
|
+
{error_message}
|
|
16
|
+
\`\`\`
|
|
17
|
+
|
|
18
|
+
{stack_trace_section}
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 📋 步骤 0: 项目上下文(自动处理)
|
|
23
|
+
|
|
24
|
+
**操作**:
|
|
25
|
+
1. 检查 \`docs/project-context.md\` 是否存在
|
|
26
|
+
2. **如果不存在**:
|
|
27
|
+
- 调用 \`init_project_context\` 工具
|
|
28
|
+
- 等待生成完成
|
|
29
|
+
3. **读取** \`docs/project-context.md\` 内容
|
|
30
|
+
4. 了解项目的技术栈、架构、测试框架
|
|
31
|
+
5. 后续步骤参考此上下文
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 🔍 步骤 1: Bug 分析与修复
|
|
36
|
+
|
|
37
|
+
**调用工具**: \`fix_bug\`
|
|
38
|
+
|
|
39
|
+
**参数**:
|
|
40
|
+
\`\`\`json
|
|
41
|
+
{
|
|
42
|
+
"error_message": "{error_message}",
|
|
43
|
+
"stack_trace": "{stack_trace}"
|
|
44
|
+
}
|
|
45
|
+
\`\`\`
|
|
46
|
+
|
|
47
|
+
**执行要点**:
|
|
48
|
+
1. 按指南完成问题定位
|
|
49
|
+
2. 使用 5 Whys 分析根本原因
|
|
50
|
+
3. 设计修复方案
|
|
51
|
+
4. 实施代码修复
|
|
52
|
+
|
|
53
|
+
**产出**: 修复后的代码
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 🧪 步骤 2: 生成回归测试
|
|
58
|
+
|
|
59
|
+
**调用工具**: \`gentest\`
|
|
60
|
+
|
|
61
|
+
**参数**:
|
|
62
|
+
\`\`\`json
|
|
63
|
+
{
|
|
64
|
+
"code": "[修复后的代码]",
|
|
65
|
+
"framework": "[根据项目上下文选择: jest/vitest/mocha]"
|
|
66
|
+
}
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
**执行要点**:
|
|
70
|
+
1. 为修复的代码生成测试
|
|
71
|
+
2. 包含 Bug 场景的测试用例
|
|
72
|
+
3. 包含边界情况测试
|
|
73
|
+
|
|
74
|
+
**产出**: 测试代码
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## ✅ 完成检查
|
|
79
|
+
|
|
80
|
+
- [ ] 项目上下文已读取
|
|
81
|
+
- [ ] Bug 已定位
|
|
82
|
+
- [ ] 根本原因已分析
|
|
83
|
+
- [ ] 代码已修复
|
|
84
|
+
- [ ] 测试已添加
|
|
85
|
+
- [ ] 测试已通过
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 📝 输出汇总
|
|
90
|
+
|
|
91
|
+
完成后,向用户汇总:
|
|
92
|
+
|
|
93
|
+
1. **Bug 原因**: [根本原因]
|
|
94
|
+
2. **修复方案**: [修复说明]
|
|
95
|
+
3. **修改文件**: [文件列表]
|
|
96
|
+
4. **测试覆盖**: [测试情况]
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
*编排工具: MCP Probe Kit - start_bugfix*
|
|
101
|
+
`;
|
|
102
|
+
export async function startBugfix(args) {
|
|
103
|
+
try {
|
|
104
|
+
const errorMessage = args?.error_message;
|
|
105
|
+
if (!errorMessage) {
|
|
106
|
+
throw new Error("缺少必填参数: error_message(错误信息)");
|
|
107
|
+
}
|
|
108
|
+
const stackTrace = args?.stack_trace || "";
|
|
109
|
+
const stackTraceSection = stackTrace
|
|
110
|
+
? `**堆栈跟踪**:\n\`\`\`\n${stackTrace}\n\`\`\``
|
|
111
|
+
: "";
|
|
112
|
+
const guide = PROMPT_TEMPLATE
|
|
113
|
+
.replace(/{error_message}/g, errorMessage)
|
|
114
|
+
.replace(/{stack_trace}/g, stackTrace)
|
|
115
|
+
.replace(/{stack_trace_section}/g, stackTraceSection);
|
|
116
|
+
return {
|
|
117
|
+
content: [{ type: "text", text: guide }],
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
122
|
+
return {
|
|
123
|
+
content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
|
|
124
|
+
isError: true,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_doc 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:文档生成
|
|
5
|
+
* 编排:[检查上下文] → gendoc → genreadme → genapi
|
|
6
|
+
*/
|
|
7
|
+
export declare function startDoc(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,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_doc 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:文档生成
|
|
5
|
+
* 编排:[检查上下文] → gendoc → genreadme → genapi
|
|
6
|
+
*/
|
|
7
|
+
const PROMPT_TEMPLATE = `# 📖 文档生成编排指南
|
|
8
|
+
|
|
9
|
+
## 🎯 目标
|
|
10
|
+
|
|
11
|
+
为项目/代码生成完整的文档
|
|
12
|
+
|
|
13
|
+
**输入内容**:
|
|
14
|
+
\`\`\`
|
|
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. 了解项目的文档风格、技术栈
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 📝 步骤 1: 生成代码注释
|
|
33
|
+
|
|
34
|
+
**调用工具**: \`gendoc\`
|
|
35
|
+
|
|
36
|
+
**参数**:
|
|
37
|
+
\`\`\`json
|
|
38
|
+
{
|
|
39
|
+
"code": "[代码内容]",
|
|
40
|
+
"style": "{style}",
|
|
41
|
+
"lang": "{lang}"
|
|
42
|
+
}
|
|
43
|
+
\`\`\`
|
|
44
|
+
|
|
45
|
+
**生成内容**:
|
|
46
|
+
- 函数/方法注释
|
|
47
|
+
- 参数说明
|
|
48
|
+
- 返回值说明
|
|
49
|
+
- 使用示例
|
|
50
|
+
|
|
51
|
+
**产出**: 带注释的代码
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 📄 步骤 2: 生成 README
|
|
56
|
+
|
|
57
|
+
**调用工具**: \`genreadme\`
|
|
58
|
+
|
|
59
|
+
**参数**:
|
|
60
|
+
\`\`\`json
|
|
61
|
+
{
|
|
62
|
+
"project_info": "[项目信息或代码]",
|
|
63
|
+
"style": "standard"
|
|
64
|
+
}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
**生成内容**:
|
|
68
|
+
- 项目简介
|
|
69
|
+
- 功能特性
|
|
70
|
+
- 安装使用
|
|
71
|
+
- API 说明
|
|
72
|
+
- 贡献指南
|
|
73
|
+
|
|
74
|
+
**产出**: README.md
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 🔌 步骤 3: 生成 API 文档(如适用)
|
|
79
|
+
|
|
80
|
+
**调用工具**: \`genapi\`
|
|
81
|
+
|
|
82
|
+
**参数**:
|
|
83
|
+
\`\`\`json
|
|
84
|
+
{
|
|
85
|
+
"code": "[API 相关代码]",
|
|
86
|
+
"format": "markdown"
|
|
87
|
+
}
|
|
88
|
+
\`\`\`
|
|
89
|
+
|
|
90
|
+
**生成内容**:
|
|
91
|
+
- API 端点列表
|
|
92
|
+
- 请求/响应格式
|
|
93
|
+
- 参数说明
|
|
94
|
+
|
|
95
|
+
**产出**: API 文档
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## ✅ 完成检查
|
|
100
|
+
|
|
101
|
+
- [ ] 项目上下文已读取
|
|
102
|
+
- [ ] 代码注释已生成
|
|
103
|
+
- [ ] README 已生成
|
|
104
|
+
- [ ] API 文档已生成(如适用)
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 📊 输出汇总
|
|
109
|
+
|
|
110
|
+
完成后,向用户提供:
|
|
111
|
+
|
|
112
|
+
### 1. 代码注释
|
|
113
|
+
|
|
114
|
+
\`\`\`typescript
|
|
115
|
+
/**
|
|
116
|
+
* [函数描述]
|
|
117
|
+
* @param {Type} param - [参数说明]
|
|
118
|
+
* @returns {Type} [返回值说明]
|
|
119
|
+
* @example
|
|
120
|
+
* [使用示例]
|
|
121
|
+
*/
|
|
122
|
+
\`\`\`
|
|
123
|
+
|
|
124
|
+
### 2. README.md
|
|
125
|
+
|
|
126
|
+
\`\`\`markdown
|
|
127
|
+
# 项目名称
|
|
128
|
+
|
|
129
|
+
## 简介
|
|
130
|
+
...
|
|
131
|
+
|
|
132
|
+
## 功能特性
|
|
133
|
+
...
|
|
134
|
+
|
|
135
|
+
## 快速开始
|
|
136
|
+
...
|
|
137
|
+
|
|
138
|
+
## API 文档
|
|
139
|
+
...
|
|
140
|
+
|
|
141
|
+
## 贡献指南
|
|
142
|
+
...
|
|
143
|
+
|
|
144
|
+
## 许可证
|
|
145
|
+
...
|
|
146
|
+
\`\`\`
|
|
147
|
+
|
|
148
|
+
### 3. API 文档(如适用)
|
|
149
|
+
|
|
150
|
+
\`\`\`markdown
|
|
151
|
+
## API 参考
|
|
152
|
+
...
|
|
153
|
+
\`\`\`
|
|
154
|
+
|
|
155
|
+
### 4. 文档清单
|
|
156
|
+
|
|
157
|
+
| 文档 | 状态 | 位置 |
|
|
158
|
+
|------|------|------|
|
|
159
|
+
| 代码注释 | ✅ | 源代码中 |
|
|
160
|
+
| README | ✅ | README.md |
|
|
161
|
+
| API 文档 | ✅/- | docs/api.md |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
*编排工具: MCP Probe Kit - start_doc*
|
|
166
|
+
`;
|
|
167
|
+
export async function startDoc(args) {
|
|
168
|
+
try {
|
|
169
|
+
const code = args?.code || args?.project_info;
|
|
170
|
+
if (!code) {
|
|
171
|
+
throw new Error("缺少必填参数: code 或 project_info");
|
|
172
|
+
}
|
|
173
|
+
const style = args?.style || "jsdoc";
|
|
174
|
+
const lang = args?.lang || "zh";
|
|
175
|
+
const guide = PROMPT_TEMPLATE
|
|
176
|
+
.replace(/{code}/g, code)
|
|
177
|
+
.replace(/{style}/g, style)
|
|
178
|
+
.replace(/{lang}/g, lang);
|
|
179
|
+
return {
|
|
180
|
+
content: [{ type: "text", text: guide }],
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
185
|
+
return {
|
|
186
|
+
content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
|
|
187
|
+
isError: true,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_feature 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:开发新功能
|
|
5
|
+
* 编排:[检查上下文] → add_feature → estimate
|
|
6
|
+
*/
|
|
7
|
+
export declare function startFeature(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,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_feature 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:开发新功能
|
|
5
|
+
* 编排:[检查上下文] → add_feature → estimate
|
|
6
|
+
*/
|
|
7
|
+
const PROMPT_TEMPLATE = `# 🚀 新功能开发编排指南
|
|
8
|
+
|
|
9
|
+
## 🎯 目标
|
|
10
|
+
|
|
11
|
+
开发新功能:**{feature_name}**
|
|
12
|
+
|
|
13
|
+
**功能描述**: {description}
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 📋 步骤 0: 项目上下文(自动处理)
|
|
18
|
+
|
|
19
|
+
**操作**:
|
|
20
|
+
1. 检查 \`{docs_dir}/project-context.md\` 是否存在
|
|
21
|
+
2. **如果不存在**:
|
|
22
|
+
- 调用 \`init_project_context\` 工具
|
|
23
|
+
- 参数: \`{ "docs_dir": "{docs_dir}" }\`
|
|
24
|
+
- 等待生成完成
|
|
25
|
+
3. **读取** \`{docs_dir}/project-context.md\` 内容
|
|
26
|
+
4. 提取关键信息:技术栈、架构模式、编码规范
|
|
27
|
+
5. 后续所有步骤都要参考此上下文
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 🚀 步骤 1: 生成功能规格
|
|
32
|
+
|
|
33
|
+
**调用工具**: \`add_feature\`
|
|
34
|
+
|
|
35
|
+
**参数**:
|
|
36
|
+
\`\`\`json
|
|
37
|
+
{
|
|
38
|
+
"feature_name": "{feature_name}",
|
|
39
|
+
"description": "{description}",
|
|
40
|
+
"docs_dir": "{docs_dir}"
|
|
41
|
+
}
|
|
42
|
+
\`\`\`
|
|
43
|
+
|
|
44
|
+
**预期输出**:
|
|
45
|
+
- \`{docs_dir}/specs/{feature_name}/requirements.md\` - 需求文档
|
|
46
|
+
- \`{docs_dir}/specs/{feature_name}/design.md\` - 设计文档
|
|
47
|
+
- \`{docs_dir}/specs/{feature_name}/tasks.md\` - 任务清单
|
|
48
|
+
|
|
49
|
+
**注意**: 生成文档时要参考项目上下文中的技术栈和架构模式
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 📊 步骤 2: 工作量估算
|
|
54
|
+
|
|
55
|
+
**调用工具**: \`estimate\`
|
|
56
|
+
|
|
57
|
+
**参数**:
|
|
58
|
+
\`\`\`json
|
|
59
|
+
{
|
|
60
|
+
"task_description": "实现 {feature_name} 功能:{description}",
|
|
61
|
+
"code_context": "参考生成的 tasks.md 中的任务列表"
|
|
62
|
+
}
|
|
63
|
+
\`\`\`
|
|
64
|
+
|
|
65
|
+
**预期输出**:
|
|
66
|
+
- 故事点估算
|
|
67
|
+
- 时间估算(乐观/正常/悲观)
|
|
68
|
+
- 复杂度分析
|
|
69
|
+
- 风险识别
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## ✅ 完成检查
|
|
74
|
+
|
|
75
|
+
- [ ] 项目上下文已读取/生成
|
|
76
|
+
- [ ] requirements.md 已生成
|
|
77
|
+
- [ ] design.md 已生成
|
|
78
|
+
- [ ] tasks.md 已生成
|
|
79
|
+
- [ ] 工作量估算已完成
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 📝 输出汇总
|
|
84
|
+
|
|
85
|
+
完成后,向用户汇总:
|
|
86
|
+
|
|
87
|
+
1. **功能规格文档位置**: \`{docs_dir}/specs/{feature_name}/\`
|
|
88
|
+
2. **预估工作量**: X 故事点 / X-X 天
|
|
89
|
+
3. **主要风险**: [列出识别的风险]
|
|
90
|
+
4. **下一步**: 按 tasks.md 开始开发
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
*编排工具: MCP Probe Kit - start_feature*
|
|
95
|
+
`;
|
|
96
|
+
export async function startFeature(args) {
|
|
97
|
+
try {
|
|
98
|
+
const featureName = args?.feature_name;
|
|
99
|
+
const description = args?.description;
|
|
100
|
+
if (!featureName) {
|
|
101
|
+
throw new Error("缺少必填参数: feature_name(功能名称)");
|
|
102
|
+
}
|
|
103
|
+
if (!description) {
|
|
104
|
+
throw new Error("缺少必填参数: description(功能描述)");
|
|
105
|
+
}
|
|
106
|
+
const docsDir = args?.docs_dir || "docs";
|
|
107
|
+
const guide = PROMPT_TEMPLATE
|
|
108
|
+
.replace(/{feature_name}/g, featureName)
|
|
109
|
+
.replace(/{description}/g, description)
|
|
110
|
+
.replace(/{docs_dir}/g, docsDir);
|
|
111
|
+
return {
|
|
112
|
+
content: [{ type: "text", text: guide }],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
117
|
+
return {
|
|
118
|
+
content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
|
|
119
|
+
isError: true,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* start_onboard 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:快速上手项目
|
|
5
|
+
* 编排:analyze_project → init_project_context
|
|
6
|
+
*/
|
|
7
|
+
export declare function startOnboard(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
|
+
}>;
|