speccore 8.3.175 → 8.3.177

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.
@@ -9,6 +9,7 @@ interface Word2SpecOptions {
9
9
  prompt?: boolean;
10
10
  response?: string;
11
11
  classify?: boolean;
12
+ split?: boolean;
12
13
  }
13
14
  export declare function doc2specCommand(options: Word2SpecOptions): Promise<void>;
14
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"doc2spec.d.ts","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":"AAuGA,eAGA,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS7C,CAAC;AAYF,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD9E"}
1
+ {"version":3,"file":"doc2spec.d.ts","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":"AAuGA,eAGA,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAS7C,CAAC;AAYF,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD9E"}
@@ -417,6 +417,12 @@ async function processSingle(options) {
417
417
  logger_1.logger.info(` 3. speccore iteration split`);
418
418
  logger_1.logger.info(` 4. speccore execute --task=Task-001 --force`);
419
419
  }
420
+ // ── 功能单元拆分(--split)──
421
+ if (options.split && !taskId) {
422
+ logger_1.logger.info('');
423
+ logger_1.logger.info('🔪 开始功能单元拆分...');
424
+ await splitDocumentToUnits(iterDir, outputPath, platformLabel, (0, path_1.basename)(options.file));
425
+ }
420
426
  }
421
427
  catch (error) {
422
428
  spinner.fail(`转换失败: ${error}`);
@@ -742,4 +748,129 @@ async function importExcelBugList(file, iteration) {
742
748
  logger_1.logger.info(` speccore analyze --prompt -I ${iteration}`);
743
749
  logger_1.logger.info(` speccore execute --prompt -t Task-001 -I ${iteration}`);
744
750
  }
751
+ /**
752
+ * 将转换后的文档拆分为功能单元,写入 features/
753
+ */
754
+ async function splitDocumentToUnits(iterDir, outputPath, platformLabel, sourceFileName) {
755
+ const content = await (0, fs_extra_1.readFile)(outputPath, 'utf-8');
756
+ const units = scanUnits(content);
757
+ if (units.length === 0) {
758
+ logger_1.logger.warn('未检测到可拆分的功能单元,跳过拆分');
759
+ return;
760
+ }
761
+ logger_1.logger.info(`🔍 检测到 ${units.length} 个候选功能单元`);
762
+ for (const u of units) {
763
+ logger_1.logger.info(` • ${u.title}`);
764
+ }
765
+ const featuresDir = (0, path_1.join)(iterDir, '010-requirements', 'features');
766
+ await (0, fs_extra_1.ensureDir)(featuresDir);
767
+ let written = 0;
768
+ for (const unit of units) {
769
+ const unitDirName = sanitizeUnitName(unit.title);
770
+ const unitDir = (0, path_1.join)(featuresDir, unitDirName);
771
+ await (0, fs_extra_1.ensureDir)(unitDir);
772
+ await (0, fs_extra_1.ensureDir)((0, path_1.join)(unitDir, '.meta'));
773
+ const unitContent = extractUnitContent(content, unit);
774
+ const readmePath = (0, path_1.join)(unitDir, 'README.md');
775
+ await (0, fs_extra_1.writeFile)(readmePath, unitContent);
776
+ // 来源标记
777
+ const sourceMeta = `---\norigin: doc2spec\nsource_file: ${sourceFileName}\nsource_section: "${unit.sourceSection}"\nplatform: ${platformLabel}\ncreated_at: ${new Date().toISOString().split('T')[0]}\nstatus: draft\n---\n`;
778
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(unitDir, '.meta', 'source'), sourceMeta);
779
+ // 端覆盖矩阵(初始值,后续由 analyze / 用户调整)
780
+ const platforms = platformLabel
781
+ .split(/[,,;;]/)
782
+ .map(p => p.trim())
783
+ .filter(Boolean);
784
+ const matrixContent = `# ${unit.title} - 端覆盖矩阵\n\nfeature: ${unit.title}\nplatforms:\n${platforms.map(p => ` - ${p}`).join('\n') || ' - backend'}\ndependencies: []\napis: []\n`;
785
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(unitDir, '_matrix.md'), matrixContent);
786
+ // 初始变更记录
787
+ const changelogContent = `# ${unit.title} - 变更履历\n\n## v1 - ${new Date().toISOString().split('T')[0]}\n**类型**: 新增\n**来源**: doc2spec --split\n**说明**: 从 ${sourceFileName} 的「${unit.sourceSection}」章节拆分\n`;
788
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(unitDir, 'CHANGELOG.md'), changelogContent);
789
+ written++;
790
+ logger_1.logger.info(` ✅ ${unit.title} → features/${unitDirName}/`);
791
+ }
792
+ // 更新 features/INDEX.md
793
+ const featuresIndexPath = (0, path_1.join)(featuresDir, 'INDEX.md');
794
+ let featuresIndex = '# 功能单元索引\n\n> 由 doc2spec --split 自动生成\n\n';
795
+ featuresIndex += '| 功能单元 | 来源章节 | 状态 | 涉及端 |\n';
796
+ featuresIndex += '| :--- | :--- | :--- | :--- |\n';
797
+ for (const unit of units) {
798
+ featuresIndex += `| ${unit.title} | ${unit.sourceSection} | draft | ${platformLabel} |\n`;
799
+ }
800
+ await (0, fs_extra_1.writeFile)(featuresIndexPath, featuresIndex);
801
+ logger_1.logger.success(`✅ 已拆分 ${written} 个功能单元到 features/`);
802
+ logger_1.logger.info(` 📂 ${featuresDir}/`);
803
+ }
804
+ /**
805
+ * 扫描 Markdown 内容,识别功能单元边界
806
+ * 策略:以 ## 级别标题作为功能单元主边界,### 作为子章节
807
+ */
808
+ function scanUnits(content) {
809
+ const lines = content.split('\n');
810
+ const units = [];
811
+ let currentUnit = null;
812
+ for (let i = 0; i < lines.length; i++) {
813
+ const line = lines[i];
814
+ const h2Match = line.match(/^##\s+(.+)$/);
815
+ const h3Match = line.match(/^###\s+(.+)$/);
816
+ if (h2Match) {
817
+ // 结束上一个单元
818
+ if (currentUnit) {
819
+ currentUnit.endLine = i - 1;
820
+ units.push(currentUnit);
821
+ }
822
+ // 开始新单元
823
+ currentUnit = {
824
+ title: h2Match[1].trim(),
825
+ level: 2,
826
+ startLine: i,
827
+ endLine: lines.length - 1,
828
+ sourceSection: h2Match[1].trim(),
829
+ };
830
+ }
831
+ else if (h3Match && !currentUnit) {
832
+ // 如果文档以 ### 开头(没有 ##),以 ### 作为单元边界
833
+ currentUnit = {
834
+ title: h3Match[1].trim(),
835
+ level: 3,
836
+ startLine: i,
837
+ endLine: lines.length - 1,
838
+ sourceSection: h3Match[1].trim(),
839
+ };
840
+ }
841
+ }
842
+ // 结束最后一个单元
843
+ if (currentUnit) {
844
+ currentUnit.endLine = lines.length - 1;
845
+ units.push(currentUnit);
846
+ }
847
+ // 过滤掉非功能单元的章节(如"附录"、"术语表"等)
848
+ const skipPatterns = /^(附录|术语表|参考文献|目录|引言|概述|总结|致谢|版权声明|修订记录|changelog|glossary|references|table of contents|introduction|overview|summary|acknowledgments)/i;
849
+ return units.filter(u => !skipPatterns.test(u.title));
850
+ }
851
+ /**
852
+ * 提取指定单元的内容
853
+ */
854
+ function extractUnitContent(content, unit) {
855
+ const lines = content.split('\n');
856
+ const unitLines = lines.slice(unit.startLine, unit.endLine + 1);
857
+ // 如果单元内容太短(<10行),可能是一个无效单元,返回原始内容
858
+ if (unitLines.length < 10) {
859
+ return unitLines.join('\n');
860
+ }
861
+ // 构建单元文档
862
+ let result = `# ${unit.title}\n\n`;
863
+ result += `> 来源: ${unit.sourceSection}\n> 生成时间: ${new Date().toISOString().split('T')[0]}\n\n`;
864
+ result += unitLines.join('\n');
865
+ return result;
866
+ }
867
+ /**
868
+ * 清理单元名称,用于目录名
869
+ */
870
+ function sanitizeUnitName(name) {
871
+ return name
872
+ .replace(/[^a-zA-Z0-9\u4e00-\u9fa5\-_]/g, '')
873
+ .replace(/^-+|-+$/g, '')
874
+ .slice(0, 50) || 'untitled';
875
+ }
745
876
  //# sourceMappingURL=doc2spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc2spec.js","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc2spec.js","sourceRoot":"","sources":["../../src/commands/doc2spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ interface UnitsOptions {
2
+ iter?: string;
3
+ list?: boolean;
4
+ edit?: string | boolean;
5
+ delete?: string;
6
+ merge?: string;
7
+ }
8
+ export declare function unitsCommand(options: UnitsOptions): Promise<void>;
9
+ export {};
10
+ //# sourceMappingURL=units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/commands/units.ts"],"names":[],"mappings":"AAaA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDvE"}
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unitsCommand = unitsCommand;
4
+ /**
5
+ * units — 功能单元管理
6
+ *
7
+ * 管理 010-requirements/features/ 下的功能单元:
8
+ * - 列出、查看、调整功能单元
9
+ * - 交互式合并、拆分、重命名
10
+ * - 查看变更履历
11
+ */
12
+ const logger_1 = require("../utils/logger");
13
+ const fs_extra_1 = require("fs-extra");
14
+ const path_1 = require("path");
15
+ async function unitsCommand(options) {
16
+ const iter = options.iter || '';
17
+ if (!iter) {
18
+ logger_1.logger.error('请指定迭代: speccore units --iter=<迭代>');
19
+ return;
20
+ }
21
+ const iterDir = `Iteration-${iter.replace(/^Iteration-/, '')}`;
22
+ const featuresDir = (0, path_1.join)(iterDir, '010-requirements', 'features');
23
+ if (!(await (0, fs_extra_1.pathExists)(featuresDir))) {
24
+ logger_1.logger.warn(`未找到功能单元目录: ${featuresDir}`);
25
+ logger_1.logger.info('请先运行: speccore doc2spec --file PRD.docx --split --iter=<迭代>');
26
+ return;
27
+ }
28
+ // ── 列出功能单元 ──
29
+ if (options.list || (!options.edit && !options.delete && !options.merge)) {
30
+ await listUnits(featuresDir);
31
+ return;
32
+ }
33
+ // ── 编辑功能单元 ──
34
+ if (options.edit) {
35
+ const unitName = typeof options.edit === 'string' ? options.edit : '';
36
+ if (unitName) {
37
+ await editUnit(featuresDir, unitName);
38
+ }
39
+ else {
40
+ await interactiveEdit(featuresDir);
41
+ }
42
+ return;
43
+ }
44
+ // ── 删除功能单元 ──
45
+ if (options.delete) {
46
+ await deleteUnit(featuresDir, options.delete);
47
+ return;
48
+ }
49
+ // ── 合并功能单元 ──
50
+ if (options.merge) {
51
+ const names = options.merge.split(',').map(s => s.trim());
52
+ if (names.length < 2) {
53
+ logger_1.logger.error('合并需要至少两个单元: --merge="单元A,单元B"');
54
+ return;
55
+ }
56
+ await mergeUnits(featuresDir, names);
57
+ return;
58
+ }
59
+ }
60
+ /**
61
+ * 列出所有功能单元
62
+ */
63
+ async function listUnits(featuresDir) {
64
+ const entries = await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true });
65
+ const units = entries.filter(e => e.isDirectory() && !e.name.startsWith('.') && e.name !== 'INDEX.md');
66
+ if (units.length === 0) {
67
+ logger_1.logger.info('暂无功能单元');
68
+ return;
69
+ }
70
+ logger_1.logger.info(`📦 功能单元 (${units.length}个):`);
71
+ logger_1.logger.info('');
72
+ logger_1.logger.info('┌────┬────────────────────────────┬──────────┬────────────────────────────┐');
73
+ logger_1.logger.info('│ 序号 │ 功能单元 │ 状态 │ 来源 │');
74
+ logger_1.logger.info('├────┼────────────────────────────┼──────────┼────────────────────────────┤');
75
+ for (let i = 0; i < units.length; i++) {
76
+ const unitDir = (0, path_1.join)(featuresDir, units[i].name);
77
+ const meta = await readUnitMeta(unitDir);
78
+ const status = meta.status || 'unknown';
79
+ const source = meta.source_file || meta.origin || 'unknown';
80
+ const displayName = units[i].name;
81
+ logger_1.logger.info(`│ ${String(i + 1).padStart(2)} │ ${displayName.padEnd(26)} │ ${status.padEnd(8)} │ ${source.padEnd(26)} │`);
82
+ }
83
+ logger_1.logger.info('└────┴────────────────────────────┴──────────┴────────────────────────────┘');
84
+ logger_1.logger.info('');
85
+ logger_1.logger.info('操作: speccore units --edit [单元名]');
86
+ logger_1.logger.info(' speccore units --merge "单元A,单元B"');
87
+ logger_1.logger.info(' speccore units --delete <单元名>');
88
+ }
89
+ /**
90
+ * 读取单元元信息
91
+ */
92
+ async function readUnitMeta(unitDir) {
93
+ const metaPath = (0, path_1.join)(unitDir, '.meta', 'source');
94
+ if (!(await (0, fs_extra_1.pathExists)(metaPath))) {
95
+ return {};
96
+ }
97
+ const content = await (0, fs_extra_1.readFile)(metaPath, 'utf-8');
98
+ const meta = {};
99
+ for (const line of content.split('\n')) {
100
+ const match = line.match(/^(\w+):\s*(.+)$/);
101
+ if (match) {
102
+ meta[match[1]] = match[2].trim();
103
+ }
104
+ }
105
+ return meta;
106
+ }
107
+ /**
108
+ * 编辑单个功能单元(显示内容摘要)
109
+ */
110
+ async function editUnit(featuresDir, unitName) {
111
+ const unitDir = (0, path_1.join)(featuresDir, unitName);
112
+ if (!(await (0, fs_extra_1.pathExists)(unitDir))) {
113
+ logger_1.logger.error(`功能单元不存在: ${unitName}`);
114
+ return;
115
+ }
116
+ const readmePath = (0, path_1.join)(unitDir, 'README.md');
117
+ if (!(await (0, fs_extra_1.pathExists)(readmePath))) {
118
+ logger_1.logger.error(`单元内容不存在: ${readmePath}`);
119
+ return;
120
+ }
121
+ const content = await (0, fs_extra_1.readFile)(readmePath, 'utf-8');
122
+ const lines = content.split('\n');
123
+ const title = lines[0].replace(/^#\s*/, '');
124
+ logger_1.logger.info(`📄 ${unitName}`);
125
+ logger_1.logger.info(` 标题: ${title}`);
126
+ logger_1.logger.info(` 行数: ${lines.length}`);
127
+ logger_1.logger.info(` 路径: ${readmePath}`);
128
+ logger_1.logger.info('');
129
+ // 显示前 10 行预览
130
+ const preview = lines.slice(0, 10).join('\n');
131
+ logger_1.logger.info('内容预览:');
132
+ logger_1.logger.info(preview);
133
+ if (lines.length > 10) {
134
+ logger_1.logger.info(`... (${lines.length - 10} 行省略)`);
135
+ }
136
+ }
137
+ /**
138
+ * 交互式编辑(菜单模式)
139
+ */
140
+ async function interactiveEdit(featuresDir) {
141
+ await listUnits(featuresDir);
142
+ }
143
+ /**
144
+ * 删除功能单元
145
+ */
146
+ async function deleteUnit(featuresDir, unitName) {
147
+ const unitDir = (0, path_1.join)(featuresDir, unitName);
148
+ if (!(await (0, fs_extra_1.pathExists)(unitDir))) {
149
+ logger_1.logger.error(`功能单元不存在: ${unitName}`);
150
+ return;
151
+ }
152
+ // 备份:移动到 .trash/
153
+ const trashDir = (0, path_1.join)(featuresDir, '.trash');
154
+ await (0, fs_extra_1.ensureDir)(trashDir);
155
+ const trashPath = (0, path_1.join)(trashDir, `${unitName}-${Date.now()}`);
156
+ // 记录删除前的快照和变更
157
+ await createVersionSnapshot(unitDir);
158
+ await appendChangelog(unitDir, {
159
+ version: 'v-deleted',
160
+ type: 'delete',
161
+ description: `删除并备份到 .trash/${(0, path_1.basename)(trashPath)}`,
162
+ timestamp: new Date().toISOString(),
163
+ });
164
+ // 简单重命名作为删除(实际项目中可用 fs-extra 的 move)
165
+ // 这里用 copy + remove 模拟
166
+ const fs = require('fs-extra');
167
+ await fs.copy(unitDir, trashPath);
168
+ await (0, fs_extra_1.remove)(unitDir);
169
+ logger_1.logger.success(`已删除功能单元: ${unitName}`);
170
+ logger_1.logger.info(` 备份位置: ${trashPath}`);
171
+ // 更新 INDEX.md
172
+ await updateFeaturesIndex(featuresDir);
173
+ }
174
+ /**
175
+ * 合并功能单元
176
+ */
177
+ async function mergeUnits(featuresDir, names) {
178
+ // 验证所有单元存在
179
+ for (const name of names) {
180
+ const unitDir = (0, path_1.join)(featuresDir, name);
181
+ if (!(await (0, fs_extra_1.pathExists)(unitDir))) {
182
+ logger_1.logger.error(`功能单元不存在: ${name}`);
183
+ return;
184
+ }
185
+ }
186
+ // 合并内容
187
+ const mergedName = `${names[0]}-merged`;
188
+ const mergedDir = (0, path_1.join)(featuresDir, mergedName);
189
+ await (0, fs_extra_1.ensureDir)(mergedDir);
190
+ await (0, fs_extra_1.ensureDir)((0, path_1.join)(mergedDir, '.meta'));
191
+ let mergedContent = `# 合并单元: ${names.join(' + ')}\n\n`;
192
+ mergedContent += `> 合并时间: ${new Date().toISOString().split('T')[0]}\n`;
193
+ mergedContent += `> 来源单元: ${names.join(', ')}\n\n`;
194
+ mergedContent += '---\n\n';
195
+ for (const name of names) {
196
+ const readmePath = (0, path_1.join)(featuresDir, name, 'README.md');
197
+ const content = await (0, fs_extra_1.readFile)(readmePath, 'utf-8');
198
+ mergedContent += `## ${name}\n\n${content}\n\n`;
199
+ }
200
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(mergedDir, 'README.md'), mergedContent);
201
+ // 记录合并操作
202
+ const adjustmentMeta = `---\noperation: merge\nsource_units: ${names.join(', ')}\nmerged_name: ${mergedName}\ntime: ${new Date().toISOString()}\n---\n`;
203
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(mergedDir, '.meta', 'adjustment'), adjustmentMeta);
204
+ // 标记原单元为 deprecated,并记录变更
205
+ for (const name of names) {
206
+ const unitDir = (0, path_1.join)(featuresDir, name);
207
+ await createVersionSnapshot(unitDir);
208
+ await appendChangelog(unitDir, {
209
+ version: 'v-deprecated',
210
+ type: 'merge',
211
+ description: `合并到 ${mergedName}`,
212
+ timestamp: new Date().toISOString(),
213
+ });
214
+ const metaPath = (0, path_1.join)(unitDir, '.meta', 'source');
215
+ if (await (0, fs_extra_1.pathExists)(metaPath)) {
216
+ let meta = await (0, fs_extra_1.readFile)(metaPath, 'utf-8');
217
+ meta = meta.replace(/status:\s*\w+/, 'status: deprecated');
218
+ await (0, fs_extra_1.writeFile)(metaPath, meta);
219
+ }
220
+ }
221
+ // 记录合并后单元的创建
222
+ await appendChangelog(mergedDir, {
223
+ version: 'v1',
224
+ type: 'merge',
225
+ description: `由 ${names.join(', ')} 合并而成`,
226
+ timestamp: new Date().toISOString(),
227
+ });
228
+ logger_1.logger.success(`已合并功能单元: ${names.join(' + ')} → ${mergedName}`);
229
+ // 更新 INDEX.md
230
+ await updateFeaturesIndex(featuresDir);
231
+ }
232
+ /**
233
+ * 更新 features/INDEX.md
234
+ */
235
+ async function updateFeaturesIndex(featuresDir) {
236
+ const entries = await (0, fs_extra_1.readdir)(featuresDir, { withFileTypes: true });
237
+ const units = entries.filter(e => e.isDirectory() && !e.name.startsWith('.') && e.name !== 'INDEX.md');
238
+ let index = '# 功能单元索引\n\n> 自动更新\n\n';
239
+ index += '| 功能单元 | 状态 | 来源 |\n';
240
+ index += '| :--- | :--- | :--- |\n';
241
+ for (const unit of units) {
242
+ const meta = await readUnitMeta((0, path_1.join)(featuresDir, unit.name));
243
+ const status = meta.status || 'unknown';
244
+ const source = meta.source_file || meta.origin || 'unknown';
245
+ index += `| ${unit.name} | ${status} | ${source} |\n`;
246
+ }
247
+ await (0, fs_extra_1.writeFile)((0, path_1.join)(featuresDir, 'INDEX.md'), index);
248
+ }
249
+ /**
250
+ * 创建版本快照(备份当前 README.md 到 .meta/versions/)
251
+ */
252
+ async function createVersionSnapshot(unitDir) {
253
+ const readmePath = (0, path_1.join)(unitDir, 'README.md');
254
+ if (!(await (0, fs_extra_1.pathExists)(readmePath)))
255
+ return;
256
+ const versionsDir = (0, path_1.join)(unitDir, '.meta', 'versions');
257
+ await (0, fs_extra_1.ensureDir)(versionsDir);
258
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
259
+ const snapshotPath = (0, path_1.join)(versionsDir, `v-${timestamp}.md`);
260
+ const content = await (0, fs_extra_1.readFile)(readmePath, 'utf-8');
261
+ await (0, fs_extra_1.writeFile)(snapshotPath, content);
262
+ }
263
+ /**
264
+ * 追加变更记录到 CHANGELOG.md
265
+ */
266
+ async function appendChangelog(unitDir, change) {
267
+ const changelogPath = (0, path_1.join)(unitDir, 'CHANGELOG.md');
268
+ let content = '';
269
+ if (await (0, fs_extra_1.pathExists)(changelogPath)) {
270
+ content = await (0, fs_extra_1.readFile)(changelogPath, 'utf-8');
271
+ }
272
+ else {
273
+ content = `# ${(0, path_1.basename)(unitDir)} - 变更履历\n\n`;
274
+ }
275
+ const entry = `## ${change.version} - ${change.timestamp.split('T')[0]}\n`;
276
+ const typeLabel = { create: '新增', update: '更新', merge: '合并', split: '拆分', delete: '删除' }[change.type];
277
+ content += `${entry}**类型**: ${typeLabel}\n**说明**: ${change.description}\n\n`;
278
+ await (0, fs_extra_1.writeFile)(changelogPath, content);
279
+ }
280
+ //# sourceMappingURL=units.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/commands/units.ts"],"names":[],"mappings":"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"}