speccore 7.3.1 → 7.4.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.
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +23 -5
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +212 -123
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +20 -1
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/core/questions.d.ts +15 -0
- package/dist/core/questions.d.ts.map +1 -1
- package/dist/core/questions.js +50 -0
- package/dist/core/questions.js.map +1 -1
- package/package.json +1 -1
package/dist/core/questions.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.writeQuestions = writeQuestions;
|
|
4
4
|
exports.appendQuestions = appendQuestions;
|
|
5
|
+
exports.extractQuestionsFromText = extractQuestionsFromText;
|
|
6
|
+
exports.collectQuestionFiles = collectQuestionFiles;
|
|
5
7
|
exports.isAutoMode = isAutoMode;
|
|
6
8
|
exports.buildAutoModeInstruction = buildAutoModeInstruction;
|
|
7
9
|
/**
|
|
@@ -75,6 +77,54 @@ async function appendQuestions(existingFilePath, questions) {
|
|
|
75
77
|
await (0, fs_extra_1.writeFile)(existingFilePath, existing + addition, 'utf-8');
|
|
76
78
|
logger_1.logger.info(` 📝 追加 ${questions.length} 项疑问 → ${existingFilePath}`);
|
|
77
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* 从 AI 输出文本中提取疑问条目
|
|
82
|
+
*
|
|
83
|
+
* 匹配格式:
|
|
84
|
+
* ## 疑问 N — 分类标签
|
|
85
|
+
* - **问题**: ...
|
|
86
|
+
* - **判断**: ...
|
|
87
|
+
* - **建议**: ...
|
|
88
|
+
*/
|
|
89
|
+
function extractQuestionsFromText(text) {
|
|
90
|
+
const questions = [];
|
|
91
|
+
// 匹配 "## 疑问 N — 分类" 或 "## 疑问 N - 分类"
|
|
92
|
+
const questionBlocks = text.split(/(?=^## \s*疑问\s+\d+)/m);
|
|
93
|
+
for (const block of questionBlocks) {
|
|
94
|
+
if (!block.match(/^## \s*疑问\s+\d+/))
|
|
95
|
+
continue;
|
|
96
|
+
// 提取分类标签
|
|
97
|
+
const categoryMatch = block.match(/^## \s*疑问\s+\d+\s*[—\-–]\s*(.+)$/m);
|
|
98
|
+
const category = categoryMatch ? categoryMatch[1].trim() : '未分类';
|
|
99
|
+
// 提取问题/判断/建议
|
|
100
|
+
const questionMatch = block.match(/\*\*问题\*\*[::]\s*(.+)/);
|
|
101
|
+
const decisionMatch = block.match(/\*\*判断\*\*[::]\s*(.+)/);
|
|
102
|
+
const suggestionMatch = block.match(/\*\*建议\*\*[::]\s*(.+)/);
|
|
103
|
+
if (questionMatch && decisionMatch) {
|
|
104
|
+
questions.push({
|
|
105
|
+
category,
|
|
106
|
+
question: questionMatch[1].trim(),
|
|
107
|
+
decision: decisionMatch[1].trim(),
|
|
108
|
+
suggestion: suggestionMatch ? suggestionMatch[1].trim() : undefined,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return questions;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 收集 .speccore/questions/ 目录下所有疑问清单文件
|
|
116
|
+
* 返回按时间排序的文件路径列表
|
|
117
|
+
*/
|
|
118
|
+
async function collectQuestionFiles() {
|
|
119
|
+
const questionsDir = (0, path_1.join)('.speccore', 'questions');
|
|
120
|
+
if (!(await (0, fs_extra_1.pathExists)(questionsDir)))
|
|
121
|
+
return [];
|
|
122
|
+
const files = await (0, fs_extra_1.readdir)(questionsDir);
|
|
123
|
+
return files
|
|
124
|
+
.filter(f => f.endsWith('.md'))
|
|
125
|
+
.sort()
|
|
126
|
+
.map(f => (0, path_1.join)(questionsDir, f));
|
|
127
|
+
}
|
|
78
128
|
/**
|
|
79
129
|
* 判断是否为自动模式(非交互模式)
|
|
80
130
|
* 统一判断: 没有 --interactive 或 --strict 标记时为自动模式
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/core/questions.ts"],"names":[],"mappings":";;AAmDA,wCA0BC;AAKD,0CAyBC;AAMD,gCAEC;AAMD,4DAeC;
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/core/questions.ts"],"names":[],"mappings":"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"}
|