speccore 6.18.3 → 6.30.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 (73) hide show
  1. package/.agents/skills/spec-execute/SKILL.md +7 -3
  2. package/dist/cli.js +1 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/analyze.d.ts +1 -0
  5. package/dist/commands/analyze.d.ts.map +1 -1
  6. package/dist/commands/analyze.js +234 -47
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/context-output.d.ts.map +1 -1
  9. package/dist/commands/context-output.js +19 -10
  10. package/dist/commands/context-output.js.map +1 -1
  11. package/dist/commands/doc2spec.js +1 -1
  12. package/dist/commands/doc2spec.js.map +1 -1
  13. package/dist/commands/execute.d.ts.map +1 -1
  14. package/dist/commands/execute.js +383 -101
  15. package/dist/commands/execute.js.map +1 -1
  16. package/dist/commands/global-status.js +2 -2
  17. package/dist/commands/global-status.js.map +1 -1
  18. package/dist/commands/import.d.ts +1 -1
  19. package/dist/commands/import.js +2 -4
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +36 -282
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/commands/iteration/create.js +7 -10
  25. package/dist/commands/iteration/create.js.map +1 -1
  26. package/dist/commands/iteration/split.js +296 -131
  27. package/dist/commands/iteration/split.js.map +1 -1
  28. package/dist/commands/iteration-from-global.js +1 -1
  29. package/dist/commands/retro.d.ts.map +1 -1
  30. package/dist/commands/retro.js +60 -3
  31. package/dist/commands/retro.js.map +1 -1
  32. package/dist/commands/status-panel.d.ts.map +1 -1
  33. package/dist/commands/status-panel.js +24 -8
  34. package/dist/commands/status-panel.js.map +1 -1
  35. package/dist/commands/synthesize.d.ts +2 -2
  36. package/dist/commands/synthesize.js +146 -196
  37. package/dist/commands/synthesize.js.map +1 -1
  38. package/dist/commands/task/new.js +43 -26
  39. package/dist/commands/task/new.js.map +1 -1
  40. package/dist/core/ai-context-generator.js +1 -1
  41. package/dist/core/analyze-engine.d.ts.map +1 -1
  42. package/dist/core/analyze-engine.js +307 -9
  43. package/dist/core/analyze-engine.js.map +1 -1
  44. package/dist/core/execution-state.d.ts +24 -0
  45. package/dist/core/execution-state.d.ts.map +1 -1
  46. package/dist/core/execution-state.js +135 -0
  47. package/dist/core/execution-state.js.map +1 -1
  48. package/dist/core/knowledge-graph.d.ts.map +1 -1
  49. package/dist/core/knowledge-graph.js +190 -65
  50. package/dist/core/knowledge-graph.js.map +1 -1
  51. package/dist/core/next-steps.js +2 -2
  52. package/dist/core/next-steps.js.map +1 -1
  53. package/dist/core/prompt-builder.d.ts.map +1 -1
  54. package/dist/core/prompt-builder.js +43 -22
  55. package/dist/core/prompt-builder.js.map +1 -1
  56. package/dist/core/quality-audit.d.ts +41 -0
  57. package/dist/core/quality-audit.d.ts.map +1 -0
  58. package/dist/core/quality-audit.js +345 -0
  59. package/dist/core/quality-audit.js.map +1 -0
  60. package/dist/core/rag-engine.d.ts.map +1 -1
  61. package/dist/core/rag-engine.js +38 -6
  62. package/dist/core/rag-engine.js.map +1 -1
  63. package/dist/core/spec-merger.d.ts.map +1 -1
  64. package/dist/core/spec-merger.js +22 -27
  65. package/dist/core/spec-merger.js.map +1 -1
  66. package/dist/core/validator.d.ts.map +1 -1
  67. package/dist/core/validator.js +43 -0
  68. package/dist/core/validator.js.map +1 -1
  69. package/dist/core/verify-engine.d.ts +1 -1
  70. package/dist/core/verify-engine.d.ts.map +1 -1
  71. package/dist/core/verify-engine.js +71 -8
  72. package/dist/core/verify-engine.js.map +1 -1
  73. package/package.json +1 -1
@@ -10,8 +10,8 @@
10
10
  *
11
11
  * 模式 B: 全自动三阶段(--full)
12
12
  * Phase 1: 逐端分析 → .speccore/GLOBAL/platforms/{端名}/ 各端独立 specs
13
- * Phase 2: 跨端综合 → .speccore/GLOBAL/synthesis/ CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
14
- * Phase 3: 功能单元合成 → Iteration-NNN/010-requirements/REQUIREMENT.md
13
+ * Phase 2: 跨端关系提取(直接读 PRD)→ .speccore/GLOBAL/synthesis/ CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
14
+ * Phase 3: 生成索引 → .speccore/GLOBAL/INDEX.md(供 AI 导航)
15
15
  * 旧版自动归档到 .speccore/GLOBAL/snapshots/{时间戳}/
16
16
  * CLI: speccore synthesize --full -I <迭代名>
17
17
  *
@@ -199,14 +199,14 @@ async function runFullPipeline(iter, iterDir, globalDir, specDir, reqDir, convDi
199
199
  // Phase 2: 跨端综合
200
200
  logger_1.logger.info(`\n━━━ Phase 2/3: 跨端综合 ━━━`);
201
201
  await runPhase2(iter, iterDir, globalDir, specDir);
202
- // Phase 3: 功能单元合成
203
- logger_1.logger.info(`\n━━━ Phase 3/3: 功能单元需求合成 ━━━`);
202
+ // Phase 3: 生成索引
203
+ logger_1.logger.info(`\n━━━ Phase 3/3: 生成索引 ━━━`);
204
204
  await runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode);
205
205
  logger_1.logger.info(`\n✅ 全量分析合成完成!`);
206
206
  logger_1.logger.info(` 📄 .speccore/GLOBAL/platforms/ ← 各端分析结果`);
207
207
  logger_1.logger.info(` 📄 .speccore/GLOBAL/synthesis/ ← 跨端综合文档`);
208
+ logger_1.logger.info(` 📄 .speccore/GLOBAL/INDEX.md ← 全局索引`);
208
209
  logger_1.logger.info(` 📄 .speccore/GLOBAL/snapshots/ ← 历史快照`);
209
- logger_1.logger.info(` 📄 010-requirements/REQUIREMENT.md ← 按功能单元组织的完整需求`);
210
210
  }
211
211
  // ================================================================
212
212
  // Phase 1: 逐端分析
@@ -427,33 +427,37 @@ function buildPhase1Prompt(iter, entries, platformDocs) {
427
427
  // Phase 2: 跨端综合
428
428
  // ================================================================
429
429
  async function runPhase2(iter, iterDir, globalDir, specDir) {
430
- // 读取 Phase 1 的结果(从 GLOBAL/platforms/)
431
- const platformsDir = (0, path_1.join)(globalDir, 'platforms');
432
- if (!await (0, fs_extra_1.pathExists)(platformsDir)) {
433
- logger_1.logger.warn('未找到 Phase 1 结果,请先运行: speccore synthesize --phase 1');
434
- return;
435
- }
436
- // 递归读取 platforms/ 下所有端目录的 MD 文件
437
- const platformSpecs = [];
438
- const platformEntries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
439
- for (const entry of platformEntries) {
440
- if (entry.isDirectory()) {
441
- const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name));
442
- for (const f of subFiles.filter(f => f.endsWith('.md'))) {
443
- const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name, f), 'utf-8');
444
- platformSpecs.push({ name: `${entry.name}/${f}`, content });
445
- }
430
+ // 直接读取 PRD 原文(不再依赖 Phase 1 的二手分析)
431
+ const reqDir = (0, path_1.join)(iterDir, '010-requirements');
432
+ const prdDocs = [];
433
+ // 读取 converted/ 下的需求文档
434
+ const convDir = (0, path_1.join)(reqDir, 'converted');
435
+ if (await (0, fs_extra_1.pathExists)(convDir)) {
436
+ for (const f of (await (0, fs_extra_1.readdir)(convDir)).filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f))) {
437
+ prdDocs.push({ name: f, content: await (0, fs_extra_1.readFile)((0, path_1.join)(convDir, f), 'utf-8') });
446
438
  }
447
- else if (entry.name.endsWith('.md')) {
448
- const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name), 'utf-8');
449
- platformSpecs.push({ name: entry.name, content });
439
+ }
440
+ // 也读取 REQUIREMENT.md(如果存在且不是 converted/ 的副本)
441
+ const reqFile = (0, path_1.join)(reqDir, 'REQUIREMENT.md');
442
+ if (await (0, fs_extra_1.pathExists)(reqFile)) {
443
+ const content = await (0, fs_extra_1.readFile)(reqFile, 'utf-8');
444
+ if (!prdDocs.some(d => d.content === content)) {
445
+ prdDocs.push({ name: 'REQUIREMENT.md', content });
450
446
  }
451
447
  }
452
- if (platformSpecs.length === 0) {
453
- logger_1.logger.warn('Phase 1 结果为空,请先运行: speccore synthesize --phase 1');
454
- return;
448
+ // features/ 下的补充需求
449
+ const featuresDir = (0, path_1.join)(reqDir, 'features');
450
+ if (await (0, fs_extra_1.pathExists)(featuresDir)) {
451
+ for (const e of await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true })) {
452
+ if (e.isDirectory() && !e.name.startsWith('.')) {
453
+ const readme = (0, path_1.join)(featuresDir, e.name, 'README.md');
454
+ if (await (0, fs_extra_1.pathExists)(readme)) {
455
+ prdDocs.push({ name: `features/${e.name}/README.md`, content: await (0, fs_extra_1.readFile)(readme, 'utf-8') });
456
+ }
457
+ }
458
+ }
455
459
  }
456
- // 也读取已有的 020-specs/ 下的其他文件作为补充
460
+ // 已有的 020-specs/ 作为补充参考
457
461
  const existingSpecs = [];
458
462
  if (await (0, fs_extra_1.pathExists)(specDir)) {
459
463
  const specFiles = await (0, fs_extra_1.readdir)(specDir);
@@ -462,7 +466,7 @@ async function runPhase2(iter, iterDir, globalDir, specDir) {
462
466
  existingSpecs.push({ name: f, content });
463
467
  }
464
468
  }
465
- // 也读取 GLOBAL/synthesis/ 下用户自建的文档作为补充
469
+ // GLOBAL/synthesis/ 下用户自建的文档作为补充
466
470
  const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
467
471
  if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
468
472
  const synFiles = await (0, fs_extra_1.readdir)(synthesisDir);
@@ -471,21 +475,31 @@ async function runPhase2(iter, iterDir, globalDir, specDir) {
471
475
  existingSpecs.push({ name: `GLOBAL/synthesis/${f}`, content });
472
476
  }
473
477
  }
474
- const prompt = buildPhase2Prompt(iter, platformSpecs, existingSpecs);
478
+ if (prdDocs.length === 0) {
479
+ logger_1.logger.warn('未找到 PRD 需求文档,请先导入: speccore doc2spec -f <文件> --iter <迭代名>');
480
+ return;
481
+ }
482
+ const prompt = buildPhase2Prompt(iter, prdDocs, existingSpecs, synthesisDir);
475
483
  process.stdout.write(`[SPECCORE_PHASE2]\n${prompt}`);
476
484
  process.exitCode = 11;
477
485
  }
478
- function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
479
- let p = `# Phase 2: 跨端综合分析\n\n`;
486
+ function buildPhase2Prompt(iter, prdDocs, existingSpecs, synthesisDir) {
487
+ let p = `# Phase 2: 跨端关系提取\n\n`;
480
488
  p += `## 目标\n`;
481
- p += `基于迭代「${iter}」各端的独立分析结果,进行跨端综合,生成:\n`;
482
- p += `1. **CROSS_PLATFORM.md** — 跨端业务关系图 + 接口映射\n`;
483
- p += `2. **ARCHITECTURE.md** — 全量架构文档\n`;
484
- p += `3. **TECH_FULL.md** — 全量技术方案\n\n`;
485
- p += `## 各端分析结果\n\n`;
486
- for (const spec of platformSpecs) {
487
- p += `### ${spec.name}\n\n`;
488
- p += spec.content.slice(0, 8000);
489
+ p += `从迭代「${iter}」的 PRD 原文中直接提取跨端关系,生成三份跨端文档:\n`;
490
+ p += `1. **CROSS_PLATFORM.md** — 跨端业务关系:接口映射、数据流向、共享实体\n`;
491
+ p += `2. **ARCHITECTURE.md** — 系统架构全景:技术栈、部署、安全、监控\n`;
492
+ p += `3. **TECH_FULL.md** — 跨端技术方案:API 汇总、共享模型、技术约束\n\n`;
493
+ p += `> ⚠️ 核心原则:从 PRD 中**提取**已有信息,不做二次分析推断\n\n`;
494
+ // 工程配置
495
+ p += `## 工程配置\n\n`;
496
+ p += `| 工程 | 源码路径 | 对应需求端 |\n`;
497
+ p += `|:--|:--|:--|\n`;
498
+ p += `> 从 PRD 内容推断工程与端的关系\n\n`;
499
+ p += `## PRD 原文\n\n`;
500
+ for (const doc of prdDocs) {
501
+ p += `### ${doc.name}\n\n`;
502
+ p += doc.content.slice(0, 8000);
489
503
  p += `\n\n---\n\n`;
490
504
  }
491
505
  if (existingSpecs.length > 0) {
@@ -496,32 +510,33 @@ function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
496
510
  p += `\n\n---\n\n`;
497
511
  }
498
512
  }
499
- p += `## 分析要求(业内专业级)\n\n`;
513
+ // ── 提取要求 ──
514
+ p += `## 提取要求\n\n`;
500
515
  p += `### CROSS_PLATFORM.md — 跨端业务关系\n\n`;
501
- p += `1. **跨端调用关系图**(Mermaid sequenceDiagram/flowchart)\n`;
502
- p += `2. **接口映射表**:前端操作 → 后端接口 → 数据表,标注所属端\n`;
503
- p += `3. **数据流向图**:哪些数据在哪些端之间流动,谁是生产者谁是消费者\n`;
504
- p += `4. **共享实体识别**:哪些数据模型被多端共享,状态同步策略\n`;
505
- p += `5. **跨端事务一致性**:涉及多端操作的业务流程,如何保证一致性\n`;
506
- p += `6. **冲突与风险**:接口不匹配、数据格式差异、版本不一致等\n\n`;
507
- p += `### ARCHITECTURE.md — 全量架构文档\n\n`;
508
- p += `1. **系统架构图**(Mermaid):含所有端、服务、中间件、数据库\n`;
509
- p += `2. **服务依赖关系**:调用方向、协议(HTTP/gRPC/MQ)、同步/异步\n`;
510
- p += `3. **技术栈汇总**:每层的语言/框架/版本/选型理由\n`;
511
- p += `4. **部署架构**:容器化/编排/环境划分(dev/staging/prod)\n`;
512
- p += `5. **ADR(架构决策记录)**:关键决策的背景、方案对比、最终选择、理由\n`;
513
- p += `6. **安全架构**:认证链路、授权模型、数据加密方案、API 网关策略\n`;
514
- p += `7. **监控告警**:关键指标(QPS/延迟/错误率)、SLA 目标、告警阈值\n`;
515
- p += `8. **容灾方案**:降级策略、熔断规则、回滚预案、数据备份策略\n\n`;
516
- p += `### TECH_FULL.md — 全量技术方案\n\n`;
517
- p += `1. **全量技术方案**:综合各端的实现方案,提取公共部分\n`;
518
- p += `2. **公共模块/组件识别**:哪些逻辑多端共享,如何复用\n`;
519
- p += `3. **跨端共享数据模型**:统一的数据定义、类型映射\n`;
520
- p += `4. **API 版本策略**:向后兼容方案、废弃计划\n`;
521
- p += `5. **容量规划**:存储增长预估、带宽需求、并发上限\n`;
522
- p += `6. **数据一致性方案**:分布式事务/最终一致/事件驱动\n`;
523
- p += `7. **性能优化策略**:缓存层、CDN、数据库优化、异步处理\n`;
524
- p += `8. **技术风险和约束**:已知风险、技术债、外部依赖风险\n\n`;
516
+ p += `从 PRD 中提取以下跨端关系(**提取,不是推断**):\n`;
517
+ p += `1. **接口映射表**:列出 PRD 中所有 API 接口,标注每个接口被哪些端调用\n`;
518
+ p += ` - 格式:方法 | 路径 | 说明 | 提供端 | 消费端\n`;
519
+ p += `2. **共享数据模型**:哪些数据实体被多端共享(从 PRD 数据字典提取)\n`;
520
+ p += ` - 标注每个实体被哪些端读写\n`;
521
+ p += `3. **数据流向图**(Mermaid flowchart):数据在生产端和消费端之间的流动\n`;
522
+ p += `4. **跨端调用关系图**(Mermaid sequenceDiagram):典型业务流程中各端的交互顺序\n`;
523
+ p += `5. **端专属功能清单**:哪些功能只属于某一个端(从 PRD 的端标注章节提取)\n`;
524
+ p += `6. **状态流转中各端角色**:谁触发状态变更、谁消费状态变更\n\n`;
525
+ p += `### ARCHITECTURE.md — 系统架构\n\n`;
526
+ p += `从 PRD 中提取架构信息:\n`;
527
+ p += `1. **系统架构图**(Mermaid):所有端 + 后端服务 + 数据库 + 中间件\n`;
528
+ p += `2. **技术栈汇总**:从 PRD 推断每端的语言/框架/协议\n`;
529
+ p += `3. **认证授权链路**:从 PRD 认证模块提取(如 JWT 流程、Token 刷新)\n`;
530
+ p += `4. **数据架构**:核心数据模型 + 关系(从 PRD 数据字典提取)\n`;
531
+ p += `5. **非功能需求汇总**:性能/安全/可用性/兼容性(从 PRD 非功能需求章节提取)\n\n`;
532
+ p += `### TECH_FULL.md — 跨端技术方案\n\n`;
533
+ p += `从 PRD 中提取技术要点:\n`;
534
+ p += `1. **API 接口汇总**:所有端的所有接口,按模块分组,标注所属端\n`;
535
+ p += `2. **共享数据模型**:统一的数据字典(从 PRD 提取,不重新定义)\n`;
536
+ p += `3. **各端技术约束**:从 PRD 端专属章节提取(如 H5 适配、小程序包限制等)\n`;
537
+ p += `4. **性能要求**:从 PRD 提取具体指标(如 P95 < 500ms、首屏 < 2s)\n`;
538
+ p += `5. **安全要求**:从 PRD 提取(如 JWT 认证、HTTPS、加密方案)\n`;
539
+ p += `6. **容量规划线索**:从 PRD 提取用户量/数据量级等线索\n\n`;
525
540
  p += `## 输出格式\n\n`;
526
541
  p += `请将三个文档用以下分隔标记分开:\n`;
527
542
  p += `\`\`\`\n`;
@@ -534,161 +549,96 @@ function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
534
549
  p += `## 注意\n`;
535
550
  p += `- 如果用户已在 .speccore/GLOBAL/synthesis/ 下放置了自建文档,应优先参考其内容\n`;
536
551
  p += `- 三个文档都必须输出,用分隔标记分开\n`;
537
- p += `- 不要省略任何内容,每个章节都要完整\n`;
552
+ p += `- **以 PRD 为准**,提取已有信息,不要臆造 PRD 中没有的内容\n`;
553
+ p += `- 如果 PRD 中某个维度没有描述,写"PRD 未涉及"而不是自行推断\n`;
538
554
  return p;
539
555
  }
540
556
  // ================================================================
541
- // Phase 3: 按功能单元合成需求文档
557
+ // Phase 3: 生成索引(替代原"功能单元合成")
542
558
  // ================================================================
543
559
  async function runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode) {
544
- // 收集所有可用输入:GLOBAL 层各端 specs + 跨端综合 + 迭代层 specs + 原始需求文档
545
- const allSpecs = [];
546
- // Phase 1 结果(从 GLOBAL/platforms/)
560
+ // Phase 3 不再合成合并文档,改为生成全局索引
561
+ await generatePhase3Index(iter, iterDir, globalDir, specDir, reqDir);
562
+ }
563
+ // ================================================================
564
+ // Phase 3 索引生成
565
+ // ================================================================
566
+ async function generatePhase3Index(iter, iterDir, globalDir, specDir, reqDir) {
567
+ const lines = [];
568
+ lines.push(`# ${iter} 迭代 — 全局知识索引`);
569
+ lines.push(`> 自动生成于 ${new Date().toISOString().split('T')[0]},供 analyze/split/execute 智能注入\n`);
570
+ // 工程列表
571
+ lines.push(`## 工程列表\n`);
572
+ try {
573
+ const entries = await parseConstitution();
574
+ for (const e of entries) {
575
+ lines.push(`- **${e.project}** (${e.srcPath}) → 端: ${e.platforms.join(', ')}`);
576
+ }
577
+ }
578
+ catch { /* ignore */ }
579
+ lines.push('');
580
+ // 各端分析文档(Phase 1 产出)
547
581
  const platformsDir = (0, path_1.join)(globalDir, 'platforms');
548
582
  if (await (0, fs_extra_1.pathExists)(platformsDir)) {
549
- const platformEntries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
550
- for (const entry of platformEntries) {
583
+ lines.push(`## 各端分析文档\n`);
584
+ lines.push(`> Phase 1 逐端专业分析,各端独立\n`);
585
+ const entries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
586
+ for (const entry of entries) {
551
587
  if (entry.isDirectory()) {
552
- const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name));
553
- for (const f of subFiles.filter(f => f.endsWith('.md'))) {
554
- const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name, f), 'utf-8');
555
- allSpecs.push({ name: `GLOBAL/platforms/${entry.name}/${f}`, content });
588
+ const files = (await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name)))
589
+ .filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f));
590
+ lines.push(`- **${entry.name}** (${files.length} 个文档)`);
591
+ for (const f of files) {
592
+ lines.push(` - \`${(0, path_1.join)('platforms', entry.name, f)}\``);
556
593
  }
557
594
  }
558
- else if (entry.name.endsWith('.md')) {
559
- const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name), 'utf-8');
560
- allSpecs.push({ name: `GLOBAL/platforms/${entry.name}`, content });
561
- }
562
595
  }
596
+ lines.push('');
563
597
  }
564
- // Phase 2 结果(从 GLOBAL/synthesis/)
598
+ // 跨端综合文档(Phase 2 产出)
565
599
  const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
566
600
  if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
567
- for (const f of (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md'))) {
568
- allSpecs.push({ name: `GLOBAL/synthesis/${f}`, content: await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8') });
601
+ lines.push(`## 跨端综合文档\n`);
602
+ lines.push(`> Phase 2 从 PRD 直接提取的跨端关系\n`);
603
+ const files = (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f));
604
+ for (const f of files) {
605
+ const content = await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8');
606
+ const firstSection = content.match(/##\s+(.+)/);
607
+ lines.push(`- **${f}**${firstSection ? ` — ${firstSection[1]}` : ''}`);
608
+ lines.push(` - \`${(0, path_1.join)('synthesis', f)}\``);
569
609
  }
610
+ lines.push('');
570
611
  }
571
- // 原始需求文档
572
- const sourceDocs = [];
573
- if (await (0, fs_extra_1.pathExists)(convDir)) {
574
- for (const f of (await (0, fs_extra_1.readdir)(convDir)).filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f))) {
575
- sourceDocs.push({ name: f, content: await (0, fs_extra_1.readFile)((0, path_1.join)(convDir, f), 'utf-8') });
612
+ // 原始需求文档导航
613
+ lines.push(`## 原始需求文档\n`);
614
+ if (await (0, fs_extra_1.pathExists)((0, path_1.join)(reqDir, 'converted'))) {
615
+ const convFiles = (await (0, fs_extra_1.readdir)((0, path_1.join)(reqDir, 'converted')))
616
+ .filter(f => f.endsWith('.md') && !(0, task_utils_1.isTimestampBackup)(f));
617
+ for (const f of convFiles) {
618
+ lines.push(`- \`${(0, path_1.join)('010-requirements/converted', f)}\``);
576
619
  }
577
620
  }
578
- // features/ 下
579
621
  const featuresDir = (0, path_1.join)(reqDir, 'features');
580
622
  if (await (0, fs_extra_1.pathExists)(featuresDir)) {
581
- for (const e of await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true })) {
623
+ const featureEntries = await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true });
624
+ for (const e of featureEntries) {
582
625
  if (e.isDirectory() && !e.name.startsWith('.')) {
583
- const readme = (0, path_1.join)(featuresDir, e.name, 'README.md');
584
- if (await (0, fs_extra_1.pathExists)(readme)) {
585
- sourceDocs.push({ name: `features/${e.name}/README.md`, content: await (0, fs_extra_1.readFile)(readme, 'utf-8') });
586
- }
626
+ lines.push(`- \`${(0, path_1.join)('010-requirements/features', e.name, 'README.md')}\``);
587
627
  }
588
628
  }
589
629
  }
590
- if (allSpecs.length === 0 && sourceDocs.length === 0) {
591
- logger_1.logger.warn('无可用输入文档,请先运行 Phase 1 和 Phase 2');
592
- return;
593
- }
594
- const prompt = buildPhase3Prompt(iter, allSpecs, sourceDocs);
595
- process.stdout.write(`[SPECCORE_PHASE3]\n${prompt}`);
596
- process.exitCode = 12;
597
- }
598
- function buildPhase3Prompt(iter, allSpecs, sourceDocs) {
599
- let p = `# Phase 3: 按功能单元合成需求文档\n\n`;
600
- p += `## 目标\n`;
601
- p += `基于迭代「${iter}」的全量分析结果,按**功能单元**组织合成综合需求文档。\n`;
602
- p += `每个功能单元一个章节,包含该功能关联的所有端的需求。\n\n`;
603
- p += `## 输入:全量分析结果\n\n`;
604
- for (const spec of allSpecs) {
605
- p += `### ${spec.name}\n\n`;
606
- p += spec.content.slice(0, 6000);
607
- p += `\n\n---\n\n`;
608
- }
609
- if (sourceDocs.length > 0) {
610
- p += `## 输入:原始需求文档\n\n`;
611
- for (const doc of sourceDocs) {
612
- p += `### ${doc.name}\n\n`;
613
- p += doc.content.slice(0, 4000);
614
- p += `\n\n---\n\n`;
615
- }
616
- }
617
- p += `## 合成原则(业内专业级)\n\n`;
618
- p += `1. **按功能单元组织**:一个功能单元一个章节,不按端拆分\n`;
619
- p += `2. **全端聚合**:每个功能单元包含所有相关端的需求\n`;
620
- p += `3. **公共逻辑只写一次**:多端共享的逻辑放在章节开头\n`;
621
- p += `4. **端差异用子标题**:\`#### {端名} 端\` 子标题标出差异\n`;
622
- p += `5. **接口汇总**:同一功能的接口放一起,用表格标注所属端\n`;
623
- p += `6. **冲突标记**:需求矛盾用 ⚠️ 标注,汇总到“待确认事项”\n\n`;
624
- p += `## 每个功能单元必须包含的内容\n\n`;
625
- p += `### A. 用户故事与验收标准\n`;
626
- p += `- 用户故事:As a {角色}, I want {操作}, so that {价值}\n`;
627
- p += `- 验收标准(Given/When/Then 格式):\n`;
628
- p += ` - Given {前置条件}, When {操作}, Then {预期结果}\n\n`;
629
- p += `### B. 各端需求详情\n`;
630
- p += `- 后端:API 定义、数据模型、业务规则、错误码\n`;
631
- p += `- 前端:页面/组件/路由/交互逻辑/状态管理\n`;
632
- p += `- 管理端:管理页面/操作流程/权限控制\n\n`;
633
- p += `### C. 接口汇总\n`;
634
- p += `- 统一接口表格:方法 | 路径 | 说明 | 端 | 状态码\n`;
635
- p += `- 请求/响应示例(JSON)\n\n`;
636
- p += `### D. 数据字典\n`;
637
- p += `- 字段级定义:字段名 | 类型 | 必填 | 默认值 | 约束 | 枚举值 | 说明\n`;
638
- p += `- 状态机流转(如有):状态 → 触发条件 → 目标状态\n\n`;
639
- p += `### E. 非功能需求\n`;
640
- p += `- 性能要求(响应时间/并发量)\n`;
641
- p += `- 安全要求(认证/授权/数据保护)\n`;
642
- p += `- 兼容性要求(浏览器/设备/系统版本)\n`;
643
- p += `- 可用性要求(SLA/容灾)\n\n`;
644
- p += `### F. 测试要点\n`;
645
- p += `- 关键测试场景\n`;
646
- p += `- 边界用例\n`;
647
- p += `- 跨端集成测试点\n\n`;
648
- p += `## 输出结构\n\n`;
649
- p += `\`\`\`markdown\n`;
650
- p += `# ${iter} 迭代综合需求文档\n\n`;
651
- p += `> 全量分析合成 | 生成时间: {当前日期}\n\n`;
652
- p += `## 1. 需求概述\n`;
653
- p += `> 整体业务背景、目标用户、核心场景、成功指标\n\n`;
654
- p += `## 2. 功能单元\n\n`;
655
- p += `### 2.1 {功能单元名}\n\n`;
656
- p += `#### 用户故事\n`;
657
- p += `- As a {角色}, I want {操作}, so that {价值}\n\n`;
658
- p += `#### 验收标准\n`;
659
- p += `- Given {前置}, When {操作}, Then {结果}\n\n`;
660
- p += `#### 后端\n`;
661
- p += `- API 定义、数据模型、业务规则、错误码\n\n`;
662
- p += `#### Web 前端\n`;
663
- p += `- 页面、组件、交互逻辑\n\n`;
664
- p += `#### Admin 端\n`;
665
- p += `- 管理页面、操作流程\n\n`;
666
- p += `#### 接口汇总\n`;
667
- p += `| 方法 | 路径 | 说明 | 端 | 状态码 |\n|:--|:--|:--|:--|:--|\n\n`;
668
- p += `#### 数据字典\n`;
669
- p += `| 字段 | 类型 | 必填 | 默认值 | 约束 | 枚举值 | 说明 |\n|:--|:--|:--:|:--|:--|:--|:--|\n\n`;
670
- p += `#### 非功能需求\n`;
671
- p += `- 性能 / 安全 / 兼容性\n\n`;
672
- p += `#### 测试要点\n`;
673
- p += `- 关键场景 / 边界用例\n\n`;
674
- p += `### 2.2 {功能单元名}\n`;
675
- p += `...\n\n`;
676
- p += `## 3. 全局非功能需求\n`;
677
- p += `> 跨功能单元的公共要求(性能/安全/可用性/兼容性)\n\n`;
678
- p += `## 4. ⚠️ 待确认事项\n`;
679
- p += `> 自动检测到的冲突、缺失、不一致\n`;
680
- p += `\`\`\`\n\n`;
681
- p += `## 要求\n`;
682
- p += `1. 功能单元必须是业务维度的划分(不是技术维度)\n`;
683
- p += `2. 每个功能单元必须包含所有相关端的需求\n`;
684
- p += `3. 接口必须汇总,标注所属端\n`;
685
- p += `4. 输出完整 Markdown,不省略\n\n`;
686
- p += `## 写入命令\n`;
687
- p += `speccore synthesize --apply-phase 3 '{合成内容}' -I ${iter}\n\n`;
688
- p += `## 注意\n`;
689
- p += `- 如果用户已在 010-requirements/ 下放置了自建需求文档,应优先参考其内容\n`;
690
- p += `- 需求以产品文档为准,不要臆造需求\n`;
691
- return p;
630
+ lines.push('');
631
+ // 使用指南
632
+ lines.push(`## 使用指南\n`);
633
+ lines.push(`- **analyze 命令**:读取对应端的分析文档 + 跨端综合文档作为上下文`);
634
+ lines.push(`- **split 命令**:读取 CROSS_PLATFORM.md 了解跨端关系,按端拆分任务`);
635
+ lines.push(`- **execute 命令**:读取对应端的分析文档 + 共享数据模型`);
636
+ lines.push(`- **更新时机**:PRD 变更后重新运行 synthesize --phase 2 刷新跨端文档\n`);
637
+ // 写入
638
+ const indexPath = (0, path_1.join)(globalDir, 'INDEX.md');
639
+ await (0, fs_extra_1.ensureDir)(globalDir);
640
+ await (0, fs_extra_1.writeFile)(indexPath, lines.join('\n'));
641
+ logger_1.logger.info(` 📇 全局索引已生成: .speccore/GLOBAL/INDEX.md`);
692
642
  }
693
643
  // ================================================================
694
644
  // 生成 GLOBAL/INDEX.md 轻量索引
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthesize.js","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"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"}