speccore 8.3.207 → 8.3.210

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 (41) hide show
  1. package/.agents/skills/{spec-split → spec-taskify}/SKILL.md +2 -2
  2. package/.agents/skills/speccore-router/SKILL.md +8 -8
  3. package/dist/commands/analyze.d.ts.map +1 -1
  4. package/dist/commands/analyze.js +12 -2
  5. package/dist/commands/analyze.js.map +1 -1
  6. package/dist/commands/doc2spec.js +1 -1
  7. package/dist/commands/doc2spec.js.map +1 -1
  8. package/dist/commands/init.js +4 -4
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/iteration/split.js +5 -5
  11. package/dist/commands/iteration/split.js.map +1 -1
  12. package/dist/commands/next.js +1 -1
  13. package/dist/commands/next.js.map +1 -1
  14. package/dist/commands/prompts.js +1 -1
  15. package/dist/commands/prompts.js.map +1 -1
  16. package/dist/commands/status-panel.js +1 -1
  17. package/dist/commands/status-panel.js.map +1 -1
  18. package/dist/commands/task/new.d.ts +3 -0
  19. package/dist/commands/task/new.d.ts.map +1 -1
  20. package/dist/commands/task/new.js +41 -28
  21. package/dist/commands/task/new.js.map +1 -1
  22. package/dist/commands/update.d.ts.map +1 -1
  23. package/dist/commands/update.js +11 -0
  24. package/dist/commands/update.js.map +1 -1
  25. package/dist/core/ask-engine.js +2 -2
  26. package/dist/core/ask-engine.js.map +1 -1
  27. package/dist/core/excel-extract.d.ts +7 -1
  28. package/dist/core/excel-extract.d.ts.map +1 -1
  29. package/dist/core/excel-extract.js +56 -28
  30. package/dist/core/excel-extract.js.map +1 -1
  31. package/dist/core/git-integration.d.ts.map +1 -1
  32. package/dist/core/git-integration.js +21 -0
  33. package/dist/core/git-integration.js.map +1 -1
  34. package/dist/core/next-steps.js +2 -2
  35. package/dist/core/next-steps.js.map +1 -1
  36. package/dist/core/prompt-builder.js +3 -3
  37. package/dist/core/prompt-builder.js.map +1 -1
  38. package/dist/core/spec-paths.d.ts.map +1 -1
  39. package/dist/core/spec-paths.js +4 -0
  40. package/dist/core/spec-paths.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: spec-split
2
+ name: spec-taskify
3
3
  description: >
4
4
  SpecCore 任务拆分专属 Skill。仅在用户明确提到 speccore、迭代、期次、Spec、
5
- /split 等关键词,或明确要求通过 speccore 执行 split 操作时使用。
5
+ /taskify 等关键词,或明确要求通过 speccore 执行任务拆分(taskify)时使用。
6
6
  在调用 speccore ask 之前,执行参数提取、前置校验(analyze 是否完成、端列表提取、
7
7
  变更检测),参数缺失时输出交互式提示(参数说明 + 使用示例)。
8
8
  不处理一般性的"拆分任务"讨论(如"帮我拆分一下工作"),只处理 speccore 上下文中的拆分。
@@ -4,7 +4,7 @@ description: >
4
4
  SpecCore CLI 命令路由器。仅在用户明确提到 speccore、迭代、期次、Spec 等关键词,
5
5
  或明确要求通过 speccore 命令行工具执行操作,且意图涉及以下概念时使用:
6
6
  迭代管理、需求文档导入(doc2spec)、Spec 分析生成(analyze --prompt)、
7
- 任务拆分(split)、执行计划(plan --prompt)、代码执行(execute --prompt)、
7
+ 任务拆分(taskify)、执行计划(plan --prompt)、代码执行(execute --prompt)、
8
8
  任务归档(done)、PR 提交(pr)、状态查看(status/dashboard/doctor)、智能级联(dev)。
9
9
  将用户意图映射为 speccore CLI 命令,通过 execute_command 执行。
10
10
  核心原则:必须直接执行,决不输出命令文本。唯一下例外:"只看不跑"。
@@ -111,7 +111,7 @@ allowed-tools: ["Bash", "Read", "Write", "Edit"]
111
111
 
112
112
  ### 1. 有 speccore 上下文(放行)
113
113
 
114
- 如果当前对话中用户**之前已经明确使用过 speccore**(如执行过 analyze/split/execute 等命令,或提到过迭代/期次/Task 等),则视为有上下文:
114
+ 如果当前对话中用户**之前已经明确使用过 speccore**(如执行过 analyze/taskify/execute 等命令,或提到过迭代/期次/Task 等),则视为有上下文:
115
115
  - ✅ 模糊意图(如"分析需求"、"拆分任务")**直接按 speccore 处理**,无需重复确认
116
116
  - 除非用户明确说"这次不用 speccore"、"不用 speccore 分析"、"正常讨论就行"等,才按正常 AI 对话处理
117
117
 
@@ -125,7 +125,7 @@ allowed-tools: ["Bash", "Read", "Write", "Edit"]
125
125
  - `Task-`、`任务号`
126
126
  - `010-requirements`、`020-specs`、`030-tasks`
127
127
  - `.speccore/` 目录相关操作
128
- - `/analyze`、`/split`、`/execute` 等快捷命令
128
+ - `/analyze`、`/taskify`、`/execute` 等快捷命令
129
129
 
130
130
  **必须追问确认(无上述关键词)**:
131
131
  | 用户说法 | 处理方式 |
@@ -219,10 +219,10 @@ allowed-tools: ["Bash", "Read", "Write", "Edit"]
219
219
  ### 任务拆分
220
220
  | 用户说法 | 提取参数 | AI 上下文(需宿主AI交互) |
221
221
  | :--- | :--- | :--- |
222
- | 拆分任务/拆解需求 | iter, owner? | `speccore iteration split -I {iter}` |
223
- | 分配任务 | iter, owner? | `speccore iteration split -I {iter} --owner {owner}` |
224
- | 拆分 {iter} | iter | `speccore iteration split -I {iter}` |
225
- | 生成任务列表 | iter | `speccore iteration split -I {iter}` |
222
+ | 拆分任务/拆解需求 | iter, owner? | `speccore iteration taskify -I {iter}` |
223
+ | 分配任务 | iter, owner? | `speccore iteration taskify -I {iter} --owner {owner}` |
224
+ | 拆分 {iter} | iter | `speccore iteration taskify -I {iter}` |
225
+ | 生成任务列表 | iter | `speccore iteration taskify -I {iter}` |
226
226
 
227
227
  ### 执行开发
228
228
  | 用户说法 | 提取参数 | AI 上下文(需宿主AI交互) |
@@ -429,7 +429,7 @@ allowed-tools: ["Bash", "Read", "Write", "Edit"]
429
429
  | :--- | :--- | :--- |
430
430
  | 导入需求 {file} | `speccore doc2spec --prompt -f {file}` | `--response '...'` |
431
431
  | 分析 {iter} | `speccore analyze --prompt -I {iter}` | `--apply '...'` |
432
- | 拆分 {iter} | `speccore iteration split --prompt -I {iter}` | `--response '...'` |
432
+ | 拆分 {iter} | `speccore iteration taskify --prompt -I {iter}` | `--response '...'` |
433
433
  | 生成计划 {iter} | `speccore plan --prompt -I {iter}` | `--response '...'` |
434
434
  | 执行/开发 {task} | `speccore execute --prompt -t {task}` | `--response '...'` |
435
435
  | 需求变更/新增 {desc} | `speccore change --prompt "{desc}"` | AI澄清→**用户确认**→`--response '{JSON}'` |
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -6403,14 +6403,24 @@ async function extractIterationUnits(iterDir) {
6403
6403
  return units;
6404
6404
  }
6405
6405
  const reqFiles = [];
6406
+ // v8.3.210+: 系统报告/验证文档(非功能单元),兜底扫描时跳过
6407
+ const systemDocs = new Set(['VALIDATION', 'VALIDATION_REPORT', 'VERIFICATION', 'QUALITY_REPORT', 'CLARIFY_REPORT', 'INDEX', 'README', 'CHANGELOG', 'FUNCTION_MAP', 'GLOSSARY']);
6408
+ const resourceDirs = new Set(['assets', 'images', 'prototypes', 'screenshots', 'sources', 'designs', 'extracted']);
6406
6409
  async function scanDir(dir) {
6407
6410
  const entries = await (0, fs_extra_2.readdir)(dir, { withFileTypes: true });
6408
6411
  for (const entry of entries) {
6409
6412
  const fullPath = (0, path_1.join)(dir, entry.name);
6410
- if (entry.isDirectory())
6413
+ if (entry.isDirectory()) {
6414
+ if (resourceDirs.has(entry.name))
6415
+ continue; // 不递归资源目录
6411
6416
  await scanDir(fullPath);
6412
- else if (entry.name.endsWith('.md'))
6417
+ }
6418
+ else if (entry.name.endsWith('.md')) {
6419
+ const base = entry.name.slice(0, -3);
6420
+ if (systemDocs.has(base) || base.startsWith('unit-') || base.startsWith('_'))
6421
+ continue;
6413
6422
  reqFiles.push(fullPath);
6423
+ }
6414
6424
  }
6415
6425
  }
6416
6426
  await scanDir(reqDir);