speccore 8.3.340 โ†’ 8.3.345

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 (246) hide show
  1. package/.agents/skills/speccore-router/SKILL.md +0 -2
  2. package/README.en.md +3 -11
  3. package/README.md +3 -13
  4. package/dist/cli.js +1 -187
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/analyze.d.ts.map +1 -1
  7. package/dist/commands/analyze.js +583 -502
  8. package/dist/commands/analyze.js.map +1 -1
  9. package/dist/commands/ask.d.ts +1 -0
  10. package/dist/commands/ask.d.ts.map +1 -1
  11. package/dist/commands/ask.js +5 -18
  12. package/dist/commands/ask.js.map +1 -1
  13. package/dist/commands/completion.d.ts.map +1 -1
  14. package/dist/commands/completion.js +9 -7
  15. package/dist/commands/completion.js.map +1 -1
  16. package/dist/commands/doctor.js +3 -3
  17. package/dist/commands/doctor.js.map +1 -1
  18. package/dist/commands/done.js +1 -5
  19. package/dist/commands/done.js.map +1 -1
  20. package/dist/commands/execute.js +2 -2
  21. package/dist/commands/execute.js.map +1 -1
  22. package/dist/commands/help.js +5 -54
  23. package/dist/commands/help.js.map +1 -1
  24. package/dist/commands/init.d.ts.map +1 -1
  25. package/dist/commands/init.js +3 -31
  26. package/dist/commands/init.js.map +1 -1
  27. package/dist/commands/iteration/taskify.d.ts.map +1 -1
  28. package/dist/commands/iteration/taskify.js +5 -147
  29. package/dist/commands/iteration/taskify.js.map +1 -1
  30. package/dist/commands/pr.d.ts.map +1 -1
  31. package/dist/commands/pr.js +3 -5
  32. package/dist/commands/pr.js.map +1 -1
  33. package/dist/commands/search.js +1 -1
  34. package/dist/commands/search.js.map +1 -1
  35. package/dist/commands/update-env-configs.d.ts.map +1 -1
  36. package/dist/commands/update-env-configs.js +2 -1
  37. package/dist/commands/update-env-configs.js.map +1 -1
  38. package/dist/commands/update.d.ts +4 -0
  39. package/dist/commands/update.d.ts.map +1 -1
  40. package/dist/commands/update.js +41 -1
  41. package/dist/commands/update.js.map +1 -1
  42. package/dist/commands/welcome.d.ts.map +1 -1
  43. package/dist/commands/welcome.js +37 -36
  44. package/dist/commands/welcome.js.map +1 -1
  45. package/dist/core/analyze-engine.js +3 -3
  46. package/dist/core/analyze-engine.js.map +1 -1
  47. package/dist/core/arbitration/l3-human-arbiter.js +1 -1
  48. package/dist/core/arbitration/l3-human-arbiter.js.map +1 -1
  49. package/dist/core/arbitration/verdict-generator.js +1 -1
  50. package/dist/core/arbitration/verdict-generator.js.map +1 -1
  51. package/dist/core/ask-engine.d.ts.map +1 -1
  52. package/dist/core/ask-engine.js +16 -42
  53. package/dist/core/ask-engine.js.map +1 -1
  54. package/dist/core/code-graph/reporter.d.ts.map +1 -1
  55. package/dist/core/code-graph/reporter.js +3 -12
  56. package/dist/core/code-graph/reporter.js.map +1 -1
  57. package/dist/core/code-graph/requirement-linker.js +1 -1
  58. package/dist/core/code-graph/requirement-linker.js.map +1 -1
  59. package/dist/core/code-scanner.js +1 -1
  60. package/dist/core/code-scanner.js.map +1 -1
  61. package/dist/core/deploy/engine.d.ts.map +1 -1
  62. package/dist/core/deploy/engine.js +58 -44
  63. package/dist/core/deploy/engine.js.map +1 -1
  64. package/dist/core/environment-config.d.ts +2 -0
  65. package/dist/core/environment-config.d.ts.map +1 -1
  66. package/dist/core/environment-config.js +6 -1
  67. package/dist/core/environment-config.js.map +1 -1
  68. package/dist/core/error-diagnosis.js +2 -2
  69. package/dist/core/error-diagnosis.js.map +1 -1
  70. package/dist/core/function-map.d.ts +49 -0
  71. package/dist/core/function-map.d.ts.map +1 -0
  72. package/dist/core/function-map.js +280 -0
  73. package/dist/core/function-map.js.map +1 -0
  74. package/dist/core/git-integration.d.ts +6 -0
  75. package/dist/core/git-integration.d.ts.map +1 -1
  76. package/dist/core/git-integration.js +11 -0
  77. package/dist/core/git-integration.js.map +1 -1
  78. package/dist/core/global-knowledge.js +1 -1
  79. package/dist/core/index-guard.d.ts.map +1 -1
  80. package/dist/core/index-guard.js +4 -26
  81. package/dist/core/index-guard.js.map +1 -1
  82. package/dist/core/intent-recognition.d.ts +1 -1
  83. package/dist/core/intent-recognition.d.ts.map +1 -1
  84. package/dist/core/intent-recognition.js +5 -63
  85. package/dist/core/intent-recognition.js.map +1 -1
  86. package/dist/core/page-bundle.d.ts +25 -0
  87. package/dist/core/page-bundle.d.ts.map +1 -0
  88. package/dist/core/page-bundle.js +144 -0
  89. package/dist/core/page-bundle.js.map +1 -0
  90. package/dist/core/prompt-builder.d.ts +9 -0
  91. package/dist/core/prompt-builder.d.ts.map +1 -1
  92. package/dist/core/prompt-builder.js +135 -3
  93. package/dist/core/prompt-builder.js.map +1 -1
  94. package/dist/core/prompt-plugins/analyze-graph-plugin.js +1 -1
  95. package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -1
  96. package/dist/core/structured-extractor.d.ts +6 -0
  97. package/dist/core/structured-extractor.d.ts.map +1 -1
  98. package/dist/core/structured-extractor.js +6 -0
  99. package/dist/core/structured-extractor.js.map +1 -1
  100. package/dist/core/unified-config.d.ts.map +1 -1
  101. package/dist/core/unified-config.js +29 -19
  102. package/dist/core/unified-config.js.map +1 -1
  103. package/dist/core/usage-analytics.js +1 -1
  104. package/dist/core/usage-analytics.js.map +1 -1
  105. package/package.json +1 -1
  106. package/templates/html/speccore-ask-guide.html +1 -1
  107. package/templates/html/speccore-ask-pipeline.html +1 -1
  108. package/templates/html/speccore-ask-result.html +1 -1
  109. package/templates/html/speccore-help.html +2 -2
  110. package/templates/speccore-yml-example.yml +24 -24
  111. package/dist/commands/audit.d.ts +0 -12
  112. package/dist/commands/audit.d.ts.map +0 -1
  113. package/dist/commands/audit.js +0 -540
  114. package/dist/commands/audit.js.map +0 -1
  115. package/dist/commands/backup.d.ts +0 -18
  116. package/dist/commands/backup.d.ts.map +0 -1
  117. package/dist/commands/backup.js +0 -102
  118. package/dist/commands/backup.js.map +0 -1
  119. package/dist/commands/baseline.d.ts +0 -13
  120. package/dist/commands/baseline.d.ts.map +0 -1
  121. package/dist/commands/baseline.js +0 -227
  122. package/dist/commands/baseline.js.map +0 -1
  123. package/dist/commands/chain.d.ts +0 -55
  124. package/dist/commands/chain.d.ts.map +0 -1
  125. package/dist/commands/chain.js +0 -501
  126. package/dist/commands/chain.js.map +0 -1
  127. package/dist/commands/clarify.d.ts +0 -17
  128. package/dist/commands/clarify.d.ts.map +0 -1
  129. package/dist/commands/clarify.js +0 -351
  130. package/dist/commands/clarify.js.map +0 -1
  131. package/dist/commands/code-index.d.ts +0 -21
  132. package/dist/commands/code-index.d.ts.map +0 -1
  133. package/dist/commands/code-index.js +0 -193
  134. package/dist/commands/code-index.js.map +0 -1
  135. package/dist/commands/context.d.ts +0 -10
  136. package/dist/commands/context.d.ts.map +0 -1
  137. package/dist/commands/context.js +0 -213
  138. package/dist/commands/context.js.map +0 -1
  139. package/dist/commands/current.d.ts +0 -10
  140. package/dist/commands/current.d.ts.map +0 -1
  141. package/dist/commands/current.js +0 -53
  142. package/dist/commands/current.js.map +0 -1
  143. package/dist/commands/dev.d.ts +0 -18
  144. package/dist/commands/dev.d.ts.map +0 -1
  145. package/dist/commands/dev.js +0 -854
  146. package/dist/commands/dev.js.map +0 -1
  147. package/dist/commands/diff.d.ts +0 -10
  148. package/dist/commands/diff.d.ts.map +0 -1
  149. package/dist/commands/diff.js +0 -160
  150. package/dist/commands/diff.js.map +0 -1
  151. package/dist/commands/global-status.d.ts +0 -9
  152. package/dist/commands/global-status.d.ts.map +0 -1
  153. package/dist/commands/global-status.js +0 -135
  154. package/dist/commands/global-status.js.map +0 -1
  155. package/dist/commands/graph.d.ts +0 -25
  156. package/dist/commands/graph.d.ts.map +0 -1
  157. package/dist/commands/graph.js +0 -523
  158. package/dist/commands/graph.js.map +0 -1
  159. package/dist/commands/handover.d.ts +0 -11
  160. package/dist/commands/handover.d.ts.map +0 -1
  161. package/dist/commands/handover.js +0 -170
  162. package/dist/commands/handover.js.map +0 -1
  163. package/dist/commands/health.d.ts +0 -7
  164. package/dist/commands/health.d.ts.map +0 -1
  165. package/dist/commands/health.js +0 -80
  166. package/dist/commands/health.js.map +0 -1
  167. package/dist/commands/history.d.ts +0 -9
  168. package/dist/commands/history.d.ts.map +0 -1
  169. package/dist/commands/history.js +0 -117
  170. package/dist/commands/history.js.map +0 -1
  171. package/dist/commands/impact.d.ts +0 -12
  172. package/dist/commands/impact.d.ts.map +0 -1
  173. package/dist/commands/impact.js +0 -238
  174. package/dist/commands/impact.js.map +0 -1
  175. package/dist/commands/import.d.ts +0 -19
  176. package/dist/commands/import.d.ts.map +0 -1
  177. package/dist/commands/import.js +0 -673
  178. package/dist/commands/import.js.map +0 -1
  179. package/dist/commands/knowledge.d.ts +0 -6
  180. package/dist/commands/knowledge.d.ts.map +0 -1
  181. package/dist/commands/knowledge.js +0 -94
  182. package/dist/commands/knowledge.js.map +0 -1
  183. package/dist/commands/lifecycle.d.ts +0 -9
  184. package/dist/commands/lifecycle.d.ts.map +0 -1
  185. package/dist/commands/lifecycle.js +0 -288
  186. package/dist/commands/lifecycle.js.map +0 -1
  187. package/dist/commands/merge-check.d.ts +0 -10
  188. package/dist/commands/merge-check.d.ts.map +0 -1
  189. package/dist/commands/merge-check.js +0 -183
  190. package/dist/commands/merge-check.js.map +0 -1
  191. package/dist/commands/notify.d.ts +0 -13
  192. package/dist/commands/notify.d.ts.map +0 -1
  193. package/dist/commands/notify.js +0 -63
  194. package/dist/commands/notify.js.map +0 -1
  195. package/dist/commands/rag-index.d.ts +0 -19
  196. package/dist/commands/rag-index.d.ts.map +0 -1
  197. package/dist/commands/rag-index.js +0 -286
  198. package/dist/commands/rag-index.js.map +0 -1
  199. package/dist/commands/recommend.d.ts +0 -13
  200. package/dist/commands/recommend.d.ts.map +0 -1
  201. package/dist/commands/recommend.js +0 -37
  202. package/dist/commands/recommend.js.map +0 -1
  203. package/dist/commands/refresh.d.ts +0 -21
  204. package/dist/commands/refresh.d.ts.map +0 -1
  205. package/dist/commands/refresh.js +0 -211
  206. package/dist/commands/refresh.js.map +0 -1
  207. package/dist/commands/rollback.d.ts +0 -8
  208. package/dist/commands/rollback.d.ts.map +0 -1
  209. package/dist/commands/rollback.js +0 -113
  210. package/dist/commands/rollback.js.map +0 -1
  211. package/dist/commands/status.d.ts +0 -7
  212. package/dist/commands/status.d.ts.map +0 -1
  213. package/dist/commands/status.js +0 -262
  214. package/dist/commands/status.js.map +0 -1
  215. package/dist/commands/trace.d.ts +0 -12
  216. package/dist/commands/trace.d.ts.map +0 -1
  217. package/dist/commands/trace.js +0 -163
  218. package/dist/commands/trace.js.map +0 -1
  219. package/dist/commands/tracker.d.ts +0 -2
  220. package/dist/commands/tracker.d.ts.map +0 -1
  221. package/dist/commands/tracker.js +0 -28
  222. package/dist/commands/tracker.js.map +0 -1
  223. package/dist/commands/verdict.d.ts +0 -16
  224. package/dist/commands/verdict.d.ts.map +0 -1
  225. package/dist/commands/verdict.js +0 -189
  226. package/dist/commands/verdict.js.map +0 -1
  227. package/dist/commands/workspace.d.ts +0 -20
  228. package/dist/commands/workspace.d.ts.map +0 -1
  229. package/dist/commands/workspace.js +0 -142
  230. package/dist/commands/workspace.js.map +0 -1
  231. package/dist/core/constraint-set.d.ts +0 -67
  232. package/dist/core/constraint-set.d.ts.map +0 -1
  233. package/dist/core/constraint-set.js +0 -151
  234. package/dist/core/constraint-set.js.map +0 -1
  235. package/dist/core/smart-recommend.d.ts +0 -16
  236. package/dist/core/smart-recommend.d.ts.map +0 -1
  237. package/dist/core/smart-recommend.js +0 -149
  238. package/dist/core/smart-recommend.js.map +0 -1
  239. package/dist/core/task-type-registry.d.ts +0 -110
  240. package/dist/core/task-type-registry.d.ts.map +0 -1
  241. package/dist/core/task-type-registry.js +0 -334
  242. package/dist/core/task-type-registry.js.map +0 -1
  243. package/dist/utils/mermaid-render.d.ts +0 -39
  244. package/dist/utils/mermaid-render.d.ts.map +0 -1
  245. package/dist/utils/mermaid-render.js +0 -284
  246. package/dist/utils/mermaid-render.js.map +0 -1
@@ -1,170 +0,0 @@
1
- "use strict";
2
- /**
3
- * handover - ็”ŸๆˆไบคๆŽฅๆ–‡ๆกฃๅ‘ฝไปค
4
- * ๆฑ‡ๆ€ป่ฟญไปฃๅ…ณ้”ฎไฟกๆฏใ€ๅพ…ๅŠžไบ‹้กนๅ’Œ้ฃŽ้™ฉ็‚น
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.handoverCommand = handoverCommand;
8
- const logger_1 = require("../utils/logger");
9
- const context_1 = require("../core/context");
10
- const fs_extra_1 = require("fs-extra");
11
- const path_1 = require("path");
12
- async function handoverCommand(options) {
13
- const spinner = new logger_1.Spinner('ๆญฃๅœจ็”ŸๆˆไบคๆŽฅๆ–‡ๆกฃ...');
14
- spinner.start();
15
- try {
16
- const iteration = await (0, context_1.getDefaultIteration)(options.iteration);
17
- const iterDir = iteration.startsWith("Iteration-") ? iteration : `Iteration-${iteration}`;
18
- if (!iteration) {
19
- spinner.fail('ๆœชๆ‰พๅˆฐๆดป่ทƒ่ฟญไปฃใ€‚่ฏทๅ…ˆ่ฟ่กŒ: speccore iteration create --name <ๅ็งฐ>');
20
- return;
21
- }
22
- const doc = await generateHandoverDoc(iteration);
23
- const format = options.format || 'md';
24
- const outputPath = options.output || (0, path_1.join)(process.cwd(), iterDir, '000-overview', `ไบคๆŽฅๆ–‡ๆกฃ.${format}`);
25
- await (0, fs_extra_1.writeFile)(outputPath, doc);
26
- spinner.stop(`ไบคๆŽฅๆ–‡ๆกฃๅทฒ็”Ÿๆˆ: ${outputPath}`);
27
- logger_1.logger.info('');
28
- logger_1.logger.info('๐Ÿ“‹ ไบคๆŽฅๆ–‡ๆกฃๅŒ…ๅซ:');
29
- logger_1.logger.info(' - ่ฟญไปฃๆฆ‚่งˆ');
30
- logger_1.logger.info(' - ไปปๅŠกๅฎŒๆˆๆƒ…ๅ†ต');
31
- logger_1.logger.info(' - ๅ…ณ้”ฎๅ†ณ็ญ–่ฎฐๅฝ•');
32
- logger_1.logger.info(' - ๅพ…ๅŠžไบ‹้กน');
33
- logger_1.logger.info(' - ้ฃŽ้™ฉไธŽๅปบ่ฎฎ');
34
- }
35
- catch (error) {
36
- spinner.fail(`ไบคๆŽฅๆ–‡ๆกฃ็”Ÿๆˆๅคฑ่ดฅ: ${error}`);
37
- throw error;
38
- }
39
- }
40
- async function generateHandoverDoc(iteration) {
41
- const iterDir = (0, path_1.join)(process.cwd(), iteration);
42
- const now = new Date().toISOString().split('T')[0];
43
- // ๆ‰ซๆไปปๅŠก
44
- const tasks = await scanTasks(iterDir);
45
- const completed = tasks.filter((t) => t.status === 'completed');
46
- const inProgress = tasks.filter((t) => t.status === 'in_progress');
47
- const pending = tasks.filter((t) => t.status === 'pending');
48
- let doc = `# ${iteration} - ไบคๆŽฅๆ–‡ๆกฃ\n\n`;
49
- doc += `> ็”Ÿๆˆๆ—ฅๆœŸ: ${now} | ็”Ÿๆˆๅทฅๅ…ท: SpecCore\n\n`;
50
- doc += `---\n\n`;
51
- // 1. ่ฟญไปฃๆฆ‚่งˆ
52
- doc += `## 1. ่ฟญไปฃๆฆ‚่งˆ\n\n`;
53
- doc += `| ๆŒ‡ๆ ‡ | ๆ•ฐๅ€ผ |\n`;
54
- doc += `| :--- | :--- |\n`;
55
- doc += `| ่ฟญไปฃๅ็งฐ | ${iteration} |\n`;
56
- doc += `| ๆ€ปไปปๅŠกๆ•ฐ | ${tasks.length} |\n`;
57
- doc += `| ๅทฒๅฎŒๆˆ | ${completed.length} |\n`;
58
- doc += `| ่ฟ›่กŒไธญ | ${inProgress.length} |\n`;
59
- doc += `| ๅพ…ๅผ€ๅ‘ | ${pending.length} |\n`;
60
- doc += `| ๅฎŒๆˆ็އ | ${tasks.length > 0 ? Math.round((completed.length / tasks.length) * 100) : 0}% |\n\n`;
61
- // 2. ไปปๅŠก่ฏฆๆƒ…
62
- doc += `## 2. ไปปๅŠก่ฏฆๆƒ…\n\n`;
63
- if (completed.length > 0) {
64
- doc += `### โœ… ๅทฒๅฎŒๆˆไปปๅŠก\n\n`;
65
- doc += `| ไปปๅŠก | ็ฑปๅž‹ | ๅฎŒๆˆๆ—ฅๆœŸ |\n`;
66
- doc += `| :--- | :--- | :--- |\n`;
67
- for (const t of completed) {
68
- doc += `| ${t.id} - ${t.name} | ${t.type} | ${t.endDate || '-'} |\n`;
69
- }
70
- doc += `\n`;
71
- }
72
- if (inProgress.length > 0) {
73
- doc += `### ๐ŸŸฆ ่ฟ›่กŒไธญไปปๅŠก\n\n`;
74
- doc += `| ไปปๅŠก | ็ฑปๅž‹ | ่ฟ›ๅบฆ | ้˜ปๅกž้กน |\n`;
75
- doc += `| :--- | :--- | :--- | :--- |\n`;
76
- for (const t of inProgress) {
77
- doc += `| ${t.id} - ${t.name} | ${t.type} | ${t.progress}% | ${t.blockers.join(', ') || '-'} |\n`;
78
- }
79
- doc += `\n`;
80
- }
81
- if (pending.length > 0) {
82
- doc += `### ๐Ÿ”ฒ ๅพ…ๅผ€ๅ‘ไปปๅŠก\n\n`;
83
- doc += `| ไปปๅŠก | ็ฑปๅž‹ | ไผ˜ๅ…ˆ็บง |\n`;
84
- doc += `| :--- | :--- | :--- |\n`;
85
- for (const t of pending) {
86
- doc += `| ${t.id} - ${t.name} | ${t.type} | ${t.priority || '-'} |\n`;
87
- }
88
- doc += `\n`;
89
- }
90
- // 3. ๅ…ณ้”ฎๅ†ณ็ญ–
91
- doc += `## 3. ๅ…ณ้”ฎๅ†ณ็ญ–่ฎฐๅฝ•\n\n`;
92
- // ไปŽ ARCHITECTURE.md ๆๅ–
93
- const archPath = (0, path_1.join)(iterDir, '000-overview', 'ARCHITECTURE.md');
94
- if (await (0, fs_extra_1.pathExists)(archPath)) {
95
- const content = await (0, fs_extra_1.readFile)(archPath, 'utf-8');
96
- const decisions = content.match(/##\s*ๅ†ณ็ญ–[\s\S]*?(?=\n##|\n---|$)/);
97
- if (decisions) {
98
- doc += decisions[0].trim() + '\n\n';
99
- }
100
- else {
101
- doc += '๏ผˆๆ— ่ฎฐๅฝ•๏ผ‰\n\n';
102
- }
103
- }
104
- else {
105
- doc += '๏ผˆๆ—  ARCHITECTURE.md๏ผ‰\n\n';
106
- }
107
- // 4. ๅพ…ๅŠžไบ‹้กน
108
- doc += `## 4. ๅพ…ๅŠžไบ‹้กน\n\n`;
109
- doc += `- [ ] ๅฎกๆŸฅๆœชๅฎŒๆˆไปปๅŠก็š„ Spec ๆ–‡ไปถ\n`;
110
- doc += `- [ ] ็กฎ่ฎคๆ‰€ๆœ‰ๆŽฅๅฃๅฅ‘็บฆๅทฒๆ›ดๆ–ฐ\n`;
111
- doc += `- [ ] ๅ›žๅฝ’ๆต‹่ฏ•ๅทฒๅฎŒๆˆไปปๅŠก็š„ๅŠŸ่ƒฝ\n\n`;
112
- // 5. ้ฃŽ้™ฉไธŽๅปบ่ฎฎ
113
- doc += `## 5. ้ฃŽ้™ฉไธŽๅปบ่ฎฎ\n\n`;
114
- doc += `| ้ฃŽ้™ฉ้กน | ็บงๅˆซ | ๅปบ่ฎฎ |\n`;
115
- doc += `| :--- | :--- | :--- |\n`;
116
- if (inProgress.length > 0) {
117
- doc += `| ๆœ‰ ${inProgress.length} ไธชไปปๅŠกไปๅœจ่ฟ›่กŒไธญ | ไธญ | ๅปบ่ฎฎๅœจไบคๆŽฅๅ‰ๆŽจๅŠจๅฎŒๆˆๆˆ–้‡ๆ–ฐๅˆ†้… |\n`;
118
- }
119
- if (pending.length > 3) {
120
- doc += `| ๅพ…ๅผ€ๅ‘ไปปๅŠก่พƒๅคš๏ผˆ${pending.length} ไธช๏ผ‰ | ไธญ | ๅปบ่ฎฎ่ฏ„ไผฐไผ˜ๅ…ˆ็บง๏ผŒ้€‚ๅฝ“ๅปถๆœŸ้ƒจๅˆ†ไปปๅŠก |\n`;
121
- }
122
- doc += `| | | |\n\n`;
123
- // 6. ้™„ๅฝ•
124
- doc += `## 6. ้™„ๅฝ•\n\n`;
125
- doc += `### ็›ธๅ…ณๆ–‡ไปถ\n\n`;
126
- doc += `- ่ฟญไปฃ็›ฎๅฝ•: \`${iteration}/\`\n`;
127
- doc += `- ๆŠ€ๆœฏๆžถๆž„: \`${iteration}/000-overview/ARCHITECTURE.md\`\n`;
128
- doc += `- ้œ€ๆฑ‚ๆ–‡ๆกฃ: \`${iteration}/020-specs/\`\n`;
129
- doc += `- ้กน็›ฎๅ›พ่ฐฑ: \`${iteration}/000-overview/PROJECT_GRAPH.md\`\n`;
130
- return doc;
131
- }
132
- async function scanTasks(iterDir) {
133
- const tasks = [];
134
- if (!await (0, fs_extra_1.pathExists)(iterDir))
135
- return tasks;
136
- const entries = await (0, fs_extra_1.readdir)(iterDir);
137
- const taskDirs = entries.filter((e) => e.startsWith('Task-'));
138
- for (const taskDir of taskDirs) {
139
- const taskInfo = {
140
- id: taskDir,
141
- name: taskDir,
142
- type: 'feature',
143
- status: 'pending',
144
- progress: 0,
145
- blockers: [],
146
- };
147
- // ่ฏปๅ– .task-type
148
- const typePath = (0, path_1.join)(iterDir, taskDir, '.task-type');
149
- if (await (0, fs_extra_1.pathExists)(typePath)) {
150
- taskInfo.type = (await (0, fs_extra_1.readFile)(typePath, 'utf-8')).trim();
151
- }
152
- // ่ฏปๅ– TASK.md ่Žทๅ–็Šถๆ€
153
- const taskMdPath = (0, path_1.join)(iterDir, taskDir, '00-specs', 'TASK.md');
154
- if (await (0, fs_extra_1.pathExists)(taskMdPath)) {
155
- const content = await (0, fs_extra_1.readFile)(taskMdPath, 'utf-8');
156
- if (content.includes('โœ… ๅทฒๅฎŒๆˆ'))
157
- taskInfo.status = 'completed';
158
- else if (content.includes('๐ŸŸฆ ๅผ€ๅ‘ไธญ') || content.includes('่ฟ›่กŒไธญ'))
159
- taskInfo.status = 'in_progress';
160
- // ๆๅ–ไปปๅŠกๅ็งฐ
161
- const nameMatch = content.match(/^#\s*(.+?)(?:\s*-\s*ๆ‰ง่กŒ่ฟฝ่ธช)?$/m);
162
- if (nameMatch) {
163
- taskInfo.name = nameMatch[1].trim();
164
- }
165
- }
166
- tasks.push(taskInfo);
167
- }
168
- return tasks;
169
- }
170
- //# sourceMappingURL=handover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handover.js","sourceRoot":"","sources":["../../src/commands/handover.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export interface HealthOptions {
2
- iteration?: string;
3
- format?: string;
4
- trend?: boolean;
5
- }
6
- export declare function healthCommand(options: HealthOptions): Promise<void>;
7
- //# sourceMappingURL=health.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BzE"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.healthCommand = healthCommand;
4
- const logger_1 = require("../utils/logger");
5
- const context_1 = require("../core/context");
6
- const state_1 = require("../core/state");
7
- async function healthCommand(options) {
8
- const spinner = new logger_1.Spinner('Generating health report');
9
- spinner.start();
10
- try {
11
- const iteration = await (0, context_1.getDefaultIteration)(options.iteration);
12
- if (!iteration) {
13
- spinner.fail('No active iteration found. Please specify --iteration or create one first.');
14
- return;
15
- }
16
- const graph = await (0, state_1.readProjectGraph)(iteration);
17
- const tasks = graph.tasks.length > 0 ? graph.tasks : await (0, state_1.scanTasks)(iteration);
18
- const health = calculateHealth(iteration, tasks);
19
- spinner.stop('Health report generated');
20
- if (options.format === 'json') {
21
- console.log(JSON.stringify(health, null, 2));
22
- return;
23
- }
24
- printHealthReport(health);
25
- }
26
- catch (error) {
27
- spinner.fail(`Health report failed: ${error}`);
28
- throw error;
29
- }
30
- }
31
- function calculateHealth(iteration, tasks) {
32
- const total = tasks.length;
33
- const completed = tasks.filter(t => t.status === 'completed').length;
34
- const inProgress = tasks.filter(t => t.status === 'in_progress').length;
35
- // Spec health (consistency, completeness)
36
- const specHealth = total > 0 ? Math.round((completed / total) * 100) : 100;
37
- // Efficiency (completion rate, speed)
38
- const efficiency = total > 0 ? Math.round((completed / total) * 90) : 0;
39
- // Reuse (pattern usage)
40
- const reuse = 70; // Simplified
41
- // Team health (distribution, load)
42
- const teamHealth = 80; // Simplified
43
- const overall = Math.round((specHealth + efficiency + reuse + teamHealth) / 4);
44
- return {
45
- iteration,
46
- overall,
47
- dimensions: {
48
- spec: specHealth,
49
- efficiency,
50
- reuse,
51
- team: teamHealth
52
- },
53
- details: {
54
- totalTasks: total,
55
- completedTasks: completed,
56
- inProgressTasks: inProgress,
57
- completionRate: total > 0 ? Math.round((completed / total) * 100) : 0
58
- }
59
- };
60
- }
61
- function printHealthReport(health) {
62
- logger_1.logger.info('');
63
- logger_1.logger.info('๐Ÿฅ Health Report');
64
- logger_1.logger.info('');
65
- logger_1.logger.info(`Iteration: ${health.iteration}`);
66
- logger_1.logger.info(`Overall Health: ${health.overall}%`);
67
- logger_1.logger.info('');
68
- logger_1.logger.info('Dimensions:');
69
- logger_1.logger.info(` Spec Health: ${health.dimensions.spec}%`);
70
- logger_1.logger.info(` Efficiency: ${health.dimensions.efficiency}%`);
71
- logger_1.logger.info(` Reuse: ${health.dimensions.reuse}%`);
72
- logger_1.logger.info(` Team Health: ${health.dimensions.team}%`);
73
- logger_1.logger.info('');
74
- logger_1.logger.info('Details:');
75
- logger_1.logger.info(` Total Tasks: ${health.details.totalTasks}`);
76
- logger_1.logger.info(` Completed: ${health.details.completedTasks}`);
77
- logger_1.logger.info(` In Progress: ${health.details.inProgressTasks}`);
78
- logger_1.logger.info(` Completion Rate: ${health.details.completionRate}%`);
79
- }
80
- //# sourceMappingURL=health.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * history - ๆ“ไฝœๅކๅฒ + ้œ€ๆฑ‚ๅ˜ๆ›ดๅކๅฒ
3
- * ้ป˜่ฎคๆŸฅ็œ‹ๅ‘ฝไปคๆ‰ง่กŒๆ—ฅๅฟ—๏ผŒๅธฆ --req ๅ‚ๆ•ฐๆ—ถๆŸฅ็œ‹้œ€ๆฑ‚ๅ˜ๆ›ดๅކๅฒ
4
- */
5
- export interface HistoryOptions {
6
- req?: string;
7
- }
8
- export declare function historyCommand(options: HistoryOptions): Promise<void>;
9
- //# sourceMappingURL=history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAkHD,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- /**
3
- * history - ๆ“ไฝœๅކๅฒ + ้œ€ๆฑ‚ๅ˜ๆ›ดๅކๅฒ
4
- * ้ป˜่ฎคๆŸฅ็œ‹ๅ‘ฝไปคๆ‰ง่กŒๆ—ฅๅฟ—๏ผŒๅธฆ --req ๅ‚ๆ•ฐๆ—ถๆŸฅ็œ‹้œ€ๆฑ‚ๅ˜ๆ›ดๅކๅฒ
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.historyCommand = historyCommand;
8
- const logger_1 = require("../utils/logger");
9
- const task_utils_1 = require("../utils/task-utils");
10
- const global_layer_1 = require("../core/global-layer");
11
- const fs_1 = require("fs");
12
- const path_1 = require("path");
13
- async function showOpsHistory() {
14
- const logPath = (0, path_1.join)((0, task_utils_1.getProjectRoot)(), '.speccore', 'logs', 'operations.log');
15
- if (!(0, fs_1.existsSync)(logPath)) {
16
- logger_1.logger.info('\n ๐Ÿ“ญ ๅฐšๆ— ๆ“ไฝœ่ฎฐๅฝ•');
17
- logger_1.logger.info(' ๐Ÿ’ก ๆ‰ง่กŒไปปๆ„ speccore ๅ‘ฝไปคๅŽ่‡ชๅŠจ่ฎฐๅฝ•');
18
- return;
19
- }
20
- const lines = (0, fs_1.readFileSync)(logPath, 'utf-8').trim().split('\n');
21
- const recent = lines.slice(-20); // Last 20 operations
22
- logger_1.logger.info(`\n๐Ÿ“‹ ๆœ€่ฟ‘ ${recent.length} ๆฌกๆ“ไฝœ:\n`);
23
- for (const line of recent) {
24
- try {
25
- const entry = JSON.parse(line);
26
- const time = new Date(entry.timestamp).toLocaleString('zh-CN', { hour: '2-digit', minute: '2-digit', second: '2-digit' });
27
- logger_1.logger.info(` ${time} ${entry.command} ${entry.detail || ''}`);
28
- }
29
- catch {
30
- logger_1.logger.info(` ${line.slice(0, 100)}`);
31
- }
32
- }
33
- logger_1.logger.info(`\n ๐Ÿ“„ ๅฎŒๆ•ดๆ—ฅๅฟ—: ${logPath}`);
34
- }
35
- async function showReqHistory(options) {
36
- if (!options.req) {
37
- logger_1.logger.error('่ฏทๆไพ›้œ€ๆฑ‚ IDใ€‚็”จๆณ•: speccore history --req=<REQ-XXX>');
38
- logger_1.logger.info('ๆ็คบ: ไฝฟ็”จ speccore dashboard --scope global ๆŸฅ็œ‹ๅฏ็”จ้œ€ๆฑ‚ๅˆ—่กจ');
39
- return;
40
- }
41
- const spinner = new logger_1.Spinner('ๆŸฅ่ฏข้œ€ๆฑ‚ๅކๅฒ...');
42
- spinner.start();
43
- try {
44
- // 1. ๅฎšไฝ้œ€ๆฑ‚
45
- const index = await (0, global_layer_1.readGlobalIndex)();
46
- const reqEntry = index.reqs.find((r) => r.id === options.req);
47
- if (!reqEntry) {
48
- spinner.fail(`้œ€ๆฑ‚ ${options.req} ไธๅญ˜ๅœจ`);
49
- logger_1.logger.info('');
50
- logger_1.logger.info('ๅœจ GLOBAL/INDEX.md ไธญๆœชๆ‰พๅˆฐ่ฏฅ้œ€ๆฑ‚ IDใ€‚');
51
- logger_1.logger.info('่ฏท่ฟ่กŒ speccore dashboard --scope global ๆŸฅ็œ‹ๅฏ็”จ้œ€ๆฑ‚ๅˆ—่กจใ€‚');
52
- return;
53
- }
54
- // 2. ่ฏปๅ–้œ€ๆฑ‚่ฏฆๆƒ…๏ผˆๅซๅ˜ๆ›ดๅކๅฒ๏ผ‰
55
- const detail = await (0, global_layer_1.readRequirementDetail)(reqEntry.project, options.req);
56
- spinner.stop();
57
- // 3. ่พ“ๅ‡บๆŠฅๅ‘Š
58
- logger_1.logger.info('');
59
- logger_1.logger.info(`๐Ÿ“œ ้œ€ๆฑ‚ๅކๅฒ: ${options.req} ${reqEntry.name}`);
60
- logger_1.logger.info('');
61
- // ๆฅๆบไฟกๆฏ
62
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
63
- logger_1.logger.info('๐Ÿ“‹ ๅฝ“ๅ‰็Šถๆ€');
64
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
65
- logger_1.logger.info(` ๅฝ“ๅ‰็‰ˆๆœฌ: ${reqEntry.version}`);
66
- logger_1.logger.info(` ็Šถๆ€: ${reqEntry.status}`);
67
- logger_1.logger.info(` ๆฅๆบ้กน็›ฎ: ${reqEntry.project}`);
68
- logger_1.logger.info(` ๅ…ณ่”่ฟญไปฃ: ${reqEntry.iteration || '-'}`);
69
- logger_1.logger.info(` ๅ…ณ่” Task: ${reqEntry.task || '-'}`);
70
- logger_1.logger.info(` ๆ–‡ไปถไฝ็ฝฎ: ${reqEntry.filePath}`);
71
- // ๅ˜ๆ›ดๅކๅฒ๏ผˆไปŽ่ฏฆๆƒ…ไธญๆๅ–๏ผ‰
72
- if (detail) {
73
- logger_1.logger.info('');
74
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
75
- logger_1.logger.info('๐Ÿ“ ๅ˜ๆ›ดๅކๅฒ');
76
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
77
- const changelogMatch = detail.match(/๐Ÿ“ ๅ˜ๆ›ดๅކๅฒ[^]*$/m);
78
- if (changelogMatch) {
79
- const lines = changelogMatch[0].split('\n');
80
- for (const line of lines) {
81
- if (line.trim()) {
82
- logger_1.logger.info(` ${line.trim()}`);
83
- }
84
- }
85
- }
86
- else {
87
- logger_1.logger.info(' ๏ผˆๆ— ๅ˜ๆ›ดๅކๅฒ๏ผ‰');
88
- }
89
- }
90
- // ๅ…ƒๆ•ฐๆฎ
91
- if (detail) {
92
- logger_1.logger.info('');
93
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
94
- logger_1.logger.info('๐Ÿ“ฆ ๅ…ƒๆ•ฐๆฎ');
95
- logger_1.logger.info('โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”');
96
- for (let i = 0; i < detail.split('\n').length; i++) {
97
- const line = detail.split('\n')[i];
98
- if (line.includes('ๆฅๆบ') || line.includes('ๅฝ“ๅ‰็‰ˆๆœฌ') || line.includes('็Šถๆ€') || line.includes('ๆœ€ๅŽไฟฎๆ”น')) {
99
- logger_1.logger.info(` ${line.trim()}`);
100
- }
101
- }
102
- }
103
- logger_1.logger.info('');
104
- logger_1.logger.info('๐Ÿ’ก ๆ็คบ: ่ฆๆŸฅ็œ‹ๅฎŒๆ•ด็š„ไปฃ็ ็บงๅ˜ๆ›ด่ฎฐๅฝ•๏ผŒ่ฏทไฝฟ็”จ git log ๆŸฅ็œ‹ๅฏนๅบ”ๆ–‡ไปถใ€‚');
105
- }
106
- catch (error) {
107
- spinner.fail(`ๆŸฅ่ฏขๅކๅฒๅคฑ่ดฅ: ${error}`);
108
- throw error;
109
- }
110
- }
111
- async function historyCommand(options) {
112
- if (options.req) {
113
- return showReqHistory(options);
114
- }
115
- return showOpsHistory();
116
- }
117
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * impact - ๆ™บ่ƒฝๅ˜ๆ›ดๅฝฑๅ“ๅˆ†ๆžๅ‘ฝไปค
3
- * ๅˆ†ๆž้œ€ๆฑ‚/ไปฃ็ ๅ˜ๆ›ดๅฏนไธŠไธ‹ๆธธ็š„ๅฝฑๅ“่Œƒๅ›ด๏ผŒ็”Ÿๆˆๅฝฑๅ“้“พๆŠฅๅ‘Š
4
- */
5
- export interface ImpactOptions {
6
- req?: string;
7
- task?: string;
8
- depth?: string;
9
- output?: string;
10
- }
11
- export declare function impactCommand(options: ImpactOptions): Promise<void>;
12
- //# sourceMappingURL=impact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../src/commands/impact.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CzE"}