speccore 6.6.0 → 6.11.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 (121) hide show
  1. package/.agents/skills/spec-ask/SKILL.md +24 -4
  2. package/README.md +10 -0
  3. package/dist/cli.js +18 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/about.d.ts.map +1 -1
  6. package/dist/commands/about.js +10 -3
  7. package/dist/commands/about.js.map +1 -1
  8. package/dist/commands/analyze.d.ts +3 -0
  9. package/dist/commands/analyze.d.ts.map +1 -1
  10. package/dist/commands/analyze.js +178 -11
  11. package/dist/commands/analyze.js.map +1 -1
  12. package/dist/commands/change.d.ts.map +1 -1
  13. package/dist/commands/change.js +16 -4
  14. package/dist/commands/change.js.map +1 -1
  15. package/dist/commands/doc2spec.d.ts +1 -0
  16. package/dist/commands/doc2spec.d.ts.map +1 -1
  17. package/dist/commands/doc2spec.js +175 -0
  18. package/dist/commands/doc2spec.js.map +1 -1
  19. package/dist/commands/done.js +25 -5
  20. package/dist/commands/done.js.map +1 -1
  21. package/dist/commands/execute.d.ts.map +1 -1
  22. package/dist/commands/execute.js +20 -6
  23. package/dist/commands/execute.js.map +1 -1
  24. package/dist/commands/help.js +32 -5
  25. package/dist/commands/help.js.map +1 -1
  26. package/dist/commands/iteration/create.d.ts.map +1 -1
  27. package/dist/commands/iteration/create.js +40 -15
  28. package/dist/commands/iteration/create.js.map +1 -1
  29. package/dist/commands/iteration/split.d.ts.map +1 -1
  30. package/dist/commands/iteration/split.js +309 -36
  31. package/dist/commands/iteration/split.js.map +1 -1
  32. package/dist/commands/knowledge.d.ts +6 -0
  33. package/dist/commands/knowledge.d.ts.map +1 -0
  34. package/dist/commands/knowledge.js +94 -0
  35. package/dist/commands/knowledge.js.map +1 -0
  36. package/dist/commands/rag-index.d.ts +19 -0
  37. package/dist/commands/rag-index.d.ts.map +1 -0
  38. package/dist/commands/rag-index.js +272 -0
  39. package/dist/commands/rag-index.js.map +1 -0
  40. package/dist/commands/refresh.d.ts +21 -0
  41. package/dist/commands/refresh.d.ts.map +1 -0
  42. package/dist/commands/refresh.js +185 -0
  43. package/dist/commands/refresh.js.map +1 -0
  44. package/dist/commands/sync-global.d.ts.map +1 -1
  45. package/dist/commands/sync-global.js +59 -0
  46. package/dist/commands/sync-global.js.map +1 -1
  47. package/dist/core/ai-context-generator.d.ts +2 -0
  48. package/dist/core/ai-context-generator.d.ts.map +1 -1
  49. package/dist/core/ai-context-generator.js +8 -6
  50. package/dist/core/ai-context-generator.js.map +1 -1
  51. package/dist/core/analyze-engine.d.ts +19 -0
  52. package/dist/core/analyze-engine.d.ts.map +1 -1
  53. package/dist/core/analyze-engine.js +326 -9
  54. package/dist/core/analyze-engine.js.map +1 -1
  55. package/dist/core/ask-engine.d.ts.map +1 -1
  56. package/dist/core/ask-engine.js +134 -4
  57. package/dist/core/ask-engine.js.map +1 -1
  58. package/dist/core/ask-host-ai.d.ts.map +1 -1
  59. package/dist/core/ask-host-ai.js +9 -6
  60. package/dist/core/ask-host-ai.js.map +1 -1
  61. package/dist/core/code-scanner.d.ts +24 -2
  62. package/dist/core/code-scanner.d.ts.map +1 -1
  63. package/dist/core/code-scanner.js +310 -9
  64. package/dist/core/code-scanner.js.map +1 -1
  65. package/dist/core/context-builder.d.ts.map +1 -1
  66. package/dist/core/context-builder.js +28 -9
  67. package/dist/core/context-builder.js.map +1 -1
  68. package/dist/core/decay-detector.d.ts +2 -2
  69. package/dist/core/decay-detector.d.ts.map +1 -1
  70. package/dist/core/decay-detector.js +135 -6
  71. package/dist/core/decay-detector.js.map +1 -1
  72. package/dist/core/git-integration.d.ts +50 -2
  73. package/dist/core/git-integration.d.ts.map +1 -1
  74. package/dist/core/git-integration.js +217 -27
  75. package/dist/core/git-integration.js.map +1 -1
  76. package/dist/core/global-knowledge.d.ts +25 -0
  77. package/dist/core/global-knowledge.d.ts.map +1 -0
  78. package/dist/core/global-knowledge.js +228 -0
  79. package/dist/core/global-knowledge.js.map +1 -0
  80. package/dist/core/index-guard.d.ts +57 -0
  81. package/dist/core/index-guard.d.ts.map +1 -0
  82. package/dist/core/index-guard.js +202 -0
  83. package/dist/core/index-guard.js.map +1 -0
  84. package/dist/core/intent-cache.d.ts +3 -1
  85. package/dist/core/intent-cache.d.ts.map +1 -1
  86. package/dist/core/intent-cache.js +33 -3
  87. package/dist/core/intent-cache.js.map +1 -1
  88. package/dist/core/intent-recognition.d.ts.map +1 -1
  89. package/dist/core/intent-recognition.js +21 -2
  90. package/dist/core/intent-recognition.js.map +1 -1
  91. package/dist/core/knowledge-graph.d.ts +18 -3
  92. package/dist/core/knowledge-graph.d.ts.map +1 -1
  93. package/dist/core/knowledge-graph.js +539 -42
  94. package/dist/core/knowledge-graph.js.map +1 -1
  95. package/dist/core/knowledge-visualizer.d.ts +19 -0
  96. package/dist/core/knowledge-visualizer.d.ts.map +1 -0
  97. package/dist/core/knowledge-visualizer.js +528 -0
  98. package/dist/core/knowledge-visualizer.js.map +1 -0
  99. package/dist/core/next-steps.js +6 -0
  100. package/dist/core/next-steps.js.map +1 -1
  101. package/dist/core/platform-registry.d.ts +5 -0
  102. package/dist/core/platform-registry.d.ts.map +1 -1
  103. package/dist/core/platform-registry.js +52 -0
  104. package/dist/core/platform-registry.js.map +1 -1
  105. package/dist/core/prompt-builder.d.ts +3 -2
  106. package/dist/core/prompt-builder.d.ts.map +1 -1
  107. package/dist/core/prompt-builder.js +361 -72
  108. package/dist/core/prompt-builder.js.map +1 -1
  109. package/dist/core/rag-engine.d.ts +152 -0
  110. package/dist/core/rag-engine.d.ts.map +1 -0
  111. package/dist/core/rag-engine.js +816 -0
  112. package/dist/core/rag-engine.js.map +1 -0
  113. package/dist/core/spec-merger.d.ts +133 -0
  114. package/dist/core/spec-merger.d.ts.map +1 -0
  115. package/dist/core/spec-merger.js +735 -0
  116. package/dist/core/spec-merger.js.map +1 -0
  117. package/dist/core/unified-retrieval.d.ts +141 -0
  118. package/dist/core/unified-retrieval.d.ts.map +1 -0
  119. package/dist/core/unified-retrieval.js +471 -0
  120. package/dist/core/unified-retrieval.js.map +1 -0
  121. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag-engine.js","sourceRoot":"","sources":["../../src/core/rag-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * spec-merger — Section 级局部更新引擎
3
+ *
4
+ * 统一处理三种场景的局部合并:
5
+ * 1. analyze --task --sync → 任务分析结果局部回写 020-specs/
6
+ * 2. change → 需求变更后局部更新受影响的 specs
7
+ * 3. sync-global → 迭代 specs 局部合并到全局层
8
+ *
9
+ * 核心原则:只更新受影响的部分,其余内容不动
10
+ */
11
+ export interface MarkdownSection {
12
+ /** 原始标题文本(不含 # 前缀) */
13
+ heading: string;
14
+ /** 标题级别 (1-6) */
15
+ level: number;
16
+ /** 正文内容(不含标题行) */
17
+ content: string;
18
+ /** 包含标题行的完整原始文本 */
19
+ raw: string;
20
+ }
21
+ export interface AffectedFeature {
22
+ /** 功能模块名 */
23
+ name: string;
24
+ /** spec 文件路径(相对迭代目录) */
25
+ specPath: string;
26
+ /** 需求源文件路径(相对迭代目录) */
27
+ reqPath: string;
28
+ /** 匹配置信度 */
29
+ confidence: number;
30
+ }
31
+ export interface MergeResult {
32
+ /** 修改的文件数 */
33
+ filesUpdated: number;
34
+ /** 每个文件的变更摘要 */
35
+ changes: {
36
+ file: string;
37
+ sectionsPatched: string[];
38
+ action: 'patched' | 'created' | 'skipped';
39
+ }[];
40
+ }
41
+ /**
42
+ * 将 Markdown 文档按 H2 标题拆分为段落数组
43
+ *
44
+ * 标题前的内容(前言)作为第一个元素返回(heading 为空字符串)
45
+ */
46
+ export declare function splitMarkdownSections(content: string): MarkdownSection[];
47
+ /**
48
+ * 替换文档中指定标题的段落,不存在则追加
49
+ *
50
+ * @param docContent 原始完整文档
51
+ * @param sectionHeading 要替换的 H2 标题(精确匹配或包含匹配)
52
+ * @param newContent 新的段落内容(不含标题行)
53
+ * @returns 替换后的完整文档
54
+ */
55
+ export declare function patchSection(docContent: string, sectionHeading: string, newContent: string): string;
56
+ /**
57
+ * 从文档中提取指定标题的段落内容
58
+ */
59
+ export declare function extractSection(docContent: string, sectionHeading: string): string | null;
60
+ /**
61
+ * 从文本中提取特征关键词(≥3 字符,过滤停用词)
62
+ */
63
+ export declare function extractKeywords(text: string): string[];
64
+ /**
65
+ * 将源文档中的相关段落合并到目标文档
66
+ *
67
+ * 匹配策略:
68
+ * 1. 标题精确匹配 → 直接替换
69
+ * 2. 标题关键词重叠 → 替换(重叠率 > 阈值)
70
+ * 3. 无匹配 → 追加到目标文档末尾
71
+ *
72
+ * @param sourceContent 源文档(新分析结果)
73
+ * @param targetContent 目标文档(现有 spec)
74
+ * @param keywords 用于匹配的关键词集合
75
+ * @returns 合并后的文档
76
+ */
77
+ export declare function mergeSpecContent(sourceContent: string, targetContent: string, keywords: string[]): {
78
+ content: string;
79
+ patchedSections: string[];
80
+ };
81
+ /**
82
+ * 根据关键词查找受影响的功能模块 spec 文件
83
+ *
84
+ * 扫描 020-specs/features/ 目录,按文件名和内容匹配关键词
85
+ */
86
+ export declare function findAffectedFeatures(iterDir: string, keywords: string[]): Promise<AffectedFeature[]>;
87
+ /**
88
+ * 根据关键词查找受影响的顶层 spec 文件(TECH.md / TEST.md 等)
89
+ *
90
+ * 返回需要 patch 的 section 名称列表
91
+ */
92
+ export declare function findAffectedSpecSections(iterDir: string, keywords: string[]): Promise<{
93
+ file: string;
94
+ sections: string[];
95
+ }[]>;
96
+ /**
97
+ * 将任务分析结果局部回写到迭代级 020-specs/
98
+ *
99
+ * 流程:
100
+ * 1. 从任务标题/REQ.md 提取关键词
101
+ * 2. 查找受影响的功能模块 spec 文件
102
+ * 3. 对每个受影响文件执行 section 级 merge
103
+ * 4. 对顶层 spec 文件(TECH.md 等)执行 section 级 patch
104
+ *
105
+ * @param iterDir 迭代目录绝对路径
106
+ * @param taskDir 任务目录绝对路径
107
+ * @param taskName 任务名称(用于关键词提取)
108
+ * @returns 合并结果摘要
109
+ */
110
+ export declare function syncTaskToSpecs(iterDir: string, taskDir: string, taskName: string): Promise<MergeResult>;
111
+ /**
112
+ * 将迭代级 spec 文件局部合并到全局层
113
+ *
114
+ * 与 syncTaskToSpecs 类似,但方向是 iteration → global
115
+ *
116
+ * @param iterDir 迭代目录绝对路径
117
+ * @param globalDir 全局 .speccore 目录绝对路径
118
+ * @param keywords 可选的过滤关键词(只同步相关模块)
119
+ */
120
+ export declare function syncIterationToGlobal(iterDir: string, globalDir: string, keywords?: string[]): Promise<MergeResult>;
121
+ /**
122
+ * 归档时将新增需求局部合并回原需求文档
123
+ *
124
+ * 流程:
125
+ * 1. 扫描迭代下所有任务,找出「新增需求」任务
126
+ * (通过 .meta/ 标记、CHANGE_SUMMARY.md 记录、或任务名含"新增"特征)
127
+ * 2. 读取任务的 _shared/REQ.md
128
+ * 3. 按关键词匹配原需求文档(010-requirements/features/ 或 converted/)
129
+ * 4. 用 mergeSpecContent() 做 section 级合并
130
+ * 5. 未匹配到原文档的,追加到 features/{slug}/README.md
131
+ */
132
+ export declare function mergeNewRequirementsOnArchive(iterDir: string): Promise<MergeResult>;
133
+ //# sourceMappingURL=spec-merger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-merger.d.ts","sourceRoot":"","sources":["../../src/core/spec-merger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;CACnG;AAMD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAwBxE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,MAAM,CA0BR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxF;AAeD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtD;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAAE,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAyEhD;AAMD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC,CAoC5B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAAC,CA6BjD;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAkFtB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,WAAW,CAAC,CA4EtB;AA8DD;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAsFtB"}