speccore 5.4.4 → 5.6.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/README.en.md +2 -2
- package/README.md +4 -4
- package/dist/cli.js +29 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/delete.d.ts +16 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +177 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/search.d.ts +11 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +95 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/watch.d.ts +11 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +164 -0
- package/dist/commands/watch.js.map +1 -0
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -179,7 +179,7 @@ SpecCore natively integrates WorkBuddy.
|
|
|
179
179
|
| [SDD Methodology](docs/sdd-methodology.en.md) | What is SDD, why, how |
|
|
180
180
|
| [Quick Reference](docs/quick-reference.en.md) | One-page: commands + safety + CI |
|
|
181
181
|
| [Quick Start](docs/quick-start.en.md) | Install → Init → Import → Multi-platform → Scenarios |
|
|
182
|
-
| [Command Reference](docs/commands.en.md) |
|
|
182
|
+
| [Command Reference](docs/commands.en.md) | 49 commands full params + 35 intents |
|
|
183
183
|
| [Tool Adaptation](docs/tool-adaptation.en.md) | WorkBuddy integration + workflow + security |
|
|
184
184
|
| [Usage Guide](docs/usage-guide.en.md) | File safety: manual edit vs CLI command |
|
|
185
185
|
| [Workspace Layout](docs/workspace-organization.en.md) | Recommended directory structure |
|
|
@@ -230,7 +230,7 @@ bash verify.sh # Run tests
|
|
|
230
230
|
|
|
231
231
|
## Version
|
|
232
232
|
|
|
233
|
-
v5.4.3 | 🔧 CLI Commands:
|
|
233
|
+
v5.4.3 | 🔧 CLI Commands: 49 | 🧠 Intents: 35
|
|
234
234
|
|
|
235
235
|
Changelog: [CHANGELOG.en.md](CHANGELOG.en.md)
|
|
236
236
|
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ SpecCore 由两部分组成,**职责明确,互不混淆**:
|
|
|
19
19
|
| **在哪里执行** | 终端 / Terminal | AI 编程工具(WorkBuddy / Cursor / Claude 等) |
|
|
20
20
|
| **怎么用** | `speccore init` | 输入 `/spec-xxx` |
|
|
21
21
|
| **什么原理** | TypeScript 编译,直接操作文件 | Markdown 指令,AI 读取后执行 |
|
|
22
|
-
| **数量** |
|
|
22
|
+
| **数量** | 49 个 CLI 命令 | 49 个 Slash Command |
|
|
23
23
|
| **何时用** | 项目初始化、文件校验、批量操作 | 日常开发:需求管理、开发执行、审查归档 |
|
|
24
24
|
|
|
25
25
|
> 💡 **简单记忆**:`speccore` 开头 → 终端执行;`/spec` 开头 → AI 工具中执行。
|
|
@@ -104,7 +104,7 @@ SpecCore 采用**确定性逻辑与智能逻辑解耦**的架构:
|
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
|
107
|
-
## 🔧 终端命令速查(
|
|
107
|
+
## 🔧 终端命令速查(49 个 CLI 命令)
|
|
108
108
|
|
|
109
109
|
> 在终端中执行,所有命令以 `speccore` 开头。
|
|
110
110
|
|
|
@@ -179,7 +179,7 @@ SpecCore 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/` ski
|
|
|
179
179
|
| [SDD 方法论](docs/SDD方法论.md) | SDD 是什么、为什么、怎么做 |
|
|
180
180
|
| [速查卡](docs/速查卡.md) | 一页掌握:常用命令 + 安全口诀 + CI 模板 |
|
|
181
181
|
| [快速开始指南](docs/快速开始.md) | 安装 → 初始化 → 导入 → 多端 Task → 场景速查 |
|
|
182
|
-
| [命令参考手册](docs/命令参考.md) |
|
|
182
|
+
| [命令参考手册](docs/命令参考.md) | 49 个命令完整参数 + 35 种意图映射 |
|
|
183
183
|
| [工具适配说明](docs/工具适配说明.md) | WorkBuddy 集成原理 + 工作流程 + 安全检查 |
|
|
184
184
|
| [使用指南](docs/使用指南.md) | 文件操作安全指南:可手动改 vs 必须用命令 |
|
|
185
185
|
| [工作空间组织](docs/工作空间组织.md) | 推荐目录结构 + 多工程协作 |
|
|
@@ -267,7 +267,7 @@ bash verify.sh
|
|
|
267
267
|
|
|
268
268
|
## 版本
|
|
269
269
|
|
|
270
|
-
v5.4.3 | 🔧 CLI 命令
|
|
270
|
+
v5.4.3 | 🔧 CLI 命令 49 个 | 🧠 意图识别 35 种
|
|
271
271
|
|
|
272
272
|
版本历史见 [CHANGELOG.md](CHANGELOG.md)
|
|
273
273
|
|
package/dist/cli.js
CHANGED
|
@@ -59,6 +59,11 @@ const update_1 = require("./commands/update");
|
|
|
59
59
|
// v5.3.0 新增
|
|
60
60
|
const diff_1 = require("./commands/diff");
|
|
61
61
|
const trace_1 = require("./commands/trace");
|
|
62
|
+
// v5.5.0 新增
|
|
63
|
+
const delete_1 = require("./commands/delete");
|
|
64
|
+
// v5.6.0 新增
|
|
65
|
+
const search_1 = require("./commands/search");
|
|
66
|
+
const watch_1 = require("./commands/watch");
|
|
62
67
|
const i18n_1 = require("./i18n");
|
|
63
68
|
commander_1.program
|
|
64
69
|
.name('speccore')
|
|
@@ -565,6 +570,30 @@ commander_1.program
|
|
|
565
570
|
.option('--task <id>', 'Trace from task ID')
|
|
566
571
|
.option('--full', 'Full project trace')
|
|
567
572
|
.action(trace_1.traceCommand);
|
|
573
|
+
// v5.5.0 新增命令
|
|
574
|
+
commander_1.program
|
|
575
|
+
.command('delete')
|
|
576
|
+
.alias('dl')
|
|
577
|
+
.description('Delete a task or iteration (moves to trash + cleans references) (v5.5)')
|
|
578
|
+
.option('--task <id>', 'Task ID to delete')
|
|
579
|
+
.option('--iteration <name>', 'Iteration name to delete')
|
|
580
|
+
.option('--force', 'Skip confirmation prompt')
|
|
581
|
+
.action(delete_1.deleteCommand);
|
|
582
|
+
// v5.6.0 新增命令
|
|
583
|
+
commander_1.program
|
|
584
|
+
.command('search <query>')
|
|
585
|
+
.alias('sh')
|
|
586
|
+
.description('Search across all Spec files for a keyword (v5.6)')
|
|
587
|
+
.option('--task <id>', 'Limit search to a task')
|
|
588
|
+
.option('--iteration <name>', 'Limit search to an iteration')
|
|
589
|
+
.action(search_1.searchCommand);
|
|
590
|
+
commander_1.program
|
|
591
|
+
.command('watch')
|
|
592
|
+
.alias('wch')
|
|
593
|
+
.description('Watch Spec files and auto-validate on save (v5.6)')
|
|
594
|
+
.option('--task <id>', 'Watch a specific task')
|
|
595
|
+
.option('--iteration <name>', 'Watch a specific iteration')
|
|
596
|
+
.action(watch_1.watchCommand);
|
|
568
597
|
// Parse arguments
|
|
569
598
|
commander_1.program.parse();
|
|
570
599
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* delete — 安全删除 Task 或期次,自动清理所有关联引用
|
|
3
|
+
*
|
|
4
|
+
* 不会直接 rm -rf,而是移动到 .speccore/trash/ 并清理:
|
|
5
|
+
* 1. GLOBAL/INDEX.md 引用
|
|
6
|
+
* 2. context.json 计数
|
|
7
|
+
* 3. .git-mapping.json 分支映射
|
|
8
|
+
* 4. 操作日志
|
|
9
|
+
*/
|
|
10
|
+
export interface DeleteOptions {
|
|
11
|
+
task?: string;
|
|
12
|
+
iteration?: string;
|
|
13
|
+
force?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function deleteCommand(options: DeleteOptions): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzE"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* delete — 安全删除 Task 或期次,自动清理所有关联引用
|
|
4
|
+
*
|
|
5
|
+
* 不会直接 rm -rf,而是移动到 .speccore/trash/ 并清理:
|
|
6
|
+
* 1. GLOBAL/INDEX.md 引用
|
|
7
|
+
* 2. context.json 计数
|
|
8
|
+
* 3. .git-mapping.json 分支映射
|
|
9
|
+
* 4. 操作日志
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.deleteCommand = deleteCommand;
|
|
13
|
+
const fs_extra_1 = require("fs-extra");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const logger_1 = require("../utils/logger");
|
|
16
|
+
const transaction_1 = require("../core/transaction");
|
|
17
|
+
const operation_log_1 = require("../core/operation-log");
|
|
18
|
+
async function deleteCommand(options) {
|
|
19
|
+
if (!options.task && !options.iteration) {
|
|
20
|
+
logger_1.logger.error('Usage:');
|
|
21
|
+
logger_1.logger.info(' speccore delete --task=Task-001');
|
|
22
|
+
logger_1.logger.info(' speccore delete --iteration=期次-2026-07');
|
|
23
|
+
logger_1.logger.info(' speccore delete --task=Task-001 --force (skip confirmation)');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const cwd = process.cwd();
|
|
27
|
+
if (options.task) {
|
|
28
|
+
await deleteTask(cwd, options.task, options.force);
|
|
29
|
+
}
|
|
30
|
+
else if (options.iteration) {
|
|
31
|
+
await deleteIteration(cwd, options.iteration, options.force);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// ============================================================
|
|
35
|
+
// 删除 Task
|
|
36
|
+
// ============================================================
|
|
37
|
+
async function deleteTask(cwd, taskId, force) {
|
|
38
|
+
// 1. 找到 Task 所在的期次
|
|
39
|
+
const { iterationDir, taskDir } = await findTask(cwd, taskId);
|
|
40
|
+
if (!taskDir) {
|
|
41
|
+
logger_1.logger.error(`Task "${taskId}" not found in any iteration.`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const iterName = iterationDir.split('/').pop();
|
|
45
|
+
// 2. 确认
|
|
46
|
+
if (!force) {
|
|
47
|
+
logger_1.logger.warn(`⚠️ About to delete: ${iterName}/${taskId}`);
|
|
48
|
+
logger_1.logger.info(' This will move the directory to .speccore/trash/ (recoverable).');
|
|
49
|
+
logger_1.logger.info(' All INDEX / context / git-mapping references will be cleaned.');
|
|
50
|
+
logger_1.logger.info('');
|
|
51
|
+
}
|
|
52
|
+
// 3. 移动到 trash
|
|
53
|
+
const trashDir = (0, path_1.join)(cwd, '.speccore', 'trash', `${iterName}-${taskId}-${Date.now()}`);
|
|
54
|
+
await (0, fs_extra_1.ensureDir)(trashDir);
|
|
55
|
+
await (0, fs_extra_1.move)(taskDir, trashDir, { overwrite: true });
|
|
56
|
+
logger_1.logger.info(`📦 Moved to: ${trashDir}`);
|
|
57
|
+
// 4. 清理 GLOBAL/INDEX.md
|
|
58
|
+
await cleanIndex(cwd, taskId);
|
|
59
|
+
// 5. 清理 context.json
|
|
60
|
+
await cleanContext(cwd, taskId);
|
|
61
|
+
// 6. 清理 git-mapping.json
|
|
62
|
+
await cleanGitMapping(cwd, taskId);
|
|
63
|
+
// 7. 日志
|
|
64
|
+
(0, operation_log_1.logOperation)('speccore delete', `Task: ${taskId}`);
|
|
65
|
+
logger_1.logger.success(`✅ Task "${taskId}" deleted and all references cleaned.`);
|
|
66
|
+
logger_1.logger.info(' To recover: mv the directory back from .speccore/trash/');
|
|
67
|
+
}
|
|
68
|
+
// ============================================================
|
|
69
|
+
// 删除 Iteration
|
|
70
|
+
// ============================================================
|
|
71
|
+
async function deleteIteration(cwd, iterName, force) {
|
|
72
|
+
const iterDir = (0, path_1.join)(cwd, iterName);
|
|
73
|
+
if (!(await (0, fs_extra_1.pathExists)(iterDir))) {
|
|
74
|
+
logger_1.logger.error(`Iteration "${iterName}" not found.`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
// 1. 扫描所有 Task
|
|
78
|
+
const tasks = await scanTasks(iterDir);
|
|
79
|
+
if (!force) {
|
|
80
|
+
logger_1.logger.warn(`⚠️ About to delete iteration: ${iterName}`);
|
|
81
|
+
logger_1.logger.info(` Tasks: ${tasks.length} (${tasks.join(', ')})`);
|
|
82
|
+
logger_1.logger.info(' Directories will move to .speccore/trash/ (recoverable).');
|
|
83
|
+
logger_1.logger.info('');
|
|
84
|
+
}
|
|
85
|
+
// 2. 逐个清理每个 Task 的引用
|
|
86
|
+
for (const task of tasks) {
|
|
87
|
+
await cleanIndex(cwd, task);
|
|
88
|
+
await cleanContext(cwd, task);
|
|
89
|
+
await cleanGitMapping(cwd, task);
|
|
90
|
+
}
|
|
91
|
+
// 3. 移动整个迭代目录到 trash
|
|
92
|
+
const trashDir = (0, path_1.join)(cwd, '.speccore', 'trash', `${iterName}-${Date.now()}`);
|
|
93
|
+
await (0, fs_extra_1.ensureDir)(trashDir);
|
|
94
|
+
await (0, fs_extra_1.move)(iterDir, trashDir, { overwrite: true });
|
|
95
|
+
logger_1.logger.info(`📦 Moved to: ${trashDir}`);
|
|
96
|
+
// 4. 日志
|
|
97
|
+
(0, operation_log_1.logOperation)('speccore delete', `Iteration: ${iterName} (${tasks.length} tasks)`);
|
|
98
|
+
logger_1.logger.success(`✅ Iteration "${iterName}" deleted (${tasks.length} tasks) and all references cleaned.`);
|
|
99
|
+
logger_1.logger.info(' To recover: mv the directory back from .speccore/trash/');
|
|
100
|
+
}
|
|
101
|
+
// ============================================================
|
|
102
|
+
// 辅助函数
|
|
103
|
+
// ============================================================
|
|
104
|
+
async function findTask(cwd, taskId) {
|
|
105
|
+
// 检查最常见的期次前缀
|
|
106
|
+
const entries = await (0, fs_extra_1.readdir)(cwd, { withFileTypes: true });
|
|
107
|
+
const iterations = entries.filter((e) => e.isDirectory() && e.name.startsWith('期次-'));
|
|
108
|
+
for (const iter of iterations) {
|
|
109
|
+
const taskDir = (0, path_1.join)(cwd, iter.name, taskId);
|
|
110
|
+
if (await (0, fs_extra_1.pathExists)(taskDir)) {
|
|
111
|
+
return { iterationDir: (0, path_1.join)(cwd, iter.name), taskDir };
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 如果不带期次前缀,检查所有目录
|
|
115
|
+
const allDirs = entries.filter((e) => e.isDirectory() && !e.name.startsWith('.'));
|
|
116
|
+
for (const dir of allDirs) {
|
|
117
|
+
if (iterations.find((i) => i.name === dir.name))
|
|
118
|
+
continue; // already checked
|
|
119
|
+
const taskDir = (0, path_1.join)(cwd, dir.name, taskId);
|
|
120
|
+
if (await (0, fs_extra_1.pathExists)(taskDir)) {
|
|
121
|
+
return { iterationDir: (0, path_1.join)(cwd, dir.name), taskDir };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return { iterationDir: '', taskDir: '' };
|
|
125
|
+
}
|
|
126
|
+
async function scanTasks(dir) {
|
|
127
|
+
try {
|
|
128
|
+
const entries = await (0, fs_extra_1.readdir)(dir, { withFileTypes: true });
|
|
129
|
+
return entries.filter((e) => e.isDirectory() && e.name.startsWith('Task-')).map((e) => e.name);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return [];
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async function cleanIndex(cwd, taskId) {
|
|
136
|
+
const indexPath = (0, path_1.join)(cwd, '.speccore', 'GLOBAL', 'INDEX.md');
|
|
137
|
+
if (!(await (0, fs_extra_1.pathExists)(indexPath)))
|
|
138
|
+
return;
|
|
139
|
+
const tx = new transaction_1.FileTransaction();
|
|
140
|
+
const content = await (0, fs_extra_1.readFile)(indexPath, 'utf-8');
|
|
141
|
+
const lines = content.split('\n');
|
|
142
|
+
const filtered = lines.filter((line) => !line.includes(taskId));
|
|
143
|
+
if (filtered.length !== lines.length) {
|
|
144
|
+
tx.write(indexPath, filtered.join('\n'));
|
|
145
|
+
await tx.commit();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function cleanContext(cwd, taskId) {
|
|
149
|
+
const ctxPath = (0, path_1.join)(cwd, '.speccore', 'local', 'context.json');
|
|
150
|
+
if (!(await (0, fs_extra_1.pathExists)(ctxPath)))
|
|
151
|
+
return;
|
|
152
|
+
const tx = new transaction_1.FileTransaction();
|
|
153
|
+
const ctx = JSON.parse(await (0, fs_extra_1.readFile)(ctxPath, 'utf-8'));
|
|
154
|
+
// 清理 currentTask 引用
|
|
155
|
+
if (ctx.currentTask === taskId) {
|
|
156
|
+
ctx.currentTask = '';
|
|
157
|
+
}
|
|
158
|
+
// 清理 history 中的引用
|
|
159
|
+
if (ctx.history) {
|
|
160
|
+
ctx.history = ctx.history.filter((h) => h.task !== taskId);
|
|
161
|
+
}
|
|
162
|
+
tx.write(ctxPath, JSON.stringify(ctx, null, 2));
|
|
163
|
+
await tx.commit();
|
|
164
|
+
}
|
|
165
|
+
async function cleanGitMapping(cwd, taskId) {
|
|
166
|
+
const mappingPath = (0, path_1.join)(cwd, '.speccore', '.git-mapping.json');
|
|
167
|
+
if (!(await (0, fs_extra_1.pathExists)(mappingPath)))
|
|
168
|
+
return;
|
|
169
|
+
const tx = new transaction_1.FileTransaction();
|
|
170
|
+
const mapping = JSON.parse(await (0, fs_extra_1.readFile)(mappingPath, 'utf-8'));
|
|
171
|
+
if (mapping.tasks && mapping.tasks[taskId]) {
|
|
172
|
+
delete mapping.tasks[taskId];
|
|
173
|
+
tx.write(mappingPath, JSON.stringify(mapping, null, 2));
|
|
174
|
+
await tx.commit();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* search — 跨 Spec 文件搜索
|
|
3
|
+
*/
|
|
4
|
+
export interface SearchOptions {
|
|
5
|
+
query: string;
|
|
6
|
+
task?: string;
|
|
7
|
+
iteration?: string;
|
|
8
|
+
glob?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function searchCommand(options: SearchOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCzE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* search — 跨 Spec 文件搜索
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.searchCommand = searchCommand;
|
|
7
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const logger_1 = require("../utils/logger");
|
|
10
|
+
async function searchCommand(options) {
|
|
11
|
+
if (!options.query) {
|
|
12
|
+
logger_1.logger.error('Usage: speccore search <keyword> [--task=<id>] [--iteration=<name>]');
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const cwd = process.cwd();
|
|
16
|
+
const keyword = options.query.toLowerCase();
|
|
17
|
+
const results = [];
|
|
18
|
+
// 1. Search in task files
|
|
19
|
+
if (options.task || options.iteration) {
|
|
20
|
+
await searchInIterationOrTask(cwd, keyword, results, options);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// Search everything
|
|
24
|
+
await searchInDir((0, path_1.join)(cwd, '.speccore'), keyword, results);
|
|
25
|
+
await searchAllIterations(cwd, keyword, results);
|
|
26
|
+
}
|
|
27
|
+
// 2. Output
|
|
28
|
+
logger_1.logger.info('');
|
|
29
|
+
logger_1.logger.info(`🔍 搜索: "${options.query}" — ${results.length} 个匹配`);
|
|
30
|
+
logger_1.logger.info('');
|
|
31
|
+
if (results.length === 0) {
|
|
32
|
+
logger_1.logger.info(' 暂无匹配结果。');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
for (const r of results.slice(0, 30)) {
|
|
36
|
+
const snippet = r.content.length > 80 ? r.content.slice(0, 80) + '...' : r.content;
|
|
37
|
+
logger_1.logger.info(` ${r.file}:${r.line} ${snippet}`);
|
|
38
|
+
}
|
|
39
|
+
if (results.length > 30) {
|
|
40
|
+
logger_1.logger.info(` ... 还有 ${results.length - 30} 个结果(超过显示上限)`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async function searchAllIterations(cwd, keyword, results) {
|
|
44
|
+
const entries = await (0, fs_extra_1.readdir)(cwd, { withFileTypes: true });
|
|
45
|
+
const iterations = entries.filter((e) => e.isDirectory() && e.name.startsWith('期次-'));
|
|
46
|
+
for (const iter of iterations) {
|
|
47
|
+
await searchInDir((0, path_1.join)(cwd, iter.name), keyword, results);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function searchInIterationOrTask(cwd, keyword, results, options) {
|
|
51
|
+
if (options.task) {
|
|
52
|
+
const entries = await (0, fs_extra_1.readdir)(cwd, { withFileTypes: true });
|
|
53
|
+
for (const e of entries) {
|
|
54
|
+
if (e.isDirectory() && e.name.startsWith('期次-')) {
|
|
55
|
+
const taskDir = (0, path_1.join)(cwd, e.name, options.task);
|
|
56
|
+
if (await (0, fs_extra_1.pathExists)(taskDir)) {
|
|
57
|
+
await searchInDir(taskDir, keyword, results);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else if (options.iteration) {
|
|
63
|
+
await searchInDir((0, path_1.join)(cwd, options.iteration), keyword, results);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function searchInDir(dir, keyword, results) {
|
|
67
|
+
if (!(await (0, fs_extra_1.pathExists)(dir)))
|
|
68
|
+
return;
|
|
69
|
+
const entries = await (0, fs_extra_1.readdir)(dir, { withFileTypes: true });
|
|
70
|
+
for (const e of entries) {
|
|
71
|
+
const fullPath = (0, path_1.join)(dir, e.name);
|
|
72
|
+
if (e.isDirectory()) {
|
|
73
|
+
if (e.name.startsWith('.') || e.name === 'node_modules' || e.name === 'trash' || e.name === 'archived')
|
|
74
|
+
continue;
|
|
75
|
+
await searchInDir(fullPath, keyword, results);
|
|
76
|
+
}
|
|
77
|
+
else if (e.name.endsWith('.md') || e.name.endsWith('.yaml') || e.name.endsWith('.json')) {
|
|
78
|
+
try {
|
|
79
|
+
const content = await (0, fs_extra_1.readFile)(fullPath, 'utf-8');
|
|
80
|
+
const lines = content.split('\n');
|
|
81
|
+
for (let i = 0; i < lines.length; i++) {
|
|
82
|
+
if (lines[i].toLowerCase().includes(keyword)) {
|
|
83
|
+
results.push({
|
|
84
|
+
file: fullPath.replace(process.cwd() + '/', ''),
|
|
85
|
+
line: i + 1,
|
|
86
|
+
content: lines[i].trim(),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch { }
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* watch — 文件变更自动校验
|
|
3
|
+
*
|
|
4
|
+
* 监听 Spec 文件变化,保存时自动运行 validate
|
|
5
|
+
*/
|
|
6
|
+
export interface WatchOptions {
|
|
7
|
+
task?: string;
|
|
8
|
+
iteration?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function watchCommand(options: WatchOptions): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDvE"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* watch — 文件变更自动校验
|
|
4
|
+
*
|
|
5
|
+
* 监听 Spec 文件变化,保存时自动运行 validate
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.watchCommand = watchCommand;
|
|
42
|
+
const fs_1 = require("fs");
|
|
43
|
+
const path_1 = require("path");
|
|
44
|
+
const fs_extra_1 = require("fs-extra");
|
|
45
|
+
const logger_1 = require("../utils/logger");
|
|
46
|
+
async function watchCommand(options) {
|
|
47
|
+
const cwd = process.cwd();
|
|
48
|
+
const watchDirs = [];
|
|
49
|
+
// Determine what to watch
|
|
50
|
+
if (options.task) {
|
|
51
|
+
const iter = options.iteration || await findIterationForTask(cwd, options.task);
|
|
52
|
+
if (iter) {
|
|
53
|
+
watchDirs.push((0, path_1.join)(cwd, iter, options.task));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
logger_1.logger.error(`Task "${options.task}" not found`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else if (options.iteration) {
|
|
61
|
+
watchDirs.push((0, path_1.join)(cwd, options.iteration));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Watch entire project
|
|
65
|
+
watchDirs.push((0, path_1.join)(cwd, '.speccore'));
|
|
66
|
+
watchDirs.push(cwd); // all iterations
|
|
67
|
+
}
|
|
68
|
+
logger_1.logger.info('');
|
|
69
|
+
logger_1.logger.info('👀 Watching Spec files for changes...');
|
|
70
|
+
logger_1.logger.info(' Save a file to auto-validate. Press Ctrl+C to stop.');
|
|
71
|
+
logger_1.logger.info('');
|
|
72
|
+
// Debounce: avoid duplicate validations for rapid saves
|
|
73
|
+
const debounceMap = new Map();
|
|
74
|
+
for (const dir of watchDirs) {
|
|
75
|
+
if (!(await (0, fs_extra_1.pathExists)(dir))) {
|
|
76
|
+
logger_1.logger.warn(` Directory not found: ${dir}`);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
watchRecursive(dir, (filePath) => {
|
|
80
|
+
// Only react to .md and .yaml changes
|
|
81
|
+
if (!filePath.endsWith('.md') && !filePath.endsWith('.yaml'))
|
|
82
|
+
return;
|
|
83
|
+
// Debounce 300ms
|
|
84
|
+
if (debounceMap.has(filePath)) {
|
|
85
|
+
clearTimeout(debounceMap.get(filePath));
|
|
86
|
+
}
|
|
87
|
+
debounceMap.set(filePath, setTimeout(() => {
|
|
88
|
+
validateFile(filePath);
|
|
89
|
+
debounceMap.delete(filePath);
|
|
90
|
+
}, 300));
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// Keep process alive
|
|
94
|
+
await new Promise(() => { });
|
|
95
|
+
}
|
|
96
|
+
function watchRecursive(dir, callback) {
|
|
97
|
+
try {
|
|
98
|
+
(0, fs_1.watch)(dir, { recursive: true }, (eventType, filename) => {
|
|
99
|
+
if (filename && eventType === 'change') {
|
|
100
|
+
callback((0, path_1.join)(dir, filename));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch { }
|
|
105
|
+
}
|
|
106
|
+
async function findIterationForTask(cwd, taskId) {
|
|
107
|
+
const { readdir } = await Promise.resolve().then(() => __importStar(require('fs-extra')));
|
|
108
|
+
const entries = await readdir(cwd, { withFileTypes: true });
|
|
109
|
+
for (const e of entries) {
|
|
110
|
+
if (e.isDirectory() && e.name.startsWith('期次-')) {
|
|
111
|
+
if (await (0, fs_extra_1.pathExists)((0, path_1.join)(cwd, e.name, taskId))) {
|
|
112
|
+
return e.name;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return '';
|
|
117
|
+
}
|
|
118
|
+
function validateFile(filePath) {
|
|
119
|
+
const filename = filePath.split('/').pop() || filePath;
|
|
120
|
+
const relPath = filePath.replace(process.cwd() + '/', '');
|
|
121
|
+
// Quick validation heuristics
|
|
122
|
+
let status;
|
|
123
|
+
let detail = '';
|
|
124
|
+
if (filePath.endsWith('.yaml')) {
|
|
125
|
+
// Check YAML indentation (2-space rule)
|
|
126
|
+
try {
|
|
127
|
+
const { readFileSync } = require('fs');
|
|
128
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
129
|
+
const lines = content.split('\n');
|
|
130
|
+
let hasTab = false;
|
|
131
|
+
for (const line of lines) {
|
|
132
|
+
if (line.match(/^\t/)) {
|
|
133
|
+
hasTab = true;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
status = hasTab ? '❌' : '✅';
|
|
138
|
+
detail = hasTab ? ' (tab indentation — use 2 spaces)' : ' (valid YAML)';
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
status = '❌';
|
|
142
|
+
detail = ' (read error)';
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else if (filePath.endsWith('REQ.md')) {
|
|
146
|
+
try {
|
|
147
|
+
const { readFileSync } = require('fs');
|
|
148
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
149
|
+
const sections = ['## 1. 需求背景', '## 2. 功能描述', '## 3. 接口定义', '## 4. 验收标准'];
|
|
150
|
+
const missing = sections.filter(s => !content.includes(s));
|
|
151
|
+
status = missing.length === 0 ? '✅' : '⚠️';
|
|
152
|
+
detail = missing.length > 0 ? ` (missing: ${missing.map(s => s.split('. ')[1]).join(', ')})` : '';
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
status = '❌';
|
|
156
|
+
detail = ' (read error)';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
status = '✅';
|
|
161
|
+
}
|
|
162
|
+
logger_1.logger.info(` ${status} ${relPath}${detail}`);
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|