speccore 5.64.0 → 5.64.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAkHlD"}
1
+ {"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAgGlD"}
@@ -6,100 +6,87 @@ const logger_1 = require("../utils/logger");
6
6
  async function aboutCommand() {
7
7
  const pkg = require('../../package.json');
8
8
  const ver = pkg.version;
9
- // 版本信息 + 近期功能
10
- const highlights = [
11
- { v: '5.63.x', feat: '🧠 synthesizeIntent 智能意图合成 AI 参数提取+自动补全+精准提问' },
12
- { v: '5.62.x', feat: ' understandIntent 自我检查层 — 命令验证+置信度+遗漏检查' },
13
- { v: '5.61.x', feat: '🤖 "自主"=确认后全自动 — 复杂任务绝不跳过确认' },
14
- { v: '5.58.x', feat: '📋 plan --select 多选模式 + 具体命令章节' },
15
- { v: '5.56.x', feat: ' daemon 懒启动 有调度才运行,无调度自停' },
16
- { v: '5.54.x', feat: '🔄 schedule retry 重调度 + init 时自动安装 daemon' },
17
- { v: '5.28.x', feat: '⚡ Ask 引擎四模式 — pipeline/guide/match 全部 autoExec' },
18
- { v: '5.27.x', feat: '🏗️ OpenSpec Skill 体系 — 12 Skill + references + 禁止规则' },
9
+ // 产品功能概览
10
+ const features = [
11
+ { icon: '🧠', title: 'Ask 引擎', desc: '自然语言 意图识别 → 自动编排执行' },
12
+ { icon: '📋', title: '任务管理', desc: '10+ 任务类型,迭代/计划/拆分' },
13
+ { icon: '🔍', title: '代码审查', desc: '安全审计/依赖分析/性能诊断' },
14
+ { icon: '🔄', title: '文档驱动', desc: 'Word/Excel/CSV Spec 双向转换' },
15
+ { icon: '', title: '定时调度', desc: '创建 → daemon 懒启动 到点自执行' },
16
+ { icon: '🤖', title: 'Skill 体系', desc: 'OpenSpec 标准,AI 自动路由' },
19
17
  ];
20
- const docs = [
21
- { name: 'AGENTS.md', desc: 'AI 助手配置与 Skill 路由表', path: 'AGENTS.md' },
22
- { name: 'README.md', desc: 'Speccore 完整文档(中文)', path: 'README.md' },
23
- { name: 'CHANGELOG.md', desc: '版本历史', path: 'CHANGELOG.md' },
18
+ // 重要里程碑版本
19
+ const milestones = [
20
+ { v: '5.50', date: '2026-08', desc: '定时调度 + daemon(LaunchAgent/cron/TaskScheduler)' },
21
+ { v: '5.27', date: '2026-07', desc: 'Ask 引擎四模式 + OpenSpec Skill 体系' },
22
+ { v: '4.0', date: '2026-05', desc: '多平台 CLI、文档双向转换、计划拆分' },
23
+ { v: '3.0', date: '2026-03', desc: '迭代管理、执行概要、PR创建' },
24
+ { v: '1.0', date: '2026-01', desc: 'Spec 驱动开发、Task 管理、code-gen' },
24
25
  ];
25
- const links = [
26
- { name: 'GitHub', url: pkg.repository?.url || 'https://github.com/windfallsheng/SpecCore-ts' },
27
- { name: 'Gitee', url: 'https://gitee.com/windfullsheng/spec-core-ts' },
28
- { name: 'npm', url: `https://www.npmjs.com/package/${pkg.name}` },
29
- ];
30
- const highlightsHtml = highlights.map(h => `<div class="feat"><span class="ver">${h.v}</span><span class="desc">${h.feat}</span></div>`).join('');
31
- const docsHtml = docs.map(d => `<a class="link-card" href="${d.path}" target="_blank"><strong>${d.name}</strong><span>${d.desc}</span></a>`).join('');
32
- const linksHtml = links.map(l => `<a class="link-card external" href="${l.url}" target="_blank"><strong>🔗 ${l.name}</strong></a>`).join('');
26
+ const featuresHtml = features.map(f => `<div class="feat-item">
27
+ <span class="ficon">${f.icon}</span>
28
+ <div><strong>${f.title}</strong><span class="fsub">${f.desc}</span></div>
29
+ </div>`).join('');
30
+ const milestonesHtml = milestones.map(m => `<div class="mile">
31
+ <span class="mver">v${m.v}</span>
32
+ <span class="mdate">${m.date}</span>
33
+ <span class="mdesc">${m.desc}</span>
34
+ </div>`).join('');
33
35
  const html = `<!DOCTYPE html>
34
36
  <html lang="zh-CN">
35
37
  <head>
36
- <meta charset="UTF-8">
37
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
38
- <title>Speccore v${ver} — About</title>
38
+ <meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
39
+ <title>Speccore v${ver}</title>
39
40
  <style>
40
- @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;600;700');
41
+ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;600');
41
42
  *{margin:0;padding:0;box-sizing:border-box}
42
- body{font-family:'JetBrains Mono',monospace;background:#0b1221;color:#bae6fd;min-height:100vh;padding:32px 20px}
43
- .scanlines{position:fixed;inset:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.008) 2px,rgba(0,240,255,.008) 4px)}
44
- .card{max-width:720px;margin:0 auto;background:rgba(13,31,56,.95);border:1px solid rgba(14,165,233,.15);border-radius:16px;padding:32px;position:relative;overflow:hidden}
43
+ body{font-family:'JetBrains Mono',monospace;background:#0b1221;color:#bae6fd;min-height:100vh;padding:28px 20px}
44
+ .scanlines{position:fixed;inset:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.006) 2px,rgba(0,240,255,.006) 4px)}
45
+ .card{max-width:680px;margin:0 auto;background:rgba(13,31,56,.95);border:1px solid rgba(14,165,233,.12);border-radius:16px;padding:28px 32px}
45
46
  .card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#0ea5e9,transparent);animation:scanX 3s linear infinite}
46
47
  @keyframes scanX{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
47
- h1{font-family:'Orbitron',sans-serif;font-size:28px;font-weight:900;background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:3px}
48
- .sub{color:#5b7fa5;font-size:12px;margin:8px 0 24px}
49
- .section{margin:24px 0}
50
- .section h2{font-size:14px;color:#0ea5e9;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(14,165,233,.1);letter-spacing:1px}
51
- .feat{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.03);align-items:baseline}
52
- .feat .ver{font-size:11px;color:#6366f1;background:rgba(99,102,241,.1);padding:2px 8px;border-radius:4px;white-space:nowrap;min-width: 60px;text-align:center}
53
- .feat .desc{font-size:12px;color:#bae6fd;line-height:1.6}
54
- .links{display:flex;gap:12px;flex-wrap:wrap}
55
- .link-card{display:block;padding:12px 16px;background:rgba(14,165,233,.05);border:1px solid rgba(14,165,233,.1);border-radius:8px;text-decoration:none;color:#7dd3fc;font-size:12px;transition:all .2s}
56
- .link-card:hover{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.3);color:#0ea5e9}
57
- .link-card strong{display:block;margin-bottom:4px;color:#38bdf8}
58
- .link-card span{color:#5b7fa5;font-size:11px}
59
- .link-card.external strong{color:#14b8a6}
60
- .footer{text-align:center;color:#5b7fa5;font-size:10px;margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,.04)}
61
- .footer code{background:rgba(14,165,233,.15);color:#0ea5e9;padding:2px 8px;border-radius:4px}
48
+ h1{font-family:'Orbitron',sans-serif;font-size:24px;font-weight:900;background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px}
49
+ h1 span{font-size:13px;opacity:.6}
50
+ h2{font-size:12px;color:#38bdf8;margin:20px 0 10px;letter-spacing:1px}
51
+ .sub{color:#5b7fa5;font-size:11px;margin:4px 0 20px}
52
+ .row{display:flex;gap:14px;flex-wrap:wrap}
53
+ .feat-item{display:flex;gap:10px;align-items:center;padding:8px 0;min-width:48%}
54
+ .feat-item strong{font-size:12px;color:#7dd3fc;display:block}
55
+ .feat-item .fsub{font-size:10px;color:#5b7fa5;margin-top:2px;display:block}
56
+ .ficon{font-size:18px;width:24px;text-align:center}
57
+ .mile{display:flex;gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.02)}
58
+ .mver{font-size:10px;color:#6366f1;background:rgba(99,102,241,.1);padding:2px 6px;border-radius:3px;min-width:40px;text-align:center}
59
+ .mdate{font-size:10px;color:#5b7fa5;min-width:52px}
60
+ .mdesc{font-size:10px;color:#bae6fd}
61
+ .footer{text-align:center;color:#5b7fa5;font-size:9px;margin-top:24px;padding-top:12px;border-top:1px solid rgba(255,255,255,.03)}
62
+ .footer a{color:#38bdf8;text-decoration:none}
62
63
  </style></head>
63
64
  <body>
64
65
  <div class="scanlines"></div>
65
66
  <div class="card">
66
- <h1>SPECCORE</h1>
67
- <div class="sub">v${ver} — Code by Spec, Not by Vibe.</div>
67
+ <h1>SPECCORE <span>v${ver}</span></h1>
68
+ <div class="sub">Code by Spec, Not by Vibe.</div>
68
69
 
69
- <div class="section">
70
- <h2>🔭 近期亮点</h2>
71
- ${highlightsHtml}
72
- </div>
70
+ <h2>⚡ 主要功能</h2>
71
+ <div class="row">${featuresHtml}</div>
73
72
 
74
- <div class="section">
75
- <h2>📚 文档</h2>
76
- <div class="links">${docsHtml}</div>
77
- </div>
78
-
79
- <div class="section">
80
- <h2>🔗 链接</h2>
81
- <div class="links">${linksHtml}</div>
82
- </div>
73
+ <h2>📜 重要版本</h2>
74
+ ${milestonesHtml}
83
75
 
84
76
  <div class="footer">
85
- <code>speccore ask "..."</code> 任意自然语言 → AI 自动匹配最佳模式<br>
86
- <code>speccore about</code> 随时查看版本信息
77
+ <a href="https://github.com/windfallsheng/SpecCore-ts" target="_blank">GitHub</a> ·
78
+ <a href="https://gitee.com/windfullsheng/spec-core-ts" target="_blank">Gitee</a> ·
79
+ <a href="https://www.npmjs.com/package/speccore" target="_blank">npm</a> ·
80
+ <code>speccore ask "…"</code> 开始使用
87
81
  </div>
88
82
  </div>
89
83
  </body>
90
84
  </html>`;
91
- const { writeFile, ensureDir } = require('fs-extra');
85
+ const { writeFile } = require('fs-extra');
92
86
  const outPath = (0, path_1.join)(process.cwd(), 'speccore-about.html');
93
87
  await writeFile(outPath, html);
94
- logger_1.logger.success(`📖 版本信息: ${outPath}`);
95
- logger_1.logger.info(` Speccore v${ver} ${pkg.description}`);
96
- logger_1.logger.info('');
97
- logger_1.logger.info(` 通道: ask | qoder | cli | init`);
98
- logger_1.logger.info(` 版本: ${ver}`);
99
- logger_1.logger.info(` 引擎: Node.js ${process.version}`);
100
- logger_1.logger.info(` 平台: ${process.platform}`);
101
- logger_1.logger.info('');
102
- // 输出标记供宿主 AI 展示
88
+ logger_1.logger.success(`📖 ${outPath}`);
89
+ logger_1.logger.info(` Speccore v${ver} · ${process.platform} · Node ${process.version}`);
103
90
  process.stdout.write(`[SPECCORE_ABOUT: ${outPath}]\n`);
104
91
  }
105
92
  //# sourceMappingURL=about.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/commands/about.ts"],"names":[],"mappings":";;AAGA,oCAgGC;AAnGD,+BAA4B;AAC5B,4CAAyC;AAElC,KAAK,UAAU,YAAY;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;IAExB,SAAS;IACT,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACxD,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrD,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE;QACjE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE;QAC7D,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE;KAC/D,CAAC;IAEF,UAAU;IACV,MAAM,UAAU,GAAG;QACjB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,+CAA+C,EAAE;QACrF,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,+BAA+B,EAAE;QACrE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC1D,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACrD,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,4BAA4B,EAAE;KAClE,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC;4BACwB,CAAC,CAAC,IAAI;qBACb,CAAC,CAAC,KAAK,+BAA+B,CAAC,CAAC,IAAI;WACtD,CACR,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxC;4BACwB,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAI;WACvB,CACR,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEX,MAAM,IAAI,GAAG;;;;mBAII,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4BA,GAAG;;;;mBAIN,YAAY;;;EAG7B,cAAc;;;;;;;;;;QAUR,CAAC;IAEP,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/B,eAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IAChC,eAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,KAAK,CAAC,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccore",
3
- "version": "5.64.0",
3
+ "version": "5.64.1",
4
4
  "description": "SpecCore - Code by Spec, Not by Vibe.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",