speccore 5.27.28 → 5.27.30
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 +22 -22
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.js +10 -10
- package/dist/commands/audit.js +6 -6
- package/dist/commands/change.js +3 -3
- package/dist/commands/context-output.js +5 -5
- package/dist/commands/context.js +3 -3
- package/dist/commands/dashboard.js +11 -11
- package/dist/commands/delete.d.ts +1 -1
- package/dist/commands/delete.js +4 -4
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +23 -12
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/diff.d.ts +1 -1
- package/dist/commands/diff.js +1 -1
- package/dist/commands/doc2spec.js +7 -4
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/done.js +3 -3
- package/dist/commands/execute.js +3 -3
- package/dist/commands/global-status.js +2 -2
- package/dist/commands/handover.d.ts +1 -1
- package/dist/commands/handover.js +11 -11
- package/dist/commands/handover.js.map +1 -1
- package/dist/commands/help.js +19 -19
- package/dist/commands/history.d.ts +1 -1
- package/dist/commands/history.js +2 -2
- package/dist/commands/impact.js +8 -8
- package/dist/commands/import.js +1 -1
- package/dist/commands/init.js +33 -25
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/create.js +14 -14
- package/dist/commands/iteration/create.js.map +1 -1
- package/dist/commands/iteration/split.js +4 -4
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/iteration-from-global.d.ts +2 -2
- package/dist/commands/iteration-from-global.d.ts.map +1 -1
- package/dist/commands/iteration-from-global.js +17 -18
- package/dist/commands/iteration-from-global.js.map +1 -1
- package/dist/commands/lifecycle.js +1 -1
- package/dist/commands/pr.js +1 -1
- package/dist/commands/rename.d.ts +1 -1
- package/dist/commands/rename.js +4 -4
- package/dist/commands/retro.js +2 -2
- package/dist/commands/schedule.js +3 -3
- package/dist/commands/spec2doc.js +5 -5
- package/dist/commands/spec2doc.js.map +1 -1
- package/dist/commands/status-panel.js +8 -8
- package/dist/commands/sync-global.d.ts +2 -2
- package/dist/commands/sync-global.js +21 -21
- package/dist/commands/sync.js +6 -6
- package/dist/commands/update.js +1 -1
- package/dist/commands/welcome.js +3 -3
- package/dist/commands/welcome.js.map +1 -1
- package/dist/core/ai-context-generator.d.ts +1 -1
- package/dist/core/ai-context-generator.js +1 -1
- package/dist/core/analyze-engine.d.ts +1 -1
- package/dist/core/analyze-engine.js +5 -5
- package/dist/core/ask-engine.js +4 -4
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/ask-llm.js +1 -1
- package/dist/core/context.js +1 -1
- package/dist/core/dev-llm.js +2 -2
- package/dist/core/git-integration.d.ts +1 -1
- package/dist/core/git-integration.js +3 -3
- package/dist/core/global-counters.js +1 -1
- package/dist/core/global-layer.d.ts +3 -3
- package/dist/core/global-layer.js +11 -11
- package/dist/core/help-panel.d.ts +1 -1
- package/dist/core/help-panel.js +3 -3
- package/dist/core/intent-recognition.js +22 -22
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/name-validator.d.ts +4 -4
- package/dist/core/name-validator.js +5 -5
- package/dist/core/next-steps.js +1 -1
- package/dist/core/next-steps.js.map +1 -1
- package/dist/core/plan-store.d.ts +1 -1
- package/dist/core/requirement-tracker.d.ts +1 -1
- package/dist/core/requirement-tracker.js +4 -4
- package/dist/core/schedule-store.d.ts +1 -1
- package/dist/core/schemas/iteration.schema.d.ts +1 -1
- package/dist/core/schemas/iteration.schema.js +1 -1
- package/dist/core/session-state.d.ts +1 -1
- package/dist/core/state.js +1 -1
- package/package.json +1 -1
package/dist/core/dev-llm.js
CHANGED
|
@@ -18,7 +18,7 @@ function buildDevSystemPrompt(state) {
|
|
|
18
18
|
}).join('\n');
|
|
19
19
|
return `你是 SpecCore CLI 的 Pipeline 引导助手。当前项目状态:
|
|
20
20
|
|
|
21
|
-
##
|
|
21
|
+
## 迭代
|
|
22
22
|
${state.iteration || '未设置'}
|
|
23
23
|
|
|
24
24
|
## Pipeline 阶段
|
|
@@ -42,7 +42,7 @@ ${phaseList}
|
|
|
42
42
|
- jump-to: 跳转到特定阶段
|
|
43
43
|
|
|
44
44
|
## 参数规则
|
|
45
|
-
-
|
|
45
|
+
- 有迭代时自动加 --iteration=${state.iteration}
|
|
46
46
|
- 用户说"跳过分析" → skip-to split
|
|
47
47
|
- 用户说"从拆分开始" → start-from split
|
|
48
48
|
- 用户说"直接做 PR" → jump-to pr
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 为任务创建 Git 分支
|
|
12
12
|
*/
|
|
13
13
|
export declare function createTaskBranch(taskId: string, taskName: string, baseBranch?: string, iteration?: string): string | null;
|
|
14
|
-
/** 检测默认分支:
|
|
14
|
+
/** 检测默认分支: 迭代配置 > CONSTITUTION > git remote > 本地 */
|
|
15
15
|
export declare function detectDefaultBranch(iteration?: string): string | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* 获取当前分支关联的任务
|
|
@@ -26,7 +26,7 @@ const GIT_MAPPING_PATH = '.speccore/.git-mapping.json';
|
|
|
26
26
|
function createTaskBranch(taskId, taskName, baseBranch, iteration) {
|
|
27
27
|
try {
|
|
28
28
|
const branchName = `feature/${taskId}`.substring(0, 100);
|
|
29
|
-
// 确定 base 分支: 显式指定 > 依赖分支 >
|
|
29
|
+
// 确定 base 分支: 显式指定 > 依赖分支 > 迭代配置 > CONSTITUTION > git检测
|
|
30
30
|
let effectiveBase = baseBranch;
|
|
31
31
|
if (!effectiveBase) {
|
|
32
32
|
effectiveBase = detectDefaultBranch(iteration);
|
|
@@ -48,9 +48,9 @@ function createTaskBranch(taskId, taskName, baseBranch, iteration) {
|
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
/** 检测默认分支:
|
|
51
|
+
/** 检测默认分支: 迭代配置 > CONSTITUTION > git remote > 本地 */
|
|
52
52
|
function detectDefaultBranch(iteration) {
|
|
53
|
-
// 1.
|
|
53
|
+
// 1. 迭代级配置 (PROJECT_GRAPH.md 中 默认分支 字段)
|
|
54
54
|
if (iteration) {
|
|
55
55
|
try {
|
|
56
56
|
const iterGraphPath = (0, path_1.join)(`Iteration-${iteration}`, '000-overview', 'PROJECT_GRAPH.md');
|
|
@@ -5,7 +5,7 @@ exports.nextIterationId = nextIterationId;
|
|
|
5
5
|
exports.nextTaskId = nextTaskId;
|
|
6
6
|
exports.initCounters = initCounters;
|
|
7
7
|
/**
|
|
8
|
-
* global-counters —
|
|
8
|
+
* global-counters — 全局计数器,保证迭代/任务 ID 自增唯一
|
|
9
9
|
*/
|
|
10
10
|
const fs_extra_1 = require("fs-extra");
|
|
11
11
|
const path_1 = require("path");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GLOBAL 全量层管理核心模块
|
|
3
|
-
* 负责管理 GLOBAL/
|
|
3
|
+
* 负责管理 GLOBAL/ 目录下的全量需求索引、项目映射、迭代关联
|
|
4
4
|
*/
|
|
5
5
|
/** 需求状态 */
|
|
6
6
|
export type ReqStatus = '📦 已有实现' | '✅ 已实现' | '🔄 进行中' | '🔲 待开发' | '🗑️ 已废弃';
|
|
@@ -27,7 +27,7 @@ export interface ProjectEntry {
|
|
|
27
27
|
pending: number;
|
|
28
28
|
lastImport: string;
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
30
|
+
/** 迭代关联条目 */
|
|
31
31
|
export interface IterationLink {
|
|
32
32
|
name: string;
|
|
33
33
|
reqs: string[];
|
|
@@ -85,7 +85,7 @@ export declare function updateReqInIndex(reqId: string, updates: Partial<ReqInde
|
|
|
85
85
|
*/
|
|
86
86
|
export declare function upsertProjectInIndex(project: ProjectEntry): Promise<void>;
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
88
|
+
* 追加迭代关联到 INDEX.md
|
|
89
89
|
*/
|
|
90
90
|
export declare function appendIterationLink(link: IterationLink): Promise<void>;
|
|
91
91
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* GLOBAL 全量层管理核心模块
|
|
4
|
-
* 负责管理 GLOBAL/
|
|
4
|
+
* 负责管理 GLOBAL/ 目录下的全量需求索引、项目映射、迭代关联
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.readGlobalIndex = readGlobalIndex;
|
|
@@ -96,15 +96,15 @@ async function readGlobalIndex() {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
//
|
|
100
|
-
const iterTableMatch = content.match(/\|
|
|
99
|
+
// 解析迭代关联
|
|
100
|
+
const iterTableMatch = content.match(/\| 迭代名称 \|[\s\S]*?(?=\n\n---|$)/);
|
|
101
101
|
if (iterTableMatch) {
|
|
102
102
|
const lines = iterTableMatch[0].split('\n');
|
|
103
103
|
for (const line of lines) {
|
|
104
104
|
const cols = line.split('|').map((c) => c.trim());
|
|
105
105
|
if (line.includes(':---'))
|
|
106
106
|
continue;
|
|
107
|
-
if (cols.length >= 5 && cols[1] && cols[1] !== '_
|
|
107
|
+
if (cols.length >= 5 && cols[1] && cols[1] !== '_暂无迭代_' && cols[1] !== '迭代名称') {
|
|
108
108
|
index.iterations.push({
|
|
109
109
|
name: cols[1],
|
|
110
110
|
reqs: cols[2].split(',').map((r) => r.trim()),
|
|
@@ -183,7 +183,7 @@ async function updateReqInIndex(reqId, updates) {
|
|
|
183
183
|
if (line.includes(`| ${reqId} |`)) {
|
|
184
184
|
const cols = line.split('|').map((c) => c.trim());
|
|
185
185
|
// cols[0]是空, cols[1]是需求ID, cols[2]是项目, cols[3]是名称
|
|
186
|
-
// cols[4]是状态, cols[5]是版本, cols[6]
|
|
186
|
+
// cols[4]是状态, cols[5]是版本, cols[6]是关联迭代, cols[7]是关联Task, cols[8]是文件路径
|
|
187
187
|
if (cols.length >= 9 && cols[1] === reqId) {
|
|
188
188
|
if (updates.status)
|
|
189
189
|
cols[4] = updates.status;
|
|
@@ -244,19 +244,19 @@ async function upsertProjectInIndex(project) {
|
|
|
244
244
|
await (0, fs_extra_1.writeFile)(indexPath, content);
|
|
245
245
|
}
|
|
246
246
|
/**
|
|
247
|
-
*
|
|
247
|
+
* 追加迭代关联到 INDEX.md
|
|
248
248
|
*/
|
|
249
249
|
async function appendIterationLink(link) {
|
|
250
250
|
const indexPath = getIndexPath();
|
|
251
251
|
let content = await (0, fs_extra_1.readFile)(indexPath, 'utf-8');
|
|
252
252
|
const reqsStr = link.reqs.join(',');
|
|
253
253
|
const newLine = `| ${link.name} | ${reqsStr} | ${link.status} | ${link.createdAt} |`;
|
|
254
|
-
if (content.includes('_
|
|
255
|
-
content = content.replace(/\| _
|
|
254
|
+
if (content.includes('_暂无迭代_')) {
|
|
255
|
+
content = content.replace(/\| _暂无迭代_ \| - \| - \| - \|/, newLine);
|
|
256
256
|
}
|
|
257
257
|
else {
|
|
258
|
-
//
|
|
259
|
-
const iterSectionStart = content.indexOf('##
|
|
258
|
+
// 在迭代关联表格后面追加
|
|
259
|
+
const iterSectionStart = content.indexOf('## 迭代关联');
|
|
260
260
|
const iterSectionEnd = content.indexOf('\n---', iterSectionStart);
|
|
261
261
|
const insertPos = iterSectionEnd > iterSectionStart ? iterSectionEnd : content.length;
|
|
262
262
|
content = content.slice(0, insertPos) + '\n' + newLine + content.slice(insertPos);
|
|
@@ -335,7 +335,7 @@ async function writeProjectRequirements(project, projectType, requirements, tech
|
|
|
335
335
|
> | 当前版本 | v1.0 |
|
|
336
336
|
> | 状态 | 📦 已有实现 |
|
|
337
337
|
> | 最后修改 | ${today} \\| 修改人:SpecCore |
|
|
338
|
-
> |
|
|
338
|
+
> | 关联迭代 | - |
|
|
339
339
|
> | 关联 Task | - |
|
|
340
340
|
|
|
341
341
|
**需求描述**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HELP_PANEL = "\n\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \uD83E\uDDE0 = \u534F\u4F5C\u5F0F\uFF08\u652F\u6301 --interactive\uFF09 \u26A1 = \u5355\u6B21\u6267\u884C \u2502\n\u2502 \u6838\u5FC3\u6D41\u6C34\u7EBF: init \u2192 doc2spec \u2192 analyze \u2192 split \u2502\n\u2502 \u2192 plan \u2192 execute \u2192 pr \u2192 done \u2192 spec2doc \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83D\uDCE5 \u8D44\u4EA7\u63A5\u5165 \u2502\n\u2502 \uD83D\uDE80 init \u26A1 \u521D\u59CB\u5316\u9879\u76EE \u2502\n\u2502 \uD83D\uDCC5 iteration \u26A1 \
|
|
1
|
+
export declare const HELP_PANEL = "\n\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 \uD83E\uDDE0 = \u534F\u4F5C\u5F0F\uFF08\u652F\u6301 --interactive\uFF09 \u26A1 = \u5355\u6B21\u6267\u884C \u2502\n\u2502 \u6838\u5FC3\u6D41\u6C34\u7EBF: init \u2192 doc2spec \u2192 analyze \u2192 split \u2502\n\u2502 \u2192 plan \u2192 execute \u2192 pr \u2192 done \u2192 spec2doc \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83D\uDCE5 \u8D44\u4EA7\u63A5\u5165 \u2502\n\u2502 \uD83D\uDE80 init \u26A1 \u521D\u59CB\u5316\u9879\u76EE \u2502\n\u2502 \uD83D\uDCC5 iteration \u26A1 \u8FED\u4EE3\u7BA1\u7406 \u2502\n\u2502 \uD83D\uDCDD doc2spec \u26A1 \u5BFC\u5165 PRD \u2192 Spec MD\uFF08AI \u7CBE\u70BC\u63A8\u8350\uFF09 \u2502\n\u2502 \uD83D\uDCE4 spec2doc \u26A1 Spec MD \u2192 Word/PDF\uFF08AI \u6392\u7248\u63A8\u8350\uFF09 \u2502\n\u2502 \uD83D\uDCE6 task new \u26A1 \u521B\u5EFA\u4EFB\u52A1\uFF08\u652F\u6301\u6279\u91CF/\u8C03\u5EA6\uFF09 \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83E\uDD1D \u534F\u4F5C\u51B3\u7B56 \u2502\n\u2502 \uD83D\uDD0D analyze \uD83E\uDDE0 \u9700\u6C42\u5206\u6790+\u4EE3\u7801\u5BA1\u67E5\uFF08--interactive\uFF09 \u2502\n\u2502 \uD83D\uDCCA split \uD83E\uDDE0 \u62C6\u5206\u4E3ATask\uFF08--interactive\uFF09 \u2502\n\u2502 \uD83D\uDCCB plan \uD83E\uDDE0 \u6267\u884C\u8BA1\u5212\uFF08--interactive\uFF09 \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83D\uDE80 \u6267\u884C\u4EA4\u4ED8 \u2502\n\u2502 \uD83D\uDCBB execute \u26A1 \u81EA\u52A8\u6392\u5E8F+\u5206\u6279\u6267\u884C \u2502\n\u2502 \uD83D\uDD00 pr \uD83E\uDDE0 \u521B\u5EFAPR\uFF08--interactive\uFF09 \u2502\n\u2502 \u2705 done \uD83E\uDDE0 \u6536\u5C3E\u5F52\u6863\uFF08--interactive\uFF09 \u2502\n\u2502 \uD83D\uDD04 change \uD83E\uDDE0 \u9700\u6C42\u53D8\u66F4\uFF08--interactive\uFF09 \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83D\uDCCA \u6CBB\u7406 + \u8C03\u5EA6 \u2502\n\u2502 \u2705 validate \u26A1 \u5408\u89C4\u6821\u9A8C \u2502\n\u2502 \u23F0 schedule \u26A1 \u5B9A\u65F6\u8C03\u5EA6\uFF08create/list/daemon\uFF09 \u2502\n\u2502 \uD83D\uDDD1 rename \u26A1 \u91CD\u547D\u540D Task/\u8FED\u4EE3 \u2502\n\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502 \uD83D\uDCA1 \u667A\u80FD\u5165\u53E3 \u2502\n\u2502 speccore \u81EA\u9002\u5E94\u9762\u677F\uFF08\u68C0\u6D4B\u9636\u6BB5 \u2192 \u63D0\u793A\u4E0B\u4E00\u6B65\uFF09 \u2502\n\u2502 speccore ask \"...\" \u81EA\u7136\u8BED\u8A00\u610F\u56FE\u8BC6\u522B \u2502\n\u2502 speccore dev \u667A\u80FD\u7EA7\u8054\uFF1A\u81EA\u52A8\u68C0\u6D4B\u5E76\u6267\u884C\u4E0B\u4E00\u6B65 \u2502\n\u2502 speccore dashboard \u53EF\u89C6\u5316\u4EEA\u8868\u76D8\uFF08\u8FED\u4EE3/\u5168\u5C40\uFF09 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n";
|
|
2
2
|
//# sourceMappingURL=help-panel.d.ts.map
|
package/dist/core/help-panel.js
CHANGED
|
@@ -10,7 +10,7 @@ exports.HELP_PANEL = `
|
|
|
10
10
|
├──────────────────────────────────────────────────────────────┤
|
|
11
11
|
│ 📥 资产接入 │
|
|
12
12
|
│ 🚀 init ⚡ 初始化项目 │
|
|
13
|
-
│ 📅 iteration ⚡
|
|
13
|
+
│ 📅 iteration ⚡ 迭代管理 │
|
|
14
14
|
│ 📝 doc2spec ⚡ 导入 PRD → Spec MD(AI 精炼推荐) │
|
|
15
15
|
│ 📤 spec2doc ⚡ Spec MD → Word/PDF(AI 排版推荐) │
|
|
16
16
|
│ 📦 task new ⚡ 创建任务(支持批量/调度) │
|
|
@@ -29,13 +29,13 @@ exports.HELP_PANEL = `
|
|
|
29
29
|
│ 📊 治理 + 调度 │
|
|
30
30
|
│ ✅ validate ⚡ 合规校验 │
|
|
31
31
|
│ ⏰ schedule ⚡ 定时调度(create/list/daemon) │
|
|
32
|
-
│ 🗑 rename ⚡ 重命名 Task
|
|
32
|
+
│ 🗑 rename ⚡ 重命名 Task/迭代 │
|
|
33
33
|
├──────────────────────────────────────────────────────────────┤
|
|
34
34
|
│ 💡 智能入口 │
|
|
35
35
|
│ speccore 自适应面板(检测阶段 → 提示下一步) │
|
|
36
36
|
│ speccore ask "..." 自然语言意图识别 │
|
|
37
37
|
│ speccore dev 智能级联:自动检测并执行下一步 │
|
|
38
|
-
│ speccore dashboard
|
|
38
|
+
│ speccore dashboard 可视化仪表盘(迭代/全局) │
|
|
39
39
|
└──────────────────────────────────────────────────────────────┘
|
|
40
40
|
`;
|
|
41
41
|
//# sourceMappingURL=help-panel.js.map
|
|
@@ -43,14 +43,14 @@ const COMMAND_MAPPINGS = [
|
|
|
43
43
|
description: '快速 Bug 修复 — 创建修复任务并关联变更联动',
|
|
44
44
|
},
|
|
45
45
|
// 创建层
|
|
46
|
-
//
|
|
46
|
+
// 创建迭代(必须在通用创建之前,优先级更高)
|
|
47
47
|
{
|
|
48
48
|
id: 'iteration create',
|
|
49
49
|
intent: 'iteration_create',
|
|
50
50
|
priority: 92,
|
|
51
|
-
triggers: ['
|
|
52
|
-
patterns: ['创建(.+)
|
|
53
|
-
description: '
|
|
51
|
+
triggers: ['创建迭代', '新建迭代创建sprint'],
|
|
52
|
+
patterns: ['创建(.+)迭代创建(.+)迭代'],
|
|
53
|
+
description: '创建新迭代 — 生成 STAFFING + 产品需求 + 需求文档目录',
|
|
54
54
|
args: '--name=<name> --owner=<owner>',
|
|
55
55
|
},
|
|
56
56
|
// 需求分析
|
|
@@ -199,7 +199,7 @@ const COMMAND_MAPPINGS = [
|
|
|
199
199
|
priority: 65,
|
|
200
200
|
triggers: ['交接', '转交', '移交', '交付'],
|
|
201
201
|
patterns: ['交接(.+)', '转交(.+)', '生成交接文档'],
|
|
202
|
-
description: '生成交接文档 —
|
|
202
|
+
description: '生成交接文档 — 汇总迭代关键信息和待办事项',
|
|
203
203
|
},
|
|
204
204
|
// 健康度
|
|
205
205
|
{
|
|
@@ -217,7 +217,7 @@ const COMMAND_MAPPINGS = [
|
|
|
217
217
|
priority: 60,
|
|
218
218
|
triggers: ['回顾', '总结', '复盘', '反思'],
|
|
219
219
|
patterns: ['回顾(.+)', '总结(.+)', '复盘(.+)'],
|
|
220
|
-
description: '
|
|
220
|
+
description: '迭代回顾 — 总结经验和改进建议',
|
|
221
221
|
},
|
|
222
222
|
// 配置
|
|
223
223
|
{
|
|
@@ -276,14 +276,14 @@ const COMMAND_MAPPINGS = [
|
|
|
276
276
|
patterns: ['导入(.+)项目到全量', '添加(.+)到全量层', '导入(.+)作为(.+)项目'],
|
|
277
277
|
description: '导入到全量层 — 扫描项目代码并填充 GLOBAL/ 目录',
|
|
278
278
|
},
|
|
279
|
-
//
|
|
279
|
+
// 从全量生成迭代
|
|
280
280
|
{
|
|
281
281
|
id: 'iteration-from-global',
|
|
282
282
|
intent: 'iteration_from_global',
|
|
283
283
|
priority: 80,
|
|
284
|
-
triggers: ['从全量生成', '基于全局创建', '
|
|
285
|
-
patterns: ['从全量(.*)
|
|
286
|
-
description: '
|
|
284
|
+
triggers: ['从全量生成', '基于全局创建', '选择需求生成迭代'],
|
|
285
|
+
patterns: ['从全量(.*)生成迭代创建迭代', '选择(.*)需求生成迭代'],
|
|
286
|
+
description: '从全量层生成迭代 — 按需求 ID 选择并生成新的迭代',
|
|
287
287
|
},
|
|
288
288
|
// 同步全量
|
|
289
289
|
{
|
|
@@ -292,7 +292,7 @@ const COMMAND_MAPPINGS = [
|
|
|
292
292
|
priority: 70,
|
|
293
293
|
triggers: ['同步全量', '同步全局', '更新全量层', '同步到全量'],
|
|
294
294
|
patterns: ['同步(.*)到全量层', '更新全量层', '同步全量'],
|
|
295
|
-
description: '全量层双向同步 —
|
|
295
|
+
description: '全量层双向同步 — 迭代与全量层之间的双向同步',
|
|
296
296
|
},
|
|
297
297
|
// 全量状态
|
|
298
298
|
{
|
|
@@ -358,7 +358,7 @@ const COMMAND_MAPPINGS = [
|
|
|
358
358
|
priority: 78,
|
|
359
359
|
triggers: ['重命名', '改名', '修改名称', '更换名称', '改成', '改名为', '更名为'],
|
|
360
360
|
patterns: ['把(.*)改成(.*)', '重命名(.*)为(.*)', '修改(.*)名称为(.*)', '(.*)改名为(.*)'],
|
|
361
|
-
description: '
|
|
361
|
+
description: '重命名迭代/任务 — 自动更新所有关联引用',
|
|
362
362
|
},
|
|
363
363
|
// ============================================================
|
|
364
364
|
// v4.0.0 新增命令
|
|
@@ -412,27 +412,27 @@ const COMMAND_MAPPINGS = [
|
|
|
412
412
|
const CONTEXT_RULES = {
|
|
413
413
|
execute: {
|
|
414
414
|
intent: 'execute',
|
|
415
|
-
noContextMessage: '
|
|
416
|
-
withContextEnhancement: (ctx) =>
|
|
415
|
+
noContextMessage: '当前无活跃迭代,请先创建迭代',
|
|
416
|
+
withContextEnhancement: (ctx) => `当前迭代: ${ctx.currentIteration},准备执行待开发任务`,
|
|
417
417
|
},
|
|
418
418
|
query_progress: {
|
|
419
419
|
intent: 'query_progress',
|
|
420
|
-
noContextMessage: '
|
|
421
|
-
withContextEnhancement: (ctx) =>
|
|
420
|
+
noContextMessage: '当前无活跃迭代,无法查看进度',
|
|
421
|
+
withContextEnhancement: (ctx) => `当前迭代: ${ctx.currentIteration}`,
|
|
422
422
|
},
|
|
423
423
|
review: {
|
|
424
424
|
intent: 'review',
|
|
425
425
|
noContextMessage: '请指定要审查的 Task',
|
|
426
426
|
withContextEnhancement: (ctx) => ctx.currentTask
|
|
427
427
|
? `审查当前 Task: ${ctx.currentTask}`
|
|
428
|
-
:
|
|
428
|
+
: `审查当前迭代: ${ctx.currentIteration}`,
|
|
429
429
|
},
|
|
430
430
|
change: {
|
|
431
431
|
intent: 'change',
|
|
432
432
|
noContextMessage: '请指定要变更的 Task',
|
|
433
433
|
withContextEnhancement: (ctx) => ctx.currentTask
|
|
434
434
|
? `变更当前 Task: ${ctx.currentTask}`
|
|
435
|
-
:
|
|
435
|
+
: `变更当前迭代: ${ctx.currentIteration}`,
|
|
436
436
|
},
|
|
437
437
|
};
|
|
438
438
|
// ============================================================
|
|
@@ -483,12 +483,12 @@ async function recognizeIntent(input) {
|
|
|
483
483
|
if (activeIteration) {
|
|
484
484
|
totalScore += 15;
|
|
485
485
|
contextAware = true;
|
|
486
|
-
matched.push('上下文感知:
|
|
486
|
+
matched.push('上下文感知: 有活跃迭代');
|
|
487
487
|
}
|
|
488
488
|
else if (mapping.intent === 'execute' ||
|
|
489
489
|
mapping.intent === 'query_progress') {
|
|
490
490
|
totalScore -= 20; // 无上下文降权
|
|
491
|
-
matched.push('上下文感知:
|
|
491
|
+
matched.push('上下文感知: 无活跃迭代');
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
494
|
// 5. 计算置信度百分比 (0-100)
|
|
@@ -546,8 +546,8 @@ function extractParams(input, mapping) {
|
|
|
546
546
|
// 忽略
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
|
-
//
|
|
550
|
-
const iterMatch = input.match(
|
|
549
|
+
// 检测是否指定了迭代
|
|
550
|
+
const iterMatch = input.match(/迭代[::]*\s*(\S+)/);
|
|
551
551
|
if (iterMatch) {
|
|
552
552
|
params.iteration = iterMatch[1];
|
|
553
553
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 扫描所有迭代名称(去Iteration-NNN-前缀,返回原始 name 部分)
|
|
3
3
|
*/
|
|
4
4
|
export declare function getAllIterationNames(): Promise<string[]>;
|
|
5
5
|
/**
|
|
@@ -8,13 +8,13 @@ export declare function getAllIterationNames(): Promise<string[]>;
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function getAllTaskNames(): Promise<string[]>;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @returns
|
|
11
|
+
* 检查迭代名称是否重复
|
|
12
|
+
* @returns 冲突的迭代列表
|
|
13
13
|
*/
|
|
14
14
|
export declare function checkIterationNameConflict(name: string, excludeName?: string): Promise<string[]>;
|
|
15
15
|
/**
|
|
16
16
|
* 检查任务名称是否重复(全项目范围)
|
|
17
|
-
* @returns
|
|
17
|
+
* @returns 冲突的任务列表(含所属迭代)
|
|
18
18
|
*/
|
|
19
19
|
export declare function checkTaskNameConflict(name: string, excludeName?: string): Promise<{
|
|
20
20
|
name: string;
|
|
@@ -6,12 +6,12 @@ exports.checkIterationNameConflict = checkIterationNameConflict;
|
|
|
6
6
|
exports.checkTaskNameConflict = checkTaskNameConflict;
|
|
7
7
|
/**
|
|
8
8
|
* name-validator — 全局名称唯一性校验
|
|
9
|
-
*
|
|
9
|
+
* 迭代名称全项目唯一,任务名称全项目唯一
|
|
10
10
|
*/
|
|
11
11
|
const fs_extra_1 = require("fs-extra");
|
|
12
12
|
const path_1 = require("path");
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* 扫描所有迭代名称(去Iteration-NNN-前缀,返回原始 name 部分)
|
|
15
15
|
*/
|
|
16
16
|
async function getAllIterationNames() {
|
|
17
17
|
const cwd = process.cwd();
|
|
@@ -73,8 +73,8 @@ async function readTaskName(taskDir) {
|
|
|
73
73
|
return '';
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
*
|
|
77
|
-
* @returns
|
|
76
|
+
* 检查迭代名称是否重复
|
|
77
|
+
* @returns 冲突的迭代列表
|
|
78
78
|
*/
|
|
79
79
|
async function checkIterationNameConflict(name, excludeName) {
|
|
80
80
|
const existing = await getAllIterationNames();
|
|
@@ -82,7 +82,7 @@ async function checkIterationNameConflict(name, excludeName) {
|
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* 检查任务名称是否重复(全项目范围)
|
|
85
|
-
* @returns
|
|
85
|
+
* @returns 冲突的任务列表(含所属迭代)
|
|
86
86
|
*/
|
|
87
87
|
async function checkTaskNameConflict(name, excludeName) {
|
|
88
88
|
const cwd = process.cwd();
|
package/dist/core/next-steps.js
CHANGED
|
@@ -23,7 +23,7 @@ function getHints(stage, ctx) {
|
|
|
23
23
|
switch (stage) {
|
|
24
24
|
case 'init':
|
|
25
25
|
return [
|
|
26
|
-
{ action: 'speccore iteration create --name=Q3', desc: '
|
|
26
|
+
{ action: 'speccore iteration create --name=Q3', desc: '创建该迭代', args: '--from/--to 指定时间范围' },
|
|
27
27
|
{ action: 'speccore import --project=backend --path=./src', desc: '导入现有代码到全量层', args: '--type backend|frontend|shell' },
|
|
28
28
|
];
|
|
29
29
|
case 'doc2spec':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../src/core/next-steps.ts"],"names":[],"mappings":";;AAWA,sCAWC;AAtBD;;GAEG;AACH,4CAAyC;AAQzC,SAAgB,aAAa,CAAC,KAAa,EAAE,UAAkC,EAAE;IAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE/B,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7B,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI;YAAE,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAA2B;IAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAEjC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,OAAO;gBACL,EAAE,MAAM,EAAE,qCAAqC,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../src/core/next-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare function loadTracker(): Promise<ReqEntry[]>;
|
|
|
14
14
|
export declare function saveTracker(entries: ReqEntry[]): Promise<void>;
|
|
15
15
|
/**
|
|
16
16
|
* 注册或更新需求追踪
|
|
17
|
-
* @returns warnings —
|
|
17
|
+
* @returns warnings — 跨迭代冲突预警
|
|
18
18
|
*/
|
|
19
19
|
export declare function registerRequirement(title: string, iteration: string, changeType: '新增' | '修改' | '废弃'): Promise<string[]>;
|
|
20
20
|
/**
|
|
@@ -27,7 +27,7 @@ async function saveTracker(entries) {
|
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* 注册或更新需求追踪
|
|
30
|
-
* @returns warnings —
|
|
30
|
+
* @returns warnings — 跨迭代冲突预警
|
|
31
31
|
*/
|
|
32
32
|
async function registerRequirement(title, iteration, changeType) {
|
|
33
33
|
const entries = await loadTracker();
|
|
@@ -44,12 +44,12 @@ async function registerRequirement(title, iteration, changeType) {
|
|
|
44
44
|
existing.status = 'modified';
|
|
45
45
|
existing.lastModifiedIteration = iteration;
|
|
46
46
|
existing.changeHistory.push({ iteration, type: '修改', timestamp: now });
|
|
47
|
-
//
|
|
47
|
+
// 检测:是否有其他迭代也在修改同一个需求
|
|
48
48
|
const otherModifiers = existing.changeHistory
|
|
49
49
|
.filter(h => h.type === '修改' && h.iteration !== iteration)
|
|
50
50
|
.map(h => h.iteration);
|
|
51
51
|
if (otherModifiers.length > 0) {
|
|
52
|
-
warnings.push(`⚠️ "${title}"
|
|
52
|
+
warnings.push(`⚠️ "${title}" 曾在以下迭代被修改: ${[...new Set(otherModifiers)].join(', ')} — 注意合并冲突`);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
if (changeType === '废弃') {
|
|
@@ -77,7 +77,7 @@ async function generateTrackerReport() {
|
|
|
77
77
|
const entries = await loadTracker();
|
|
78
78
|
let report = `# 全量需求追踪\n\n`;
|
|
79
79
|
report += `> 自动生成 | ${new Date().toISOString().slice(0, 10)}\n\n`;
|
|
80
|
-
report += `| ID | 需求 | 状态 |
|
|
80
|
+
report += `| ID | 需求 | 状态 | 首次迭代 | 最近修改 | 变更次数 |\n`;
|
|
81
81
|
report += `| :--- | :--- | :--- | :--- | :--- | :--- |\n`;
|
|
82
82
|
for (const e of entries) {
|
|
83
83
|
const statusEmoji = e.status === 'active' ? '🟢' : e.status === 'modified' ? '🟡' : '⚫';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Iteration Schema — Zod 数据模型
|
|
4
|
-
*
|
|
4
|
+
* 定义迭代(迭代)的核心数据结构
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.IterationSchema = exports.IterationStatsSchema = exports.IterationGoalSchema = exports.IterationStatusSchema = void 0;
|
package/dist/core/state.js
CHANGED
|
@@ -65,7 +65,7 @@ function parseProjectGraph(content, iterationName) {
|
|
|
65
65
|
completionRate: 0
|
|
66
66
|
};
|
|
67
67
|
// Extract status from markdown
|
|
68
|
-
const statusMatch = content.match(
|
|
68
|
+
const statusMatch = content.match(/迭代状态[::]\s*(.+)/);
|
|
69
69
|
if (statusMatch) {
|
|
70
70
|
state.status = statusMatch[1].trim();
|
|
71
71
|
}
|