speccore 5.96.0 → 5.96.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.
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* CLI: speccore synthesize -I <迭代名>
|
|
9
9
|
*
|
|
10
10
|
* 模式 B: 全自动三阶段(--full)
|
|
11
|
-
* Phase 1: 逐端分析 → 各端独立 specs
|
|
12
|
-
* Phase 2: 跨端综合 → CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
|
|
13
|
-
* Phase 3: 功能单元合成 → REQUIREMENT.md
|
|
11
|
+
* Phase 1: 逐端分析 → .speccore/GLOBAL/platforms/{端名}/ 各端独立 specs
|
|
12
|
+
* Phase 2: 跨端综合 → .speccore/GLOBAL/synthesis/ CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
|
|
13
|
+
* Phase 3: 功能单元合成 → Iteration-NNN/010-requirements/REQUIREMENT.md
|
|
14
|
+
* 旧版自动归档到 .speccore/GLOBAL/snapshots/{时间戳}/
|
|
14
15
|
* CLI: speccore synthesize --full -I <迭代名>
|
|
15
16
|
*
|
|
16
17
|
* 模式 C: 单阶段执行(--phase N)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../src/commands/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDjF"}
|
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
* CLI: speccore synthesize -I <迭代名>
|
|
10
10
|
*
|
|
11
11
|
* 模式 B: 全自动三阶段(--full)
|
|
12
|
-
* Phase 1: 逐端分析 → 各端独立 specs
|
|
13
|
-
* Phase 2: 跨端综合 → CROSS_PLATFORM.md + ARCHITECTURE.md + TECH_FULL.md
|
|
14
|
-
* Phase 3: 功能单元合成 → REQUIREMENT.md
|
|
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
|
|
15
|
+
* 旧版自动归档到 .speccore/GLOBAL/snapshots/{时间戳}/
|
|
15
16
|
* CLI: speccore synthesize --full -I <迭代名>
|
|
16
17
|
*
|
|
17
18
|
* 模式 C: 单阶段执行(--phase N)
|
|
@@ -63,6 +64,8 @@ async function synthesizeCommand(options) {
|
|
|
63
64
|
const specDir = (0, path_1.join)(iterDir, '020-specs');
|
|
64
65
|
const convDir = (0, path_1.join)(reqDir, 'converted');
|
|
65
66
|
const outputPath = (0, path_1.join)(reqDir, 'REQUIREMENT.md');
|
|
67
|
+
// 全局层目录:Phase 1/2 写入此处
|
|
68
|
+
const globalDir = (0, path_1.join)('.speccore', 'GLOBAL');
|
|
66
69
|
// ── Apply 模式(简单合成,向后兼容)──
|
|
67
70
|
if (options.apply && !options.applyPhase) {
|
|
68
71
|
await (0, fs_extra_1.ensureDir)(reqDir);
|
|
@@ -75,23 +78,23 @@ async function synthesizeCommand(options) {
|
|
|
75
78
|
}
|
|
76
79
|
// ── Apply Phase 模式:接收某阶段的 AI 结果写入文件 ──
|
|
77
80
|
if (options.applyPhase && options.apply) {
|
|
78
|
-
await handleApplyPhase(iter, iterDir, specDir, reqDir, parseInt(options.applyPhase), options.apply);
|
|
81
|
+
await handleApplyPhase(iter, iterDir, globalDir, specDir, reqDir, parseInt(options.applyPhase), options.apply);
|
|
79
82
|
return;
|
|
80
83
|
}
|
|
81
84
|
// ── --full 模式:全自动三阶段 ──
|
|
82
85
|
if (options.full) {
|
|
83
|
-
await runFullPipeline(iter, iterDir, specDir, reqDir, convDir, options.withCode);
|
|
86
|
+
await runFullPipeline(iter, iterDir, globalDir, specDir, reqDir, convDir, options.withCode);
|
|
84
87
|
return;
|
|
85
88
|
}
|
|
86
89
|
// ── --phase N 模式:单阶段执行 ──
|
|
87
90
|
if (options.phase) {
|
|
88
91
|
const phaseNum = parseInt(options.phase);
|
|
89
92
|
if (phaseNum === 1)
|
|
90
|
-
await runPhase1(iter, iterDir,
|
|
93
|
+
await runPhase1(iter, iterDir, globalDir, reqDir);
|
|
91
94
|
else if (phaseNum === 2)
|
|
92
|
-
await runPhase2(iter, iterDir,
|
|
95
|
+
await runPhase2(iter, iterDir, globalDir, specDir);
|
|
93
96
|
else if (phaseNum === 3)
|
|
94
|
-
await runPhase3(iter, iterDir, specDir, reqDir, convDir, options.withCode);
|
|
97
|
+
await runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, options.withCode);
|
|
95
98
|
else
|
|
96
99
|
logger_1.logger.error(`无效阶段: ${options.phase},可选 1/2/3`);
|
|
97
100
|
return;
|
|
@@ -102,22 +105,65 @@ async function synthesizeCommand(options) {
|
|
|
102
105
|
// ================================================================
|
|
103
106
|
// Apply Phase 处理
|
|
104
107
|
// ================================================================
|
|
105
|
-
async function handleApplyPhase(iter, iterDir, specDir, reqDir, phase, content) {
|
|
106
|
-
await (0, fs_extra_1.ensureDir)(specDir);
|
|
108
|
+
async function handleApplyPhase(iter, iterDir, globalDir, specDir, reqDir, phase, content) {
|
|
107
109
|
if (phase === 1) {
|
|
108
|
-
// Phase 1 apply:
|
|
109
|
-
const
|
|
110
|
-
await (0, fs_extra_1.ensureDir)(
|
|
110
|
+
// Phase 1 apply: 写入全局层 platforms/(按端分目录)
|
|
111
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
112
|
+
await (0, fs_extra_1.ensureDir)(platformsDir);
|
|
111
113
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 16);
|
|
112
|
-
await (0, fs_extra_1.writeFile)((0, path_1.join)(
|
|
113
|
-
logger_1.logger.success(`✅ Phase 1 结果已写入:
|
|
114
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(platformsDir, `ANALYSIS-${timestamp}.md`), content);
|
|
115
|
+
logger_1.logger.success(`✅ Phase 1 结果已写入: .speccore/GLOBAL/platforms/`);
|
|
114
116
|
// 提示下一阶段
|
|
115
117
|
logger_1.logger.info(`\n 📌 下一步: speccore synthesize --phase 2 -I ${iter}`);
|
|
116
118
|
}
|
|
117
119
|
else if (phase === 2) {
|
|
120
|
+
// Phase 2 apply: 解析分隔标记,写入 GLOBAL/synthesis/ 下的独立文件
|
|
121
|
+
const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
|
|
122
|
+
await (0, fs_extra_1.ensureDir)(synthesisDir);
|
|
123
|
+
// 备份旧版到 GLOBAL/snapshots/
|
|
124
|
+
const snapshotsDir = (0, path_1.join)(globalDir, 'snapshots');
|
|
118
125
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 16);
|
|
119
|
-
await (0, fs_extra_1.
|
|
120
|
-
|
|
126
|
+
if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
|
|
127
|
+
const existingFiles = (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md'));
|
|
128
|
+
if (existingFiles.length > 0) {
|
|
129
|
+
const snapshotDir = (0, path_1.join)(snapshotsDir, timestamp);
|
|
130
|
+
await (0, fs_extra_1.ensureDir)(snapshotDir);
|
|
131
|
+
for (const f of existingFiles) {
|
|
132
|
+
const src = (0, path_1.join)(synthesisDir, f);
|
|
133
|
+
const dst = (0, path_1.join)(snapshotDir, f);
|
|
134
|
+
await (0, fs_extra_1.writeFile)(dst, await (0, fs_extra_1.readFile)(src));
|
|
135
|
+
}
|
|
136
|
+
logger_1.logger.info(` 📦 旧版已归档: snapshots/${timestamp}/`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// 解析分隔标记写入独立文件
|
|
140
|
+
const sections = {};
|
|
141
|
+
const markers = ['===CROSS_PLATFORM===', '===ARCHITECTURE===', '===TECH_FULL==='];
|
|
142
|
+
const fileNames = {
|
|
143
|
+
'===CROSS_PLATFORM===': 'CROSS_PLATFORM.md',
|
|
144
|
+
'===ARCHITECTURE===': 'ARCHITECTURE.md',
|
|
145
|
+
'===TECH_FULL===': 'TECH_FULL.md',
|
|
146
|
+
};
|
|
147
|
+
let remaining = content;
|
|
148
|
+
for (let i = 0; i < markers.length; i++) {
|
|
149
|
+
const marker = markers[i];
|
|
150
|
+
const idx = remaining.indexOf(marker);
|
|
151
|
+
if (idx >= 0) {
|
|
152
|
+
const nextIdx = i + 1 < markers.length ? remaining.indexOf(markers[i + 1], idx + marker.length) : -1;
|
|
153
|
+
const sectionContent = nextIdx >= 0
|
|
154
|
+
? remaining.substring(idx + marker.length, nextIdx).trim()
|
|
155
|
+
: remaining.substring(idx + marker.length).trim();
|
|
156
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(synthesisDir, fileNames[marker]), sectionContent + '\n');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// 如果没有分隔标记,整体写入 CROSS_PLATFORM.md
|
|
160
|
+
if (!markers.some(m => content.includes(m))) {
|
|
161
|
+
await (0, fs_extra_1.writeFile)((0, path_1.join)(synthesisDir, 'CROSS_PLATFORM.md'), content);
|
|
162
|
+
}
|
|
163
|
+
logger_1.logger.success(`✅ Phase 2 结果已写入: .speccore/GLOBAL/synthesis/`);
|
|
164
|
+
logger_1.logger.info(` 📄 CROSS_PLATFORM.md — 跨端关系图`);
|
|
165
|
+
logger_1.logger.info(` 📄 ARCHITECTURE.md — 全量架构`);
|
|
166
|
+
logger_1.logger.info(` 📄 TECH_FULL.md — 全量技术方案`);
|
|
121
167
|
logger_1.logger.info(`\n 📌 下一步: speccore synthesize --phase 3 -I ${iter}`);
|
|
122
168
|
}
|
|
123
169
|
else if (phase === 3) {
|
|
@@ -133,7 +179,7 @@ async function handleApplyPhase(iter, iterDir, specDir, reqDir, phase, content)
|
|
|
133
179
|
// ================================================================
|
|
134
180
|
// --full 全自动三阶段流水线
|
|
135
181
|
// ================================================================
|
|
136
|
-
async function runFullPipeline(iter, iterDir, specDir, reqDir, convDir, withCode) {
|
|
182
|
+
async function runFullPipeline(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode) {
|
|
137
183
|
const entries = await parseConstitution();
|
|
138
184
|
if (entries.length === 0) {
|
|
139
185
|
logger_1.logger.warn('CONSTITUTION.md 未配置多工程,回退到简单合成模式');
|
|
@@ -147,31 +193,30 @@ async function runFullPipeline(iter, iterDir, specDir, reqDir, convDir, withCode
|
|
|
147
193
|
}
|
|
148
194
|
// Phase 1: 逐端分析
|
|
149
195
|
logger_1.logger.info(`\n━━━ Phase 1/3: 逐端分析 ━━━`);
|
|
150
|
-
await runPhase1(iter, iterDir,
|
|
196
|
+
await runPhase1(iter, iterDir, globalDir, reqDir);
|
|
151
197
|
// Phase 2: 跨端综合
|
|
152
198
|
logger_1.logger.info(`\n━━━ Phase 2/3: 跨端综合 ━━━`);
|
|
153
|
-
await runPhase2(iter, iterDir,
|
|
199
|
+
await runPhase2(iter, iterDir, globalDir, specDir);
|
|
154
200
|
// Phase 3: 功能单元合成
|
|
155
201
|
logger_1.logger.info(`\n━━━ Phase 3/3: 功能单元需求合成 ━━━`);
|
|
156
|
-
await runPhase3(iter, iterDir, specDir, reqDir, convDir, withCode);
|
|
202
|
+
await runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode);
|
|
157
203
|
logger_1.logger.info(`\n✅ 全量分析合成完成!`);
|
|
158
|
-
logger_1.logger.info(` 📄
|
|
159
|
-
logger_1.logger.info(` 📄
|
|
160
|
-
logger_1.logger.info(` 📄
|
|
161
|
-
logger_1.logger.info(` 📄 020-specs/TECH_FULL*.md ← 全量技术方案`);
|
|
204
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/platforms/ ← 各端分析结果`);
|
|
205
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/synthesis/ ← 跨端综合文档`);
|
|
206
|
+
logger_1.logger.info(` 📄 .speccore/GLOBAL/snapshots/ ← 历史快照`);
|
|
162
207
|
logger_1.logger.info(` 📄 010-requirements/REQUIREMENT.md ← 按功能单元组织的完整需求`);
|
|
163
208
|
}
|
|
164
209
|
// ================================================================
|
|
165
210
|
// Phase 1: 逐端分析
|
|
166
211
|
// ================================================================
|
|
167
|
-
async function runPhase1(iter, iterDir,
|
|
212
|
+
async function runPhase1(iter, iterDir, globalDir, reqDir) {
|
|
168
213
|
const entries = await parseConstitution();
|
|
169
214
|
if (entries.length === 0) {
|
|
170
215
|
logger_1.logger.warn('CONSTITUTION.md 未配置工程列表,无法执行逐端分析');
|
|
171
216
|
return;
|
|
172
217
|
}
|
|
173
|
-
const
|
|
174
|
-
await (0, fs_extra_1.ensureDir)(
|
|
218
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
219
|
+
await (0, fs_extra_1.ensureDir)(platformsDir);
|
|
175
220
|
// 读取各端需求文档
|
|
176
221
|
const platformDocs = [];
|
|
177
222
|
for (const entry of entries) {
|
|
@@ -260,29 +305,38 @@ function buildPhase1Prompt(iter, entries, platformDocs) {
|
|
|
260
305
|
// ================================================================
|
|
261
306
|
// Phase 2: 跨端综合
|
|
262
307
|
// ================================================================
|
|
263
|
-
async function runPhase2(iter, iterDir,
|
|
264
|
-
// 读取 Phase 1
|
|
265
|
-
const
|
|
266
|
-
if (!await (0, fs_extra_1.pathExists)(
|
|
308
|
+
async function runPhase2(iter, iterDir, globalDir, specDir) {
|
|
309
|
+
// 读取 Phase 1 的结果(从 GLOBAL/platforms/)
|
|
310
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
311
|
+
if (!await (0, fs_extra_1.pathExists)(platformsDir)) {
|
|
267
312
|
logger_1.logger.warn('未找到 Phase 1 结果,请先运行: speccore synthesize --phase 1');
|
|
268
313
|
return;
|
|
269
314
|
}
|
|
270
|
-
|
|
271
|
-
const
|
|
272
|
-
|
|
315
|
+
// 递归读取 platforms/ 下所有端目录的 MD 文件
|
|
316
|
+
const platformSpecs = [];
|
|
317
|
+
const platformEntries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
|
|
318
|
+
for (const entry of platformEntries) {
|
|
319
|
+
if (entry.isDirectory()) {
|
|
320
|
+
const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name));
|
|
321
|
+
for (const f of subFiles.filter(f => f.endsWith('.md'))) {
|
|
322
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name, f), 'utf-8');
|
|
323
|
+
platformSpecs.push({ name: `${entry.name}/${f}`, content });
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else if (entry.name.endsWith('.md')) {
|
|
327
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name), 'utf-8');
|
|
328
|
+
platformSpecs.push({ name: entry.name, content });
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
if (platformSpecs.length === 0) {
|
|
273
332
|
logger_1.logger.warn('Phase 1 结果为空,请先运行: speccore synthesize --phase 1');
|
|
274
333
|
return;
|
|
275
334
|
}
|
|
276
|
-
const platformSpecs = [];
|
|
277
|
-
for (const f of mdFiles) {
|
|
278
|
-
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(phase1Dir, f), 'utf-8');
|
|
279
|
-
platformSpecs.push({ name: f, content });
|
|
280
|
-
}
|
|
281
335
|
// 也读取已有的 020-specs/ 下的其他文件作为补充
|
|
282
336
|
const existingSpecs = [];
|
|
283
337
|
if (await (0, fs_extra_1.pathExists)(specDir)) {
|
|
284
338
|
const specFiles = await (0, fs_extra_1.readdir)(specDir);
|
|
285
|
-
for (const f of specFiles.filter(f => f.endsWith('.md') && !
|
|
339
|
+
for (const f of specFiles.filter(f => f.endsWith('.md') && !['platforms', 'synthesis', 'snapshots'].includes(f))) {
|
|
286
340
|
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(specDir, f), 'utf-8');
|
|
287
341
|
existingSpecs.push({ name: f, content });
|
|
288
342
|
}
|
|
@@ -342,23 +396,32 @@ function buildPhase2Prompt(iter, platformSpecs, existingSpecs) {
|
|
|
342
396
|
// ================================================================
|
|
343
397
|
// Phase 3: 按功能单元合成需求文档
|
|
344
398
|
// ================================================================
|
|
345
|
-
async function runPhase3(iter, iterDir, specDir, reqDir, convDir, withCode) {
|
|
346
|
-
//
|
|
399
|
+
async function runPhase3(iter, iterDir, globalDir, specDir, reqDir, convDir, withCode) {
|
|
400
|
+
// 收集所有可用输入:GLOBAL 层各端 specs + 跨端综合 + 迭代层 specs + 原始需求文档
|
|
347
401
|
const allSpecs = [];
|
|
348
|
-
// Phase 1
|
|
349
|
-
const
|
|
350
|
-
if (await (0, fs_extra_1.pathExists)(
|
|
351
|
-
|
|
352
|
-
|
|
402
|
+
// Phase 1 结果(从 GLOBAL/platforms/)
|
|
403
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
404
|
+
if (await (0, fs_extra_1.pathExists)(platformsDir)) {
|
|
405
|
+
const platformEntries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
|
|
406
|
+
for (const entry of platformEntries) {
|
|
407
|
+
if (entry.isDirectory()) {
|
|
408
|
+
const subFiles = await (0, fs_extra_1.readdir)((0, path_1.join)(platformsDir, entry.name));
|
|
409
|
+
for (const f of subFiles.filter(f => f.endsWith('.md'))) {
|
|
410
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name, f), 'utf-8');
|
|
411
|
+
allSpecs.push({ name: `GLOBAL/platforms/${entry.name}/${f}`, content });
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
else if (entry.name.endsWith('.md')) {
|
|
415
|
+
const content = await (0, fs_extra_1.readFile)((0, path_1.join)(platformsDir, entry.name), 'utf-8');
|
|
416
|
+
allSpecs.push({ name: `GLOBAL/platforms/${entry.name}`, content });
|
|
417
|
+
}
|
|
353
418
|
}
|
|
354
419
|
}
|
|
355
|
-
// Phase 2
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
allSpecs.push({ name: f, content: await (0, fs_extra_1.readFile)((0, path_1.join)(specDir, f), 'utf-8') });
|
|
361
|
-
}
|
|
420
|
+
// Phase 2 结果(从 GLOBAL/synthesis/)
|
|
421
|
+
const synthesisDir = (0, path_1.join)(globalDir, 'synthesis');
|
|
422
|
+
if (await (0, fs_extra_1.pathExists)(synthesisDir)) {
|
|
423
|
+
for (const f of (await (0, fs_extra_1.readdir)(synthesisDir)).filter(f => f.endsWith('.md'))) {
|
|
424
|
+
allSpecs.push({ name: `GLOBAL/synthesis/${f}`, content: await (0, fs_extra_1.readFile)((0, path_1.join)(synthesisDir, f), 'utf-8') });
|
|
362
425
|
}
|
|
363
426
|
}
|
|
364
427
|
// 原始需求文档
|
|
@@ -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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"}
|