mcp-probe-kit 2.0.0 → 2.0.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/build/tools/templates/architecture-template.d.ts +5 -0
- package/build/tools/templates/architecture-template.js +42 -0
- package/build/tools/templates/coding-standards-template.d.ts +5 -0
- package/build/tools/templates/coding-standards-template.js +41 -0
- package/build/tools/templates/dependencies-template.d.ts +5 -0
- package/build/tools/templates/dependencies-template.js +38 -0
- package/build/tools/templates/index-template.d.ts +5 -0
- package/build/tools/templates/index-template.js +64 -0
- package/build/tools/templates/tech-stack-template.d.ts +5 -0
- package/build/tools/templates/tech-stack-template.js +35 -0
- package/build/tools/templates/workflows-template.d.ts +5 -0
- package/build/tools/templates/workflows-template.js +31 -0
- package/docs/specs/project-context-modular/design.md +722 -0
- package/docs/specs/project-context-modular/requirements.md +234 -0
- package/docs/specs/project-context-modular/tasks.md +291 -0
- package/docs/specs/v2.1-planning.md +335 -0
- package/package.json +3 -3
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# 需求文档:project-context-modular
|
|
2
|
+
|
|
3
|
+
## 功能概述
|
|
4
|
+
|
|
5
|
+
改进 `init_project_context` 工具,将单一的 `project-context.md` 文件重构为模块化的文档结构。通过将项目信息分类存放到多个独立的 Markdown 文件中,并使用索引文件进行导航,从而优化 AI 开发时的上下文加载效率。
|
|
6
|
+
|
|
7
|
+
**核心价值**:
|
|
8
|
+
- 减少单次上下文加载量,提高 AI 响应速度
|
|
9
|
+
- 按需加载相关文档,提高开发效率
|
|
10
|
+
- 保持文档的可维护性和可读性
|
|
11
|
+
- 向后兼容现有的单文件模式
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 术语定义
|
|
16
|
+
|
|
17
|
+
- **项目上下文 (Project Context)**: 描述项目技术栈、架构、规范等核心信息的文档集合
|
|
18
|
+
- **索引文件 (Index File)**: 提供项目概览和导航链接的入口文档
|
|
19
|
+
- **模块化模式 (Modular Mode)**: 将项目信息分类存放到多个独立文件的组织方式
|
|
20
|
+
- **单文件模式 (Single Mode)**: 将所有项目信息存放在一个文件中的传统方式
|
|
21
|
+
- **EARS**: Easy Approach to Requirements Syntax,一种结构化的需求编写格式
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 需求列表
|
|
26
|
+
|
|
27
|
+
### 需求 1: 支持模块化文档生成
|
|
28
|
+
|
|
29
|
+
**用户故事:** 作为开发者,我想要生成模块化的项目上下文文档,以便 AI 可以按需加载相关信息,避免一次性读入过多内容。
|
|
30
|
+
|
|
31
|
+
#### 验收标准
|
|
32
|
+
|
|
33
|
+
1. WHEN 用户调用 `init_project_context` 工具并指定 `mode: "modular"` THEN 系统 SHALL 生成索引文件和 5 个分类文档
|
|
34
|
+
2. THE 系统 SHALL 在 `docs/project-context/` 目录下生成以下文件:
|
|
35
|
+
- `tech-stack.md` - 技术栈信息
|
|
36
|
+
- `architecture.md` - 架构和项目结构
|
|
37
|
+
- `coding-standards.md` - 编码规范
|
|
38
|
+
- `dependencies.md` - 依赖管理
|
|
39
|
+
- `workflows.md` - 开发流程和命令
|
|
40
|
+
3. THE 系统 SHALL 在 `docs/` 目录下生成索引文件 `project-context.md`
|
|
41
|
+
4. WHEN 生成完成 THEN 系统 SHALL 返回结构化输出,包含所有生成文件的路径
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### 需求 2: 索引文件设计
|
|
46
|
+
|
|
47
|
+
**用户故事:** 作为开发者,我想要一个清晰的索引文件,以便快速了解项目概况并导航到具体的文档。
|
|
48
|
+
|
|
49
|
+
#### 验收标准
|
|
50
|
+
|
|
51
|
+
1. THE 索引文件 SHALL 包含项目概览表格,包括:名称、版本、类型、描述
|
|
52
|
+
2. THE 索引文件 SHALL 包含文档导航部分,列出所有分类文档及其用途说明
|
|
53
|
+
3. THE 索引文件 SHALL 使用相对路径链接到分类文档
|
|
54
|
+
4. THE 索引文件 SHALL 包含使用指南,说明何时查看哪个文档
|
|
55
|
+
5. THE 索引文件 SHALL 包含生成时间和工具信息
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### 需求 3: 技术栈文档
|
|
60
|
+
|
|
61
|
+
**用户故事:** 作为开发者,我想要独立的技术栈文档,以便 AI 在需要了解项目技术选型时快速获取信息。
|
|
62
|
+
|
|
63
|
+
#### 验收标准
|
|
64
|
+
|
|
65
|
+
1. THE `tech-stack.md` SHALL 包含语言、运行时、框架信息
|
|
66
|
+
2. THE `tech-stack.md` SHALL 包含构建工具和包管理器信息
|
|
67
|
+
3. THE `tech-stack.md` SHALL 包含测试框架和代码规范工具信息
|
|
68
|
+
4. THE `tech-stack.md` SHALL 从 `package.json` 自动识别主要依赖
|
|
69
|
+
5. THE `tech-stack.md` SHALL 包含技术选型说明(如果可识别)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 需求 4: 架构文档
|
|
74
|
+
|
|
75
|
+
**用户故事:** 作为开发者,我想要独立的架构文档,以便 AI 在需要理解项目结构时快速获取信息。
|
|
76
|
+
|
|
77
|
+
#### 验收标准
|
|
78
|
+
|
|
79
|
+
1. THE `architecture.md` SHALL 包含项目目录树(深度 2-3 层)
|
|
80
|
+
2. THE `architecture.md` SHALL 标注主要目录的用途
|
|
81
|
+
3. THE `architecture.md` SHALL 识别并标注入口文件
|
|
82
|
+
4. THE `architecture.md` SHALL 描述项目类型(MCP服务器/Web应用/库等)
|
|
83
|
+
5. THE `architecture.md` SHALL 识别设计模式(如工具模式、MVC等)
|
|
84
|
+
6. THE `architecture.md` SHALL 描述模块划分方式
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### 需求 5: 编码规范文档
|
|
89
|
+
|
|
90
|
+
**用户故事:** 作为开发者,我想要独立的编码规范文档,以便 AI 在生成代码时遵循项目规范。
|
|
91
|
+
|
|
92
|
+
#### 验收标准
|
|
93
|
+
|
|
94
|
+
1. THE `coding-standards.md` SHALL 包含代码风格工具配置(ESLint、Prettier)
|
|
95
|
+
2. THE `coding-standards.md` SHALL 包含命名规范表格(文件、变量、常量、函数、类)
|
|
96
|
+
3. THE `coding-standards.md` SHALL 包含 TypeScript 配置(如果是 TS 项目)
|
|
97
|
+
4. THE `coding-standards.md` SHALL 从配置文件自动提取规范信息
|
|
98
|
+
5. IF 配置文件不存在 THEN 系统 SHALL 标注为"未配置"
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### 需求 6: 依赖管理文档
|
|
103
|
+
|
|
104
|
+
**用户故事:** 作为开发者,我想要独立的依赖管理文档,以便 AI 在需要了解项目依赖时快速获取信息。
|
|
105
|
+
|
|
106
|
+
#### 验收标准
|
|
107
|
+
|
|
108
|
+
1. THE `dependencies.md` SHALL 列出主要生产依赖(前 10 个)及其用途
|
|
109
|
+
2. THE `dependencies.md` SHALL 列出主要开发依赖(前 10 个)及其用途
|
|
110
|
+
3. THE `dependencies.md` SHALL 包含依赖统计信息
|
|
111
|
+
4. THE `dependencies.md` SHALL 自动识别关键依赖的用途
|
|
112
|
+
5. THE `dependencies.md` SHALL 包含依赖版本信息
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### 需求 7: 工作流文档
|
|
117
|
+
|
|
118
|
+
**用户故事:** 作为开发者,我想要独立的工作流文档,以便 AI 在需要执行开发任务时快速获取命令。
|
|
119
|
+
|
|
120
|
+
#### 验收标准
|
|
121
|
+
|
|
122
|
+
1. THE `workflows.md` SHALL 列出常用开发命令及其用途
|
|
123
|
+
2. THE `workflows.md` SHALL 从 `package.json` 的 `scripts` 字段提取命令
|
|
124
|
+
3. THE `workflows.md` SHALL 识别开发、构建、测试、部署等关键命令
|
|
125
|
+
4. THE `workflows.md` SHALL 包含开发环境要求(Node.js 版本等)
|
|
126
|
+
5. THE `workflows.md` SHALL 包含命令执行说明
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### 需求 8: 向后兼容性
|
|
131
|
+
|
|
132
|
+
**用户故事:** 作为开发者,我想要保持向后兼容,以便现有的工作流不受影响。
|
|
133
|
+
|
|
134
|
+
#### 验收标准
|
|
135
|
+
|
|
136
|
+
1. WHEN 用户未指定 `mode` 参数 THEN 系统 SHALL 默认使用 `single` 模式
|
|
137
|
+
2. WHEN 用户指定 `mode: "single"` THEN 系统 SHALL 生成单一的 `project-context.md` 文件
|
|
138
|
+
3. THE 单文件模式 SHALL 保持与 v2.0 版本完全相同的行为
|
|
139
|
+
4. THE 系统 SHALL 支持 `mode` 参数的别名:`type`、`format`、`模式`
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### 需求 9: 文档独立性
|
|
144
|
+
|
|
145
|
+
**用户故事:** 作为开发者,我想要每个分类文档都是独立完整的,以便可以单独阅读和理解。
|
|
146
|
+
|
|
147
|
+
#### 验收标准
|
|
148
|
+
|
|
149
|
+
1. THE 每个分类文档 SHALL 包含必要的上下文信息(项目名称、版本)
|
|
150
|
+
2. THE 每个分类文档 SHALL 有清晰的标题和说明
|
|
151
|
+
3. THE 每个分类文档 SHALL 使用标准的 Markdown 格式
|
|
152
|
+
4. THE 每个分类文档 SHALL 包含生成时间和工具信息
|
|
153
|
+
5. THE 每个分类文档 SHALL 可以独立阅读,无需依赖其他文档
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### 需求 10: 文档模板提供
|
|
158
|
+
|
|
159
|
+
**用户故事:** 作为执行 `init_project_context` 工具的 AI 助手,我想要看到需要生成的文件列表和每个文件的格式模板,以便知道要创建哪些文档以及它们的结构。
|
|
160
|
+
|
|
161
|
+
#### 验收标准
|
|
162
|
+
|
|
163
|
+
1. THE 工具返回 SHALL 包含"需要生成的文档"列表
|
|
164
|
+
2. THE 列表 SHALL 说明每个文档的文件路径
|
|
165
|
+
3. THE 列表 SHALL 说明每个文档的用途
|
|
166
|
+
4. THE 列表 SHALL 提供每个文档的格式模板(包含结构框架,不包含分析指导)
|
|
167
|
+
5. THE 模板 SHALL 只展示文档结构(标题、表格、章节),不指导如何分析项目
|
|
168
|
+
6. THE 模板 SHALL 使用占位符标记需要填充的内容(如 [填写]、{项目名称})
|
|
169
|
+
7. THE 工具返回 SHALL 简洁明了,专注于"要生成什么"而非"如何分析"
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### 需求 11: 错误处理
|
|
174
|
+
|
|
175
|
+
**用户故事:** 作为开发者,我想要清晰的错误提示,以便在生成失败时快速定位问题。
|
|
176
|
+
|
|
177
|
+
#### 验收标准
|
|
178
|
+
|
|
179
|
+
1. IF 无法读取 `package.json` THEN 系统 SHALL 返回错误信息并提示检查文件
|
|
180
|
+
2. IF 无法创建目录 THEN 系统 SHALL 返回错误信息并提示权限问题
|
|
181
|
+
3. IF 无法写入文件 THEN 系统 SHALL 返回错误信息并提示磁盘空间或权限
|
|
182
|
+
4. THE 错误信息 SHALL 包含具体的失败原因和建议的解决方案
|
|
183
|
+
5. THE 系统 SHALL 在结构化输出中标注错误状态
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 非功能需求
|
|
188
|
+
|
|
189
|
+
### 性能要求
|
|
190
|
+
- 文档生成时间应在 2 秒内完成
|
|
191
|
+
- 支持大型项目(1000+ 依赖)的分析
|
|
192
|
+
- 目录树生成应忽略 `node_modules`、`.git` 等大型目录
|
|
193
|
+
|
|
194
|
+
### 可用性要求
|
|
195
|
+
- 文档格式清晰,易于阅读
|
|
196
|
+
- 索引文件提供清晰的导航
|
|
197
|
+
- 每个文档都有明确的用途说明
|
|
198
|
+
|
|
199
|
+
### 兼容性要求
|
|
200
|
+
- 支持 Node.js 16.0.0+
|
|
201
|
+
- 支持 Windows、macOS、Linux 平台
|
|
202
|
+
- 兼容所有 MCP 客户端(Cursor、Claude Desktop、Cline 等)
|
|
203
|
+
|
|
204
|
+
### 可维护性要求
|
|
205
|
+
- 模板代码与业务逻辑分离
|
|
206
|
+
- 支持未来扩展新的文档分类
|
|
207
|
+
- 代码注释清晰,易于理解
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 依赖关系
|
|
212
|
+
|
|
213
|
+
- 依赖现有的 `parseArgs` 工具进行参数解析
|
|
214
|
+
- 依赖现有的 `okStructured` 工具返回结构化输出
|
|
215
|
+
- 依赖 `ProjectContext` Schema 定义(可能需要扩展)
|
|
216
|
+
- 不依赖外部 npm 包,使用 Node.js 内置模块
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 优先级
|
|
221
|
+
|
|
222
|
+
| 需求 | 优先级 | 理由 |
|
|
223
|
+
|------|--------|------|
|
|
224
|
+
| 需求 1-7 | P0 | 核心功能,必须实现 |
|
|
225
|
+
| 需求 8 | P0 | 向后兼容,避免破坏现有用户 |
|
|
226
|
+
| 需求 9 | P1 | 提高文档质量 |
|
|
227
|
+
| 需求 10 | P0 | 核心功能,提供模板 |
|
|
228
|
+
| 需求 11 | P1 | 错误处理 |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
*文档版本: 1.0.0*
|
|
233
|
+
*创建时间: 2026-01-27*
|
|
234
|
+
*维护者: MCP Probe Kit Team*
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
# 任务清单:project-context-modular
|
|
2
|
+
|
|
3
|
+
## 概述
|
|
4
|
+
|
|
5
|
+
实现 `project-context-modular` 功能的任务分解。本功能将 `init_project_context` 工具扩展为支持模块化文档生成。
|
|
6
|
+
|
|
7
|
+
**核心职责划分**:
|
|
8
|
+
- **MCP 工具**: 提供文件列表和格式模板
|
|
9
|
+
- **AI**: 决定分析什么、提取什么、如何填充
|
|
10
|
+
|
|
11
|
+
**预估总工作量**: 6-10 小时
|
|
12
|
+
**预估完成时间**: 1-2 个工作日
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 任务列表
|
|
17
|
+
|
|
18
|
+
### 阶段 1: 准备工作(1 小时)
|
|
19
|
+
|
|
20
|
+
- [x] **1.1 创建模板目录结构**
|
|
21
|
+
- 在 `src/tools/` 下创建 `templates/` 目录
|
|
22
|
+
- 创建 6 个模板文件的空文件
|
|
23
|
+
- _需求: 需求 1_
|
|
24
|
+
- _预估: 15 分钟_
|
|
25
|
+
|
|
26
|
+
- [x] **1.2 设计并实现索引文件模板**
|
|
27
|
+
- 编写 `templates/index-template.ts`
|
|
28
|
+
- 包含项目概览表格
|
|
29
|
+
- 包含文档导航部分
|
|
30
|
+
- 只提供结构模板,不包含分析指导
|
|
31
|
+
- _需求: 需求 2, 需求 10_
|
|
32
|
+
- _预估: 30 分钟_
|
|
33
|
+
|
|
34
|
+
- [x] **1.3 设计并实现技术栈模板**
|
|
35
|
+
- 编写 `templates/tech-stack-template.ts`
|
|
36
|
+
- 包含技术栈表格结构
|
|
37
|
+
- 使用占位符标记需要填充的内容
|
|
38
|
+
- _需求: 需求 3_
|
|
39
|
+
- _预估: 15 分钟_
|
|
40
|
+
|
|
41
|
+
- [x] **1.4 设计并实现架构模板**
|
|
42
|
+
- 编写 `templates/architecture-template.ts`
|
|
43
|
+
- 包含目录树、入口文件、设计模式的结构
|
|
44
|
+
- _需求: 需求 4_
|
|
45
|
+
- _预估: 15 分钟_
|
|
46
|
+
|
|
47
|
+
- [x] **1.5 设计并实现编码规范模板**
|
|
48
|
+
- 编写 `templates/coding-standards-template.ts`
|
|
49
|
+
- 包含代码风格、命名规范的表格结构
|
|
50
|
+
- _需求: 需求 5_
|
|
51
|
+
- _预估: 15 分钟_
|
|
52
|
+
|
|
53
|
+
- [x] **1.6 设计并实现依赖管理模板**
|
|
54
|
+
- 编写 `templates/dependencies-template.ts`
|
|
55
|
+
- 包含依赖表格和统计信息的结构
|
|
56
|
+
- _需求: 需求 6_
|
|
57
|
+
- _预估: 10 分钟_
|
|
58
|
+
|
|
59
|
+
- [x] **1.7 设计并实现工作流模板**
|
|
60
|
+
- 编写 `templates/workflows-template.ts`
|
|
61
|
+
- 包含命令表格和环境要求的结构
|
|
62
|
+
- _需求: 需求 7_
|
|
63
|
+
- _预估: 10 分钟_
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### 阶段 2: 核心实现(3-5 小时)✅ 已完成
|
|
68
|
+
|
|
69
|
+
- [x] **2.1 扩展参数接口**
|
|
70
|
+
- 在 `init_project_context.ts` 中添加 `mode` 参数支持
|
|
71
|
+
- 更新 `parseArgs` 调用,添加 `mode` 字段别名
|
|
72
|
+
- 添加参数验证逻辑
|
|
73
|
+
- _需求: 需求 1, 需求 8_
|
|
74
|
+
- _预估: 30 分钟_
|
|
75
|
+
- _完成时间: 2026-01-27_
|
|
76
|
+
|
|
77
|
+
- [x] **2.2 实现模板组装函数**
|
|
78
|
+
- 创建 `assembleTemplates()` 函数
|
|
79
|
+
- 组装所有模板为结构化输出
|
|
80
|
+
- 包含文件列表和每个文件的模板内容
|
|
81
|
+
- _需求: 需求 10_
|
|
82
|
+
- _预估: 1 小时_
|
|
83
|
+
- _完成时间: 2026-01-27_
|
|
84
|
+
|
|
85
|
+
- [x] **2.3 实现模块化模式生成逻辑**
|
|
86
|
+
- 创建 `generateModularContext()` 函数
|
|
87
|
+
- 返回包含文档模板的结构化输出
|
|
88
|
+
- 模板只包含文件结构和格式,不包含分析指导
|
|
89
|
+
- _需求: 需求 1, 需求 9, 需求 10_
|
|
90
|
+
- _预估: 1 小时_
|
|
91
|
+
- _依赖: 任务 2.2_
|
|
92
|
+
- _完成时间: 2026-01-27_
|
|
93
|
+
|
|
94
|
+
- [x] **2.4 重构单文件模式逻辑**
|
|
95
|
+
- 将现有逻辑提取为 `generateSingleContext()` 函数
|
|
96
|
+
- 保持完全相同的行为
|
|
97
|
+
- _需求: 需求 8_
|
|
98
|
+
- _预估: 30 分钟_
|
|
99
|
+
- _完成时间: 2026-01-27_
|
|
100
|
+
|
|
101
|
+
- [x] **2.5 实现模式分发逻辑**
|
|
102
|
+
- 根据 `mode` 参数调用对应的生成函数
|
|
103
|
+
- 添加错误处理
|
|
104
|
+
- _需求: 需求 1, 需求 8, 需求 11_
|
|
105
|
+
- _预估: 20 分钟_
|
|
106
|
+
- _依赖: 任务 2.3, 2.4_
|
|
107
|
+
- _完成时间: 2026-01-27_
|
|
108
|
+
|
|
109
|
+
- [x] **2.6 更新 Schema 定义**
|
|
110
|
+
- 扩展 `ProjectContext` Schema(如需要)
|
|
111
|
+
- 添加 `mode` 字段记录使用的模式
|
|
112
|
+
- 更新实现代码以包含 mode 字段
|
|
113
|
+
- _需求: 需求 1_
|
|
114
|
+
- _预估: 30 分钟_
|
|
115
|
+
- _完成时间: 2026-01-27_
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### 阶段 3: 错误处理和优化(30 分钟)✅ 已完成
|
|
120
|
+
|
|
121
|
+
- [x] **3.1 实现错误处理**
|
|
122
|
+
- 添加参数验证错误处理
|
|
123
|
+
- 添加模板加载错误处理
|
|
124
|
+
- 提供清晰的错误信息和建议
|
|
125
|
+
- 修复作用域问题(mode 变量)
|
|
126
|
+
- _需求: 需求 11_
|
|
127
|
+
- _预估: 20 分钟_
|
|
128
|
+
- _完成时间: 2026-01-27_
|
|
129
|
+
|
|
130
|
+
- [x] **3.2 代码重构和注释**
|
|
131
|
+
- 提取公共函数
|
|
132
|
+
- 添加详细的代码注释
|
|
133
|
+
- 优化代码结构
|
|
134
|
+
- 更新文件头部文档
|
|
135
|
+
- _非功能需求: 可维护性_
|
|
136
|
+
- _预估: 10 分钟_
|
|
137
|
+
- _完成时间: 2026-01-27_
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
### 阶段 4: 测试和文档(1-2 小时)
|
|
142
|
+
|
|
143
|
+
- [ ] **4.1 编写单元测试**
|
|
144
|
+
- 测试参数解析逻辑
|
|
145
|
+
- 测试模板组装函数
|
|
146
|
+
- 测试模式分发逻辑
|
|
147
|
+
- _预估: 40 分钟_
|
|
148
|
+
|
|
149
|
+
- [ ] **4.2 编写集成测试**
|
|
150
|
+
- 测试单文件模式生成
|
|
151
|
+
- 测试模块化模式生成
|
|
152
|
+
- 测试错误处理
|
|
153
|
+
- _预估: 40 分钟_
|
|
154
|
+
|
|
155
|
+
- [ ] **4.3 编写契约测试**
|
|
156
|
+
- 验证结构化输出符合 Schema
|
|
157
|
+
- 测试向后兼容性
|
|
158
|
+
- _预估: 20 分钟_
|
|
159
|
+
|
|
160
|
+
- [ ] **4.4 更新工具文档**
|
|
161
|
+
- 更新 README.md 中的工具说明
|
|
162
|
+
- 更新在线文档
|
|
163
|
+
- 添加使用示例
|
|
164
|
+
- _预估: 20 分钟_
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### 阶段 5: 验收和发布(30 分钟)
|
|
169
|
+
|
|
170
|
+
- [ ] **5.1 手动测试**
|
|
171
|
+
- 在真实项目中测试单文件模式
|
|
172
|
+
- 在真实项目中测试模块化模式
|
|
173
|
+
- 测试错误场景
|
|
174
|
+
- _预估: 15 分钟_
|
|
175
|
+
|
|
176
|
+
- [ ] **5.2 代码审查**
|
|
177
|
+
- 自我审查代码质量
|
|
178
|
+
- 检查代码规范
|
|
179
|
+
- 检查注释完整性
|
|
180
|
+
- _预估: 10 分钟_
|
|
181
|
+
|
|
182
|
+
- [ ] **5.3 更新 CHANGELOG**
|
|
183
|
+
- 记录新功能
|
|
184
|
+
- 记录 API 变更
|
|
185
|
+
- _预估: 5 分钟_
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 检查点
|
|
190
|
+
|
|
191
|
+
### 阶段 1 完成后 ✅
|
|
192
|
+
- [x] 所有模板文件已创建
|
|
193
|
+
- [x] 模板内容完整,格式正确
|
|
194
|
+
- [x] 模板可以正确渲染
|
|
195
|
+
|
|
196
|
+
### 阶段 2 完成后 ✅
|
|
197
|
+
- [x] 参数解析正确支持 `mode` 参数
|
|
198
|
+
- [x] 模板组装函数正常工作
|
|
199
|
+
- [x] 模块化模式可以返回正确的模板
|
|
200
|
+
- [x] 单文件模式保持原有行为
|
|
201
|
+
- [x] 结构化输出正确
|
|
202
|
+
|
|
203
|
+
### 阶段 3 完成后 ✅
|
|
204
|
+
- [x] 错误处理完善
|
|
205
|
+
- [x] 代码质量良好
|
|
206
|
+
|
|
207
|
+
### 阶段 4 完成后
|
|
208
|
+
- [ ] 所有测试通过
|
|
209
|
+
- [ ] 测试覆盖率 > 80%
|
|
210
|
+
- [ ] 文档更新完成
|
|
211
|
+
|
|
212
|
+
### 阶段 5 完成后
|
|
213
|
+
- [ ] 手动测试通过
|
|
214
|
+
- [ ] 代码审查通过
|
|
215
|
+
- [ ] CHANGELOG 更新完成
|
|
216
|
+
- [ ] 准备发布
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 文件变更清单
|
|
221
|
+
|
|
222
|
+
| 文件 | 操作 | 说明 |
|
|
223
|
+
|------|------|------|
|
|
224
|
+
| `src/tools/init_project_context.ts` | 修改 | 添加模块化模式支持 |
|
|
225
|
+
| `src/tools/templates/index-template.ts` | 新建 | 索引文件模板 |
|
|
226
|
+
| `src/tools/templates/tech-stack-template.ts` | 新建 | 技术栈模板 |
|
|
227
|
+
| `src/tools/templates/architecture-template.ts` | 新建 | 架构模板 |
|
|
228
|
+
| `src/tools/templates/coding-standards-template.ts` | 新建 | 编码规范模板 |
|
|
229
|
+
| `src/tools/templates/dependencies-template.ts` | 新建 | 依赖模板 |
|
|
230
|
+
| `src/tools/templates/workflows-template.ts` | 新建 | 工作流模板 |
|
|
231
|
+
| `src/schemas/output/project-tools.ts` | 修改 | 扩展 ProjectContext Schema |
|
|
232
|
+
| `tests/integration/init_project_context.test.ts` | 新建 | 集成测试 |
|
|
233
|
+
| `tests/contracts/init_project_context.test.ts` | 修改 | 更新契约测试 |
|
|
234
|
+
| `README.md` | 修改 | 更新工具说明 |
|
|
235
|
+
| `CHANGELOG.md` | 修改 | 记录新功能 |
|
|
236
|
+
| `docs/pages/all-tools.html` | 修改 | 更新工具文档 |
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 依赖任务
|
|
241
|
+
|
|
242
|
+
- 无外部依赖任务
|
|
243
|
+
- 所有任务都在本功能范围内
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 风险和注意事项
|
|
248
|
+
|
|
249
|
+
### 风险 1: 向后兼容性
|
|
250
|
+
- **描述**: 修改可能影响现有用户
|
|
251
|
+
- **缓解**: 默认使用单文件模式,充分测试
|
|
252
|
+
|
|
253
|
+
### 风险 2: 模板维护
|
|
254
|
+
- **描述**: 多个模板文件增加维护成本
|
|
255
|
+
- **缓解**: 模板代码模块化,提取公共部分
|
|
256
|
+
|
|
257
|
+
### 风险 3: AI 理解模板
|
|
258
|
+
- **描述**: AI 可能不理解如何使用模板
|
|
259
|
+
- **缓解**: 模板格式清晰,使用明确的占位符
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 工作量估算
|
|
264
|
+
|
|
265
|
+
| 阶段 | 预估时间(小时) |
|
|
266
|
+
|------|------------------|
|
|
267
|
+
| 阶段 1: 准备工作 | 1 |
|
|
268
|
+
| 阶段 2: 核心实现 | 3-5 |
|
|
269
|
+
| 阶段 3: 错误处理和优化 | 0.5 |
|
|
270
|
+
| 阶段 4: 测试和文档 | 1-2 |
|
|
271
|
+
| 阶段 5: 验收和发布 | 0.5 |
|
|
272
|
+
| **总计** | **6-9** |
|
|
273
|
+
|
|
274
|
+
**乐观估计**: 6 小时(1 个工作日)
|
|
275
|
+
**正常估计**: 7.5 小时(1 个工作日)
|
|
276
|
+
**悲观估计**: 9 小时(1.5 个工作日)
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 下一步
|
|
281
|
+
|
|
282
|
+
1. 按照任务清单顺序执行
|
|
283
|
+
2. 每完成一个阶段,进行检查点验证
|
|
284
|
+
3. 遇到问题及时记录和调整
|
|
285
|
+
4. 保持与需求文档和设计文档的一致性
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
*任务版本: 1.0.0*
|
|
290
|
+
*创建时间: 2026-01-27*
|
|
291
|
+
*维护者: MCP Probe Kit Team*
|