mcp-probe-kit 2.3.0 → 2.5.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 +131 -48
- package/build/index.js +1 -7
- package/build/lib/guidance.d.ts +8 -0
- package/build/lib/guidance.js +30 -0
- package/build/lib/orchestration-guidance.d.ts +8 -0
- package/build/lib/orchestration-guidance.js +16 -0
- package/build/lib/template-loader.d.ts +25 -0
- package/build/lib/template-loader.js +473 -0
- package/build/lib/toolset-manager.d.ts +4 -4
- package/build/lib/toolset-manager.js +10 -13
- package/build/schemas/code-analysis-tools.d.ts +0 -18
- package/build/schemas/code-analysis-tools.js +0 -19
- package/build/schemas/doc-util-tools.d.ts +0 -9
- package/build/schemas/doc-util-tools.js +0 -10
- package/build/schemas/index.d.ts +46 -47
- package/build/schemas/orchestration-tools.d.ts +42 -2
- package/build/schemas/orchestration-tools.js +42 -2
- package/build/schemas/output/core-tools.d.ts +1 -117
- package/build/schemas/output/core-tools.js +1 -60
- package/build/schemas/output/index.d.ts +5 -4
- package/build/schemas/output/index.js +6 -4
- package/build/schemas/output/product-design-tools.d.ts +160 -0
- package/build/schemas/output/product-design-tools.js +75 -0
- package/build/schemas/output/project-tools.d.ts +1 -217
- package/build/schemas/output/project-tools.js +1 -103
- package/build/schemas/project-tools.d.ts +4 -18
- package/build/schemas/project-tools.js +4 -19
- package/build/schemas/structured-output.d.ts +309 -99
- package/build/schemas/structured-output.js +174 -72
- package/build/schemas/ui-ux-schemas.d.ts +26 -0
- package/build/schemas/ui-ux-schemas.js +26 -0
- package/build/tools/__tests__/add_feature.template.test.d.ts +4 -0
- package/build/tools/__tests__/add_feature.template.test.js +47 -0
- package/build/tools/__tests__/start_bugfix.unit.test.d.ts +4 -0
- package/build/tools/__tests__/start_bugfix.unit.test.js +85 -0
- package/build/tools/__tests__/start_feature.unit.test.d.ts +4 -0
- package/build/tools/__tests__/start_feature.unit.test.js +83 -0
- package/build/tools/__tests__/start_ui.integration.test.js +4 -3
- package/build/tools/__tests__/start_ui.loop.test.d.ts +4 -0
- package/build/tools/__tests__/start_ui.loop.test.js +24 -0
- package/build/tools/__tests__/start_ui.unit.test.js +39 -1
- package/build/tools/add_feature.js +184 -406
- package/build/tools/ask_user.js +18 -5
- package/build/tools/code_review.js +8 -1
- package/build/tools/estimate.js +9 -2
- package/build/tools/fix_bug.js +9 -2
- package/build/tools/gen_mock.js +8 -1
- package/build/tools/gen_prd.d.ts +1 -7
- package/build/tools/gen_prd.js +41 -27
- package/build/tools/gen_prototype.d.ts +1 -7
- package/build/tools/gen_prototype.js +47 -27
- package/build/tools/genapi.js +8 -1
- package/build/tools/genchangelog.js +8 -1
- package/build/tools/gencommit.d.ts +1 -1
- package/build/tools/gencommit.js +49 -18
- package/build/tools/gendoc.js +9 -1
- package/build/tools/genpr.js +8 -1
- package/build/tools/genreadme.js +8 -1
- package/build/tools/gensql.js +8 -1
- package/build/tools/gentest.js +8 -1
- package/build/tools/index.d.ts +0 -3
- package/build/tools/index.js +0 -3
- package/build/tools/interview.d.ts +1 -13
- package/build/tools/interview.js +96 -31
- package/build/tools/perf.js +8 -1
- package/build/tools/refactor.js +8 -1
- package/build/tools/resolve_conflict.js +8 -1
- package/build/tools/security_scan.js +9 -2
- package/build/tools/start_api.js +44 -4
- package/build/tools/start_bugfix.js +377 -15
- package/build/tools/start_doc.js +40 -4
- package/build/tools/start_feature.js +287 -92
- package/build/tools/start_onboard.js +83 -100
- package/build/tools/start_product.d.ts +1 -1
- package/build/tools/start_product.js +183 -6
- package/build/tools/start_ralph.js +51 -2
- package/build/tools/start_refactor.js +39 -4
- package/build/tools/start_release.js +33 -4
- package/build/tools/start_review.js +39 -4
- package/build/tools/start_ui.js +669 -52
- package/build/utils/design-reasoning-engine.d.ts +5 -0
- package/build/utils/design-reasoning-engine.js +85 -5
- package/docs/data/tools.js +308 -478
- package/docs/index.html +1 -1
- package/docs/pages/all-tools.html +37 -22
- package/docs/pages/examples.html +100 -35
- package/docs/pages/getting-started.html +43 -3
- package/docs/pages/migration.html +14 -8
- package/package.json +79 -79
- package/build/lib/analysis-tasks.d.ts +0 -35
- package/build/lib/analysis-tasks.js +0 -788
- package/build/lib/elicitation-helper.d.ts +0 -73
- package/build/lib/elicitation-helper.js +0 -130
- package/build/lib/task-generator.d.ts +0 -11
- package/build/lib/task-generator.js +0 -109
- package/build/lib/template-generator.d.ts +0 -14
- package/build/lib/template-generator.js +0 -62
- package/build/lib/templates/backend-templates.d.ts +0 -8
- package/build/lib/templates/backend-templates.js +0 -26
- 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 -566
- package/build/tools/check_deps.d.ts +0 -1
- package/build/tools/check_deps.js +0 -213
- 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 -1
- package/build/tools/debug.js +0 -133
- 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_skill.d.ts +0 -13
- package/build/tools/gen_skill.js +0 -560
- package/build/tools/genui.d.ts +0 -13
- package/build/tools/genui.js +0 -803
- package/build/tools/init_setting.d.ts +0 -13
- package/build/tools/init_setting.js +0 -47
- package/build/tools/split.d.ts +0 -13
- package/build/tools/split.js +0 -599
- package/build/tools/templates/architecture-template.d.ts +0 -5
- package/build/tools/templates/architecture-template.js +0 -42
- package/build/tools/templates/coding-standards-template.d.ts +0 -5
- package/build/tools/templates/coding-standards-template.js +0 -41
- package/build/tools/templates/dependencies-template.d.ts +0 -5
- package/build/tools/templates/dependencies-template.js +0 -38
- package/build/tools/templates/index-template.d.ts +0 -5
- package/build/tools/templates/index-template.js +0 -64
- package/build/tools/templates/tech-stack-template.d.ts +0 -5
- package/build/tools/templates/tech-stack-template.js +0 -35
- package/build/tools/templates/workflows-template.d.ts +0 -5
- package/build/tools/templates/workflows-template.js +0 -31
- package/docs/specs/algorithm-enhancement/roadmap.md +0 -619
- package/docs/specs/project-context-modular/design.md +0 -722
- package/docs/specs/project-context-modular/example-output.md +0 -123
- package/docs/specs/project-context-modular/implementation-v2.md +0 -275
- package/docs/specs/project-context-modular/requirements.md +0 -234
- package/docs/specs/project-context-modular/tasks.md +0 -386
- package/docs/specs/v2.1-planning.md +0 -335
- package/docs/specs/vnext-upgrade/00-OVERVIEW.md +0 -258
- package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +0 -328
- package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +0 -236
- package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +0 -248
- package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +0 -195
- package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +0 -338
- package/docs/specs/vnext-upgrade/README.md +0 -125
- package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +0 -230
- package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +0 -343
- package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +0 -27
- package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +0 -273
- package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +0 -19
- package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
- package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +0 -247
- package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +0 -296
- package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +0 -241
- package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +0 -216
- package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +0 -217
- package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +0 -198
- package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +0 -202
- package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +0 -223
- package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +0 -299
- package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +0 -216
- package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +0 -210
- package/docs/specs/vnext-upgrade/design.md +0 -848
- package/docs/specs/vnext-upgrade/requirements.md +0 -221
- package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +0 -335
- package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +0 -300
- package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +0 -249
- package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +0 -49
- package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +0 -28
- package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +0 -29
- package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +0 -66
- package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +0 -24
- package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +0 -90
- package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +0 -103
- package/docs/vnext/MCP_2025-11-25_GUIDE.md +0 -276
- package/docs/vnext/vNext-PRD.md +0 -488
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# 索引文件示例输出
|
|
2
|
-
|
|
3
|
-
这是新版本 `init_project_context` 生成的索引文件示例(针对库/MCP Server 项目):
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# mcp-probe-kit - 项目上下文
|
|
8
|
-
|
|
9
|
-
> 本文档是项目上下文的索引文件,提供项目概览和文档导航。
|
|
10
|
-
|
|
11
|
-
## 📊 项目概览
|
|
12
|
-
|
|
13
|
-
| 属性 | 值 |
|
|
14
|
-
|------|-----|
|
|
15
|
-
| 项目名称 | mcp-probe-kit |
|
|
16
|
-
| 版本 | 2.1.0 |
|
|
17
|
-
| 语言 | javascript |
|
|
18
|
-
| 框架 | mcp-server |
|
|
19
|
-
| 类型 | library |
|
|
20
|
-
| 描述 | MCP Probe Kit - 开发工具集 |
|
|
21
|
-
|
|
22
|
-
## 📚 文档导航
|
|
23
|
-
|
|
24
|
-
### [技术栈](./project-context/tech-stack.md)
|
|
25
|
-
项目使用的语言、框架、工具
|
|
26
|
-
|
|
27
|
-
### [架构设计](./project-context/architecture.md)
|
|
28
|
-
项目结构、目录说明、设计模式
|
|
29
|
-
|
|
30
|
-
### [如何添加新工具](./project-context/how-to-add-tool.md)
|
|
31
|
-
添加新功能/工具的步骤
|
|
32
|
-
|
|
33
|
-
### [如何编写测试](./project-context/how-to-test.md)
|
|
34
|
-
测试框架和测试编写规范
|
|
35
|
-
|
|
36
|
-
## 🚀 快速开始
|
|
37
|
-
|
|
38
|
-
1. 阅读 [技术栈](./project-context/tech-stack.md) 了解项目使用的技术
|
|
39
|
-
2. 阅读 [架构设计](./project-context/architecture.md) 了解项目结构
|
|
40
|
-
3. 根据需要查看具体的操作指南
|
|
41
|
-
|
|
42
|
-
## 💡 开发时查看对应文档
|
|
43
|
-
|
|
44
|
-
根据你要做的事情,查看对应的文档:
|
|
45
|
-
|
|
46
|
-
### 添加新功能
|
|
47
|
-
- **如何添加新工具**: [how-to-add-tool.md](./project-context/how-to-add-tool.md)
|
|
48
|
-
|
|
49
|
-
### 调试问题
|
|
50
|
-
- **架构设计**: [architecture.md](./project-context/architecture.md) - 了解项目结构
|
|
51
|
-
- **技术栈**: [tech-stack.md](./project-context/tech-stack.md) - 了解使用的技术
|
|
52
|
-
|
|
53
|
-
### 编写测试
|
|
54
|
-
- **如何编写测试**: [how-to-test.md](./project-context/how-to-test.md)
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
*生成时间: 2026-01-28T10:49:00.000Z*
|
|
58
|
-
*生成工具: MCP Probe Kit - init_project_context v2.1*
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
# 对于后端 API 项目的示例
|
|
63
|
-
|
|
64
|
-
如果是后端 API 项目,"开发时查看对应文档"部分会是这样:
|
|
65
|
-
|
|
66
|
-
## 💡 开发时查看对应文档
|
|
67
|
-
|
|
68
|
-
根据你要做的事情,查看对应的文档:
|
|
69
|
-
|
|
70
|
-
### 添加新功能
|
|
71
|
-
- **如何添加新接口**: [how-to-add-api.md](./project-context/how-to-add-api.md)
|
|
72
|
-
|
|
73
|
-
### 修改现有代码
|
|
74
|
-
- **如何操作数据库**: [how-to-database.md](./project-context/how-to-database.md)
|
|
75
|
-
- **如何处理认证**: [how-to-auth.md](./project-context/how-to-auth.md)
|
|
76
|
-
|
|
77
|
-
### 调试问题
|
|
78
|
-
- **架构设计**: [architecture.md](./project-context/architecture.md) - 了解项目结构
|
|
79
|
-
- **技术栈**: [tech-stack.md](./project-context/tech-stack.md) - 了解使用的技术
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
# 对于前端 SPA 项目的示例
|
|
84
|
-
|
|
85
|
-
如果是前端 SPA 项目,"开发时查看对应文档"部分会是这样:
|
|
86
|
-
|
|
87
|
-
## 💡 开发时查看对应文档
|
|
88
|
-
|
|
89
|
-
根据你要做的事情,查看对应的文档:
|
|
90
|
-
|
|
91
|
-
### 添加新功能
|
|
92
|
-
- **如何创建新页面**: [how-to-new-page.md](./project-context/how-to-new-page.md)
|
|
93
|
-
|
|
94
|
-
### 修改现有代码
|
|
95
|
-
- **如何调用 API**: [how-to-call-api.md](./project-context/how-to-call-api.md)
|
|
96
|
-
- **如何管理状态**: [how-to-state.md](./project-context/how-to-state.md)
|
|
97
|
-
|
|
98
|
-
### 调试问题
|
|
99
|
-
- **架构设计**: [architecture.md](./project-context/architecture.md) - 了解项目结构
|
|
100
|
-
- **技术栈**: [tech-stack.md](./project-context/tech-stack.md) - 了解使用的技术
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 核心改进
|
|
105
|
-
|
|
106
|
-
新增的 **"💡 开发时查看对应文档"** 部分会:
|
|
107
|
-
|
|
108
|
-
1. **按开发场景分类**:
|
|
109
|
-
- 添加新功能
|
|
110
|
-
- 修改现有代码
|
|
111
|
-
- 调试问题
|
|
112
|
-
- 编写测试
|
|
113
|
-
- 部署上线
|
|
114
|
-
|
|
115
|
-
2. **智能匹配文档**:
|
|
116
|
-
- 根据项目类型(后端/前端/全栈/库)自动分类
|
|
117
|
-
- 只显示该项目类型相关的文档
|
|
118
|
-
|
|
119
|
-
3. **提供直接链接**:
|
|
120
|
-
- 每个场景下列出相关文档的直接链接
|
|
121
|
-
- 开发者可以快速找到需要的文档
|
|
122
|
-
|
|
123
|
-
这样开发者在开发时就能快速找到对应的文档,不用在所有文档中翻找了!
|
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
# init_project_context 重新设计 - v2.1 实现
|
|
2
|
-
|
|
3
|
-
## 问题分析
|
|
4
|
-
|
|
5
|
-
### 原有实现的问题
|
|
6
|
-
|
|
7
|
-
1. **"分析任务"系统过于复杂**
|
|
8
|
-
- Discover → Analyze → Generate 三步流程太抽象
|
|
9
|
-
- AI 难以理解如何执行这些任务
|
|
10
|
-
- 生成的内容仍然很泛化,不够实用
|
|
11
|
-
|
|
12
|
-
2. **缺少索引文件**
|
|
13
|
-
- 没有 `project-context.md` 作为入口
|
|
14
|
-
- 用户反馈:索引文件是"项目的灵魂"
|
|
15
|
-
|
|
16
|
-
3. **项目检测工作正常**
|
|
17
|
-
- 实际测试显示项目检测功能正常
|
|
18
|
-
- 能正确识别 JavaScript + MCP Server + Library 类型
|
|
19
|
-
|
|
20
|
-
4. **用户反馈**
|
|
21
|
-
- "生成的文件太泛了,第一眼看很牛逼,仔细看就不行了"
|
|
22
|
-
- 需要任务导向的文档(如"如何添加新接口")
|
|
23
|
-
- 希望简单直接,不要过度复杂
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 新设计方案
|
|
28
|
-
|
|
29
|
-
### 核心理念
|
|
30
|
-
|
|
31
|
-
**简单、直接、实用**
|
|
32
|
-
|
|
33
|
-
- ✅ 始终生成索引文件作为入口
|
|
34
|
-
- ✅ 提供清晰的模板结构
|
|
35
|
-
- ✅ 直接的填写指导(不是抽象的"分析任务")
|
|
36
|
-
- ✅ 强调从项目中提取真实示例
|
|
37
|
-
- ✅ 根据项目类型生成 4-6 个实用文档
|
|
38
|
-
|
|
39
|
-
### 文件结构
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
docs/
|
|
43
|
-
├── project-context.md # 索引文件(必须首先生成)
|
|
44
|
-
└── project-context/ # 分类文档目录
|
|
45
|
-
├── tech-stack.md # 技术栈(所有项目)
|
|
46
|
-
├── architecture.md # 架构设计(所有项目)
|
|
47
|
-
└── [类型特定文档]
|
|
48
|
-
├── how-to-add-api.md # 后端项目
|
|
49
|
-
├── how-to-database.md # 后端项目
|
|
50
|
-
├── how-to-new-page.md # 前端项目
|
|
51
|
-
├── how-to-call-api.md # 前端项目
|
|
52
|
-
├── how-to-add-tool.md # 库项目
|
|
53
|
-
└── ...
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 文档数量
|
|
57
|
-
|
|
58
|
-
| 项目类型 | 文档数量 | 文档列表 |
|
|
59
|
-
|---------|---------|---------|
|
|
60
|
-
| backend-api | 6 个 | 索引 + 技术栈 + 架构 + 添加接口 + 数据库 + 认证 |
|
|
61
|
-
| frontend-spa | 6 个 | 索引 + 技术栈 + 架构 + 新页面 + 调用API + 状态管理 |
|
|
62
|
-
| fullstack | 6 个 | 索引 + 技术栈 + 架构 + 新功能 + 添加接口 + 新页面 |
|
|
63
|
-
| library | 5 个 | 索引 + 技术栈 + 架构 + 添加工具 + 测试 |
|
|
64
|
-
| cli | 5 个 | 索引 + 技术栈 + 架构 + 添加命令 + 测试 |
|
|
65
|
-
| unknown | 5 个 | 索引 + 技术栈 + 架构 + 开发 + 测试 |
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## 实现细节
|
|
70
|
-
|
|
71
|
-
### 1. 移除的模块
|
|
72
|
-
|
|
73
|
-
删除了过于复杂的"分析任务"系统:
|
|
74
|
-
- ❌ `src/lib/analysis-tasks.ts` - 不再使用
|
|
75
|
-
- ❌ `src/lib/task-generator.ts` - 不再使用
|
|
76
|
-
- ❌ `src/lib/document-templates.ts` - 不再使用
|
|
77
|
-
|
|
78
|
-
### 2. 保留的模块
|
|
79
|
-
|
|
80
|
-
- ✅ `src/lib/project-detector.ts` - 项目类型检测(工作正常)
|
|
81
|
-
- ✅ `src/tools/init_project_context.ts` - 主工具(重写)
|
|
82
|
-
|
|
83
|
-
### 3. 新的实现逻辑
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
// 1. 检测项目类型
|
|
87
|
-
const detection = detectProjectType(projectRoot);
|
|
88
|
-
|
|
89
|
-
// 2. 获取项目基本信息
|
|
90
|
-
const projectInfo = getProjectInfo(projectRoot);
|
|
91
|
-
|
|
92
|
-
// 3. 根据项目类型获取文档列表
|
|
93
|
-
const docs = getDocumentList(detection.category);
|
|
94
|
-
|
|
95
|
-
// 4. 生成指导文本(包含模板)
|
|
96
|
-
const guide = generateGuideText(detection, projectInfo, docs, docsDir);
|
|
97
|
-
|
|
98
|
-
// 5. 返回结构化数据
|
|
99
|
-
return okStructured(guide, structuredData, { schema });
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### 4. 模板设计
|
|
103
|
-
|
|
104
|
-
**原则**:
|
|
105
|
-
- 提供完整的 Markdown 模板
|
|
106
|
-
- 使用 `[填写]` 标记需要 AI 填充的内容
|
|
107
|
-
- 提供清晰的"填写指导"
|
|
108
|
-
- 强调从项目中提取真实代码
|
|
109
|
-
|
|
110
|
-
**示例**(tech-stack.md):
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
# 技术栈
|
|
114
|
-
|
|
115
|
-
## 基本信息
|
|
116
|
-
| 属性 | 值 |
|
|
117
|
-
|------|-----|
|
|
118
|
-
| 项目名称 | [从 package.json 提取] |
|
|
119
|
-
| 版本 | [从 package.json 提取] |
|
|
120
|
-
|
|
121
|
-
## 技术栈详情
|
|
122
|
-
[从项目中分析并填写]
|
|
123
|
-
|
|
124
|
-
**填写指导**:
|
|
125
|
-
1. 读取 package.json 获取依赖信息
|
|
126
|
-
2. 列出最重要的 5-10 个依赖包
|
|
127
|
-
3. 说明每个依赖的用途
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 5. 索引文件的重要性
|
|
131
|
-
|
|
132
|
-
索引文件 `project-context.md` 是整个系统的**灵魂**:
|
|
133
|
-
|
|
134
|
-
- 📍 **唯一入口** - 所有文档的导航中心
|
|
135
|
-
- 📊 **项目概览** - 快速了解项目基本信息
|
|
136
|
-
- 🔗 **文档导航** - 链接到所有分类文档
|
|
137
|
-
- 🚀 **快速开始** - 指导如何使用这些文档
|
|
138
|
-
|
|
139
|
-
**必须首先生成**,其他文档都链接回索引文件。
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## 与原设计的对比
|
|
144
|
-
|
|
145
|
-
| 方面 | 原设计(分析任务) | 新设计(简单模板) |
|
|
146
|
-
|------|------------------|------------------|
|
|
147
|
-
| 复杂度 | 高(三步流程) | 低(直接模板) |
|
|
148
|
-
| AI 理解难度 | 难(抽象概念) | 易(具体指导) |
|
|
149
|
-
| 生成质量 | 泛化、不实用 | 具体、可操作 |
|
|
150
|
-
| 索引文件 | 无 | 有(必须) |
|
|
151
|
-
| 文档数量 | 动态(4-5个) | 固定(5-6个) |
|
|
152
|
-
| 模板方式 | 抽象任务描述 | 具体 Markdown 模板 |
|
|
153
|
-
| 填写指导 | 问题列表 | 直接步骤 |
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## 测试结果
|
|
158
|
-
|
|
159
|
-
所有测试通过:
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
✓ init_project_context 工具 (9 tests)
|
|
163
|
-
✓ 应该返回包含 content 和 structuredContent 的响应
|
|
164
|
-
✓ structuredContent 应该符合 ProjectContext schema
|
|
165
|
-
✓ 应该包含 _meta 字段和 schema 信息
|
|
166
|
-
✓ 应该正确处理默认参数
|
|
167
|
-
✓ 应该正确处理自定义 docs_dir
|
|
168
|
-
✓ 应该根据项目类型生成相应的文档
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
项目检测测试:
|
|
172
|
-
|
|
173
|
-
```json
|
|
174
|
-
{
|
|
175
|
-
"language": "javascript",
|
|
176
|
-
"category": "library",
|
|
177
|
-
"framework": "mcp-server",
|
|
178
|
-
"confidence": 80,
|
|
179
|
-
"indicators": [
|
|
180
|
-
"package.json",
|
|
181
|
-
"dependency: @modelcontextprotocol/sdk"
|
|
182
|
-
]
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
|
|
188
|
-
## 使用示例
|
|
189
|
-
|
|
190
|
-
### 调用工具
|
|
191
|
-
|
|
192
|
-
```javascript
|
|
193
|
-
await initProjectContext({
|
|
194
|
-
docs_dir: "docs"
|
|
195
|
-
});
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### 生成的指导文本
|
|
199
|
-
|
|
200
|
-
工具会返回清晰的指导,包括:
|
|
201
|
-
|
|
202
|
-
1. **项目信息** - 检测到的项目类型、语言、框架
|
|
203
|
-
2. **文件结构** - 需要生成的文件列表
|
|
204
|
-
3. **生成步骤** - 逐个文档的模板和填写指导
|
|
205
|
-
4. **完成标准** - 检查清单
|
|
206
|
-
|
|
207
|
-
### AI 的工作流程
|
|
208
|
-
|
|
209
|
-
1. 阅读指导文本
|
|
210
|
-
2. 首先创建索引文件 `project-context.md`
|
|
211
|
-
3. 逐个创建分类文档
|
|
212
|
-
4. 从项目中提取真实代码示例
|
|
213
|
-
5. 填充模板中的占位符
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## 优势
|
|
218
|
-
|
|
219
|
-
### 1. 简单直接
|
|
220
|
-
- 不需要理解复杂的"分析任务"概念
|
|
221
|
-
- 直接看到要生成什么内容
|
|
222
|
-
|
|
223
|
-
### 2. 质量保证
|
|
224
|
-
- 提供完整的模板结构
|
|
225
|
-
- 明确的填写指导
|
|
226
|
-
- 强调真实示例
|
|
227
|
-
|
|
228
|
-
### 3. 用户友好
|
|
229
|
-
- 索引文件作为入口
|
|
230
|
-
- 清晰的文档导航
|
|
231
|
-
- 任务导向的内容
|
|
232
|
-
|
|
233
|
-
### 4. 可维护性
|
|
234
|
-
- 代码简单,易于理解
|
|
235
|
-
- 模板易于扩展
|
|
236
|
-
- 减少了抽象层次
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## 后续优化方向
|
|
241
|
-
|
|
242
|
-
### 短期(v2.1.x)
|
|
243
|
-
- [ ] 收集用户反馈
|
|
244
|
-
- [ ] 优化模板内容
|
|
245
|
-
- [ ] 添加更多项目类型支持
|
|
246
|
-
|
|
247
|
-
### 中期(v2.2.x)
|
|
248
|
-
- [ ] 支持自定义模板
|
|
249
|
-
- [ ] 提供模板变量系统
|
|
250
|
-
- [ ] 增强项目检测能力
|
|
251
|
-
|
|
252
|
-
### 长期(v3.x)
|
|
253
|
-
- [ ] AI 自动填充部分内容
|
|
254
|
-
- [ ] 支持增量更新
|
|
255
|
-
- [ ] 多语言文档支持
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## 总结
|
|
260
|
-
|
|
261
|
-
新的实现方案通过**简化设计、提供清晰模板、强调真实示例**,解决了原有"分析任务"系统过于复杂、生成内容泛化的问题。
|
|
262
|
-
|
|
263
|
-
**核心改进**:
|
|
264
|
-
1. ✅ 始终生成索引文件(项目的灵魂)
|
|
265
|
-
2. ✅ 简单直接的模板(不是抽象任务)
|
|
266
|
-
3. ✅ 清晰的填写指导(具体步骤)
|
|
267
|
-
4. ✅ 强调真实示例(从项目提取)
|
|
268
|
-
|
|
269
|
-
这个方案在保持灵活性的同时,大幅提升了生成文档的实用性和可操作性。
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
*文档版本: 2.0*
|
|
274
|
-
*创建时间: 2026-01-28*
|
|
275
|
-
*实现版本: v2.1.0*
|
|
@@ -1,234 +0,0 @@
|
|
|
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*
|