speccore 7.1.0 → 7.2.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.
Files changed (52) hide show
  1. package/README.md +24 -0
  2. package/dist/cli.js +4 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/analyze.d.ts +6 -0
  5. package/dist/commands/analyze.d.ts.map +1 -1
  6. package/dist/commands/analyze.js +505 -49
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/config.js +2 -2
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/dev.js +30 -8
  11. package/dist/commands/dev.js.map +1 -1
  12. package/dist/commands/init.js +16 -276
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/iteration-from-global.js +2 -2
  15. package/dist/commands/status.d.ts.map +1 -1
  16. package/dist/commands/status.js +149 -0
  17. package/dist/commands/status.js.map +1 -1
  18. package/dist/core/change-impact-global.d.ts +20 -0
  19. package/dist/core/change-impact-global.d.ts.map +1 -0
  20. package/dist/core/change-impact-global.js +130 -0
  21. package/dist/core/change-impact-global.js.map +1 -0
  22. package/dist/core/dev-llm.d.ts +10 -0
  23. package/dist/core/dev-llm.d.ts.map +1 -1
  24. package/dist/core/dev-llm.js.map +1 -1
  25. package/dist/core/doc-cross-reference.d.ts +10 -0
  26. package/dist/core/doc-cross-reference.d.ts.map +1 -0
  27. package/dist/core/doc-cross-reference.js +108 -0
  28. package/dist/core/doc-cross-reference.js.map +1 -0
  29. package/dist/core/doc-quality-gate.d.ts +28 -0
  30. package/dist/core/doc-quality-gate.d.ts.map +1 -0
  31. package/dist/core/doc-quality-gate.js +209 -0
  32. package/dist/core/doc-quality-gate.js.map +1 -0
  33. package/dist/core/incremental-analyzer.js +1 -1
  34. package/dist/core/incremental-analyzer.js.map +1 -1
  35. package/dist/core/intent-recognition.d.ts.map +1 -1
  36. package/dist/core/intent-recognition.js +40 -0
  37. package/dist/core/intent-recognition.js.map +1 -1
  38. package/dist/core/iteration-cache.d.ts +48 -0
  39. package/dist/core/iteration-cache.d.ts.map +1 -0
  40. package/dist/core/iteration-cache.js +148 -0
  41. package/dist/core/iteration-cache.js.map +1 -0
  42. package/dist/core/platform-addition.js +3 -3
  43. package/dist/core/platform-addition.js.map +1 -1
  44. package/dist/core/semantic-locator.d.ts +42 -0
  45. package/dist/core/semantic-locator.d.ts.map +1 -0
  46. package/dist/core/semantic-locator.js +290 -0
  47. package/dist/core/semantic-locator.js.map +1 -0
  48. package/dist/core/structured-extractor.d.ts +89 -0
  49. package/dist/core/structured-extractor.d.ts.map +1 -0
  50. package/dist/core/structured-extractor.js +428 -0
  51. package/dist/core/structured-extractor.js.map +1 -0
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -363,13 +363,34 @@ async function renderDevHtml(options) {
363
363
  const now = new Date().toISOString().split('T')[0];
364
364
  const isInit = await (0, fs_extra_1.pathExists)('.speccore');
365
365
  const phases = [
366
- { name: lang === 'en' ? I18N.en.stepInit : I18N.zh.stepInit, key: 'init', done: !!isInit, icon: '🏗️', cmd: 'init', description: '初始化 SpecCore 项目结构', args: '' },
367
- { name: lang === 'en' ? I18N.en.stepDoc : I18N.zh.stepDoc, key: 'doc', done: false, icon: '📝', cmd: 'doc2spec', description: '导入 PRD 文档,AI 转换需求规格', args: '-f PRD.docx' + (iterName ? ' --iteration ' + iterName : '') },
368
- { name: lang === 'en' ? I18N.en.stepAnalyze : I18N.zh.stepAnalyze, key: 'analyze', done: false, icon: '🧠', cmd: 'analyze', description: 'AI 分析需求文档,生成审计报告', args: iterName ? '--iteration=' + iterName : '' },
369
- { name: lang === 'en' ? I18N.en.stepSplit : I18N.zh.stepSplit, key: 'split', done: false, icon: '📦', cmd: 'split', description: '将需求拆分为独立开发任务', args: '-f REQUIREMENT.md' },
370
- { name: lang === 'en' ? I18N.en.stepExec : I18N.zh.stepExec, key: 'execute', done: false, icon: '', cmd: 'execute', description: '按计划分批执行开发任务', args: '--auto' },
371
- { name: lang === 'en' ? I18N.en.stepPr : I18N.zh.stepPr, key: 'pr', done: false, icon: '🔀', cmd: 'pr', description: '代码提交后创建 Pull Request', args: '--auto' },
372
- { name: lang === 'en' ? I18N.en.stepDone : I18N.zh.stepDone, key: 'done', done: false, icon: '', cmd: 'done', description: '校验、同步、审计,归档记录', args: '--all' },
366
+ { name: lang === 'en' ? I18N.en.stepInit : I18N.zh.stepInit, key: 'init', done: !!isInit, icon: '🏗️', cmd: 'init', description: '初始化 SpecCore 项目结构', args: '',
367
+ detail: '创建 .speccore/ 目录及配置文件(CONSTITUTION.md、SETTINGS.md 等),奠定项目规范基础。',
368
+ prerequisites: ['空目录或已有代码仓库'], outputs: ['.speccore/CONSTITUTION.md', '.speccore/SETTINGS.md', '.speccore/local/context.json'],
369
+ tips: '如果已有项目,init 会扫描现有工程结构自动填写技术栈。', examples: ['speccore init'] },
370
+ { name: lang === 'en' ? I18N.en.stepDoc : I18N.zh.stepDoc, key: 'doc', done: false, icon: '📝', cmd: 'doc2spec', description: '导入 PRD 文档,AI 转换需求规格', args: '-f PRD.docx' + (iterName ? ' --iteration ' + iterName : ''),
371
+ detail: '将产品需求文档(Word / PDF / Markdown)导入迭代,AI 自动提取并转换为标准需求规格。也支持自然语言直接描述需求。',
372
+ prerequisites: ['已创建迭代', '需求文档或明确的功能描述'], outputs: ['Iteration-xxx/010-requirements/REQUIREMENT.md', 'Iteration-xxx/010-requirements/features/'],
373
+ tips: '如果文档格式复杂,可以先放到 .speccore/inbox/ 目录,AI 会自动识别并转换。', examples: ['/spec-ask "新增用户登录功能"', 'speccore doc2spec -f PRD.docx -i my-iter'] },
374
+ { name: lang === 'en' ? I18N.en.stepAnalyze : I18N.zh.stepAnalyze, key: 'analyze', done: false, icon: '🧠', cmd: 'analyze', description: 'AI 分析需求文档,生成审计报告', args: iterName ? '--iteration=' + iterName : '',
375
+ detail: 'AI 深度分析需求文档,生成分端技术规格(ANALYSIS.md、TECH.md、UI_SPEC.md、TEST.md 等 7+ 份文档),并输出风险评估和依赖分析。',
376
+ prerequisites: ['需求文档已导入(REQUIREMENT.md 或 features/ 存在)'], outputs: ['Iteration-xxx/020-specs/global/ANALYSIS.md', 'Iteration-xxx/020-specs/{platform}/TECH.md', 'Iteration-xxx/020-specs/{platform}/UI_SPEC.md'],
377
+ tips: '分析时 AI 会读取 CONSTITUTION.md 中的技术栈配置,确保输出符合项目规范。分析产物包含 Mermaid 图表。', examples: ['/spec-ask "分析 my-iter 的需求"', 'speccore analyze --auto -I my-iter'] },
378
+ { name: lang === 'en' ? I18N.en.stepSplit : I18N.zh.stepSplit, key: 'split', done: false, icon: '📦', cmd: 'split', description: '将需求拆分为独立开发任务', args: '-f REQUIREMENT.md',
379
+ detail: '基于 ANALYSIS.md 中的技术规格,AI 将需求拆分为独立的开发任务(Task-001 / Task-002 ...),每个任务包含 REQ/TECH/SCHEMA 规格和跨端依赖分析。',
380
+ prerequisites: ['analyze 已完成(ANALYSIS.md 存在)'], outputs: ['Iteration-xxx/030-tasks/Task-001/', 'Iteration-xxx/030-tasks/Task-002/'],
381
+ tips: '拆分粒度受 STAFFING.md 团队规模影响。≤3人粗粒度,4-8人中粒度(默认),>8人细粒度。', examples: ['/spec-ask "拆分 my-iter 的任务"', 'speccore iteration split -i my-iter'] },
382
+ { name: lang === 'en' ? I18N.en.stepExec : I18N.zh.stepExec, key: 'execute', done: false, icon: '⚡', cmd: 'execute', description: '按计划分批执行开发任务', args: '--auto',
383
+ detail: '按执行计划(plan 生成)分批开发。AI 读取 Task 的 TECH.md 和 SCHEMA.md,生成代码并写入源码路径。支持断点续传和批量执行。',
384
+ prerequisites: ['任务已拆分(030-tasks/ 下有 Task-xxx 目录)', '可选:已执行 plan 生成执行计划'], outputs: ['源码路径中的新增/修改代码文件', 'Task 目录下的 src/ tests/ 子目录'],
385
+ tips: '推荐用 --batch-size 3 分批执行,每批完成后开新对话继续。失败任务会写入 .issues.md 和 .needs-retry。', examples: ['/spec-ask "开发 Task-001"', 'speccore execute --auto -i my-iter --batch-size 3'] },
386
+ { name: lang === 'en' ? I18N.en.stepPr : I18N.zh.stepPr, key: 'pr', done: false, icon: '🔀', cmd: 'pr', description: '代码提交后创建 Pull Request', args: '--auto',
387
+ detail: '自动提交代码变更到 Git,创建 Pull Request 或 Merge Request。包含变更摘要、影响分析、测试建议。',
388
+ prerequisites: ['有未提交的代码变更', 'Git 仓库已配置'], outputs: ['Git commit', 'Pull Request / Merge Request'],
389
+ tips: '执行前会检查分支安全性(禁止直接提交到主分支)和未提交变更。支持 --auto 自动填写 PR 描述。', examples: ['/spec-ask "提交 my-iter 的代码"', 'speccore pr -i my-iter --auto'] },
390
+ { name: lang === 'en' ? I18N.en.stepDone : I18N.zh.stepDone, key: 'done', done: false, icon: '✅', cmd: 'done', description: '校验、同步、审计,归档记录', args: '--all',
391
+ detail: '完成最终校验(validate)、双向同步(sync)、生成复盘报告(RETRO.md),标记迭代为完成状态。',
392
+ prerequisites: ['所有任务已执行完毕', '代码已提交'], outputs: ['Iteration-xxx/000-overview/RETRO.md', '迭代完成标记'],
393
+ tips: 'RETRO.md 包含需求完成度、任务回顾、问题清单、改进建议,可用于迭代复盘会议。', examples: ['/spec-ask "完成 my-iter"', 'speccore done --all -i my-iter'] },
373
394
  ];
374
395
  if (iterDir) {
375
396
  const reqDoc = (0, path_1.join)(iterDir, '010-requirements', 'REQUIREMENT.md');
@@ -419,7 +440,7 @@ async function renderDevHtml(options) {
419
440
  }).join('\n');
420
441
  // State data for JS
421
442
  const stateJson = JSON.stringify(state).replace(/"/g, '"');
422
- return `<!DOCTYPE html><html lang="zh-CN" data-theme="ocean"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>SpecCore Dev · Pipeline</title><style>@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;600;700&display=swap');[data-theme="ocean"]{--cyan:#0ea5e9;--bg:#0b1929;--card:rgba(13,31,56,.95);--border:rgba(14,165,233,.15);--text:#bae6fd;--muted:#5b7fa5;--green:#14b8a6;--orange:#f97316;--purple:#6366f1}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'JetBrains Mono',monospace;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:20px}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:99;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.01) 2px,rgba(0,240,255,.01) 4px)}.card{max-width:680px;width:100%;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px;position:relative;overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX 3s linear infinite}.card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX-rev 3s linear infinite}@keyframes scanX{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes scanX-rev{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}@keyframes scanY{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@keyframes scanY-rev{0%{transform:translateY(100%)}100%{transform:translateY(-100%)}}.vline{position:absolute;top:0;width:1px;bottom:0;pointer-events:none}.vline.l{left:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY-rev 3s linear infinite}.vline.r{right:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY 3s linear infinite}h1{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:900;background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px;margin-bottom:4px}.subtitle{color:var(--muted);font-size:11px;margin-bottom:16px}.flow{display:flex;align-items:center;gap:16px;margin:16px 0;flex-wrap:wrap;justify-content:flex-start}.phase{display:flex;align-items:center;gap:12px;padding:10px 18px;border-radius:10px;font-size:12px;transition:all .3s;border:1px solid transparent}.phase.done{background:rgba(20,184,166,.1);border-color:rgba(20,184,166,.3);color:var(--green)}.phase.current{background:rgba(14,165,233,.15);border-color:rgba(14,165,233,.5);color:var(--cyan);box-shadow:0 0 16px rgba(14,165,233,.15);animation:glow 2s ease-in-out infinite}.phase.pending{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.05);color:var(--muted)}.phase-arrow{color:var(--muted);font-size:14px;margin:0 8px}@keyframes glow{0%,100%{box-shadow:0 0 16px rgba(14,165,233,.15)}50%{box-shadow:0 0 24px rgba(14,165,233,.3)}}.cur-section{padding:16px;background:rgba(14,165,233,.06);border:1px solid rgba(14,165,233,.15);border-radius:10px;margin:16px 0}.cur-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.cur-cmd{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--cyan);background:rgba(14,165,233,.08);padding:6px 12px;border-radius:6px;display:inline-block}.action-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.action-btns button,.phase-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface, rgba(255,255,255,.03));color:var(--text);cursor:pointer;font-size:11px;font-family:'JetBrains Mono',monospace;transition:all .2s}.action-btns button:hover,.phase-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(14,165,233,.08)}.action-btns button.primary{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.4);color:var(--cyan)}.action-btns button.danger{border-color:rgba(249,115,22,.3);color:var(--orange)}.action-btns button.danger:hover{border-color:var(--orange);background:rgba(249,115,22,.08)}.phase-btn{font-size:10px;padding:6px 10px}.phase-btn.done{opacity:.4;cursor:default}.input-row{display:flex;gap:8px;margin:16px 0}.input-row input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);font-size:12px;font-family:'JetBrains Mono',monospace;outline:none;transition:all .2s}.input-row input:focus{border-color:var(--cyan);box-shadow:0 0 12px rgba(14,165,233,.1)}.input-row button{padding:10px 16px;border-radius:10px;border:1px solid var(--cyan);background:rgba(14,165,233,.1);color:var(--cyan);cursor:pointer;font-size:12px;font-family:'JetBrains Mono',monospace;transition:all .2s}.input-row button:hover{background:rgba(14,165,233,.2)}.result-box{margin-top:16px;padding:16px;background:rgba(14,165,233,.04);border:1px solid rgba(14,165,233,.1);border-radius:10px;display:none}.result-box.show{display:block}.result-cmd{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--green);background:rgba(20,184,166,.08);padding:6px 10px;border-radius:4px;margin:4px 0;display:inline-block}.result-summary{font-size:12px;color:var(--text);margin-bottom:8px}..quick-phase{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;justify-content:center}.footer{text-align:center;color:var(--muted);font-size:10px;margin-top:8px}</style></head><body><div class="scanlines"></div>
443
+ return `<!DOCTYPE html><html lang="zh-CN" data-theme="ocean"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>SpecCore Dev · Pipeline</title><style>@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;600;700&display=swap');[data-theme="ocean"]{--cyan:#0ea5e9;--bg:#0b1929;--card:rgba(13,31,56,.95);--border:rgba(14,165,233,.15);--text:#bae6fd;--muted:#5b7fa5;--green:#14b8a6;--orange:#f97316;--purple:#6366f1}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'JetBrains Mono',monospace;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:20px}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:99;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.01) 2px,rgba(0,240,255,.01) 4px)}.card{max-width:680px;width:100%;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px;position:relative;overflow:hidden}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX 3s linear infinite}.card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX-rev 3s linear infinite}@keyframes scanX{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes scanX-rev{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}@keyframes scanY{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@keyframes scanY-rev{0%{transform:translateY(100%)}100%{transform:translateY(-100%)}}.vline{position:absolute;top:0;width:1px;bottom:0;pointer-events:none}.vline.l{left:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY-rev 3s linear infinite}.vline.r{right:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY 3s linear infinite}h1{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:900;background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px;margin-bottom:4px}.subtitle{color:var(--muted);font-size:11px;margin-bottom:16px}.flow{display:flex;align-items:center;gap:16px;margin:16px 0;flex-wrap:wrap;justify-content:flex-start}.phase{display:flex;align-items:center;gap:12px;padding:10px 18px;border-radius:10px;font-size:12px;transition:all .3s;border:1px solid transparent}.phase.done{background:rgba(20,184,166,.1);border-color:rgba(20,184,166,.3);color:var(--green)}.phase.current{background:rgba(14,165,233,.15);border-color:rgba(14,165,233,.5);color:var(--cyan);box-shadow:0 0 16px rgba(14,165,233,.15);animation:glow 2s ease-in-out infinite}.phase.pending{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.05);color:var(--muted)}.phase-arrow{color:var(--muted);font-size:14px;margin:0 8px}@keyframes glow{0%,100%{box-shadow:0 0 16px rgba(14,165,233,.15)}50%{box-shadow:0 0 24px rgba(14,165,233,.3)}}.cur-section{padding:16px;background:rgba(14,165,233,.06);border:1px solid rgba(14,165,233,.15);border-radius:10px;margin:16px 0}.cur-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.cur-cmd{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--cyan);background:rgba(14,165,233,.08);padding:6px 12px;border-radius:6px;display:inline-block}.action-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.action-btns button,.phase-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface, rgba(255,255,255,.03));color:var(--text);cursor:pointer;font-size:11px;font-family:'JetBrains Mono',monospace;transition:all .2s}.action-btns button:hover,.phase-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(14,165,233,.08)}.action-btns button.primary{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.4);color:var(--cyan)}.action-btns button.danger{border-color:rgba(249,115,22,.3);color:var(--orange)}.action-btns button.danger:hover{border-color:var(--orange);background:rgba(249,115,22,.08)}.phase-btn{font-size:10px;padding:6px 10px}.phase-btn.done{opacity:.4;cursor:default}.input-row{display:flex;gap:8px;margin:16px 0}.input-row input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);font-size:12px;font-family:'JetBrains Mono',monospace;outline:none;transition:all .2s}.input-row input:focus{border-color:var(--cyan);box-shadow:0 0 12px rgba(14,165,233,.1)}.input-row button{padding:10px 16px;border-radius:10px;border:1px solid var(--cyan);background:rgba(14,165,233,.1);color:var(--cyan);cursor:pointer;font-size:12px;font-family:'JetBrains Mono',monospace;transition:all .2s}.input-row button:hover{background:rgba(14,165,233,.2)}.result-box{margin-top:16px;padding:16px;background:rgba(14,165,233,.04);border:1px solid rgba(14,165,233,.1);border-radius:10px;display:none}.result-box.show{display:block}.result-cmd{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--green);background:rgba(20,184,166,.08);padding:6px 10px;border-radius:4px;margin:4px 0;display:inline-block}.result-summary{font-size:12px;color:var(--text);margin-bottom:8px}..quick-phase{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;justify-content:center}.detail-panel{margin-top:12px;border-top:1px solid rgba(14,165,233,.1);padding-top:12px}.detail-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:var(--muted);transition:color .2s}.detail-toggle:hover{color:var(--cyan)}.detail-toggle::before{content:'▸';font-size:10px;transition:transform .2s}.detail-toggle.open::before{transform:rotate(90deg)}.detail-content{display:none;margin-top:10px;font-size:11px;line-height:1.7;color:var(--text)}.detail-content.show{display:block}.detail-block{margin:8px 0;padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04)}.detail-block-title{font-size:10px;font-weight:700;color:var(--cyan);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.detail-block ul{margin:0;padding-left:16px;color:var(--muted);font-size:10px}.detail-block li{margin:2px 0}.detail-tip{margin:8px 0;padding:8px 10px;border-radius:6px;background:rgba(20,184,166,.04);border:1px solid rgba(20,184,166,.1);color:var(--green);font-size:10px}.detail-examples{margin:8px 0;padding:8px 10px;border-radius:6px;background:rgba(99,102,241,.04);border:1px solid rgba(99,102,241,.1)}.detail-examples code{display:block;font-size:10px;color:var(--purple);margin:3px 0;padding:2px 6px;background:rgba(0,0,0,.2);border-radius:3px;font-family:'JetBrains Mono',monospace}.footer{text-align:center;color:var(--muted);font-size:10px;margin-top:8px}</style></head><body><div class="scanlines"></div>
423
444
 
424
445
  <div class="card"><div class="vline l"></div><div class="vline r"></div>
425
446
  <h1>SPECCORE DEV</h1>
@@ -437,6 +458,7 @@ async function renderDevHtml(options) {
437
458
  <button onclick="handleAction('skip-to','${currentIdx + 1 < phases.length ? phases[currentIdx + 1].key : current.key}')">⏭ 跳过当前</button>
438
459
  <button class="danger" onclick="handleAction('restart','init')">🔄 重新开始</button>
439
460
  </div>
461
+ ${current.detail ? '<div class="detail-panel"><div class="detail-toggle" onclick="this.classList.toggle(\'open\');this.nextElementSibling.classList.toggle(\'show\')">📖 阶段详情</div><div class="detail-content">' + '<div class="detail-block"><div class="detail-block-title">📋 详细说明</div><div>' + current.detail + '</div></div>' + (current.prerequisites ? '<div class="detail-block"><div class="detail-block-title">📌 前置条件</div><ul>' + current.prerequisites.map(p => '<li>' + p + '</li>').join('') + '</ul></div>' : '') + (current.outputs ? '<div class="detail-block"><div class="detail-block-title">📤 产出物</div><ul>' + current.outputs.map(o => '<li>' + o + '</li>').join('') + '</ul></div>' : '') + (current.tips ? '<div class="detail-tip">💡 ' + current.tips + '</div>' : '') + (current.examples ? '<div class="detail-examples"><div class="detail-block-title">⌨️ 常用命令</div>' + current.examples.map(e => '<code>' + e + '</code>').join('') + '</div>' : '') + '</div></div>' : ''}
440
462
  </div>
441
463
 
442
464
  <div class="quick-phase">
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1931,286 +1931,26 @@ function detectGitUrl(root) {
1931
1931
  }
1932
1932
  /**
1933
1933
  * 生成项目配置引导页 — 首次 init 后展示
1934
+ * v7.1.1+: 改为读取静态模板,只替换少量变量
1934
1935
  * 指导用户填写 CONSTITUTION.md、配置团队、导入需求、开始流水线
1935
1936
  */
1936
- async function writeSetupGuide(projectRoot, speccoreDir) {
1937
+ async function writeSetupGuide(projectRoot, _speccoreDir) {
1937
1938
  const name = (0, path_1.basename)(projectRoot);
1938
- const gitUrl = detectGitUrl(projectRoot) || '待配置';
1939
1939
  const pkgVersion = await (0, fs_extra_1.readFile)((0, path_1.join)(projectRoot, 'package.json'), 'utf-8').then(s => JSON.parse(s).version).catch(() => '0.0.0');
1940
- const html = `<!DOCTYPE html><html lang="zh-CN" data-theme="ocean"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>SpecCore — 项目配置引导</title>
1941
- <style>
1942
- @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=JetBrains+Mono:wght@400;600;700&display=swap');
1943
- [data-theme="ocean"]{--cyan:#0ea5e9;--bg:#0b1929;--card:rgba(13,31,56,.95);--border:rgba(14,165,233,.15);--text:#bae6fd;--muted:#5b7fa5;--green:#14b8a6;--orange:#f97316;--purple:#6366f1;--red:#ef4444}
1944
- *{margin:0;padding:0;box-sizing:border-box}
1945
- body{font-family:'JetBrains Mono',monospace;background:var(--bg);color:var(--text);min-height:100vh;padding:24px 20px;position:relative}
1946
- .scanlines{position:fixed;inset:0;pointer-events:none;z-index:99;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.015) 2px,rgba(0,240,255,.015) 4px)}
1947
- .grid-pattern{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(14,165,233,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px);background-size:60px 60px}
1948
- h1{font-family:'Orbitron',sans-serif;font-size:28px;font-weight:900;background:linear-gradient(135deg,var(--cyan),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:2px;text-align:center;text-shadow:0 0 20px rgba(14,165,233,.4);animation:titleGlow 3s ease-in-out infinite}
1949
- @keyframes titleGlow{0%,100%{text-shadow:0 0 20px rgba(14,165,233,.4),0 0 60px rgba(14,165,233,.15)}50%{text-shadow:0 0 30px rgba(14,165,233,.7),0 0 80px rgba(14,165,233,.3)}}
1950
- .sub{color:var(--muted);font-size:11px;letter-spacing:1px;text-align:center;margin-top:4px}
1951
- .header-card{text-align:center;padding:16px 0 12px;margin-bottom:8px;position:relative;border-bottom:1px solid rgba(14,165,233,.1)}
1952
- .header-card::after{content:'';position:absolute;bottom:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
1953
- .container{max-width:960px;margin:0 auto;position:relative;z-index:1;background:rgba(13,31,56,.85);border:1px solid var(--border);border-radius:16px;padding:24px 20px;overflow:hidden}
1954
- .container::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX 3s linear infinite}
1955
- .container::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:scanX-rev 3s linear infinite}
1956
- .container .vline{position:absolute;top:0;width:1px;bottom:0;pointer-events:none;z-index:2}
1957
- .container .vline.l{left:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY-rev 3s linear infinite}
1958
- .container .vline.r{right:0;background:linear-gradient(180deg,transparent,var(--cyan),transparent);animation:scanY 3s linear infinite}
1959
- .card-bg{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at 50% 10%,rgba(14,165,233,.2) 0%,transparent 70%);animation:cardGlow 3s ease-in-out infinite;transform-origin:top center}
1960
- @keyframes cardGlow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}
1961
- @keyframes scanX{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
1962
- @keyframes scanX-rev{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
1963
- @keyframes scanY{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
1964
- @keyframes scanY-rev{0%{transform:translateY(100%)}100%{transform:translateY(-100%)}}
1965
- .step{margin:16px 0;padding:18px;background:rgba(13,31,56,.75);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(14,165,233,.08),inset 0 1px 24px rgba(14,165,233,.04);transition:box-shadow .3s ease,border-color .3s ease}
1966
- .step:hover{box-shadow:0 0 30px rgba(14,165,233,.15),inset 0 1px 30px rgba(14,165,233,.08);border-color:rgba(14,165,233,.3)}
1967
- .step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--purple));color:#fff;font-weight:900;font-size:13px;margin-right:10px;flex-shrink:0}
1968
- .step-header{display:flex;align-items:center;margin-bottom:12px}
1969
- .step-title{font-size:15px;font-weight:700;color:var(--cyan)}
1970
- .step-required{display:inline-block;padding:2px 8px;font-size:9px;border-radius:4px;background:rgba(239,68,68,.15);color:var(--red);margin-left:8px;font-weight:600}
1971
- .step-optional{display:inline-block;padding:2px 8px;font-size:9px;border-radius:4px;background:rgba(14,165,233,.1);color:var(--cyan);margin-left:8px}
1972
- .step-desc{font-size:11px;color:var(--muted);margin:8px 0;line-height:1.6}
1973
- .file-box{background:rgba(14,165,233,.06);border:1px solid rgba(14,165,233,.12);border-radius:8px;padding:12px;margin:10px 0;font-size:11px}
1974
- .file-path{color:var(--cyan);font-weight:600;font-size:12px}
1975
- .field-list{margin:8px 0;padding-left:8px}
1976
- .field-item{display:flex;align-items:flex-start;gap:8px;margin:6px 0;font-size:11px;line-height:1.5}
1977
- .field-check{color:var(--green);flex-shrink:0;font-size:13px}
1978
- .field-warn{color:var(--orange);flex-shrink:0;font-size:13px}
1979
- .field-name{color:var(--text);font-weight:600;min-width:100px}
1980
- .field-desc{color:var(--muted)}
1981
- .method-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
1982
- .method-card{padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
1983
- .method-title{font-size:11px;font-weight:700;margin-bottom:6px}
1984
- .method-card.m1 .method-title{color:var(--green)}
1985
- .method-card.m2 .method-title{color:var(--orange)}
1986
- .method-card.m3 .method-title{color:var(--cyan)}
1987
- .method-card.m4 .method-title{color:var(--purple)}
1988
- .method-cmd{font-size:10px;color:var(--muted);background:rgba(0,0,0,.2);padding:4px 8px;border-radius:4px;margin-top:6px;word-break:break-all}
1989
- .flow-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;padding:16px;margin:16px 0;background:var(--card);border:1px solid var(--border);border-radius:12px}
1990
- .flow-node{padding:8px 14px;border-radius:8px;font-size:11px;font-weight:600;border:1px solid}
1991
- .flow-node.n1{border-color:var(--green);color:var(--green);background:rgba(20,184,166,.08)}
1992
- .flow-node.n2{border-color:var(--cyan);color:var(--cyan);background:rgba(14,165,233,.08)}
1993
- .flow-node.n3{border-color:var(--orange);color:var(--orange);background:rgba(249,115,22,.08)}
1994
- .flow-node.n4{border-color:var(--purple);color:var(--purple);background:rgba(99,102,241,.08)}
1995
- .flow-arrow{color:var(--muted);font-size:14px}
1996
- .kb-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:10px 0}
1997
- .kb-card{padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);text-align:center}
1998
- .kb-icon{font-size:20px;margin-bottom:4px}
1999
- .kb-name{font-size:11px;font-weight:600;color:var(--text)}
2000
- .kb-desc{font-size:9px;color:var(--muted);margin-top:4px}
2001
- .start-bar{display:block;text-align:center;padding:16px;margin:20px 0 8px;background:linear-gradient(135deg,var(--cyan) 0%,#0284c7 100%);border-radius:40px;color:#fff;font-weight:600;font-size:14px;box-shadow:0 0 30px rgba(14,165,233,.3);cursor:pointer;letter-spacing:1px;text-decoration:none;transition:all .3s;position:relative;z-index:1}
2002
- .start-bar:hover{box-shadow:0 0 45px rgba(14,165,233,.5);transform:translateY(-1px)}
2003
- .action-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:20px 0}
2004
- .action-card{padding:16px;border-radius:12px;border:1px solid var(--border);background:rgba(13,31,56,.7);text-align:center;cursor:pointer;text-decoration:none;transition:all .3s;position:relative;z-index:1}
2005
- .action-card.primary{background:linear-gradient(135deg,var(--cyan) 0%,#0284c7 100%);border-color:var(--cyan);color:#fff}
2006
- .action-card.secondary{border-color:rgba(14,165,233,.2);color:var(--text)}
2007
- .action-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,165,233,.2)}
2008
- .action-icon{font-size:28px;margin-bottom:8px}
2009
- .action-title{font-size:13px;font-weight:700;margin-bottom:4px}
2010
- .action-desc{font-size:10px;color:var(--muted);line-height:1.4}
2011
- .action-card.primary .action-desc{color:rgba(255,255,255,.8)}
2012
- .faq-section{margin:16px 0;padding:16px;background:rgba(13,31,56,.6);border:1px solid var(--border);border-radius:12px}
2013
- .faq-title{font-size:13px;font-weight:700;color:var(--cyan);margin-bottom:12px}
2014
- .faq-item{margin:10px 0;padding:10px 12px;border-radius:8px;background:rgba(14,165,233,.04);border:1px solid rgba(14,165,233,.1)}
2015
- .faq-q{font-size:11px;font-weight:600;color:var(--text);margin-bottom:6px}
2016
- .faq-a{font-size:10px;color:var(--muted);line-height:1.6}
2017
- .footer{text-align:center;color:var(--muted);font-size:10px;margin-top:20px;padding-top:12px;border-top:1px solid rgba(255,255,255,.04)}
2018
- </style></head><body>
2019
- <div class="scanlines"></div><div class="grid-pattern"></div>
2020
- <div class="container">
2021
- <div class="vline l"></div><div class="vline r"></div><div class="card-bg"></div>
2022
- <div class="header-card">
2023
- <h1>SPECCORE</h1>
2024
- <div class="sub">项目配置引导 · ${name}</div>
2025
- </div>
2026
-
2027
- <div class="step">
2028
- <div class="step-header"><span class="step-num">1</span><span class="step-title">技术宪法</span><span class="step-required">必填</span></div>
2029
- <div class="step-desc">AI 的「最高指令」—— 所有需求分析、任务拆分、代码生成全部据此执行。决定了生成代码的技术栈、命名规范、错误码体系。</div>
2030
- <div class="file-box">
2031
- <div class="file-path">📄 .speccore/CONSTITUTION.md</div>
2032
- <div class="step-desc" style="color:var(--green);margin-bottom:8px">✅ init 已自动检测:工程名、Git 仓库地址。其余字段可通过以下方式完善:</div>
2033
- <div class="method-grid" style="grid-template-columns:1fr 1fr;margin-bottom:10px">
2034
- <div class="method-card m1"><div class="method-title">🤖 方式 1:AI 扫描工程代码(推荐)</div><div class="step-desc">AI 读取源码自动识别技术栈、框架、命名风格,直接写入。说不同的话,改不同的范围:</div><div class="method-cmd" style="margin-top:4px">/spec-ask "分析代码,完善技术宪法" <span style="color:var(--green)">← 只改宪法</span></div><div class="method-cmd">/spec-ask "分析项目,完善所有配置" <span style="color:var(--cyan)">← 宪法+团队+索引</span></div><div class="method-cmd">/spec-ask "扫描代码,生成代码索引" <span style="color:var(--orange)">← 只建索引</span></div></div>
2035
- <div class="method-card m2"><div class="method-title">✍️ 方式 2:手动编辑</div><div class="step-desc">打开文件按注释提示填写,只填必填项即可,其余按需补充</div><div class="method-cmd">编辑 .speccore/CONSTITUTION.md</div></div>
2036
- </div>
2037
- <div style="margin:10px 0;padding:10px 12px;border-radius:8px;border:1px solid rgba(14,165,233,.15);background:rgba(14,165,233,.04)">
2038
- <div style="font-size:12px;font-weight:700;color:var(--cyan);margin-bottom:4px">🔍 全局分析(了解现有项目推荐)</div>
2039
- <div class="step-desc">一句话扫描所有工程源码,自动生成技术栈、接口清单、数据模型等 8 类文档。适合接手新项目时快速摸清全貌:</div>
2040
- <div class="method-cmd">/spec-ask "全局分析所有工程代码" <span style="color:var(--green)">← 意图式</span></div>
2041
- <div class="method-cmd">/spec-analyze --scope global <span style="color:var(--orange)">← 显式命令</span></div>
2042
- <div style="font-size:10px;color:var(--muted);margin-top:4px">--scope global — 全项目范围(非迭代级),在 AI 对话框中输入</div>
2043
- <div class="step-desc" style="margin-top:4px">📂 输出到 .speccore/GLOBAL/platforms/{端名}/,每端独立一套(TECH_STACK / API_INVENTORY / DATA_MODEL ...)<br>⏱ 与迭代分析不同:全局分析扫源码生成项目文档,迭代分析读需求生成技术规格(步骤 6 做的事)</div>
2044
- </div>
2045
- <div class="field-list">
2046
- <div class="field-item"><span class="field-check">✅</span><span class="field-name">项目信息表</span><span class="field-desc">— 工程名 / 源码路径 / Git 仓库(init 已自动填写)</span></div>
2047
- <div class="field-item"><span class="field-check">✅</span><span class="field-name">技术栈</span><span class="field-desc">— 后端语言+框架、前端框架、数据库、缓存</span></div>
2048
- <div class="field-item"><span class="field-check">✅</span><span class="field-name">命名规范</span><span class="field-desc">— API 路径、错误码、数据库、代码命名风格</span></div>
2049
- <div class="field-item"><span class="field-warn">⬜</span><span class="field-name">异常码体系</span><span class="field-desc">— 按模块定义错误码表(可选,按需补充)</span></div>
2050
- <div class="field-item"><span class="field-warn">⬜</span><span class="field-name">Git 分支策略</span><span class="field-desc">— 默认分支、任务分支、保护分支规则(可选)</span></div>
2051
- </div>
2052
- <div class="step-desc" style="margin-top:8px;color:var(--cyan)">💡 作用:AI 生成代码时严格遵循这里的技术栈。例如写了 Spring Boot + MySQL,AI 就不会生成 NestJS + PostgreSQL 的代码。</div>
2053
- </div>
2054
- </div>
2055
-
2056
- <div class="step">
2057
- <div class="step-header"><span class="step-num">2</span><span class="step-title">配置团队排期</span><span class="step-optional">可选</span></div>
2058
- <div class="step-desc">填写团队成员和可用天数。AI 拆分任务时会根据团队规模自动调整粒度,一个端可以有多个负责人,作为拆分时的默认责任人参考(后期可手动修改)。</div>
2059
- <div class="file-box">
2060
- <div class="file-path">📄 Iteration-xxx/STAFFING.md(步骤 3 创建迭代后生成)</div>
2061
- <div class="step-desc">格式示例:<br>
2062
- | 成员 | 角色 | 负责端 | 每周可用天数 |<br>
2063
- | 张三 | 后端 | API 服务 | 5 |<br>
2064
- | 李四 | 前端 | Web, H5 | 4 |<br>
2065
- | 王五 | 全栈 | Admin | 3 |</div>
2066
- <div class="step-desc" style="color:var(--green)">💡 联动:≤3人 → 粗粒度拆分 | 4-8人 → 中粒度(默认)| >8人 → 细粒度拆分</div>
2067
- </div>
2068
- </div>
2069
-
2070
- <div class="step">
2071
- <div class="step-header"><span class="step-num">3</span><span class="step-title">创建迭代</span><span class="step-required">必填</span></div>
2072
- <div class="step-desc">迭代是一组需求的载体,包含需求文档、任务、代码等所有内容。先创建一个迭代,再把需求放进去。</div>
2073
- <div class="file-box">
2074
- <div class="file-path">📁 创建后生成的目录结构</div>
2075
- <div class="step-desc">
2076
- Iteration-xxx/<br>
2077
- ├── 010-requirements/ ← 放需求文档的地方<br>
2078
- ├── 020-specs/ ← AI 分析后生成的技术规格<br>
2079
- └── 030-tasks/ ← AI 拆分后的开发任务
2080
- </div>
2081
- <div class="method-cmd" style="margin-top:8px">speccore iteration create -n &lt;迭代短名&gt; --topic &lt;中文描述&gt;</div>
2082
- <div style="margin-top:8px;font-size:10px;color:var(--muted)">-n &lt;迭代短名&gt; — 自定义英文名(如 login / Q1),后续命令用它引用<br>--topic &lt;中文描述&gt; — 迭代用途说明(如 "登录功能")</div>
2083
- <div class="step-desc" style="color:var(--cyan);margin-top:8px">💡 这是 CLI 命令,在终端中执行。创建后在下方步骤导入需求时用这个短名引用。</div>
2084
- </div>
2085
- </div>
2086
-
2087
- <div class="step">
2088
- <div class="step-header"><span class="step-num">4</span><span class="step-title">导入需求</span><span class="step-required">必填</span></div>
2089
- <div class="step-desc">把产品需求放进步骤 3 创建的迭代中。推荐直接用自然语言描述,AI 会帮你整理成标准需求文档:</div>
2090
- <div class="method-grid" style="grid-template-columns:1fr 1fr">
2091
- <div class="method-card m1"><div class="method-title">🤖 自然语言(推荐)</div><div class="step-desc">用口语描述需求 → AI 澄清 → 你确认 → 自动生成标准需求文档,支持反复修改</div><div class="method-cmd" style="margin-top:4px">/spec-ask "新增用户登录功能"</div></div>
2092
- <div class="method-card m2"><div class="method-title">📎 文件导入</div><div class="step-desc">把 Word / PDF / Markdown 文档交给 AI,自动提取需求并转换</div><div class="method-cmd" style="margin-top:4px">/spec-ask "导入 PRD.docx 到 my-iter"</div></div>
2093
- </div>
2094
- <div class="step-desc" style="color:var(--muted);margin-top:4px">还有更多方式:📂 把文件丢到 .speccore/inbox/ 目录自动识别 | ✍️ 直接编辑迭代下 010-requirements/ 目录</div>
2095
- <div class="step-desc" style="color:var(--green)">💡 导入后,下一步 AI 分析会自动读取这些需求文档,生成 ANALYSIS.md、TECH.md 等 7 份技术规格。</div>
2096
- </div>
2097
-
2098
- <div class="step">
2099
- <div class="step-header"><span class="step-num">5</span><span class="step-title">知识库与规则</span><span class="step-optional">按需补充</span></div>
2100
- <div class="step-desc">以下内容按需补充,AI 在工作时会读取作为参考:</div>
2101
- <div class="kb-grid">
2102
- <div class="kb-card"><div class="kb-icon">📐</div><div class="kb-name">PATTERNS/</div><div class="kb-desc">代码模式模板<br>定义组件/服务/中间件的标准写法</div></div>
2103
- <div class="kb-card"><div class="kb-icon">📏</div><div class="kb-name">RULES/</div><div class="kb-desc">代码审查规则<br>定义 Code Review 的检查项</div></div>
2104
- <div class="kb-card"><div class="kb-icon">🗺️</div><div class="kb-name">PROJECT/</div><div class="kb-desc">项目全景文档<br>架构/团队/依赖关系</div></div>
2105
- </div>
2106
- </div>
2107
-
2108
- <div class="step">
2109
- <div class="step-header"><span class="step-num">6</span><span class="step-title">开始开发</span></div>
2110
- <div class="step-desc">一切就绪,按以下流程推进开发:</div>
2111
- <div class="flow-bar">
2112
- <span class="flow-node n2">需求分析</span><span class="flow-arrow">→</span>
2113
- <span class="flow-node n3">任务拆分</span><span class="flow-arrow">→</span>
2114
- <span class="flow-node n2">执行开发</span><span class="flow-arrow">→</span>
2115
- <span class="flow-node n1">验证交付</span>
2116
- </div>
2117
- <div style="margin:12px 0;padding:12px;border-radius:8px;border:1px solid rgba(20,184,166,.2);background:rgba(20,184,166,.04)">
2118
- <div style="font-size:12px;font-weight:700;color:var(--green);margin-bottom:8px">📋 完整示例流程</div>
2119
- <div class="method-cmd" style="margin-bottom:4px"># 1. 创建迭代(终端执行)</div>
2120
- <div class="method-cmd" style="margin-bottom:8px">speccore iteration create -n login --topic "登录功能"</div>
2121
- <div class="method-cmd" style="margin-bottom:4px"># 2. 分析需求(AI 对话框)</div>
2122
- <div class="method-cmd" style="margin-bottom:8px">/spec-ask "分析 login 的需求"</div>
2123
- <div class="method-cmd" style="margin-bottom:4px"># 3. 拆分任务(AI 对话框)</div>
2124
- <div class="method-cmd" style="margin-bottom:8px">/spec-ask "拆分 login 的任务"</div>
2125
- <div class="method-cmd" style="margin-bottom:4px"># 4. 执行开发(AI 对话框)</div>
2126
- <div class="method-cmd">/spec-ask "开发 Task-001"</div>
2127
- </div>
2128
- <div class="method-grid" style="grid-template-columns:1fr 1fr;margin-top:12px">
2129
- <div class="method-card m1"><div class="method-title">🤖 方式 A:意图式(推荐)</div><div class="step-desc">用自然语言告诉 AI,每步自动判断:</div><div class="method-cmd" style="margin-top:4px">/spec-ask "分析 my-iter 的需求"</div><div class="method-cmd">/spec-ask "拆分任务"</div><div class="method-cmd">/spec-ask "开发 Task-001"</div><div class="method-cmd">/spec-ask "完成 Task-001"</div></div>
2130
- <div class="method-card m2"><div class="method-title">⌨️ 方式 B:显式命令(也在 AI 对话框中使用)</div><div class="step-desc">命令模板,将 &lt;参数&gt; 替换为你的实际值:</div><div class="method-cmd" style="margin-top:4px">/spec-analyze -I &lt;迭代名&gt;</div><div class="method-cmd">/spec-split -i &lt;迭代名&gt;</div><div class="method-cmd">/spec-execute -t &lt;任务名&gt;</div><div class="method-cmd">/spec-done -t &lt;任务名&gt;</div><div style="margin-top:8px;font-size:10px;color:var(--muted)">-I &lt;迭代名&gt; — analyze 用大写 -I,其余用小写 -i<br>-t &lt;任务名&gt; — Task-001 / Task-002 ...<br>--prompt 已内置在 Skill 中,无需手动添加</div></div>
2131
- </div>
2132
- <div class="step-desc" style="color:var(--cyan)">💡 两种方式都在 AI 对话框中使用,可以混用。例如先用意图式分析,再用显式命令执行特定任务。</div>
2133
- </div>
2134
-
2135
- <div style="margin:16px 0 8px;font-size:13px;font-weight:700;color:var(--cyan)">⚡ 自动化模式</div>
2136
- <div style="padding:12px;border-radius:8px;border:1px solid rgba(14,165,233,.15);background:rgba(14,165,233,.04)">
2137
- <div style="font-size:11px;font-weight:700;color:var(--cyan);margin-bottom:8px">🎯 三种执行模式(按需选择)</div>
2138
- <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px">
2139
- <div style="padding:10px;border-radius:6px;border:1px solid rgba(20,184,166,.2);background:rgba(20,184,166,.04)">
2140
- <div style="font-size:10px;font-weight:700;color:var(--green);margin-bottom:4px">🔒 全程确认</div>
2141
- <div class="step-desc" style="font-size:9px">每步展示结果,等你确认后再继续。适合首次使用。</div>
2142
- <div class="method-cmd" style="font-size:9px">/spec-ask "分析 my-iter 的需求"</div>
2143
- </div>
2144
- <div style="padding:10px;border-radius:6px;border:1px solid rgba(249,115,22,.2);background:rgba(249,115,22,.04)">
2145
- <div style="font-size:10px;font-weight:700;color:var(--orange);margin-bottom:4px">⚡ 半自动</div>
2146
- <div class="step-desc" style="font-size:9px">分析和拆分自动完成,执行开发前暂停。适合日常开发。</div>
2147
- <div class="method-cmd" style="font-size:9px">/spec-ask "分析 my-iter 并拆分任务"</div>
2148
- </div>
2149
- <div style="padding:10px;border-radius:6px;border:1px solid rgba(99,102,241,.2);background:rgba(99,102,241,.04)">
2150
- <div style="font-size:10px;font-weight:700;color:var(--purple);margin-bottom:4px">🚀 全自动</div>
2151
- <div class="step-desc" style="font-size:9px">一键跑完整个流水线,不中途暂停。适合熟悉后批量推进。</div>
2152
- <div class="method-cmd" style="font-size:9px">/spec-ask "全自动推进 my-iter"</div>
2153
- </div>
2154
- </div>
2155
- <div class="step-desc" style="margin-top:8px;font-size:10px">💡 <code>speccore dev</code> 是流水线控制器:自动检测当前阶段 → 推荐下一步 → 执行。还可用 <code>--from analyze --to execute</code> 指定范围。</div>
2156
- </div>
2157
-
2158
- <div style="margin:16px 0 8px;font-size:13px;font-weight:700;color:var(--cyan)">📚 提示词库(快速上手)</div>
2159
- <div style="padding:12px;border-radius:8px;border:1px solid rgba(99,102,241,.2);background:rgba(99,102,241,.04)">
2160
- <div class="step-desc">内置常用操作模板,按场景分类(核心流程/迭代管理/分析文档/开发执行),复制即用:</div>
2161
- <div class="method-cmd" style="margin-bottom:8px">speccore prompts</div>
2162
- <div style="font-size:10px;color:var(--muted);margin-top:4px">打开提示词库页面,浏览预设模板,点击复制自动带上 /spec-ask 前缀</div>
2163
- <div style="margin-top:8px;display:flex;gap:8px;flex-wrap:wrap">
2164
- <span style="padding:4px 8px;border-radius:4px;background:rgba(14,165,233,.1);color:var(--cyan);font-size:9px">🔍 分析需求</span>
2165
- <span style="padding:4px 8px;border-radius:4px;background:rgba(249,115,22,.1);color:var(--orange);font-size:9px">🧩 拆分任务</span>
2166
- <span style="padding:4px 8px;border-radius:4px;background:rgba(20,184,166,.1);color:var(--green);font-size:9px">▶️ 执行任务</span>
2167
- <span style="padding:4px 8px;border-radius:4px;background:rgba(99,102,241,.1);color:var(--purple);font-size:9px">📊 查看进度</span>
2168
- </div>
2169
- </div>
2170
-
2171
- <div style="margin:16px 0 8px;font-size:13px;font-weight:700;color:var(--cyan)">📖 重新查看本指南</div>
2172
- <div class="step-desc">本指南保存在 <code>outputs/speccore-setup-guide.html</code>,随时可在浏览器中打开查看。<br>也可以让 AI 重新展示:/spec-ask "打开配置引导"</div>
2173
-
2174
- <div class="faq-section">
2175
- <div class="faq-title">❓ 常见问题</div>
2176
- <div class="faq-item">
2177
- <div class="faq-q">Q: 我怎么知道 CONSTITUTION.md 填对了?</div>
2178
- <div class="faq-a">A: 不用完美!init 已自动填写工程名和 Git 仓库。技术栈可以用 AI 扫描:<code>/spec-ask "分析代码,完善技术宪法"</code>。必填项只有技术栈(后端/前端/数据库),其他按需补充。</div>
2179
- </div>
2180
- <div class="faq-item">
2181
- <div class="faq-q">Q: 团队排期不填会怎样?</div>
2182
- <div class="faq-a">A: 不影响使用。AI 会用默认的中粒度拆分(4-8人规模)。后续需要时再编辑 Iteration-xxx/STAFFING.md 即可。</div>
2183
- </div>
2184
- <div class="faq-item">
2185
- <div class="faq-q">Q: 我能改迭代名吗?</div>
2186
- <div class="faq-a">A: 可以。用 <code>speccore rename --iteration 旧名 新名</code> 或在 AI 对话框说 <code>/spec-ask "把迭代 old-name 重命名为 new-name"</code>。</div>
2187
- </div>
2188
- <div class="faq-item">
2189
- <div class="faq-q">Q: 需求文档放哪?</div>
2190
- <div class="faq-a">A: 放到迭代目录下的 <code>010-requirements/</code> 文件夹。或者直接用自然语言描述:<code>/spec-ask "新增用户登录功能"</code>,AI 会自动生成标准需求文档。</div>
2191
- </div>
2192
- </div>
2193
-
2194
- <div class="action-grid">
2195
- <a class="action-card primary" href="#" onclick="alert('请在终端执行:\nspeccore iteration create -n xxx --topic \"xxx\"')">
2196
- <div class="action-icon">🚀</div>
2197
- <div class="action-title">创建第一个迭代</div>
2198
- <div class="action-desc">开始你的第一个开发周期</div>
2199
- </a>
2200
- <a class="action-card secondary" href="speccore-prompts.html">
2201
- <div class="action-icon">📚</div>
2202
- <div class="action-title">查看提示词库</div>
2203
- <div class="action-desc">浏览常用操作模板</div>
2204
- </a>
2205
- <a class="action-card secondary" href="speccore-setup-guide.html">
2206
- <div class="action-icon">📖</div>
2207
- <div class="action-title">重新看配置指南</div>
2208
- <div class="action-desc">随时回顾初始化步骤</div>
2209
- </a>
2210
- </div>
2211
-
2212
- <div class="footer">SpecCore v${pkgVersion} · 项目配置引导 · ${name}</div>
2213
- </div></body></html>`;
1940
+ // 读取静态模板
1941
+ const templatePath = (0, path_1.join)(projectRoot, 'templates', 'html', 'speccore-setup-guide.html');
1942
+ let template;
1943
+ if (await (0, fs_extra_1.pathExists)(templatePath)) {
1944
+ template = await (0, fs_extra_1.readFile)(templatePath, 'utf-8');
1945
+ }
1946
+ else {
1947
+ // 降级:如果模板不存在,使用内置简短提示(不应该发生)
1948
+ template = '<!DOCTYPE html><html><body><h1>SpecCore 配置引导</h1><p>模板文件缺失,请检查 templates/html/speccore-setup-guide.html</p></body></html>';
1949
+ }
1950
+ // 替换变量
1951
+ const html = template
1952
+ .replace(/\{\{PROJECT_NAME\}\}/g, name)
1953
+ .replace(/\{\{VERSION\}\}/g, pkgVersion);
2214
1954
  const outputPath = (0, path_1.join)(projectRoot, 'outputs', 'speccore-setup-guide.html');
2215
1955
  await (0, fs_extra_1.ensureDir)((0, path_1.join)(projectRoot, 'outputs'));
2216
1956
  await (0, fs_extra_1.writeFile)(outputPath, html);