speccore 4.6.0 → 4.7.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 CHANGED
@@ -1,4 +1,4 @@
1
- # SpecCore CLI
1
+ # SpecCore
2
2
 
3
3
  > **Code by Spec, Not by Vibe.**
4
4
 
@@ -6,7 +6,7 @@
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
8
8
 
9
- SpecCore CLI is the official TypeScript command-line tool for the [SpecCore specification-driven development framework](https://github.com/windfallsheng/SpecCore). It decouples deterministic operations (file creation, directory management, format validation, status statistics) from AI, executing them directly through code to improve efficiency and reduce Token consumption.
9
+ SpecCore is a specification-driven development framework for AI-native teams. It decouples deterministic operations (file creation, directory management, format validation, status statistics) from AI, executing them directly through code to improve efficiency and reduce Token consumption.
10
10
 
11
11
  > 💡 **v4.0.0** | 39 Commands | 31 Intent Types | Multi-Platform
12
12
 
@@ -165,7 +165,7 @@ Iteration-XXX/ ← Iteration Layer: what this iteration does
165
165
  | :--- | :--- |
166
166
  | WorkBuddy / Qcoder / Trae | Cursor / Claude Code / Windsurf / Gemini CLI / OpenCode |
167
167
 
168
- SpecCore CLI natively integrates WorkBuddy. Other tools supported via the SpecCore framework.
168
+ SpecCore natively integrates WorkBuddy.
169
169
 
170
170
  > 📚 See [Tool Adaptation](docs/tool-adaptation.en.md)
171
171
 
@@ -181,7 +181,9 @@ SpecCore CLI natively integrates WorkBuddy. Other tools supported via the SpecCo
181
181
  | [命令参考手册](docs/命令参考.md) | 🇨🇳 | 39 个命令完整参数 + 31 种意图映射 + 别名速查 |
182
182
  | [Tool Adaptation](docs/tool-adaptation.en.md) | 🇬🇧 | WorkBuddy integration + workflow + security |
183
183
  | [工具适配说明](docs/工具适配说明.md) | 🇨🇳 | WorkBuddy 集成原理 + 工作流程 + 安全检查 |
184
- | [CHANGELOG](CHANGELOG.md) | 🇨🇳 | Version history (v1.0.0 v4.0.0) |
184
+ | [Usage Guide](docs/使用指南.md) | 🇨🇳 | File safety: what to edit manually vs via command |
185
+ | [Migration Guide](docs/migration-guide.md) | 🇨🇳 | Shell v3.x → CLI v4.x migration |
186
+ | [CHANGELOG](CHANGELOG.md) | 🇨🇳 | Version history (v1.0.0 → v4.6.0) |
185
187
  | [README.md](README.md) | 🇨🇳 | 中文项目概述 |
186
188
 
187
189
  ---
@@ -198,6 +200,18 @@ SpecCore CLI natively integrates WorkBuddy. Other tools supported via the SpecCo
198
200
  | **Batch rename?** | `speccore rename --batch --pattern="Task-" --replacement="Feature-"` |
199
201
  | **Rebuild requirement index?** | `speccore index-update` (--dry-run to preview) |
200
202
 
203
+ | **Which files are safe to edit manually?** | See [Usage Guide](docs/使用指南.md). TL;DR: `REQ.md`/`TECH.md` safe; `API_CONTRACT.yaml`/`.json` require CLI commands. |
204
+
205
+ ---
206
+
207
+ ## File Safety Quick Reference
208
+
209
+ | Zone | Files | Rule |
210
+ | :--- | :--- | :--- |
211
+ | ✅ Safe | `REQ.md`, `TECH.md`, `GLOSSARY.md`, `*.md` comments | Edit directly, then `speccore sync --reverse` |
212
+ | ❌ Danger | `PROJECT_GRAPH.md` tables, `.task-type`, `API_CONTRACT.yaml`, `.json` data | Use `speccore` commands instead |
213
+ | ⚠️ Caution | `GLOBAL/REQUIREMENT.md`, `CHANGELOG.md` | Edit then immediately run `speccore sync-global` |
214
+
201
215
  ---
202
216
 
203
217
  ## Development
@@ -213,18 +227,9 @@ bash verify.sh # Run tests
213
227
 
214
228
  ---
215
229
 
216
- ## Related Projects
217
-
218
- | Project | Description | Link |
219
- | :--- | :--- | :--- |
220
- | **SpecCore Framework** | Spec-driven methodology + Slash Commands + templates | [GitHub](https://github.com/windfallsheng/SpecCore) |
221
- | **SpecCore CLI** | TypeScript CLI tool (deterministic execution engine) | [GitHub](https://github.com/windfallsheng/SpecCore-ts) |
222
-
223
- ---
224
-
225
230
  ## Version
226
231
 
227
- v4.0.0 | 🔧 CLI Commands: 39 | 🧠 Intents: 31
232
+ v4.6.0 | 🔧 CLI Commands: 40 | 🧠 Intents: 31
228
233
 
229
234
  Changelog: [CHANGELOG.md](CHANGELOG.md)
230
235
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # SpecCore CLI
1
+ # SpecCore
2
2
 
3
3
  > **Code by Spec, Not by Vibe.**
4
4
 
@@ -6,7 +6,7 @@
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
8
8
 
9
- SpecCore CLI [SpecCore 规范驱动开发框架](https://github.com/windfallsheng/SpecCore) 的官方 TypeScript 命令行工具。它将确定性操作(文件创建、目录管理、格式校验、状态统计)从 AI 中剥离,由代码直接执行,提升效率并降低 Token 消耗。
9
+ SpecCore 是一套可落地的、面向 AI 原生团队的规范驱动研发工程框架。它将确定性操作(文件创建、目录管理、格式校验、状态统计)从 AI 中剥离,由代码直接执行,提升效率并降低 Token 消耗。
10
10
 
11
11
  ---
12
12
 
@@ -165,7 +165,7 @@ SpecCore 采用**确定性逻辑与智能逻辑解耦**的架构:
165
165
  | :--- | :--- |
166
166
  | WorkBuddy / Qcoder / Trae | Cursor / Claude Code / Windsurf / Gemini CLI / OpenCode |
167
167
 
168
- SpecCore CLI 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/` skill 和 memory)。其他工具通过 SpecCore 源项目适配。
168
+ SpecCore 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/` skill 和 memory)。
169
169
 
170
170
  > 📚 完整适配说明见 [工具适配说明](docs/工具适配说明.md)
171
171
 
@@ -181,7 +181,9 @@ SpecCore CLI 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/`
181
181
  | [Command Reference](docs/commands.en.md) | 🇬🇧 | 39 commands full params + 31 intents + aliases |
182
182
  | [工具适配说明](docs/工具适配说明.md) | 🇨🇳 | WorkBuddy 集成原理 + 工作流程 + 安全检查 |
183
183
  | [Tool Adaptation](docs/tool-adaptation.en.md) | 🇬🇧 | WorkBuddy integration + workflow + security |
184
- | [CHANGELOG](CHANGELOG.md) | 🇨🇳 | 版本历史与更新日志(v1.0.0 → v4.0.0) |
184
+ | [使用指南](docs/使用指南.md) | 🇨🇳 | 文件操作安全指南:哪些可手动改、哪些必须用命令 |
185
+ | [迁移指南](docs/migration-guide.md) | 🇨🇳 | Shell v3.x → CLI v4.x 迁移步骤 |
186
+ | [CHANGELOG](CHANGELOG.md) | 🇨🇳 | 版本历史与更新日志(v1.0.0 → v4.6.0) |
185
187
  | [README.en.md](README.en.md) | 🇬🇧 | English project overview |
186
188
 
187
189
  ---
@@ -199,6 +201,44 @@ SpecCore CLI 原生集成 WorkBuddy(`speccore init` 自动创建 `.workbuddy/`
199
201
  | **手动改了文档,需要同步?** | `speccore sync --task=Task-001` 或 `speccore sync-global` |
200
202
  | **需求编号重复?** | `speccore validate --fix` 自动检测修复 |
201
203
  | **如何重建需求索引?** | `speccore index-update`(--dry-run 预览) |
204
+ | **哪些文件可以手动改?** | 见下方 [文件操作安全指南](#文件操作安全指南) |
205
+
206
+ ---
207
+
208
+ ## 文件操作安全指南
209
+
210
+ SpecCore 不禁止手动编辑文件,但不同文件的安全级别不同。
211
+
212
+ ### ✅ 安全区 — 可以直接手动改
213
+
214
+ 这些文件是"描述性文字",CLI 不会覆盖它们:
215
+
216
+ | 文件 | 内容 | 改完后 |
217
+ | :--- | :--- | :--- |
218
+ | `REQ.md` | 需求描述、背景、业务规则 | `speccore sync --reverse --task=xxx` 回写数据库 |
219
+ | `TECH.md` | 技术方案描述、设计思路 | 直接改即可,无需同步 |
220
+ | `GLOSSARY.md` | 术语定义 | `speccore sync --reverse` 更新索引 |
221
+ | `*.md` 注释行 | 备注、TODO、注意事项 | 不影响任何流程 |
222
+
223
+ ### ❌ 高风险区 — 必须用命令修改
224
+
225
+ 这些文件是"元数据/状态/关系",手动改会被 CLI 覆盖或导致解析失败:
226
+
227
+ | 文件 | 错改后果 | 正确方式 |
228
+ | :--- | :--- | :--- |
229
+ | `PROJECT_GRAPH.md` 表格 | CLI 执行时直接覆盖 | `speccore plan --assign=张三` |
230
+ | `.task-type` | 类型错误影响整个生命周期 | `speccore new-task --type=feature` |
231
+ | `API_CONTRACT.yaml` | 缩进错误导致校验失败 | 编辑后用 `speccore validate` 验证 |
232
+ | `.speccore/data/*.json` | Zod 枚举拼写错误导致卡死 | `speccore change Task-001 "描述"` |
233
+
234
+ ### ⚠️ 慎改区 — 手动改完必须立即同步
235
+
236
+ | 文件 | 正确流程 |
237
+ | :--- | :--- |
238
+ | `GLOBAL/REQUIREMENT.md` | 改完立即 `speccore sync-global` |
239
+ | `CHANGELOG.md` | 建议用 `speccore change` 自动追加 |
240
+
241
+ > 📚 完整指南见 [使用指南](docs/使用指南.md)
202
242
 
203
243
  ---
204
244
 
@@ -224,18 +264,9 @@ bash verify.sh
224
264
 
225
265
  ---
226
266
 
227
- ## 相关项目
228
-
229
- | 项目 | 说明 | 链接 |
230
- | :--- | :--- | :--- |
231
- | **SpecCore 框架** | 规范驱动开发方法论 + Slash Commands + 模板 | [GitHub](https://github.com/windfallsheng/SpecCore) |
232
- | **SpecCore CLI** | TypeScript CLI 工具(确定性操作执行引擎) | [GitHub](https://github.com/windfallsheng/SpecCore-ts) |
233
-
234
- ---
235
-
236
267
  ## 版本
237
268
 
238
- v4.0.0 | 🔧 CLI 命令 39 个 | 🧠 意图识别 31 种
269
+ v4.6.0 | 🔧 CLI 命令 40 个 | 🧠 意图识别 31 种
239
270
 
240
271
  版本历史见 [CHANGELOG.md](CHANGELOG.md)
241
272
 
package/dist/cli.js CHANGED
@@ -48,6 +48,9 @@ const index_update_1 = require("./commands/index-update");
48
48
  const context_1 = require("./commands/context");
49
49
  // v4.6.0 迁移命令
50
50
  const migrate_1 = require("./commands/migrate");
51
+ // v4.7.0 体验增强
52
+ const completion_1 = require("./commands/completion");
53
+ const backup_1 = require("./commands/backup");
51
54
  commander_1.program
52
55
  .name('speccore')
53
56
  .description('SpecCore - Code by Spec, Not by Vibe.')
@@ -493,6 +496,18 @@ commander_1.program
493
496
  .option('--strict', 'Strict mode')
494
497
  .option('--fix', 'Auto-fix')
495
498
  .action(validate_1.validateCommand);
499
+ // v4.7.0 体验增强命令
500
+ commander_1.program
501
+ .command('completion [shell]')
502
+ .description('Generate shell completion script (bash/zsh)')
503
+ .action(completion_1.completionCommand);
504
+ commander_1.program
505
+ .command('backup')
506
+ .alias('bk')
507
+ .description('Create backup of current state (v4.7)')
508
+ .option('--list', 'List existing backups')
509
+ .option('--restore <name>', 'Restore from backup')
510
+ .action(backup_1.backupCommand);
496
511
  // Parse arguments
497
512
  commander_1.program.parse();
498
513
  //# 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,18 @@
1
+ /**
2
+ * backup — 自动备份与恢复
3
+ *
4
+ * 在每次修改前自动创建时间戳备份,支持查看和恢复
5
+ */
6
+ export interface BackupOptions {
7
+ list?: boolean;
8
+ restore?: string;
9
+ }
10
+ /**
11
+ * 创建一次备份(执行关键操作前调用)
12
+ */
13
+ export declare function createBackup(label: string): Promise<string | null>;
14
+ /**
15
+ * 备份命令入口
16
+ */
17
+ export declare function backupCommand(options: BackupOptions): Promise<void>;
18
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BxE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * backup — 自动备份与恢复
4
+ *
5
+ * 在每次修改前自动创建时间戳备份,支持查看和恢复
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createBackup = createBackup;
9
+ exports.backupCommand = backupCommand;
10
+ const fs_extra_1 = require("fs-extra");
11
+ const path_1 = require("path");
12
+ const logger_1 = require("../utils/logger");
13
+ const BACKUP_DIR = '.speccore/backups';
14
+ /**
15
+ * 创建一次备份(执行关键操作前调用)
16
+ */
17
+ async function createBackup(label) {
18
+ try {
19
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').substring(0, 19);
20
+ const backupPath = (0, path_1.join)(BACKUP_DIR, `${timestamp}-${label}`);
21
+ const speccoreDir = (0, path_1.join)(process.cwd(), '.speccore');
22
+ if (!(await (0, fs_extra_1.pathExists)(speccoreDir)))
23
+ return null;
24
+ await (0, fs_extra_1.ensureDir)(backupPath);
25
+ // 备份 context.json
26
+ const ctxSrc = (0, path_1.join)(speccoreDir, 'local', 'context.json');
27
+ if (await (0, fs_extra_1.pathExists)(ctxSrc)) {
28
+ await (0, fs_extra_1.ensureDir)((0, path_1.join)(backupPath, 'local'));
29
+ await (0, fs_extra_1.copy)(ctxSrc, (0, path_1.join)(backupPath, 'local', 'context.json'));
30
+ }
31
+ // 备份 GLOBAL/INDEX.md
32
+ const idxSrc = (0, path_1.join)(speccoreDir, 'GLOBAL', 'INDEX.md');
33
+ if (await (0, fs_extra_1.pathExists)(idxSrc)) {
34
+ await (0, fs_extra_1.ensureDir)((0, path_1.join)(backupPath, 'GLOBAL'));
35
+ await (0, fs_extra_1.copy)(idxSrc, (0, path_1.join)(backupPath, 'GLOBAL', 'INDEX.md'));
36
+ }
37
+ return backupPath;
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * 备份命令入口
45
+ */
46
+ async function backupCommand(options) {
47
+ if (options.list) {
48
+ await listBackups();
49
+ return;
50
+ }
51
+ if (options.restore) {
52
+ await restoreBackup(options.restore);
53
+ return;
54
+ }
55
+ // 默认:创建备份
56
+ const path = await createBackup('manual');
57
+ if (path) {
58
+ logger_1.logger.info(`✅ Backup created: ${path}`);
59
+ }
60
+ else {
61
+ logger_1.logger.warn('No .speccore/ found, backup skipped');
62
+ }
63
+ }
64
+ async function listBackups() {
65
+ if (!(await (0, fs_extra_1.pathExists)(BACKUP_DIR))) {
66
+ logger_1.logger.info('No backups found');
67
+ return;
68
+ }
69
+ const entries = await (0, fs_extra_1.readdir)(BACKUP_DIR, { withFileTypes: true });
70
+ const backups = entries.filter(e => e.isDirectory()).sort((a, b) => b.name.localeCompare(a.name));
71
+ if (backups.length === 0) {
72
+ logger_1.logger.info('No backups found');
73
+ return;
74
+ }
75
+ logger_1.logger.info('');
76
+ logger_1.logger.info(`📦 Backups (${backups.length}):`);
77
+ for (const b of backups) {
78
+ logger_1.logger.info(` ${b.name}`);
79
+ }
80
+ }
81
+ async function restoreBackup(name) {
82
+ const backupPath = (0, path_1.join)(BACKUP_DIR, name);
83
+ if (!(await (0, fs_extra_1.pathExists)(backupPath))) {
84
+ logger_1.logger.error(`Backup not found: ${name}`);
85
+ return;
86
+ }
87
+ const speccoreDir = (0, path_1.join)(process.cwd(), '.speccore');
88
+ // Restore context.json
89
+ const ctxSrc = (0, path_1.join)(backupPath, 'local', 'context.json');
90
+ if (await (0, fs_extra_1.pathExists)(ctxSrc)) {
91
+ await (0, fs_extra_1.ensureDir)((0, path_1.join)(speccoreDir, 'local'));
92
+ await (0, fs_extra_1.copy)(ctxSrc, (0, path_1.join)(speccoreDir, 'local', 'context.json'));
93
+ logger_1.logger.info('Restored context.json');
94
+ }
95
+ const idxSrc = (0, path_1.join)(backupPath, 'GLOBAL', 'INDEX.md');
96
+ if (await (0, fs_extra_1.pathExists)(idxSrc)) {
97
+ await (0, fs_extra_1.copy)(idxSrc, (0, path_1.join)(speccoreDir, 'GLOBAL', 'INDEX.md'));
98
+ logger_1.logger.info('Restored GLOBAL/INDEX.md');
99
+ }
100
+ logger_1.logger.info(`Backup restored: ${name}`);
101
+ }
102
+ //# sourceMappingURL=backup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * completion — Shell 自动补全
3
+ *
4
+ * 生成 bash/zsh 补全脚本
5
+ */
6
+ export declare function completionCommand(shell?: string): void;
7
+ //# sourceMappingURL=completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwEH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBtD"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * completion — Shell 自动补全
4
+ *
5
+ * 生成 bash/zsh 补全脚本
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.completionCommand = completionCommand;
9
+ const logger_1 = require("../utils/logger");
10
+ const COMMANDS = [
11
+ 'init', 'import', 'spec', 'new-task', 'task',
12
+ 'iteration', 'execute', 'plan', 'change', 'sync',
13
+ 'validate', 'progress', 'status', 'health', 'report',
14
+ 'impact', 'baseline', 'dashboard', 'audit',
15
+ 'global-status', 'history', 'index-update',
16
+ 'platform-add', 'context', 'migrate', 'backup',
17
+ 'goal', 'bugfix', 'research', 'handover', 'retro',
18
+ 'rename', 'template-add', 'archive', 'config',
19
+ 'help', 'demo', 'welcome', 'completion',
20
+ ];
21
+ /**
22
+ * 生成 bash 补全脚本
23
+ */
24
+ function generateBashCompletion() {
25
+ return `# Speccore bash completion
26
+ _speccore_completion() {
27
+ local cur prev opts
28
+ COMPREPLY=()
29
+ cur="\${COMP_WORDS[COMP_CWORD]}"
30
+ prev="\${COMP_WORDS[COMP_CWORD-1]}"
31
+
32
+ # Top-level commands
33
+ if [ $COMP_CWORD -eq 1 ]; then
34
+ opts="${COMMANDS.join(' ')} --help --version --lang"
35
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
36
+ return 0
37
+ fi
38
+
39
+ # Common options
40
+ opts="--task --iteration --force --dry-run --all --assignee --type --priority --status --platform --format --help"
41
+ COMPREPLY=( $(compgen -W "\${opts}" -- \${cur}) )
42
+ }
43
+ complete -F _speccore_completion speccore
44
+ `;
45
+ }
46
+ /**
47
+ * 生成 zsh 补全脚本
48
+ */
49
+ function generateZshCompletion() {
50
+ return `# Speccore zsh completion
51
+ #compdef speccore
52
+
53
+ _speccore() {
54
+ local -a commands
55
+ commands=(
56
+ ${COMMANDS.map(c => ` '${c}:Speccore ${c} command'`).join('\n')}
57
+ )
58
+
59
+ _arguments \\
60
+ '--lang[Language: zh-CN or en-US]:locale:(zh-CN en-US)' \\
61
+ '--version[Show version]' \\
62
+ '--help[Show help]' \\
63
+ '*::command:->command'
64
+
65
+ case $state in
66
+ command)
67
+ _describe 'command' commands
68
+ ;;
69
+ esac
70
+ }
71
+
72
+ _speccore
73
+ `;
74
+ }
75
+ function completionCommand(shell) {
76
+ const s = shell || 'bash';
77
+ if (s === 'zsh') {
78
+ console.log(generateZshCompletion());
79
+ }
80
+ else {
81
+ console.log(generateBashCompletion());
82
+ }
83
+ logger_1.logger.info('');
84
+ if (s === 'zsh') {
85
+ logger_1.logger.info('# Add to ~/.zshrc:');
86
+ logger_1.logger.info('# source <(speccore completion zsh)');
87
+ }
88
+ else {
89
+ logger_1.logger.info('# Install:');
90
+ logger_1.logger.info('# speccore completion bash > /usr/local/etc/bash_completion.d/speccore');
91
+ logger_1.logger.info('# source ~/.bashrc');
92
+ }
93
+ }
94
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAwEH,8CAkBC;AAxFD,4CAAyC;AAEzC,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAC5C,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAChD,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IACpD,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO;IAC1C,eAAe,EAAE,SAAS,EAAE,cAAc;IAC1C,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IAC9C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO;IACjD,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ;IAC7C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY;CACxC,CAAC;AAEF;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO;;;;;;;;;YASG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;CAU7B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,OAAO;;;;;;EAMP,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;CAiBjE,CAAC;AACF,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,MAAM,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC;IAE1B,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,eAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACxF,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmG3E"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D3E"}
@@ -40,118 +40,173 @@ const logger_1 = require("../utils/logger");
40
40
  const context_1 = require("../core/context");
41
41
  const state_1 = require("../core/state");
42
42
  const transaction_1 = require("../core/transaction");
43
+ const operation_log_1 = require("../core/operation-log");
43
44
  async function executeCommand(options) {
44
- const spinner = new logger_1.Spinner('Preparing execution');
45
- spinner.start();
46
45
  try {
47
46
  const iteration = await (0, context_1.getDefaultIteration)(options.iteration);
48
47
  if (!iteration) {
49
- spinner.fail('No active iteration found. Please specify --iteration or create one first.');
48
+ logger_1.logger.error('No active iteration found. Please specify --iteration or create one first.');
50
49
  return;
51
50
  }
52
- const assignee = await (0, context_1.getDefaultAssignee)(options.assignee);
53
- // Scan tasks
54
51
  let tasks = await (0, state_1.scanTasks)(iteration);
55
52
  if (tasks.length === 0) {
56
- spinner.fail('No tasks found in iteration');
53
+ logger_1.logger.warn('No tasks found in iteration');
57
54
  return;
58
55
  }
59
56
  // Apply filters
60
- if (options.task) {
57
+ if (options.task)
61
58
  tasks = tasks.filter(t => t.id === options.task);
62
- }
63
- if (options.type) {
59
+ if (options.type)
64
60
  tasks = tasks.filter(t => t.type === options.type);
65
- }
66
- if (options.priority) {
61
+ if (options.priority)
67
62
  tasks = tasks.filter(t => t.priority === options.priority);
68
- }
69
- if (options.status) {
63
+ if (options.status)
70
64
  tasks = tasks.filter(t => t.status === options.status);
71
- }
72
- if (options.assignee) {
65
+ if (options.assignee)
73
66
  tasks = tasks.filter(t => t.assignee === options.assignee);
74
- }
75
- if (options.backend) {
67
+ if (options.backend)
76
68
  tasks = tasks.filter(t => t.id.includes('backend'));
77
- }
78
- if (options.frontend) {
69
+ if (options.frontend)
79
70
  tasks = tasks.filter(t => t.id.includes('frontend'));
80
- }
81
- if (options.platform) {
71
+ if (options.platform)
82
72
  tasks = await filterByPlatform(tasks, iteration, options.platform);
83
- }
84
73
  if (tasks.length === 0) {
85
- spinner.fail('No tasks match the specified filters');
74
+ logger_1.logger.warn('No tasks match the specified filters');
86
75
  return;
87
76
  }
88
- // Sort by dependencies
89
77
  const sortedTasks = (0, state_1.topologicalSort)(tasks);
90
- // Preview execution plan
91
- if (!options.force && !options.dryRun) {
92
- spinner.stop('Execution preview');
93
- printExecutionPreview(sortedTasks, iteration);
94
- // In real implementation, this would prompt for confirmation
95
- logger_1.logger.info('Use --force to skip preview');
78
+ // === Interactive mode ===
79
+ if (options.interactive) {
80
+ await interactiveSelect(sortedTasks, iteration, options);
96
81
  return;
97
82
  }
83
+ // === Dry run ===
98
84
  if (options.dryRun) {
99
- spinner.stop('Dry run complete');
100
85
  printExecutionPreview(sortedTasks, iteration);
86
+ (0, operation_log_1.logOperation)(`speccore execute --dry-run`, `${sortedTasks.length} tasks`);
101
87
  return;
102
88
  }
103
- // Execute tasks
104
- spinner.stop('Starting execution');
105
- const progressBar = new logger_1.ProgressBar(sortedTasks.length);
106
- for (let i = 0; i < sortedTasks.length; i++) {
107
- const task = sortedTasks[i];
108
- logger_1.logger.info(`Executing ${task.id}...`);
109
- // In real implementation, this would call AI or generate code
110
- // For now, just simulate execution
111
- await simulateTaskExecution(task, iteration);
112
- progressBar.update(i + 1);
89
+ // === Preview (default, unless --force) ===
90
+ if (!options.force) {
91
+ printExecutionPreview(sortedTasks, iteration);
92
+ logger_1.logger.info('');
93
+ logger_1.logger.info('💡 Use --force to execute directly, or --interactive to select');
94
+ return;
113
95
  }
114
- // Update context
115
- await (0, context_1.updateContext)({
116
- currentTask: sortedTasks[sortedTasks.length - 1]?.id || '',
117
- currentIteration: iteration,
118
- lastUpdated: new Date().toISOString()
119
- });
120
- await (0, context_1.recordHistory)('execute', iteration, sortedTasks[sortedTasks.length - 1]?.id);
121
- logger_1.logger.success('Execution complete!');
96
+ // === Execute with progress ===
97
+ await executeWithProgress(sortedTasks, iteration);
122
98
  }
123
99
  catch (error) {
124
- spinner.fail(`Execution failed: ${error}`);
100
+ logger_1.logger.error(`Execution failed: ${error}`);
125
101
  throw error;
126
102
  }
127
103
  }
104
+ // ============================================================
105
+ // Interactive selection
106
+ // ============================================================
107
+ async function interactiveSelect(tasks, iteration, options) {
108
+ logger_1.logger.info('');
109
+ logger_1.logger.info(`📋 Preparing ${tasks.length} tasks:`);
110
+ logger_1.logger.info('');
111
+ for (let i = 0; i < tasks.length; i++) {
112
+ const t = tasks[i];
113
+ const pri = t.priority === 'high' ? '🔴' : t.priority === 'medium' ? '🟡' : '🟢';
114
+ logger_1.logger.info(` ${i + 1}. ${t.id} ${t.name || ''} ${pri}`);
115
+ }
116
+ logger_1.logger.info('');
117
+ logger_1.logger.info('Select execution mode:');
118
+ logger_1.logger.info(' [1] Execute all (serial)');
119
+ logger_1.logger.info(' [2] Execute all (parallel, max 2)');
120
+ logger_1.logger.info(' [3] Select specific tasks');
121
+ logger_1.logger.info(' [4] Cancel');
122
+ // In interactive mode, default to "all serial" (--force style)
123
+ logger_1.logger.info('');
124
+ logger_1.logger.info('💡 Auto-selecting mode [1] (all serial). Use --interactive in AI tools for full prompts.');
125
+ logger_1.logger.info('');
126
+ await executeWithProgress(tasks, iteration);
127
+ }
128
+ // ============================================================
129
+ // Progress feedback execution
130
+ // ============================================================
131
+ async function executeWithProgress(tasks, iteration) {
132
+ const total = tasks.length;
133
+ const startTime = Date.now();
134
+ const completed = [];
135
+ (0, operation_log_1.logOperation)('speccore execute', `${total} tasks`);
136
+ logger_1.logger.info('');
137
+ logger_1.logger.info(`⏳ Executing ${total} task(s) in iteration: ${iteration}`);
138
+ logger_1.logger.info('');
139
+ for (let i = 0; i < total; i++) {
140
+ const task = tasks[i];
141
+ const progress = Math.round(((i) / total) * 100);
142
+ const bar = createBar(progress, 20);
143
+ // Report current batch
144
+ logger_1.logger.info(`[${String(i + 1).padStart(2, '0')}/${total}] ${bar} ${progress}%`);
145
+ logger_1.logger.info(` 🔄 ${task.id} ${task.name || ''} (${task.type || 'feature'})`);
146
+ await simulateTaskExecution(task, iteration);
147
+ completed.push(`${task.id} - ${task.name || ''}`);
148
+ logger_1.logger.info(` ✅ ${task.id} completed`);
149
+ logger_1.logger.info('');
150
+ // Report pending
151
+ const pending = tasks.slice(i + 1);
152
+ if (pending.length > 0) {
153
+ logger_1.logger.info(` Pending: ${pending.map(t => t.id).join(', ')}`);
154
+ }
155
+ const elapsed = Math.round((Date.now() - startTime) / 1000);
156
+ const avgPerTask = elapsed / (i + 1);
157
+ const remaining = Math.round(avgPerTask * (total - i - 1));
158
+ logger_1.logger.info(` Elapsed: ${elapsed}s | Est. remaining: ${remaining}s`);
159
+ logger_1.logger.info('');
160
+ }
161
+ // Update context
162
+ await (0, context_1.updateContext)({
163
+ currentTask: tasks[tasks.length - 1]?.id || '',
164
+ currentIteration: iteration,
165
+ lastUpdated: new Date().toISOString()
166
+ });
167
+ await (0, context_1.recordHistory)('execute', iteration, tasks[tasks.length - 1]?.id);
168
+ // Summary
169
+ const totalElapsed = Math.round((Date.now() - startTime) / 1000);
170
+ logger_1.logger.success(`Execution complete! ${total} tasks in ${totalElapsed}s`);
171
+ (0, operation_log_1.logOperation)('speccore execute done', `completed ${total} tasks in ${totalElapsed}s`);
172
+ }
173
+ function createBar(pct, width) {
174
+ const filled = Math.round(width * (pct / 100));
175
+ return '█'.repeat(filled) + '░'.repeat(width - filled);
176
+ }
177
+ // ============================================================
178
+ // Execution preview
179
+ // ============================================================
128
180
  function printExecutionPreview(tasks, iteration) {
129
181
  logger_1.logger.info('');
130
182
  logger_1.logger.info('📋 Execution Preview');
131
183
  logger_1.logger.info('');
132
184
  logger_1.logger.info(`Iteration: ${iteration}`);
133
- logger_1.logger.info(`Tasks to execute: ${tasks.length}`);
185
+ logger_1.logger.info(`Tasks: ${tasks.length}`);
134
186
  logger_1.logger.info('');
135
187
  for (let i = 0; i < tasks.length; i++) {
136
- const task = tasks[i];
137
- const status = i === 0 ? '🔄' : '⏳';
138
- logger_1.logger.info(`${status} ${task.id} - ${task.name}`);
188
+ const t = tasks[i];
189
+ const icon = i === 0 ? '🔄' : '⏳';
190
+ const pri = t.priority === 'high' ? '[HIGH]' : t.priority === 'medium' ? '[MED]' : '[LOW]';
191
+ logger_1.logger.info(` ${icon} ${t.id} ${pri} - ${t.name || 'unnamed'}`);
139
192
  }
140
193
  logger_1.logger.info('');
141
- logger_1.logger.info('Estimated total duration: 3-5 minutes');
142
194
  }
195
+ // ============================================================
196
+ // Task execution (transaction protected)
197
+ // ============================================================
143
198
  async function simulateTaskExecution(task, iteration) {
144
199
  const taskDir = (0, path_1.join)(`期次-${iteration}`, task.id);
200
+ let filesUpdated = 0;
145
201
  if (await (0, fs_extra_1.pathExists)(taskDir)) {
146
202
  const tx = new transaction_1.FileTransaction();
147
- // 后端 TASK.md 状态更新
148
203
  const taskMdPath = (0, path_1.join)(taskDir, 'backend', 'TASK.md');
149
204
  if (await (0, fs_extra_1.pathExists)(taskMdPath)) {
150
205
  const content = await (0, fs_extra_1.readFile)(taskMdPath, 'utf-8');
151
206
  const updated = content.replace('状态: 🔲 待开发', '状态: 🔄 进行中');
152
207
  tx.write(taskMdPath, updated);
208
+ filesUpdated++;
153
209
  }
154
- // 前端各平台 TASK.md 状态更新
155
210
  const frontendDir = (0, path_1.join)(taskDir, 'frontend');
156
211
  if (await (0, fs_extra_1.pathExists)(frontendDir)) {
157
212
  const { readdir: rd } = await Promise.resolve().then(() => __importStar(require('fs-extra')));
@@ -163,30 +218,24 @@ async function simulateTaskExecution(task, iteration) {
163
218
  const content = await (0, fs_extra_1.readFile)(ftaskPath, 'utf-8');
164
219
  const updated = content.replace('状态: 🔲 待开发', '状态: 🔄 进行中');
165
220
  tx.write(ftaskPath, updated);
221
+ filesUpdated++;
166
222
  }
167
223
  }
168
224
  }
169
225
  }
170
- // 事务提交 — 原子更新所有状态
171
226
  if (tx.length > 0) {
172
227
  await tx.commit();
173
228
  }
174
229
  }
175
- // Simulate work time
176
230
  await new Promise(resolve => setTimeout(resolve, 100));
177
231
  }
178
- /**
179
- * 按前端平台过滤任务:检查是否存在 frontend/{platform}/ 目录
180
- */
181
232
  async function filterByPlatform(tasks, iteration, platform) {
182
233
  const filtered = [];
183
234
  const iterDir = (0, path_1.join)(process.cwd(), `期次-${iteration}`);
184
235
  for (const task of tasks) {
185
- const taskPath = (0, path_1.join)(iterDir, task.id);
186
- const platformDir = (0, path_1.join)(taskPath, 'frontend', platform);
187
- if (await (0, fs_extra_1.pathExists)(platformDir)) {
236
+ const platformDir = (0, path_1.join)(iterDir, task.id, 'frontend', platform);
237
+ if (await (0, fs_extra_1.pathExists)(platformDir))
188
238
  filtered.push(task);
189
- }
190
239
  }
191
240
  return filtered;
192
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,wCAmGC;AA5HD,uCAAoE;AACpE,+BAA4B;AAC5B,4CAA+D;AAC/D,6CAAwG;AACxG,yCAA2D;AAC3D,qDAAsD;AAoB/C,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,MAAM,OAAO,GAAG,IAAI,gBAAO,CAAC,qBAAqB,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAmB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAkB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE5D,aAAa;QACb,IAAI,KAAK,GAAG,MAAM,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,KAAK,CAAC,CAAC;QAE3C,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE9C,6DAA6D;YAC7D,eAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5B,eAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAEvC,8DAA8D;YAC9D,mCAAmC;YACnC,MAAM,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAE7C,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,iBAAiB;QACjB,MAAM,IAAA,uBAAa,EAAC;YAClB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;YAC1D,gBAAgB,EAAE,SAAS;YAC3B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,IAAA,uBAAa,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnF,eAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAY,EAAE,SAAiB;IAC5D,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpC,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;IACvC,eAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACpC,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAS,EAAE,SAAiB;IAC/D,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,SAAS,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,MAAM,IAAA,qBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,6BAAe,EAAE,CAAC;QAEjC,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC5D,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAA,qBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;YACjD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;oBACrB,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACxD,IAAI,MAAM,IAAA,qBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;wBAChC,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAC5D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAY,EAAE,SAAiB,EAAE,QAAgB;IAC/E,MAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,SAAS,EAAE,CAAC,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,IAAA,qBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Error Feedback — Zod 错误翻译为用户友好提示
3
+ *
4
+ * 将 Zod 校验错误翻译为可操作的中文描述
5
+ */
6
+ import { z } from 'zod';
7
+ export interface FriendlyError {
8
+ field: string;
9
+ message: string;
10
+ suggestion?: string;
11
+ }
12
+ /**
13
+ * 将 ZodError 翻译为友好提示列表
14
+ */
15
+ export declare function translateZodError(error: any, context?: string): FriendlyError[];
16
+ /**
17
+ * 格式化友好错误为可读文本
18
+ */
19
+ export declare function formatFriendlyErrors(errors: FriendlyError[]): string;
20
+ /**
21
+ * 安全验证包装:捕获 ZodError 并输出友好提示
22
+ */
23
+ export declare function safeValidate<T>(schema: z.ZodSchema<T>, data: unknown, label?: string): {
24
+ success: true;
25
+ data: T;
26
+ } | {
27
+ success: false;
28
+ errors: FriendlyError[];
29
+ };
30
+ //# sourceMappingURL=error-feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-feedback.d.ts","sourceRoot":"","sources":["../../src/core/error-feedback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CA2C/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAapE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,CAS/J"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * Error Feedback — Zod 错误翻译为用户友好提示
4
+ *
5
+ * 将 Zod 校验错误翻译为可操作的中文描述
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.translateZodError = translateZodError;
9
+ exports.formatFriendlyErrors = formatFriendlyErrors;
10
+ exports.safeValidate = safeValidate;
11
+ /**
12
+ * 将 ZodError 翻译为友好提示列表
13
+ */
14
+ function translateZodError(error, context) {
15
+ const results = [];
16
+ if (!error?.issues)
17
+ return results;
18
+ for (const issue of error.issues) {
19
+ const path = (issue.path || []).join('.') || '(root)';
20
+ const fieldName = context ? `${context}.${path}` : path;
21
+ const issueCode = (issue.code || '').toString();
22
+ const issueMsg = issue.message || '';
23
+ const expected = issue.expected || '';
24
+ const minimum = issue.minimum;
25
+ const maximum = issue.maximum;
26
+ let message = '';
27
+ let suggestion = '';
28
+ if (issueCode.includes('invalid_type')) {
29
+ message = `"${fieldName}" 类型错误或缺失`;
30
+ suggestion = `期望类型:${expected || '非空值'}`;
31
+ }
32
+ else if (issueCode.includes('invalid_value') || issueCode.includes('invalid_enum')) {
33
+ message = `"${fieldName}" 取值不合法`;
34
+ suggestion = '请使用允许的枚举值';
35
+ }
36
+ else if (issueCode.includes('invalid_string') || issueCode.includes('invalid_format')) {
37
+ message = `"${fieldName}" 格式不正确`;
38
+ suggestion = issueMsg;
39
+ }
40
+ else if (issueCode.includes('too_small')) {
41
+ message = `"${fieldName}" 值过小`;
42
+ suggestion = `最小值应为 ${minimum ?? '?'}`;
43
+ }
44
+ else if (issueCode.includes('too_big')) {
45
+ message = `"${fieldName}" 值过大`;
46
+ suggestion = `最大值应为 ${maximum ?? '?'}`;
47
+ }
48
+ else if (issueCode.includes('unrecognized_keys')) {
49
+ message = `"${fieldName}" 包含未识别的字段`;
50
+ suggestion = '请移除多余字段';
51
+ }
52
+ else {
53
+ message = `${fieldName}: ${issueMsg || issueCode}`;
54
+ }
55
+ results.push({ field: fieldName, message, suggestion: suggestion || undefined });
56
+ }
57
+ return results;
58
+ }
59
+ /**
60
+ * 格式化友好错误为可读文本
61
+ */
62
+ function formatFriendlyErrors(errors) {
63
+ const lines = [];
64
+ lines.push('❌ 数据校验失败:');
65
+ for (const e of errors) {
66
+ lines.push(` ${e.message}`);
67
+ if (e.suggestion) {
68
+ lines.push(` 💡 ${e.suggestion}`);
69
+ }
70
+ lines.push('');
71
+ }
72
+ return lines.join('\n').trimEnd();
73
+ }
74
+ /**
75
+ * 安全验证包装:捕获 ZodError 并输出友好提示
76
+ */
77
+ function safeValidate(schema, data, label) {
78
+ const result = schema.safeParse(data);
79
+ if (result.success) {
80
+ return result;
81
+ }
82
+ return {
83
+ success: false,
84
+ errors: translateZodError(result.error, label),
85
+ };
86
+ }
87
+ //# sourceMappingURL=error-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-feedback.js","sourceRoot":"","sources":["../../src/core/error-feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Operation Log — 操作日志记录
3
+ *
4
+ * 记录所有关键操作到 .speccore/logs/YYYY-MM-DD.log
5
+ * 格式: [时间] 用户 命令 参数
6
+ */
7
+ /**
8
+ * 记录操作日志
9
+ */
10
+ export declare function logOperation(command: string, detail?: string): void;
11
+ /**
12
+ * 记录命令执行(不带详情)
13
+ */
14
+ export declare function logCommand(command: string[]): void;
15
+ //# sourceMappingURL=operation-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-log.d.ts","sourceRoot":"","sources":["../../src/core/operation-log.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAanE;AAkBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAElD"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * Operation Log — 操作日志记录
4
+ *
5
+ * 记录所有关键操作到 .speccore/logs/YYYY-MM-DD.log
6
+ * 格式: [时间] 用户 命令 参数
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.logOperation = logOperation;
43
+ exports.logCommand = logCommand;
44
+ const fs_extra_1 = require("fs-extra");
45
+ const path_1 = require("path");
46
+ const os = __importStar(require("os"));
47
+ const getLogDir = () => (0, path_1.join)(process.cwd(), '.speccore', 'logs');
48
+ /**
49
+ * 记录操作日志
50
+ */
51
+ function logOperation(command, detail) {
52
+ const now = new Date().toISOString().replace('T', ' ').substring(0, 19);
53
+ const user = getUserName();
54
+ const logDir = getLogDir();
55
+ const logFile = (0, path_1.join)(logDir, `${now.substring(0, 10)}.log`);
56
+ try {
57
+ (0, fs_extra_1.ensureFileSync)(logFile);
58
+ const line = `[${now}] ${user} ${command}${detail ? ` | ${detail}` : ''}`;
59
+ (0, fs_extra_1.appendFileSync)(logFile, line + '\n');
60
+ }
61
+ catch {
62
+ // 日志写入失败不影响主流程
63
+ }
64
+ }
65
+ /**
66
+ * 获取用户名(git config 优先)
67
+ */
68
+ function getUserName() {
69
+ try {
70
+ const { execSync } = require('child_process');
71
+ return execSync('git config user.name', { encoding: 'utf-8' }).trim() || 'unknown';
72
+ }
73
+ catch {
74
+ try {
75
+ return os.userInfo().username || 'unknown';
76
+ }
77
+ catch {
78
+ return 'unknown';
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * 记录命令执行(不带详情)
84
+ */
85
+ function logCommand(command) {
86
+ logOperation(command.join(' '));
87
+ }
88
+ //# sourceMappingURL=operation-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-log.js","sourceRoot":"","sources":["../../src/core/operation-log.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,oCAaC;AAqBD,gCAEC;AA7CD,uCAA0D;AAC1D,+BAA4B;AAC5B,uCAAyB;AAEzB,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAEjE;;GAEG;AACH,SAAgB,YAAY,CAAC,OAAe,EAAE,MAAe;IAC3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAA,yBAAc,EAAC,OAAO,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,IAAA,yBAAc,EAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAiB;IAC1C,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccore",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "description": "SpecCore - Code by Spec, Not by Vibe.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",