mcp-probe-kit 1.8.0 → 1.8.1
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 +44 -2
- package/docs/BEST_PRACTICES.md +9 -0
- package/docs/HOW_TO_TRIGGER.html +68 -69
- package/docs/HOW_TO_TRIGGER.md +41 -2
- package/package.json +1 -1
- package/docs/specs/add-feature/design.md +0 -608
- package/docs/specs/add-feature/requirements.md +0 -175
- package/docs/specs/add-feature/tasks.md +0 -111
- package/docs/specs/design2code/README.md +0 -0
- package/docs/specs/design2code/requirements.md +0 -0
- package/docs/specs/estimate/design.md +0 -209
- package/docs/specs/estimate/requirements.md +0 -140
- package/docs/specs/estimate/tasks.md +0 -66
- package/docs/specs/fix-bug/design.md +0 -259
- package/docs/specs/fix-bug/requirements.md +0 -132
- package/docs/specs/fix-bug/tasks.md +0 -66
- package/docs/specs/gen-mock/design.md +0 -241
- package/docs/specs/gen-mock/requirements.md +0 -137
- package/docs/specs/gen-mock/tasks.md +0 -66
- package/docs/specs/init-project-context/design.md +0 -515
- package/docs/specs/init-project-context/requirements.md +0 -144
- package/docs/specs/init-project-context/tasks.md +0 -93
- package/docs/specs/security-scan/design.md +0 -152
- package/docs/specs/security-scan/requirements.md +0 -150
- package/docs/specs/security-scan/tasks.md +0 -67
- package/docs/specs/start-bugfix/design.md +0 -42
- package/docs/specs/start-bugfix/requirements.md +0 -70
- package/docs/specs/start-bugfix/tasks.md +0 -21
- package/docs/specs/start-feature/design.md +0 -41
- package/docs/specs/start-feature/requirements.md +0 -90
- package/docs/specs/start-feature/tasks.md +0 -21
- package/docs/specs/start-review/requirements.md +0 -0
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
# 需求文档:add_feature
|
|
2
|
-
|
|
3
|
-
## 功能概述
|
|
4
|
-
|
|
5
|
-
`add_feature` 是一个 MCP 工具,用于在已有项目中添加新功能的规格文档。该工具会生成标准化的需求文档、设计文档和任务清单,遵循 Spec-Driven Development 方法论。
|
|
6
|
-
|
|
7
|
-
## 术语定义
|
|
8
|
-
|
|
9
|
-
- **Feature_Spec**: 功能规格,包含需求、设计和任务三个文档
|
|
10
|
-
- **Requirements_Document**: 需求文档,使用 EARS 格式描述功能需求
|
|
11
|
-
- **Design_Document**: 设计文档,描述技术方案和架构设计
|
|
12
|
-
- **Tasks_Document**: 任务文档,将设计分解为可执行的任务清单
|
|
13
|
-
- **EARS_Format**: Easy Approach to Requirements Syntax,一种结构化的需求描述格式
|
|
14
|
-
- **Project_Context**: 项目上下文,由 init_project_context 工具生成的项目信息
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 需求列表
|
|
19
|
-
|
|
20
|
-
### 需求 1: 生成功能规格文档
|
|
21
|
-
|
|
22
|
-
**用户故事:** 作为开发者,我想要自动生成功能规格文档,以便按照标准化流程开发新功能。
|
|
23
|
-
|
|
24
|
-
#### 验收标准
|
|
25
|
-
|
|
26
|
-
1. WHEN 用户调用 add_feature 工具并提供功能名称和描述 THEN 系统 SHALL 返回详细的文档生成指南
|
|
27
|
-
2. THE 指南 SHALL 指导 AI 生成以下三个文件:
|
|
28
|
-
- `docs/specs/{feature_name}/requirements.md`
|
|
29
|
-
- `docs/specs/{feature_name}/design.md`
|
|
30
|
-
- `docs/specs/{feature_name}/tasks.md`
|
|
31
|
-
3. THE 指南 SHALL 包含每个文档的标准化模板
|
|
32
|
-
4. THE 指南 SHALL 包含质量检查清单
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
### 需求 2: 读取项目上下文
|
|
37
|
-
|
|
38
|
-
**用户故事:** 作为开发者,我想要生成的文档能够参考项目上下文,以便设计符合项目架构的方案。
|
|
39
|
-
|
|
40
|
-
#### 验收标准
|
|
41
|
-
|
|
42
|
-
1. THE 指南 SHALL 指导 AI 首先读取 `docs/project-context.md`
|
|
43
|
-
2. IF 项目上下文文件不存在 THEN 指南 SHALL 提示用户先运行 `init_project_context`
|
|
44
|
-
3. THE 指南 SHALL 说明如何利用项目上下文信息生成更准确的文档
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
### 需求 3: 使用 EARS 格式编写需求
|
|
49
|
-
|
|
50
|
-
**用户故事:** 作为开发者,我想要需求文档使用标准化的 EARS 格式,以便需求清晰、可测试。
|
|
51
|
-
|
|
52
|
-
#### 验收标准
|
|
53
|
-
|
|
54
|
-
1. THE requirements.md 模板 SHALL 使用 EARS 格式
|
|
55
|
-
2. THE 模板 SHALL 包含以下 EARS 模式的说明和示例:
|
|
56
|
-
- Ubiquitous: THE [system] SHALL [response]
|
|
57
|
-
- Event-driven: WHEN [trigger], THE [system] SHALL [response]
|
|
58
|
-
- State-driven: WHILE [condition], THE [system] SHALL [response]
|
|
59
|
-
- Unwanted: IF [condition], THEN THE [system] SHALL [response]
|
|
60
|
-
- Optional: WHERE [option], THE [system] SHALL [response]
|
|
61
|
-
3. THE 模板 SHALL 包含用户故事格式说明
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
### 需求 4: 生成设计文档
|
|
66
|
-
|
|
67
|
-
**用户故事:** 作为开发者,我想要设计文档包含技术方案,以便实现时有明确的指导。
|
|
68
|
-
|
|
69
|
-
#### 验收标准
|
|
70
|
-
|
|
71
|
-
1. THE design.md 模板 SHALL 包含以下章节:
|
|
72
|
-
- 技术方案概述
|
|
73
|
-
- 架构设计(基于项目上下文)
|
|
74
|
-
- 数据模型(如需要)
|
|
75
|
-
- API 设计(如需要)
|
|
76
|
-
- 文件结构
|
|
77
|
-
- 依赖关系
|
|
78
|
-
2. THE 模板 SHALL 指导 AI 参考项目现有架构
|
|
79
|
-
3. THE 模板 SHALL 包含设计决策记录
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
### 需求 5: 生成任务清单
|
|
84
|
-
|
|
85
|
-
**用户故事:** 作为开发者,我想要任务清单将设计分解为可执行的步骤,以便按计划实施。
|
|
86
|
-
|
|
87
|
-
#### 验收标准
|
|
88
|
-
|
|
89
|
-
1. THE tasks.md 模板 SHALL 包含以下内容:
|
|
90
|
-
- 任务分阶段组织
|
|
91
|
-
- 每个任务有明确的目标和操作
|
|
92
|
-
- 任务之间的依赖关系
|
|
93
|
-
- 检查点
|
|
94
|
-
2. THE 模板 SHALL 使用 Markdown 复选框格式
|
|
95
|
-
3. THE 模板 SHALL 包含文件变更清单
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
### 需求 6: 支持自定义参数
|
|
100
|
-
|
|
101
|
-
**用户故事:** 作为开发者,我想要自定义文档目录,以便适应不同项目的结构。
|
|
102
|
-
|
|
103
|
-
#### 验收标准
|
|
104
|
-
|
|
105
|
-
1. WHEN 用户提供 docs_dir 参数 THEN 系统 SHALL 在指南中使用该目录路径
|
|
106
|
-
2. WHEN 用户未提供 docs_dir 参数 THEN 系统 SHALL 使用默认值 "docs"
|
|
107
|
-
3. THE feature_name 参数 SHALL 使用 kebab-case 格式
|
|
108
|
-
4. THE description 参数 SHALL 用于生成用户故事和功能描述
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
### 需求 7: 兼容多种 AI 模型
|
|
113
|
-
|
|
114
|
-
**用户故事:** 作为工具开发者,我想要提示词能被多种 AI 模型正确理解,以便工具具有广泛的兼容性。
|
|
115
|
-
|
|
116
|
-
#### 验收标准
|
|
117
|
-
|
|
118
|
-
1. THE 指南 SHALL 使用清晰、无歧义的语言
|
|
119
|
-
2. THE 指南 SHALL 使用结构化的 Markdown 格式
|
|
120
|
-
3. THE 指南 SHALL 避免使用特定 AI 模型的术语
|
|
121
|
-
4. THE 指南 SHALL 每个步骤都有明确的输入和输出
|
|
122
|
-
5. THE 指南 SHALL 使用编号列表表示顺序步骤
|
|
123
|
-
6. THE 指南 SHALL 使用代码块展示文件内容
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## 非功能需求
|
|
128
|
-
|
|
129
|
-
### 性能要求
|
|
130
|
-
- 工具响应时间应小于 100ms(仅返回指南文本)
|
|
131
|
-
|
|
132
|
-
### 兼容性要求
|
|
133
|
-
- 支持 Cursor、Gemini、Codex、Claude、GLM4.7 等主流 AI 模型
|
|
134
|
-
- 支持 Windows、macOS、Linux 操作系统
|
|
135
|
-
|
|
136
|
-
### 可维护性要求
|
|
137
|
-
- 提示词模板应易于更新和维护
|
|
138
|
-
- 文档模板应与 Spec-Driven Development 最佳实践保持同步
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## 输入输出规格
|
|
143
|
-
|
|
144
|
-
### 输入参数
|
|
145
|
-
|
|
146
|
-
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|
|
147
|
-
|--------|------|------|--------|------|
|
|
148
|
-
| feature_name | string | 是 | - | 功能名称(kebab-case 格式) |
|
|
149
|
-
| description | string | 是 | - | 功能描述 |
|
|
150
|
-
| docs_dir | string | 否 | "docs" | 文档存放目录 |
|
|
151
|
-
|
|
152
|
-
### 输出格式
|
|
153
|
-
|
|
154
|
-
```typescript
|
|
155
|
-
{
|
|
156
|
-
content: [
|
|
157
|
-
{
|
|
158
|
-
type: "text",
|
|
159
|
-
text: "详细的文档生成指南(Markdown 格式)"
|
|
160
|
-
}
|
|
161
|
-
]
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## 依赖关系
|
|
168
|
-
|
|
169
|
-
- 建议先运行 `init_project_context` 生成项目上下文
|
|
170
|
-
- 不强制依赖,但有上下文时生成的文档更准确
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
*文档版本: 1.0.0*
|
|
175
|
-
*创建时间: 2025-01-14*
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# 任务清单:add_feature
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
实现 `add_feature` MCP 工具,用于在已有项目中添加新功能的规格文档。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 任务列表
|
|
10
|
-
|
|
11
|
-
### 阶段 1: 创建工具文件
|
|
12
|
-
|
|
13
|
-
- [ ] 1.1 创建 `src/tools/add_feature.ts` 文件
|
|
14
|
-
- 创建文件结构
|
|
15
|
-
- 定义接口类型
|
|
16
|
-
- 实现参数验证
|
|
17
|
-
- 实现主函数框架
|
|
18
|
-
- _需求: 1.1, 6.1-6.4_
|
|
19
|
-
|
|
20
|
-
- [ ] 1.2 编写提示词模板
|
|
21
|
-
- 实现完整的 PROMPT_TEMPLATE 常量
|
|
22
|
-
- 包含前置检查、三个文档模板、检查清单
|
|
23
|
-
- 包含 EARS 格式说明
|
|
24
|
-
- 确保兼容多种 AI 模型
|
|
25
|
-
- _需求: 1.2-1.4, 2.1-2.3, 3.1-3.3, 4.1-4.3, 5.1-5.3, 7.1-7.6_
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
### 阶段 2: 注册工具
|
|
30
|
-
|
|
31
|
-
- [ ] 2.1 在 `src/tools/index.ts` 中导出工具
|
|
32
|
-
- 添加 export 语句
|
|
33
|
-
- _需求: 1.1_
|
|
34
|
-
|
|
35
|
-
- [ ] 2.2 在 `src/index.ts` 中注册工具
|
|
36
|
-
- 添加工具定义(name, description, inputSchema)
|
|
37
|
-
- 添加工具处理逻辑(switch case)
|
|
38
|
-
- 更新资源状态
|
|
39
|
-
- _需求: 1.1, 6.1-6.4_
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
### 阶段 3: 更新文档
|
|
44
|
-
|
|
45
|
-
- [ ] 3.1 更新 README.md
|
|
46
|
-
- 添加工具说明
|
|
47
|
-
- 添加使用示例
|
|
48
|
-
- 更新工具数量
|
|
49
|
-
- 添加工作流示例
|
|
50
|
-
- _需求: 1.1_
|
|
51
|
-
|
|
52
|
-
- [ ] 3.2 更新 package.json
|
|
53
|
-
- 更新版本号
|
|
54
|
-
- 更新描述中的工具数量
|
|
55
|
-
- _需求: 1.1_
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
### 阶段 4: 测试验证
|
|
60
|
-
|
|
61
|
-
- [ ] 4.1 编译项目
|
|
62
|
-
- 运行 `npm run build`
|
|
63
|
-
- 确保无编译错误
|
|
64
|
-
- _需求: 1.1_
|
|
65
|
-
|
|
66
|
-
- [ ] 4.2 功能测试
|
|
67
|
-
- 测试正常调用(提供所有参数)
|
|
68
|
-
- 测试自定义 docs_dir 参数
|
|
69
|
-
- 测试缺少必填参数的错误处理
|
|
70
|
-
- 验证返回的指南内容完整
|
|
71
|
-
- _需求: 1.1, 6.1-6.4_
|
|
72
|
-
|
|
73
|
-
- [ ] 4.3 集成测试
|
|
74
|
-
- 在实际项目中测试完整流程
|
|
75
|
-
- 先运行 init_project_context
|
|
76
|
-
- 再运行 add_feature
|
|
77
|
-
- 验证生成的文档质量
|
|
78
|
-
- _需求: 2.1-2.3_
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## 检查点
|
|
83
|
-
|
|
84
|
-
- [ ] 阶段 1 完成后:工具文件创建完成,提示词模板完整
|
|
85
|
-
- [ ] 阶段 2 完成后:工具已注册,可以被调用
|
|
86
|
-
- [ ] 阶段 3 完成后:文档已更新
|
|
87
|
-
- [ ] 阶段 4 完成后:编译通过,功能正常,集成测试通过
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## 文件变更清单
|
|
92
|
-
|
|
93
|
-
| 文件 | 操作 | 说明 |
|
|
94
|
-
|------|------|------|
|
|
95
|
-
| src/tools/add_feature.ts | 新建 | 工具实现 |
|
|
96
|
-
| src/tools/index.ts | 修改 | 添加导出 |
|
|
97
|
-
| src/index.ts | 修改 | 注册工具 |
|
|
98
|
-
| README.md | 修改 | 添加文档 |
|
|
99
|
-
| package.json | 修改 | 更新描述和版本 |
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## 依赖任务
|
|
104
|
-
|
|
105
|
-
- 建议先完成 `init_project_context` 工具
|
|
106
|
-
- 两个工具可以独立使用,但配合使用效果更好
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
*任务版本: 1.0.0*
|
|
111
|
-
*创建时间: 2025-01-14*
|
|
File without changes
|
|
File without changes
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
# 设计文档:estimate
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
`estimate` 采用"提示词生成器"模式,返回工作量估算指南,由 AI 根据任务描述和上下文进行分析估算。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 技术方案
|
|
10
|
-
|
|
11
|
-
### 估算模型
|
|
12
|
-
|
|
13
|
-
采用三点估算法(PERT):
|
|
14
|
-
- 乐观时间 (O): 最理想情况
|
|
15
|
-
- 正常时间 (M): 最可能情况
|
|
16
|
-
- 悲观时间 (P): 最坏情况
|
|
17
|
-
- 期望时间 = (O + 4M + P) / 6
|
|
18
|
-
|
|
19
|
-
### 复杂度评估维度
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
const COMPLEXITY_FACTORS = {
|
|
23
|
-
code_volume: {
|
|
24
|
-
description: "代码量",
|
|
25
|
-
levels: {
|
|
26
|
-
1: "< 50 行",
|
|
27
|
-
2: "50-200 行",
|
|
28
|
-
3: "200-500 行",
|
|
29
|
-
4: "500-1000 行",
|
|
30
|
-
5: "> 1000 行"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
technical_difficulty: {
|
|
34
|
-
description: "技术难度",
|
|
35
|
-
levels: {
|
|
36
|
-
1: "简单 CRUD",
|
|
37
|
-
2: "常规业务逻辑",
|
|
38
|
-
3: "复杂算法/集成",
|
|
39
|
-
4: "新技术/架构变更",
|
|
40
|
-
5: "核心系统重构"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
dependency: {
|
|
44
|
-
description: "依赖复杂度",
|
|
45
|
-
levels: {
|
|
46
|
-
1: "无外部依赖",
|
|
47
|
-
2: "1-2 个模块",
|
|
48
|
-
3: "3-5 个模块",
|
|
49
|
-
4: "跨团队协作",
|
|
50
|
-
5: "外部系统集成"
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
testing: {
|
|
54
|
-
description: "测试复杂度",
|
|
55
|
-
levels: {
|
|
56
|
-
1: "简单单测",
|
|
57
|
-
2: "常规测试",
|
|
58
|
-
3: "集成测试",
|
|
59
|
-
4: "E2E 测试",
|
|
60
|
-
5: "性能/安全测试"
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 故事点映射
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
const STORY_POINTS = {
|
|
70
|
-
1: { hours: "1-2h", description: "微小改动" },
|
|
71
|
-
2: { hours: "2-4h", description: "小改动" },
|
|
72
|
-
3: { hours: "4-8h", description: "中等任务" },
|
|
73
|
-
5: { hours: "1-2d", description: "较大任务" },
|
|
74
|
-
8: { hours: "2-3d", description: "大任务" },
|
|
75
|
-
13: { hours: "3-5d", description: "需要拆分" }
|
|
76
|
-
};
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## 架构设计
|
|
82
|
-
|
|
83
|
-
### 工具结构
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
src/tools/estimate.ts
|
|
87
|
-
├── estimate(args) # 主函数
|
|
88
|
-
│ ├── 验证参数
|
|
89
|
-
│ ├── 构建估算指南
|
|
90
|
-
│ └── 返回结果
|
|
91
|
-
└── 常量定义
|
|
92
|
-
├── COMPLEXITY_FACTORS # 复杂度因子
|
|
93
|
-
├── STORY_POINTS # 故事点映射
|
|
94
|
-
└── PROMPT_TEMPLATE # 提示词模板
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 提示词模板设计
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
# 工作量估算指南
|
|
103
|
-
|
|
104
|
-
## 🎯 估算目标
|
|
105
|
-
|
|
106
|
-
**任务描述**: {task_description}
|
|
107
|
-
|
|
108
|
-
**上下文信息**:
|
|
109
|
-
- 团队规模: {team_size}
|
|
110
|
-
- 经验水平: {experience_level}
|
|
111
|
-
|
|
112
|
-
## 📋 估算步骤
|
|
113
|
-
|
|
114
|
-
### 步骤 1: 任务分解
|
|
115
|
-
|
|
116
|
-
将任务分解为以下活动:
|
|
117
|
-
1. 需求理解和设计
|
|
118
|
-
2. 编码实现
|
|
119
|
-
3. 单元测试
|
|
120
|
-
4. 代码审查
|
|
121
|
-
5. 集成测试
|
|
122
|
-
6. 文档更新
|
|
123
|
-
|
|
124
|
-
### 步骤 2: 复杂度评估
|
|
125
|
-
|
|
126
|
-
对每个维度打分(1-5):
|
|
127
|
-
|
|
128
|
-
| 维度 | 评分 | 说明 |
|
|
129
|
-
|------|------|------|
|
|
130
|
-
| 代码量 | ? | 预估新增/修改行数 |
|
|
131
|
-
| 技术难度 | ? | 涉及的技术复杂程度 |
|
|
132
|
-
| 依赖复杂度 | ? | 涉及的模块和系统 |
|
|
133
|
-
| 测试复杂度 | ? | 需要的测试类型和覆盖 |
|
|
134
|
-
|
|
135
|
-
### 步骤 3: 时间估算
|
|
136
|
-
|
|
137
|
-
使用三点估算法:
|
|
138
|
-
|
|
139
|
-
| 场景 | 时间 | 说明 |
|
|
140
|
-
|------|------|------|
|
|
141
|
-
| 乐观 (O) | ?h | 一切顺利 |
|
|
142
|
-
| 正常 (M) | ?h | 预期情况 |
|
|
143
|
-
| 悲观 (P) | ?h | 遇到问题 |
|
|
144
|
-
|
|
145
|
-
**期望时间** = (O + 4M + P) / 6 = ?h
|
|
146
|
-
|
|
147
|
-
### 步骤 4: 故事点
|
|
148
|
-
|
|
149
|
-
根据估算时间选择故事点:
|
|
150
|
-
- 1 点: 1-2 小时
|
|
151
|
-
- 2 点: 2-4 小时
|
|
152
|
-
- 3 点: 4-8 小时
|
|
153
|
-
- 5 点: 1-2 天
|
|
154
|
-
- 8 点: 2-3 天
|
|
155
|
-
- 13 点: 3-5 天(建议拆分)
|
|
156
|
-
|
|
157
|
-
### 步骤 5: 风险识别
|
|
158
|
-
|
|
159
|
-
识别可能影响估算的风险:
|
|
160
|
-
- [ ] 技术风险
|
|
161
|
-
- [ ] 依赖风险
|
|
162
|
-
- [ ] 需求风险
|
|
163
|
-
- [ ] 资源风险
|
|
164
|
-
|
|
165
|
-
## 📊 输出模板
|
|
166
|
-
|
|
167
|
-
### 估算结果
|
|
168
|
-
|
|
169
|
-
**故事点**: X 点
|
|
170
|
-
**预估时间**: X-X 小时/天
|
|
171
|
-
**置信度**: 高/中/低
|
|
172
|
-
|
|
173
|
-
### 复杂度分析
|
|
174
|
-
[复杂度评分表]
|
|
175
|
-
|
|
176
|
-
### 时间分解
|
|
177
|
-
| 活动 | 时间 |
|
|
178
|
-
|------|------|
|
|
179
|
-
| 设计 | Xh |
|
|
180
|
-
| 编码 | Xh |
|
|
181
|
-
| 测试 | Xh |
|
|
182
|
-
| 审查 | Xh |
|
|
183
|
-
|
|
184
|
-
### 风险因素
|
|
185
|
-
[风险列表和缓解措施]
|
|
186
|
-
|
|
187
|
-
### 建议
|
|
188
|
-
[任务拆分建议或其他建议]
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## 接口设计
|
|
194
|
-
|
|
195
|
-
```typescript
|
|
196
|
-
interface EstimateArgs {
|
|
197
|
-
task_description: string; // 必填
|
|
198
|
-
code_context?: string; // 可选
|
|
199
|
-
team_size?: number; // 可选,默认 1
|
|
200
|
-
experience_level?: string; // 可选,默认 mid
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
async function estimate(args: EstimateArgs): Promise<MCPResponse>
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
*设计版本: 1.0.0*
|
|
209
|
-
*创建时间: 2025-01-14*
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
# 需求文档:estimate
|
|
2
|
-
|
|
3
|
-
## 功能概述
|
|
4
|
-
|
|
5
|
-
`estimate` 是一个 MCP 工具,用于评估开发任务的工作量。基于任务描述、代码复杂度和历史数据,提供时间估算和风险评估。
|
|
6
|
-
|
|
7
|
-
## 术语定义
|
|
8
|
-
|
|
9
|
-
- **Story_Point**: 故事点,敏捷开发中衡量工作量的单位
|
|
10
|
-
- **Complexity**: 复杂度,任务的技术难度
|
|
11
|
-
- **Risk_Factor**: 风险因子,可能导致延期的因素
|
|
12
|
-
- **Confidence_Level**: 置信度,估算的可靠程度
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## 需求列表
|
|
17
|
-
|
|
18
|
-
### 需求 1: 接收任务描述
|
|
19
|
-
|
|
20
|
-
**用户故事:** 作为项目经理,我想要输入任务描述获得工作量估算,以便进行项目规划。
|
|
21
|
-
|
|
22
|
-
#### 验收标准
|
|
23
|
-
|
|
24
|
-
1. THE 工具 SHALL 接受以下输入参数:
|
|
25
|
-
- task_description: 任务描述(必填)
|
|
26
|
-
- code_context: 相关代码(可选)
|
|
27
|
-
- team_size: 团队规模(可选)
|
|
28
|
-
- experience_level: 经验水平(可选)
|
|
29
|
-
2. WHEN 用户只提供 task_description THEN 工具 SHALL 给出基础估算
|
|
30
|
-
3. WHEN 用户提供更多上下文 THEN 工具 SHALL 给出更精准的估算
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
### 需求 2: 分析任务复杂度
|
|
35
|
-
|
|
36
|
-
**用户故事:** 作为开发者,我想要了解任务的复杂度分解,以便更好地理解工作内容。
|
|
37
|
-
|
|
38
|
-
#### 验收标准
|
|
39
|
-
|
|
40
|
-
1. THE 工具 SHALL 从以下维度分析复杂度:
|
|
41
|
-
- 代码量估算(新增/修改行数)
|
|
42
|
-
- 技术难度(1-5 级)
|
|
43
|
-
- 依赖复杂度(涉及的模块数)
|
|
44
|
-
- 测试复杂度
|
|
45
|
-
- 文档需求
|
|
46
|
-
2. THE 工具 SHALL 给出复杂度评分和说明
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
### 需求 3: 提供时间估算
|
|
51
|
-
|
|
52
|
-
**用户故事:** 作为项目经理,我想要获得时间估算,以便安排项目进度。
|
|
53
|
-
|
|
54
|
-
#### 验收标准
|
|
55
|
-
|
|
56
|
-
1. THE 工具 SHALL 提供以下时间估算:
|
|
57
|
-
- 乐观估算(最快完成时间)
|
|
58
|
-
- 正常估算(预期完成时间)
|
|
59
|
-
- 悲观估算(最慢完成时间)
|
|
60
|
-
2. THE 工具 SHALL 提供故事点估算(1/2/3/5/8/13)
|
|
61
|
-
3. THE 工具 SHALL 说明估算依据
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
### 需求 4: 识别风险因素
|
|
66
|
-
|
|
67
|
-
**用户故事:** 作为项目经理,我想要了解潜在风险,以便提前制定应对措施。
|
|
68
|
-
|
|
69
|
-
#### 验收标准
|
|
70
|
-
|
|
71
|
-
1. THE 工具 SHALL 识别以下风险类型:
|
|
72
|
-
- 技术风险(新技术、复杂算法)
|
|
73
|
-
- 依赖风险(外部依赖、团队协作)
|
|
74
|
-
- 需求风险(需求不明确、可能变更)
|
|
75
|
-
- 测试风险(难以测试、边界情况多)
|
|
76
|
-
2. THE 工具 SHALL 为每个风险提供缓解建议
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
### 需求 5: 任务分解建议
|
|
81
|
-
|
|
82
|
-
**用户故事:** 作为开发者,我想要获得任务分解建议,以便更好地规划工作。
|
|
83
|
-
|
|
84
|
-
#### 验收标准
|
|
85
|
-
|
|
86
|
-
1. WHEN 估算时间超过 8 小时 THEN 工具 SHALL 建议任务分解
|
|
87
|
-
2. THE 工具 SHALL 提供子任务列表
|
|
88
|
-
3. THE 工具 SHALL 为每个子任务提供单独估算
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
### 需求 6: 提供置信度评估
|
|
93
|
-
|
|
94
|
-
**用户故事:** 作为项目经理,我想要了解估算的可靠程度,以便决定是否需要更多信息。
|
|
95
|
-
|
|
96
|
-
#### 验收标准
|
|
97
|
-
|
|
98
|
-
1. THE 工具 SHALL 提供置信度评分(高/中/低)
|
|
99
|
-
2. THE 工具 SHALL 说明影响置信度的因素
|
|
100
|
-
3. WHEN 置信度为低 THEN 工具 SHALL 建议需要补充的信息
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 非功能需求
|
|
105
|
-
|
|
106
|
-
### 性能要求
|
|
107
|
-
- 工具响应时间应小于 100ms
|
|
108
|
-
|
|
109
|
-
### 准确性要求
|
|
110
|
-
- 估算应基于行业最佳实践
|
|
111
|
-
- 应考虑常见的开发活动(编码、测试、代码审查、文档)
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## 输入输出规格
|
|
116
|
-
|
|
117
|
-
### 输入参数
|
|
118
|
-
|
|
119
|
-
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|
|
120
|
-
|--------|------|------|--------|------|
|
|
121
|
-
| task_description | string | 是 | - | 任务描述 |
|
|
122
|
-
| code_context | string | 否 | - | 相关代码或文件 |
|
|
123
|
-
| team_size | number | 否 | 1 | 团队规模 |
|
|
124
|
-
| experience_level | string | 否 | mid | 经验水平(junior/mid/senior) |
|
|
125
|
-
|
|
126
|
-
### 输出格式
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
{
|
|
130
|
-
content: [{
|
|
131
|
-
type: "text",
|
|
132
|
-
text: "工作量估算报告(Markdown 格式)"
|
|
133
|
-
}]
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
*文档版本: 1.0.0*
|
|
140
|
-
*创建时间: 2025-01-14*
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
# 任务清单:estimate
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
|
|
5
|
-
实现 `estimate` MCP 工具,用于开发任务工作量估算。
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 任务列表
|
|
10
|
-
|
|
11
|
-
### 阶段 1: 创建工具文件
|
|
12
|
-
|
|
13
|
-
- [x] 1.1 创建 `src/tools/estimate.ts` 文件
|
|
14
|
-
- 创建文件结构
|
|
15
|
-
- 定义接口类型
|
|
16
|
-
- 实现参数验证
|
|
17
|
-
- 实现主函数框架
|
|
18
|
-
- _需求: 1.1-1.3_
|
|
19
|
-
|
|
20
|
-
- [x] 1.2 编写提示词模板
|
|
21
|
-
- 实现 PROMPT_TEMPLATE 常量
|
|
22
|
-
- 包含任务分解指南
|
|
23
|
-
- 包含复杂度评估维度
|
|
24
|
-
- 包含三点估算法说明
|
|
25
|
-
- 包含故事点映射表
|
|
26
|
-
- 包含风险识别清单
|
|
27
|
-
- _需求: 2.1-6.3_
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
### 阶段 2: 注册工具
|
|
32
|
-
|
|
33
|
-
- [x] 2.1 在 `src/tools/index.ts` 中导出工具
|
|
34
|
-
- 添加 export 语句
|
|
35
|
-
|
|
36
|
-
- [x] 2.2 在 `src/index.ts` 中注册工具
|
|
37
|
-
- 添加工具定义(name, description, inputSchema)
|
|
38
|
-
- 添加工具处理逻辑(switch case)
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
### 阶段 3: 测试验证
|
|
43
|
-
|
|
44
|
-
- [x] 3.1 编译项目
|
|
45
|
-
- 运行 `npm run build`
|
|
46
|
-
- 确保无编译错误
|
|
47
|
-
|
|
48
|
-
- [ ] 3.2 功能测试
|
|
49
|
-
- 测试简单任务估算
|
|
50
|
-
- 测试复杂任务估算
|
|
51
|
-
- 测试任务分解建议
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 文件变更清单
|
|
56
|
-
|
|
57
|
-
| 文件 | 操作 | 说明 |
|
|
58
|
-
|------|------|------|
|
|
59
|
-
| src/tools/estimate.ts | 新建 | 工具实现 |
|
|
60
|
-
| src/tools/index.ts | 修改 | 添加导出 |
|
|
61
|
-
| src/index.ts | 修改 | 注册工具 |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
*任务版本: 1.0.0*
|
|
66
|
-
*创建时间: 2025-01-14*
|