intention-coding 0.1.0 → 0.2.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.
Files changed (45) hide show
  1. package/README.md +262 -0
  2. package/dist/config.d.ts +1 -0
  3. package/dist/db/file-storage.d.ts +255 -0
  4. package/dist/index.cjs +10825 -4643
  5. package/dist/index.js +10805 -4634
  6. package/dist/services/api-test/add-tasks-to-plan.d.ts +97 -0
  7. package/dist/services/api-test/api-test.d.ts +86 -0
  8. package/dist/services/api-test/batch-update-task-summaries.d.ts +61 -0
  9. package/dist/services/api-test/execute-test-plan.d.ts +21 -0
  10. package/dist/services/api-test/export-test-results.d.ts +21 -0
  11. package/dist/services/api-test/get-test-plans.d.ts +21 -0
  12. package/dist/services/api-test/index.d.ts +285 -0
  13. package/dist/services/api-test/test-plan.d.ts +119 -0
  14. package/dist/services/api-test/update-task.d.ts +147 -0
  15. package/dist/services/change-summarizer/index.d.ts +39 -0
  16. package/dist/services/claude-code/index.d.ts +200 -0
  17. package/dist/services/code-generator/database-manager.d.ts +65 -0
  18. package/dist/services/code-generator/enhanced-tools.d.ts +392 -0
  19. package/dist/services/code-generator/export-excel.d.ts +21 -0
  20. package/dist/services/code-generator/index.d.ts +102 -0
  21. package/dist/services/code-generator/task-queue.d.ts +114 -0
  22. package/dist/services/integrated-generator/index.d.ts +107 -0
  23. package/dist/services/openai-service.d.ts +29 -0
  24. package/dist/services/pdf2md/index.d.ts +74 -0
  25. package/dist/services/project-template/index.d.ts +51 -0
  26. package/dist/services/requirement-analyzer/auto-trigger.d.ts +1 -0
  27. package/dist/services/requirement-analyzer/index.d.ts +311 -0
  28. package/dist/services/velocity-template/index.d.ts +334 -0
  29. package/dist/services/world2md/index.d.ts +69 -0
  30. package/dist/utils/common.d.ts +1 -1
  31. package/package.json +12 -3
  32. package/dist/prompt/tech.d.ts +0 -1
  33. package/dist/schemas/intent-recognizer.d.ts +0 -33
  34. package/dist/schemas/types.d.ts +0 -34
  35. package/dist/schemas/word2md.d.ts +0 -34
  36. package/dist/tools/architecture-designer.d.ts +0 -12
  37. package/dist/tools/export-final-document.d.ts +0 -7
  38. package/dist/tools/index.d.ts +0 -6
  39. package/dist/tools/intent-recognizer.d.ts +0 -15
  40. package/dist/tools/requirement-clarifier.d.ts +0 -15
  41. package/dist/tools/requirement-manager.d.ts +0 -18
  42. package/dist/tools/utils.d.ts +0 -0
  43. package/dist/tools/view-requirements-status.d.ts +0 -7
  44. package/dist/tools/word2md.d.ts +0 -36
  45. package/dist/utils/mcp-server.d.ts +0 -28
package/README.md ADDED
@@ -0,0 +1,262 @@
1
+ # 智能软件星工厂 - MCP服务器
2
+
3
+ 一个基于FastMCP的智能化软件开发工具服务器,提供从需求分析到代码生成的完整开发生命周期管理。
4
+
5
+ ## 🚀 核心功能
6
+
7
+ ### 1. 集成化项目生成器 (推荐)
8
+ **`integrated_generator`** - 全新的需求驱动开发工具
9
+
10
+ ```javascript
11
+ // 创建完整项目
12
+ {
13
+ "project_name": "用户管理系统",
14
+ "project_description": "企业级用户权限管理系统",
15
+ "user_story": "作为系统管理员,我想要管理用户权限,以便于确保系统安全",
16
+ "acceptance_criteria": [
17
+ "可以创建新用户",
18
+ "可以分配用户角色",
19
+ "可以设置权限范围"
20
+ ],
21
+ "programming_language": "typescript",
22
+ "framework": "express"
23
+ }
24
+ ```
25
+
26
+ ### 2. 需求分析工具
27
+ **`requirement_analyzer`** - 智能需求分析和文档生成
28
+
29
+ ### 3. 代码生成工具 (已弃用)
30
+ **`code_generator`** - 传统代码生成工具,建议使用集成化生成器
31
+
32
+ ### 4. 项目模板工具 (已弃用)
33
+ **`init_project_standard`** - 传统项目规范工具,建议使用集成化生成器
34
+
35
+ ### 5. 文档转换工具
36
+ - **`word2md`** - Word文档转Markdown
37
+ - **`pdf2md`** - PDF文档转Markdown
38
+
39
+ ### 6. Claude Code集成
40
+ - **`claude_code`** - Claude Code会话管理
41
+ - **`claude_code_sessions`** - 会话历史查询
42
+
43
+ ### 7. 变更摘要工具
44
+ **`change_summarizer`** - Git变更智能摘要
45
+
46
+ ## 📋 使用指南
47
+
48
+ ### 集成化项目生成器 (推荐)
49
+
50
+ 这是最强大的工具,严格按照`.cursor/rules/`中的开发流程执行:
51
+
52
+ #### 基本用法
53
+ ```javascript
54
+ // 生成完整项目
55
+ {
56
+ "project_name": "电商订单系统",
57
+ "project_description": "处理电商订单的完整生命周期",
58
+ "user_story": "作为商家,我想要管理订单,以便于及时处理客户订单",
59
+ "acceptance_criteria": [
60
+ "可以创建新订单",
61
+ "可以查询订单状态",
62
+ "可以更新订单信息",
63
+ "可以取消订单"
64
+ ],
65
+ "programming_language": "typescript",
66
+ "framework": "express"
67
+ }
68
+ ```
69
+
70
+ #### 高级用法
71
+ ```javascript
72
+ // 生成特定模块
73
+ {
74
+ "project_name": "支付模块",
75
+ "project_description": "集成多种支付方式的支付处理模块",
76
+ "user_story": "作为用户,我想要多种支付方式,以便于选择最方便的支付方式",
77
+ "acceptance_criteria": [
78
+ "支持支付宝支付",
79
+ "支持微信支付",
80
+ "支持银行卡支付",
81
+ "支持支付状态查询"
82
+ ],
83
+ "programming_language": "typescript",
84
+ "framework": "express",
85
+ "generation_type": "module_only",
86
+ "architecture_pattern": "layered",
87
+ "include_tests": true,
88
+ "business_rules": [
89
+ "支付金额必须大于0",
90
+ "同一订单不能重复支付",
91
+ "支付超时自动取消"
92
+ ]
93
+ }
94
+ ```
95
+
96
+ ### 需求分析工具
97
+
98
+ ```javascript
99
+ // 分析需求文档
100
+ {
101
+ "requirement_text": "我们需要一个用户管理系统,能够...",
102
+ "analysis_type": "comprehensive",
103
+ "output_format": "structured"
104
+ }
105
+ ```
106
+
107
+ ### 文档转换
108
+
109
+ ```javascript
110
+ // Word转Markdown
111
+ {
112
+ "file_path": "/path/to/document.docx",
113
+ "output_dir": "/output/path"
114
+ }
115
+
116
+ // PDF转Markdown
117
+ {
118
+ "file_path": "/path/to/document.pdf",
119
+ "output_dir": "/output/path"
120
+ }
121
+ ```
122
+
123
+ ## 🏗️ 开发工作流
124
+
125
+ 集成化项目生成器遵循以下严格的工作流程:
126
+
127
+ ```mermaid
128
+ flowchart TD
129
+ Start([开始]) --> Story[创建用户故事]
130
+ Story --> ReviewStory{用户故事评审}
131
+ ReviewStory -->|通过| WriteFeature[编写Feature文件]
132
+ ReviewStory -->|不通过| ReviseStory[修改用户故事]
133
+ ReviseStory --> ReviewStory
134
+
135
+ WriteFeature --> ConfirmFeature{Feature确认}
136
+ ConfirmFeature -->|通过| Design[技术方案设计]
137
+ ConfirmFeature -->|不通过| ReviseFeature[修改Feature]
138
+ ReviseFeature --> ConfirmFeature
139
+
140
+ Design --> Implement[代码实现]
141
+ Implement --> Test[编写测试]
142
+ Test --> ReviewCode[代码审查]
143
+ ReviewCode --> DeployTest[部署测试]
144
+ DeployTest --> Acceptance{验收测试}
145
+ Acceptance -->|通过| Done([完成])
146
+ Acceptance -->|不通过| Fix[修复问题]
147
+ Fix --> Test
148
+ ```
149
+
150
+ ## 📁 生成的项目结构
151
+
152
+ ```
153
+ project-name/
154
+ ├── docs/
155
+ │ ├── requirements/
156
+ │ │ ├── user-story.md
157
+ │ │ └── project-name.feature.md
158
+ │ ├── architecture/
159
+ │ │ └── technical-architecture.md
160
+ │ ├── api/
161
+ │ │ └── api-specification.md
162
+ │ ├── development-standards.md
163
+ │ ├── development-workflow.md
164
+ │ └── testing-strategy.md
165
+ ├── src/
166
+ │ ├── controllers/
167
+ │ ├── services/
168
+ │ ├── repositories/
169
+ │ ├── models/
170
+ │ ├── middleware/
171
+ │ └── utils/
172
+ ├── tests/
173
+ │ ├── unit/
174
+ │ ├── integration/
175
+ │ └── e2e/
176
+ ├── config/
177
+ ├── package.json
178
+ ├── tsconfig.json
179
+ └── README.md
180
+ ```
181
+
182
+ ## 🛠️ 快速开始
183
+
184
+ ### 1. 安装依赖
185
+ ```bash
186
+ npm install
187
+ ```
188
+
189
+ ### 2. 启动开发服务器
190
+ ```bash
191
+ npm run dev
192
+ ```
193
+
194
+ ### 3. 测试工具
195
+ ```bash
196
+ npm run test-mcp
197
+ ```
198
+
199
+ ### 4. 查看可用工具
200
+ ```bash
201
+ npm run inspect
202
+ ```
203
+
204
+ ## 🔧 配置
205
+
206
+ ### 环境变量
207
+ ```bash
208
+ # 存储目录
209
+ STORAGE_DIR=/path/to/storage
210
+
211
+ # 日志级别
212
+ LOG_LEVEL=info
213
+
214
+ # AI服务配置
215
+ AI_API_KEY=your-api-key
216
+ ```
217
+
218
+ ### 项目配置
219
+ 编辑 `src/config.ts` 文件进行项目级配置。
220
+
221
+ ## 📊 工具对比
222
+
223
+ | 工具名称 | 主要功能 | 状态 | 推荐程度 |
224
+ |----------|----------|------|----------|
225
+ | `integrated_generator` | 需求驱动的完整项目生成 | ✅ 活跃 | ⭐⭐⭐⭐⭐ |
226
+ | `requirement_analyzer` | 智能需求分析 | ✅ 活跃 | ⭐⭐⭐⭐ |
227
+ | `code_generator` | 传统代码生成 | ⚠️ 弃用 | ⭐⭐ |
228
+ | `init_project_standard` | 项目规范生成 | ⚠️ 弃用 | ⭐⭐ |
229
+ | `word2md` | Word转Markdown | ✅ 活跃 | ⭐⭐⭐⭐ |
230
+ | `pdf2md` | PDF转Markdown | ✅ 活跃 | ⭐⭐⭐⭐ |
231
+
232
+ ## 🚨 弃用通知
233
+
234
+ ### 已弃用工具
235
+ - **`init_project_standard`** - 请使用 `integrated_generator`
236
+ - **`code_generator`** - 请使用 `integrated_generator`
237
+
238
+ 这些工具仍然可用,但不再维护,建议迁移到新的集成化工具。
239
+
240
+ ## 🤝 贡献
241
+
242
+ 1. Fork 项目
243
+ 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
244
+ 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
245
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
246
+ 5. 创建 Pull Request
247
+
248
+ ## 📄 许可证
249
+
250
+ MIT License - 详见 [LICENSE](LICENSE) 文件
251
+
252
+ ## 🆘 支持
253
+
254
+ - 📖 [文档](docs/)
255
+ - 🐛 [问题报告](https://github.com/your-repo/issues)
256
+ - 💬 [讨论区](https://github.com/your-repo/discussions)
257
+
258
+ ## 🔗 相关链接
259
+
260
+ - [FastMCP文档](https://github.com/punkpeye/fastmcp)
261
+ - [Cursor规则](.cursor/rules/)
262
+ - [最佳实践](docs/best-practices.md)
package/dist/config.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare const PROJECT_ROOT: string;
2
2
  export declare const getStorageDir: () => string;
3
+ export declare const getExportsDir: () => string;
3
4
  /**
4
5
  * 应用配置
5
6
  */
@@ -0,0 +1,255 @@
1
+ export interface TestPlan {
2
+ id: number;
3
+ uuid: string;
4
+ name: string;
5
+ status: string;
6
+ completed: boolean;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ }
10
+ export interface TestTask {
11
+ id: number;
12
+ uuid: string;
13
+ tableUuid: string;
14
+ url: string;
15
+ method: string;
16
+ query?: string;
17
+ headers?: string;
18
+ body?: string;
19
+ hopeRes?: string;
20
+ res?: string;
21
+ review?: string;
22
+ suggest?: string;
23
+ status: string;
24
+ completed: boolean;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ }
28
+ export interface RequirementProject {
29
+ id: number;
30
+ uuid: string;
31
+ name: string;
32
+ description?: string;
33
+ status: string;
34
+ priority: string;
35
+ stakeholders?: string;
36
+ createdAt: Date;
37
+ updatedAt: Date;
38
+ }
39
+ export interface RequirementAnalysis {
40
+ id: number;
41
+ uuid: string;
42
+ projectUuid: string;
43
+ analysisType: string;
44
+ title: string;
45
+ content: string;
46
+ originalInput: string;
47
+ analysisParams?: string;
48
+ filePath?: string;
49
+ status: string;
50
+ version: number;
51
+ createdAt: Date;
52
+ updatedAt: Date;
53
+ }
54
+ export interface RequirementItem {
55
+ id: number;
56
+ uuid: string;
57
+ projectUuid: string;
58
+ analysisUuid?: string;
59
+ type: string;
60
+ category: string;
61
+ title: string;
62
+ description: string;
63
+ priority: string;
64
+ status: string;
65
+ acceptanceCriteria?: string;
66
+ dependencies?: string;
67
+ estimatedEffort?: number;
68
+ actualEffort?: number;
69
+ assignee?: string;
70
+ tags?: string;
71
+ createdAt: Date;
72
+ updatedAt: Date;
73
+ }
74
+ export interface RequirementValidation {
75
+ id: number;
76
+ uuid: string;
77
+ requirementUuid: string;
78
+ validationType: string;
79
+ status: string;
80
+ issues?: string;
81
+ suggestions?: string;
82
+ validatedBy?: string;
83
+ createdAt: Date;
84
+ updatedAt: Date;
85
+ }
86
+ export interface CodeGenerationSession {
87
+ id: number;
88
+ uuid: string;
89
+ sessionId: string;
90
+ taskTitle: string;
91
+ taskDescription: string;
92
+ projectName: string;
93
+ programmingLanguage?: string;
94
+ framework?: string;
95
+ featureType: string;
96
+ priority: string;
97
+ userStory?: string;
98
+ acceptanceCriteria: string;
99
+ technicalRequirements?: string;
100
+ testRequirements?: string;
101
+ customContext?: string;
102
+ sessionDir: string;
103
+ status: string;
104
+ generatedFiles: number;
105
+ totalDuration: number;
106
+ errorMessage?: string;
107
+ startedAt?: Date;
108
+ completedAt?: Date;
109
+ createdAt: Date;
110
+ updatedAt: Date;
111
+ }
112
+ export interface CodeGenerationTask {
113
+ id: number;
114
+ uuid: string;
115
+ sessionUuid: string;
116
+ taskType: string;
117
+ taskName: string;
118
+ description: string;
119
+ inputData?: string;
120
+ outputPath?: string;
121
+ outputContent?: string;
122
+ fileSize?: number;
123
+ status: string;
124
+ duration: number;
125
+ errorMessage?: string;
126
+ startedAt?: Date;
127
+ completedAt?: Date;
128
+ createdAt: Date;
129
+ updatedAt: Date;
130
+ }
131
+ export declare const dbOperations: {
132
+ createTestPlan: (data: {
133
+ uuid: string;
134
+ name: string;
135
+ status?: string;
136
+ }) => Promise<TestPlan[]>;
137
+ getTestPlan: (uuid: string) => Promise<TestPlan[]>;
138
+ getAllTestPlans: () => Promise<TestPlan[]>;
139
+ updateTestPlan: (uuid: string, data: Partial<{
140
+ name: string;
141
+ status: string;
142
+ completed: boolean;
143
+ }>) => Promise<void>;
144
+ createTestTask: (data: {
145
+ uuid: string;
146
+ tableUuid: string;
147
+ url: string;
148
+ method?: string;
149
+ query?: string;
150
+ headers?: string;
151
+ body?: string;
152
+ hopeRes?: string;
153
+ }) => Promise<TestTask[]>;
154
+ getTestTask: (uuid: string) => Promise<TestTask[]>;
155
+ getTestTasksByPlan: (tableUuid: string) => Promise<TestTask[]>;
156
+ updateTestTask: (uuid: string, data: Partial<{
157
+ url: string;
158
+ method: string;
159
+ query: string;
160
+ headers: string;
161
+ body: string;
162
+ hopeRes: string;
163
+ res: string;
164
+ review: string;
165
+ suggest: string;
166
+ status: string;
167
+ completed: boolean;
168
+ }>) => Promise<void>;
169
+ batchUpdateTaskSummaries: (updates: Array<{
170
+ uuid: string;
171
+ summary: string;
172
+ suggest: string;
173
+ }>) => Promise<void>;
174
+ createRequirementProject: (data: {
175
+ uuid: string;
176
+ name: string;
177
+ description?: string;
178
+ priority?: string;
179
+ stakeholders?: string;
180
+ }) => Promise<RequirementProject>;
181
+ getRequirementProject: (uuid: string) => Promise<RequirementProject | null>;
182
+ getAllRequirementProjects: () => Promise<RequirementProject[]>;
183
+ updateRequirementProject: (uuid: string, data: Partial<RequirementProject>) => Promise<void>;
184
+ createRequirementAnalysis: (data: {
185
+ uuid: string;
186
+ projectUuid: string;
187
+ analysisType: string;
188
+ title: string;
189
+ content: string;
190
+ originalInput: string;
191
+ analysisParams?: string;
192
+ filePath?: string;
193
+ }) => Promise<RequirementAnalysis>;
194
+ getRequirementAnalyses: (projectUuid: string) => Promise<RequirementAnalysis[]>;
195
+ getRequirementAnalysis: (uuid: string) => Promise<RequirementAnalysis | null>;
196
+ createRequirementItem: (data: {
197
+ uuid: string;
198
+ projectUuid: string;
199
+ analysisUuid?: string;
200
+ type: string;
201
+ category: string;
202
+ title: string;
203
+ description: string;
204
+ priority?: string;
205
+ acceptanceCriteria?: string;
206
+ dependencies?: string;
207
+ estimatedEffort?: number;
208
+ assignee?: string;
209
+ tags?: string;
210
+ }) => Promise<RequirementItem>;
211
+ getRequirementItems: (projectUuid: string) => Promise<RequirementItem[]>;
212
+ updateRequirementItem: (uuid: string, data: Partial<RequirementItem>) => Promise<void>;
213
+ createRequirementValidation: (data: {
214
+ uuid: string;
215
+ requirementUuid: string;
216
+ validationType: string;
217
+ status: string;
218
+ issues?: string;
219
+ suggestions?: string;
220
+ validatedBy?: string;
221
+ }) => Promise<RequirementValidation>;
222
+ getRequirementValidations: (requirementUuid: string) => Promise<RequirementValidation[]>;
223
+ createCodeGenerationSession: (data: {
224
+ uuid: string;
225
+ sessionId: string;
226
+ taskTitle: string;
227
+ taskDescription: string;
228
+ projectName: string;
229
+ programmingLanguage?: string;
230
+ framework?: string;
231
+ featureType: string;
232
+ priority: string;
233
+ userStory?: string;
234
+ acceptanceCriteria: string[];
235
+ technicalRequirements?: string;
236
+ testRequirements?: string;
237
+ customContext?: string;
238
+ sessionDir: string;
239
+ }) => Promise<CodeGenerationSession>;
240
+ getCodeGenerationSession: (uuid: string) => Promise<CodeGenerationSession | null>;
241
+ getAllCodeGenerationSessions: () => Promise<CodeGenerationSession[]>;
242
+ updateCodeGenerationSession: (uuid: string, data: Partial<CodeGenerationSession>) => Promise<void>;
243
+ createCodeGenerationTask: (data: {
244
+ uuid: string;
245
+ sessionUuid: string;
246
+ taskType: string;
247
+ taskName: string;
248
+ description: string;
249
+ inputData?: string;
250
+ outputPath?: string;
251
+ fileSize?: number;
252
+ }) => Promise<CodeGenerationTask>;
253
+ getCodeGenerationTasksBySession: (sessionUuid: string) => Promise<CodeGenerationTask[]>;
254
+ updateCodeGenerationTask: (uuid: string, data: Partial<CodeGenerationTask>) => Promise<void>;
255
+ };