@rdmind/rdmind 0.0.14-alpha.0 → 0.0.14-alpha.2

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/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rdmind/rdmind",
3
- "version": "0.0.14-alpha.0",
3
+ "version": "0.0.14-alpha.2",
4
4
  "description": "RDMind",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,12 +26,12 @@
26
26
  "access": "public"
27
27
  },
28
28
  "config": {
29
- "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.14-alpha.0"
29
+ "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.14-alpha.2"
30
30
  },
31
31
  "dependencies": {
32
32
  "@google/genai": "1.9.0",
33
33
  "@iarna/toml": "^2.2.5",
34
- "@rdmind/rdmind-core": "^0.0.14-alpha.0",
34
+ "@rdmind/rdmind-core": "^0.0.14-alpha.2",
35
35
  "@modelcontextprotocol/sdk": "^1.15.1",
36
36
  "@types/update-notifier": "^6.0.8",
37
37
  "command-exists": "^1.2.9",
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "cfac195a";
7
- export declare const CLI_VERSION = "0.0.14-alpha.0";
6
+ export declare const GIT_COMMIT_INFO = "deac1966";
7
+ export declare const CLI_VERSION = "0.0.14-alpha.2";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = 'cfac195a';
9
- export const CLI_VERSION = '0.0.14-alpha.0';
8
+ export const GIT_COMMIT_INFO = 'deac1966';
9
+ export const CLI_VERSION = '0.0.14-alpha.2';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -26,18 +26,27 @@ function isGitRepository(cwd) {
26
26
  * 读取技术方案模板
27
27
  */
28
28
  function readTemplate() {
29
+ // 尝试多个可能的模板位置
29
30
  const possiblePaths = [
30
- // 开发环境
31
+ // 1. 开发环境:packages/cli/src/ui/commands/ -> packages/cli/templates/
31
32
  path.join(__dirname, '..', '..', '..', 'templates', 'tech-design-template.md'),
32
- // npm 安装后
33
+ // 2. npm 安装后:node_modules/@rdmind/rdmind/dist/src/ui/commands/ -> node_modules/@rdmind/rdmind/templates/
33
34
  path.join(__dirname, '..', '..', '..', '..', 'templates', 'tech-design-template.md'),
35
+ // 3. 打包后:dist/src/ui/commands/ -> templates/
36
+ path.join(__dirname, '..', '..', '..', '..', '..', 'templates', 'tech-design-template.md'),
37
+ // 4. 相对于当前工作目录
38
+ path.join(process.cwd(), 'node_modules', '@rdmind', 'rdmind', 'templates', 'tech-design-template.md'),
34
39
  ];
35
40
  for (const templatePath of possiblePaths) {
36
41
  if (fs.existsSync(templatePath)) {
37
42
  return fs.readFileSync(templatePath, 'utf-8');
38
43
  }
39
44
  }
40
- throw new Error('技术方案模板文件未找到');
45
+ // 如果找不到,提供详细的错误信息
46
+ const searchedPaths = possiblePaths
47
+ .map((p, i) => `${i + 1}. ${p}`)
48
+ .join('\n');
49
+ throw new Error(`技术方案模板文件未找到\n\n已搜索以下路径:\n${searchedPaths}\n\n当前工作目录:${process.cwd()}\n__dirname: ${__dirname}`);
41
50
  }
42
51
  /**
43
52
  * 生成技术方案子命令
@@ -73,6 +82,15 @@ const solutionCommand = {
73
82
  }, Date.now());
74
83
  return;
75
84
  }
85
+ // 验证 Redoc URL 格式
86
+ const redocUrlPattern = /^https:\/\/docs\.xiaohongshu\.com\/doc\/[a-f0-9]+$/;
87
+ if (!redocUrlPattern.test(prdUrl)) {
88
+ context.ui.addItem({
89
+ type: MessageType.ERROR,
90
+ text: `❌ 提供的 URL 不是有效的 Redoc 文档地址\n\nURL: ${prdUrl}\n\n✅ 正确的格式:\nhttps://docs.xiaohongshu.com/doc/{doc_id}\n\n说明:\n• doc_id 必须是 32 位十六进制字符串\n• 只支持小红书 Redoc 文档\n\n示例:\nhttps://docs.xiaohongshu.com/doc/abc123def456789012345678901234ab`,
91
+ }, Date.now());
92
+ return;
93
+ }
76
94
  // 读取模板
77
95
  let template;
78
96
  try {
@@ -176,6 +194,15 @@ const planCommand = {
176
194
  }, Date.now());
177
195
  return;
178
196
  }
197
+ // 验证 Redoc URL 格式
198
+ const redocUrlPattern = /^https:\/\/docs\.xiaohongshu\.com\/doc\/[a-f0-9]+$/;
199
+ if (!redocUrlPattern.test(techDocUrl)) {
200
+ context.ui.addItem({
201
+ type: MessageType.ERROR,
202
+ text: `❌ 提供的 URL 不是有效的 Redoc 文档地址\n\nURL: ${techDocUrl}\n\n✅ 正确的格式:\nhttps://docs.xiaohongshu.com/doc/{doc_id}\n\n说明:\n• doc_id 必须是 32 位十六进制字符串\n• 只支持小红书 Redoc 文档\n\n示例:\nhttps://docs.xiaohongshu.com/doc/abc123def456789012345678901234ab`,
203
+ }, Date.now());
204
+ return;
205
+ }
179
206
  context.ui.addItem({
180
207
  type: MessageType.INFO,
181
208
  text: `📂 工作目录: ${cwd}\n📋 技术文档 URL: ${techDocUrl}\n\n🤖 正在调用 AI 生成执行计划...\n\n💡 AI 将会:\n1. 使用 redoc_fetch 工具获取技术文档内容\n2. 分析代码仓库结构和技术栈\n3. 生成详细的任务分解和执行计划\n4. 提供 AI Coding 使用指导\n5. 将文档保存到工作目录\n\n请耐心等待,这可能需要几分钟时间...`,
@@ -211,11 +238,9 @@ const planCommand = {
211
238
  - 说明模块间的依赖关系
212
239
 
213
240
  ## 三、开发任务分解
214
- 将功能分解为具体的、可执行的任务,包括:
215
- - **前置任务**:环境准备、依赖安装等
241
+ 将功能分解为具体的、可执行的任务,关注技术方案中提到的实现细节,包括:
216
242
  - **核心任务**:主要功能开发,每个任务要具体、可衡量
217
243
  - **后续任务**:测试、优化、文档等
218
- - **任务依赖关系**:说明任务之间的依赖
219
244
 
220
245
  ## 四、编码规范
221
246
  基于当前代码仓库,明确:
@@ -223,7 +248,6 @@ const planCommand = {
223
248
  - 命名约定(变量、函数、类、文件等)
224
249
  - 注释规范
225
250
  - 测试要求
226
- - Git commit 规范
227
251
 
228
252
  ## 五、AI Coding 指导
229
253
  提供使用 AI Coding 工具(如 RDMind)的具体指导:
@@ -235,21 +259,11 @@ const planCommand = {
235
259
 
236
260
  ## 六、质量保证
237
261
  - 单元测试策略
238
- - 集成测试策略
239
- - 代码审查流程
240
-
241
- ## 七、部署和发布
242
- - 部署环境说明
243
- - 发布流程
244
- - 回滚预案
245
-
246
- ## 八、项目排期
247
- 用表格形式列出各阶段任务、预估工作量和时间安排
248
262
 
249
- ## 九、风险评估
263
+ ## 七、风险评估
250
264
  识别潜在风险和应对措施
251
265
 
252
- ## 十、附录
266
+ ## 八、附录
253
267
  - 相关文档链接
254
268
  - 使用说明
255
269
 
@@ -1 +1 @@
1
- {"version":3,"file":"techDesignCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"techDesignCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.ts"],"names":[],"mappings":"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"}
@@ -49,5 +49,38 @@ describe('techDesignCommand', () => {
49
49
  text: expect.stringContaining('未知的子命令'),
50
50
  }), expect.any(Number));
51
51
  });
52
+ describe('solution subcommand', () => {
53
+ it('should validate Redoc URL format', async () => {
54
+ const solutionCommand = techDesignCommand.subCommands?.find((cmd) => cmd.name === 'solution');
55
+ // 测试无效的 URL
56
+ await solutionCommand?.action?.(mockContext, 'https://www.google.com/search?q=test');
57
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
58
+ type: MessageType.ERROR,
59
+ text: expect.stringContaining('不是有效的 Redoc 文档地址'),
60
+ }), expect.any(Number));
61
+ });
62
+ it('should accept valid Redoc URL', async () => {
63
+ const solutionCommand = techDesignCommand.subCommands?.find((cmd) => cmd.name === 'solution');
64
+ // Mock config to avoid actual execution
65
+ mockContext.services.config = null;
66
+ await solutionCommand?.action?.(mockContext, 'https://docs.xiaohongshu.com/doc/abc123def456');
67
+ // Should show error about config not loaded (not URL validation error)
68
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
69
+ type: MessageType.ERROR,
70
+ text: expect.stringContaining('配置未加载'),
71
+ }), expect.any(Number));
72
+ });
73
+ });
74
+ describe('plan subcommand', () => {
75
+ it('should validate Redoc URL format', async () => {
76
+ const planCommand = techDesignCommand.subCommands?.find((cmd) => cmd.name === 'plan');
77
+ // 测试无效的 URL
78
+ await planCommand?.action?.(mockContext, 'https://www.google.com/search?q=test');
79
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
80
+ type: MessageType.ERROR,
81
+ text: expect.stringContaining('不是有效的 Redoc 文档地址'),
82
+ }), expect.any(Number));
83
+ });
84
+ });
52
85
  });
53
86
  //# sourceMappingURL=techDesignCommand.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"techDesignCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"techDesignCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/techDesignCommand.test.ts"],"names":[],"mappings":"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"}