@seanmars/tospec 0.7.0 → 0.9.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 (196) hide show
  1. package/README.md +19 -0
  2. package/assets/dashboard/app.js +168 -0
  3. package/assets/dashboard/index.html +4 -0
  4. package/assets/dashboard/style.css +158 -0
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +18 -31
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/commands/config.d.ts +1 -2
  9. package/dist/commands/config.d.ts.map +1 -1
  10. package/dist/commands/config.js +8 -13
  11. package/dist/commands/config.js.map +1 -1
  12. package/dist/commands/dashboard.d.ts +3 -0
  13. package/dist/commands/dashboard.d.ts.map +1 -1
  14. package/dist/commands/dashboard.js +36 -3
  15. package/dist/commands/dashboard.js.map +1 -1
  16. package/dist/commands/decision.d.ts +8 -0
  17. package/dist/commands/decision.d.ts.map +1 -1
  18. package/dist/commands/decision.js +9 -10
  19. package/dist/commands/decision.js.map +1 -1
  20. package/dist/commands/shared-output.d.ts +18 -4
  21. package/dist/commands/shared-output.d.ts.map +1 -1
  22. package/dist/commands/shared-output.js +16 -3
  23. package/dist/commands/shared-output.js.map +1 -1
  24. package/dist/commands/show.d.ts.map +1 -1
  25. package/dist/commands/show.js +9 -13
  26. package/dist/commands/show.js.map +1 -1
  27. package/dist/commands/validate.d.ts +10 -0
  28. package/dist/commands/validate.d.ts.map +1 -1
  29. package/dist/commands/validate.js +48 -32
  30. package/dist/commands/validate.js.map +1 -1
  31. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  32. package/dist/commands/workflow/instructions.js +20 -6
  33. package/dist/commands/workflow/instructions.js.map +1 -1
  34. package/dist/commands/workflow/new-change.d.ts +2 -0
  35. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  36. package/dist/commands/workflow/new-change.js +15 -7
  37. package/dist/commands/workflow/new-change.js.map +1 -1
  38. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  39. package/dist/commands/workflow/schemas.js +12 -3
  40. package/dist/commands/workflow/schemas.js.map +1 -1
  41. package/dist/commands/workflow/shared.d.ts +1 -3
  42. package/dist/commands/workflow/shared.d.ts.map +1 -1
  43. package/dist/commands/workflow/shared.js +2 -14
  44. package/dist/commands/workflow/shared.js.map +1 -1
  45. package/dist/commands/workflow/status.d.ts.map +1 -1
  46. package/dist/commands/workflow/status.js +6 -2
  47. package/dist/commands/workflow/status.js.map +1 -1
  48. package/dist/commands/workflow/templates.d.ts.map +1 -1
  49. package/dist/commands/workflow/templates.js +13 -2
  50. package/dist/commands/workflow/templates.js.map +1 -1
  51. package/dist/core/archive.d.ts +9 -0
  52. package/dist/core/archive.d.ts.map +1 -1
  53. package/dist/core/archive.js +63 -114
  54. package/dist/core/archive.js.map +1 -1
  55. package/dist/core/artifact-graph/instruction-loader.d.ts +4 -2
  56. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  57. package/dist/core/artifact-graph/instruction-loader.js +54 -0
  58. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  59. package/dist/core/change-metadata/schema.d.ts +1 -0
  60. package/dist/core/change-metadata/schema.d.ts.map +1 -1
  61. package/dist/core/change-metadata/schema.js +4 -0
  62. package/dist/core/change-metadata/schema.js.map +1 -1
  63. package/dist/core/change-presenter.d.ts.map +1 -1
  64. package/dist/core/change-presenter.js +2 -8
  65. package/dist/core/change-presenter.js.map +1 -1
  66. package/dist/core/change-status-policy.d.ts +1 -1
  67. package/dist/core/change-status-policy.d.ts.map +1 -1
  68. package/dist/core/command-generation/adapters/index.d.ts +1 -2
  69. package/dist/core/command-generation/adapters/index.d.ts.map +1 -1
  70. package/dist/core/command-generation/adapters/index.js +1 -2
  71. package/dist/core/command-generation/adapters/index.js.map +1 -1
  72. package/dist/core/command-generation/index.d.ts +4 -15
  73. package/dist/core/command-generation/index.d.ts.map +1 -1
  74. package/dist/core/command-generation/index.js +5 -17
  75. package/dist/core/command-generation/index.js.map +1 -1
  76. package/dist/core/config-schema.d.ts +0 -14
  77. package/dist/core/config-schema.d.ts.map +1 -1
  78. package/dist/core/config-schema.js +0 -57
  79. package/dist/core/config-schema.js.map +1 -1
  80. package/dist/core/config.d.ts +0 -1
  81. package/dist/core/config.d.ts.map +1 -1
  82. package/dist/core/config.js +0 -4
  83. package/dist/core/config.js.map +1 -1
  84. package/dist/core/dashboard-data.d.ts +19 -1
  85. package/dist/core/dashboard-data.d.ts.map +1 -1
  86. package/dist/core/dashboard-data.js +24 -1
  87. package/dist/core/dashboard-data.js.map +1 -1
  88. package/dist/core/global-config.d.ts +0 -5
  89. package/dist/core/global-config.d.ts.map +1 -1
  90. package/dist/core/global-config.js +3 -20
  91. package/dist/core/global-config.js.map +1 -1
  92. package/dist/core/init.d.ts +0 -1
  93. package/dist/core/init.d.ts.map +1 -1
  94. package/dist/core/init.js +18 -62
  95. package/dist/core/init.js.map +1 -1
  96. package/dist/core/list.d.ts.map +1 -1
  97. package/dist/core/list.js +6 -5
  98. package/dist/core/list.js.map +1 -1
  99. package/dist/core/migrate.d.ts +20 -3
  100. package/dist/core/migrate.d.ts.map +1 -1
  101. package/dist/core/migrate.js +140 -40
  102. package/dist/core/migrate.js.map +1 -1
  103. package/dist/core/parsers/change-parser.d.ts +0 -2
  104. package/dist/core/parsers/change-parser.d.ts.map +1 -1
  105. package/dist/core/parsers/change-parser.js +7 -72
  106. package/dist/core/parsers/change-parser.js.map +1 -1
  107. package/dist/core/parsers/markdown-parser.d.ts +1 -1
  108. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  109. package/dist/core/parsers/markdown-parser.js +13 -4
  110. package/dist/core/parsers/markdown-parser.js.map +1 -1
  111. package/dist/core/parsers/requirement-blocks.d.ts +19 -0
  112. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
  113. package/dist/core/parsers/requirement-blocks.js +56 -26
  114. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  115. package/dist/core/parsers/requirement-text.d.ts +33 -0
  116. package/dist/core/parsers/requirement-text.d.ts.map +1 -1
  117. package/dist/core/parsers/requirement-text.js +55 -13
  118. package/dist/core/parsers/requirement-text.js.map +1 -1
  119. package/dist/core/profiles.d.ts +2 -10
  120. package/dist/core/profiles.d.ts.map +1 -1
  121. package/dist/core/profiles.js +5 -9
  122. package/dist/core/profiles.js.map +1 -1
  123. package/dist/core/project-config.d.ts +0 -22
  124. package/dist/core/project-config.d.ts.map +1 -1
  125. package/dist/core/project-config.js +5 -75
  126. package/dist/core/project-config.js.map +1 -1
  127. package/dist/core/root-selection.d.ts.map +1 -1
  128. package/dist/core/root-selection.js +2 -2
  129. package/dist/core/root-selection.js.map +1 -1
  130. package/dist/core/shared/index.d.ts +1 -1
  131. package/dist/core/shared/index.d.ts.map +1 -1
  132. package/dist/core/shared/index.js +1 -1
  133. package/dist/core/shared/index.js.map +1 -1
  134. package/dist/core/shared/skill-generation.d.ts +47 -1
  135. package/dist/core/shared/skill-generation.d.ts.map +1 -1
  136. package/dist/core/shared/skill-generation.js +37 -33
  137. package/dist/core/shared/skill-generation.js.map +1 -1
  138. package/dist/core/shared/tool-detection.d.ts +4 -10
  139. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  140. package/dist/core/shared/tool-detection.js +5 -27
  141. package/dist/core/shared/tool-detection.js.map +1 -1
  142. package/dist/core/spec-presenter.d.ts.map +1 -1
  143. package/dist/core/spec-presenter.js +3 -4
  144. package/dist/core/spec-presenter.js.map +1 -1
  145. package/dist/core/specs-apply.d.ts.map +1 -1
  146. package/dist/core/specs-apply.js +1 -0
  147. package/dist/core/specs-apply.js.map +1 -1
  148. package/dist/core/templates/skill-templates.d.ts +1 -0
  149. package/dist/core/templates/skill-templates.d.ts.map +1 -1
  150. package/dist/core/templates/skill-templates.js +1 -0
  151. package/dist/core/templates/skill-templates.js.map +1 -1
  152. package/dist/core/templates/workflows/apply.d.ts.map +1 -1
  153. package/dist/core/templates/workflows/apply.js +35 -57
  154. package/dist/core/templates/workflows/apply.js.map +1 -1
  155. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  156. package/dist/core/templates/workflows/archive.js +5 -3
  157. package/dist/core/templates/workflows/archive.js.map +1 -1
  158. package/dist/core/templates/workflows/decision.js +3 -3
  159. package/dist/core/templates/workflows/decision.js.map +1 -1
  160. package/dist/core/templates/workflows/explore.js +1 -1
  161. package/dist/core/templates/workflows/grill.d.ts +12 -0
  162. package/dist/core/templates/workflows/grill.d.ts.map +1 -0
  163. package/dist/core/templates/workflows/grill.js +61 -0
  164. package/dist/core/templates/workflows/grill.js.map +1 -0
  165. package/dist/core/templates/workflows/propose.d.ts.map +1 -1
  166. package/dist/core/templates/workflows/propose.js +3 -1
  167. package/dist/core/templates/workflows/propose.js.map +1 -1
  168. package/dist/core/templates/workflows/update.js +2 -2
  169. package/dist/core/templates/workflows/update.js.map +1 -1
  170. package/dist/core/update.d.ts +0 -9
  171. package/dist/core/update.d.ts.map +1 -1
  172. package/dist/core/update.js +9 -55
  173. package/dist/core/update.js.map +1 -1
  174. package/dist/core/validation/validator.d.ts +7 -1
  175. package/dist/core/validation/validator.d.ts.map +1 -1
  176. package/dist/core/validation/validator.js +98 -17
  177. package/dist/core/validation/validator.js.map +1 -1
  178. package/dist/ui/welcome-screen.d.ts.map +1 -1
  179. package/dist/ui/welcome-screen.js +6 -3
  180. package/dist/ui/welcome-screen.js.map +1 -1
  181. package/dist/utils/change-utils.d.ts +1 -1
  182. package/dist/utils/change-utils.d.ts.map +1 -1
  183. package/dist/utils/link.d.ts +2 -18
  184. package/dist/utils/link.d.ts.map +1 -1
  185. package/dist/utils/link.js +2 -65
  186. package/dist/utils/link.js.map +1 -1
  187. package/package.json +1 -1
  188. package/schemas/decision/templates/decision.md +12 -3
  189. package/dist/core/command-generation/adapters/cursor.d.ts +0 -14
  190. package/dist/core/command-generation/adapters/cursor.d.ts.map +0 -1
  191. package/dist/core/command-generation/adapters/cursor.js +0 -31
  192. package/dist/core/command-generation/adapters/cursor.js.map +0 -1
  193. package/dist/core/command-generation/registry.d.ts +0 -24
  194. package/dist/core/command-generation/registry.d.ts.map +0 -1
  195. package/dist/core/command-generation/registry.js +0 -38
  196. package/dist/core/command-generation/registry.js.map +0 -1
package/README.md CHANGED
@@ -64,6 +64,25 @@ tospec archive add-dark-mode
64
64
  - `blocked` — 至少一個前置文件還沒建立
65
65
  - `skipped` — 選配文件未建立, 不阻擋流程
66
66
 
67
+ ## Skill 工作流程
68
+
69
+ 工作方法寫在 Skill 裡, CLI 只負責檔案與驗證. `tospec init` 會安裝 10 個 workflow Skill:
70
+
71
+ | Skill | 作用 |
72
+ |-------|------|
73
+ | `tospec-explore` | 以訪談收斂還很模糊的需求或問題 |
74
+ | `tospec-grill` | 對任何產出 (計畫/決策/設計) 做四象限壓力測試 |
75
+ | `tospec-propose` | 把已討論清楚的需求整理成完整 sdd change |
76
+ | `tospec-issue` | 診斷 bug 至根因, 產出 issue change |
77
+ | `tospec-decision` | 記錄架構決策為永久 ADR |
78
+ | `tospec-update` | 修訂 change 的規劃文件並保持一致 |
79
+ | `tospec-apply` | 逐項實作任務 (test-after), 完成後自動 verify |
80
+ | `tospec-apply-with-tdd` | 同上, 但採嚴格 TDD (red → green) |
81
+ | `tospec-sync` | 以程式碼為準核對規格, 產出 sync-report |
82
+ | `tospec-archive` | 判斷是否需要 sync, 然後歸檔完成的 change |
83
+
84
+ 典型流程: `explore` (想清楚) → `propose` (寫成 change) → `apply` (實作) → `sync` (需要時核對規格) → `archive` (歸檔). 修 bug 則從 `issue` 開始, 走同樣的 apply → archive 收尾.
85
+
67
86
  ## CLI 指令
68
87
 
69
88
  多數指令支援 `--json`, 方便 AI 工具讀取結果.
@@ -931,11 +931,22 @@ async function renderChangeDetail(name) {
931
931
  return;
932
932
  }
933
933
 
934
+ const linkedDecisions = detail.metadata.decisions || [];
934
935
  const meta = el('div', { class: 'meta' }, [
935
936
  metaItem('schema', detail.metadata.schema || '—'),
936
937
  detail.metadata.type ? metaItem('type', detail.metadata.type) : null,
937
938
  detail.metadata.created ? metaItem('created', detail.metadata.created) : null,
938
939
  detail.metadata.goal ? metaItem('goal', detail.metadata.goal) : null,
940
+ // Linked ADRs (metadata `decisions`) — each links into the decisions view.
941
+ linkedDecisions.length
942
+ ? el('span', { class: 'meta-item' }, [
943
+ el('span', { class: 'meta-label', text: 'decisions' }),
944
+ el('span', { class: 'meta-value' }, linkedDecisions.map((f, i) => el('span', {}, [
945
+ i > 0 ? ', ' : null,
946
+ el('a', { href: '#/decisions/' + encodeURIComponent(f), text: f }),
947
+ ]))),
948
+ ])
949
+ : null,
939
950
  ]);
940
951
 
941
952
  const artifacts = el('section', { class: 'panel' });
@@ -997,8 +1008,159 @@ async function renderSpecDetail(id) {
997
1008
  }
998
1009
  }
999
1010
 
1011
+ // --- decisions ---------------------------------------------------------------
1012
+
1013
+ let decisions = []; // cached /api/decisions payload (refetched on every visit)
1014
+ let decisionsQuery = ''; // search box text, kept across re-renders of this route
1015
+
1016
+ /** Full-text match: title, topic, status, and the raw markdown body. */
1017
+ function decisionMatches(d, q) {
1018
+ if (!q) return true;
1019
+ return (d.title + ' ' + d.topic + ' ' + d.status + ' ' + d.content).toLowerCase().includes(q);
1020
+ }
1021
+
1022
+ function decisionIndexRow(d, active) {
1023
+ const row = el('a', {
1024
+ class: 'decision-row' + (active ? ' decision-row-active' : ''),
1025
+ href: '#/decisions/' + encodeURIComponent(d.file),
1026
+ });
1027
+ row.append(el('span', { class: 'decision-title', text: d.title }));
1028
+ row.append(el('div', { class: 'decision-meta' }, [
1029
+ el('span', { class: 'mono', text: fmtStamp(d.date) }),
1030
+ el('span', { class: 'badge badge-' + d.status, text: d.status }),
1031
+ ]));
1032
+ return row;
1033
+ }
1034
+
1035
+ function renderDecisionIndexList(container, list, activeFile) {
1036
+ container.replaceChildren();
1037
+ if (!list.length) {
1038
+ container.append(emptyNote('No matching decisions.'));
1039
+ return;
1040
+ }
1041
+ for (const d of list) container.append(decisionIndexRow(d, d.file === activeFile));
1042
+ }
1043
+
1044
+ /** Renders one decision's rendered markdown into the content pane. */
1045
+ async function renderDecisionContent(pane, file) {
1046
+ const d = decisions.find((x) => x.file === file);
1047
+ if (!d) {
1048
+ pane.replaceChildren(emptyNote('Decision not found.'));
1049
+ return;
1050
+ }
1051
+ const body = el('div', { class: 'rendered' });
1052
+ body.textContent = 'Loading...';
1053
+ pane.replaceChildren(
1054
+ el('h2', { text: d.title }),
1055
+ el('div', { class: 'meta' }, [metaItem('date', fmtStamp(d.date)), metaItem('status', d.status)]),
1056
+ body
1057
+ );
1058
+ try {
1059
+ const data = await api('/api/render?file=' + encodeURIComponent(d.path));
1060
+ body.innerHTML = data.html; // controlled container; server-rendered markdown
1061
+ enhanceDecisionQA(body, d.content); // 決策過程 → Q/A cards (client-side, graceful fallback)
1062
+ } catch {
1063
+ body.textContent = 'Failed to render decision.';
1064
+ }
1065
+ }
1066
+
1067
+ /** Extracts `{ q, a }` pairs from the `## 決策過程` section of raw markdown.
1068
+ * Canonical shape: a `**Q:**` line, then the answer in the following
1069
+ * paragraph(s), until the next `**Q:**` or the next `## ` heading. Old-format
1070
+ * or empty sections yield `[]`, so the caller leaves marked's output as-is. */
1071
+ function parseDecisionQA(markdown) {
1072
+ if (!markdown) return [];
1073
+ const start = markdown.search(/^##\s+決策過程\s*$/m);
1074
+ if (start < 0) return [];
1075
+ const rest = markdown.slice(start).replace(/^##\s+決策過程\s*$/m, '');
1076
+ const next = rest.search(/^##\s/m); // stop at the following section, if any
1077
+ const section = next >= 0 ? rest.slice(0, next) : rest;
1078
+ const pairs = [];
1079
+ for (const block of section.split(/^\*\*Q:\*\*/m).slice(1)) {
1080
+ const nl = block.indexOf('\n');
1081
+ const q = (nl < 0 ? block : block.slice(0, nl)).trim();
1082
+ const a = (nl < 0 ? '' : block.slice(nl + 1)).trim();
1083
+ if (q) pairs.push({ q, a });
1084
+ }
1085
+ return pairs;
1086
+ }
1087
+
1088
+ /** Swaps the rendered 決策過程 body (always the last section) for Q/A cards, keeping its heading. */
1089
+ function enhanceDecisionQA(body, markdown) {
1090
+ const pairs = parseDecisionQA(markdown);
1091
+ if (!pairs.length) return;
1092
+ const heading = [...body.querySelectorAll('h2')].find((h) => h.textContent.trim() === '決策過程');
1093
+ if (!heading) return;
1094
+ while (heading.nextSibling) heading.nextSibling.remove(); // drop marked's raw Q&A, keep the heading
1095
+ heading.after(
1096
+ el(
1097
+ 'section',
1098
+ { class: 'qa-cards' },
1099
+ pairs.map((p) =>
1100
+ el('div', { class: 'qa-card' }, [
1101
+ el('div', { class: 'qa-q', text: p.q }),
1102
+ el('div', { class: 'qa-a', text: p.a }),
1103
+ ])
1104
+ )
1105
+ )
1106
+ );
1107
+ }
1108
+
1109
+ /**
1110
+ * Decisions tab: a floating, always-visible index (search + list) on the left
1111
+ * and the selected decision's rendered content on the right. Selecting an
1112
+ * entry navigates to `#/decisions/<file>` so it's linkable and survives
1113
+ * refresh; the index itself never leaves the viewport.
1114
+ */
1115
+ async function renderDecisionsList(activeFile) {
1116
+ leaveOverview();
1117
+ view.replaceChildren(emptyNote('Loading...'));
1118
+ try {
1119
+ decisions = await api('/api/decisions');
1120
+ } catch {
1121
+ view.replaceChildren(el('p', { class: 'error', text: 'Failed to load decisions.' }));
1122
+ return;
1123
+ }
1124
+
1125
+ const search = el('input', {
1126
+ type: 'search',
1127
+ class: 'decisions-search',
1128
+ placeholder: 'Search decisions (title, status, content)...',
1129
+ });
1130
+ search.value = decisionsQuery;
1131
+ const list = el('div', { class: 'decisions-list' });
1132
+ const index = el('div', { class: 'decisions-index' }, [search, list]);
1133
+ const content = el('div', { class: 'decisions-content panel' });
1134
+
1135
+ function refreshList() {
1136
+ decisionsQuery = search.value;
1137
+ const q = decisionsQuery.trim().toLowerCase();
1138
+ renderDecisionIndexList(list, decisions.filter((d) => decisionMatches(d, q)), activeFile);
1139
+ }
1140
+ search.addEventListener('input', refreshList);
1141
+ refreshList();
1142
+
1143
+ view.replaceChildren(index, content);
1144
+
1145
+ if (activeFile) {
1146
+ await renderDecisionContent(content, activeFile);
1147
+ } else if (decisions.length) {
1148
+ content.append(emptyNote('Select a decision from the index on the left.'));
1149
+ } else {
1150
+ content.append(emptyNote('No decisions yet. Create one with: tospec decision new <topic>'));
1151
+ }
1152
+ }
1153
+
1000
1154
  // --- routing ---------------------------------------------------------------
1001
1155
 
1156
+ /** Highlights the active top-level tab based on the current hash. */
1157
+ function updateActiveTab(hash) {
1158
+ const isDecisions = hash.startsWith('#/decisions');
1159
+ document.querySelectorAll('.tab').forEach((t) => {
1160
+ t.classList.toggle('tab-active', (t.dataset.tab === 'decisions') === isDecisions);
1161
+ });
1162
+ }
1163
+
1002
1164
  function isOverviewRoute() {
1003
1165
  const h = location.hash;
1004
1166
  return h === '' || h === '#' || h === '#/';
@@ -1006,10 +1168,16 @@ function isOverviewRoute() {
1006
1168
 
1007
1169
  function router() {
1008
1170
  const h = location.hash;
1171
+ updateActiveTab(h);
1172
+ view.classList.toggle('view-decisions', h.startsWith('#/decisions'));
1009
1173
  if (h.startsWith('#/changes/')) {
1010
1174
  renderChangeDetail(decodeURIComponent(h.slice('#/changes/'.length)));
1011
1175
  } else if (h.startsWith('#/specs/')) {
1012
1176
  renderSpecDetail(decodeURIComponent(h.slice('#/specs/'.length)));
1177
+ } else if (h.startsWith('#/decisions/')) {
1178
+ renderDecisionsList(decodeURIComponent(h.slice('#/decisions/'.length)));
1179
+ } else if (h === '#/decisions') {
1180
+ renderDecisionsList(null);
1013
1181
  } else {
1014
1182
  renderOverview();
1015
1183
  }
@@ -10,6 +10,10 @@
10
10
  <header class="topbar">
11
11
  <div class="topbar-left">
12
12
  <h1 class="brand">tospec <span class="muted">dashboard</span></h1>
13
+ <nav class="tabs">
14
+ <a href="#/" class="tab" data-tab="overview">Overview</a>
15
+ <a href="#/decisions" class="tab" data-tab="decisions">Decisions</a>
16
+ </nav>
13
17
  <span id="root-path" class="root-path mono"></span>
14
18
  </div>
15
19
  <div class="topbar-right">
@@ -135,6 +135,29 @@ body {
135
135
  font-weight: 650;
136
136
  }
137
137
 
138
+ .tabs {
139
+ display: flex;
140
+ gap: 4px;
141
+ }
142
+
143
+ .tab {
144
+ color: var(--muted);
145
+ text-decoration: none;
146
+ font-size: 13px;
147
+ font-weight: 600;
148
+ padding: 4px 10px;
149
+ border-radius: var(--radius);
150
+ }
151
+
152
+ .tab:hover {
153
+ color: var(--text);
154
+ }
155
+
156
+ .tab-active {
157
+ color: var(--accent);
158
+ background: var(--bg);
159
+ }
160
+
138
161
  .root-path {
139
162
  color: var(--muted);
140
163
  white-space: nowrap;
@@ -752,3 +775,138 @@ details.archive summary {
752
775
  background: var(--error-bg);
753
776
  border-radius: var(--radius);
754
777
  }
778
+
779
+ /* -- decisions tab -- */
780
+
781
+ /* The index floats over the page instead of scrolling with it: always
782
+ reachable while reading a long decision on the right. */
783
+ .view-decisions {
784
+ max-width: none;
785
+ padding-left: 300px;
786
+ }
787
+
788
+ .decisions-index {
789
+ position: fixed;
790
+ left: 20px;
791
+ top: 12%;
792
+ height: 70vh;
793
+ width: 260px;
794
+ display: flex;
795
+ flex-direction: column;
796
+ padding: 12px;
797
+ background: var(--surface);
798
+ border: 1px solid var(--border);
799
+ border-radius: var(--radius);
800
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
801
+ z-index: 5;
802
+ }
803
+
804
+ .decisions-search {
805
+ font: inherit;
806
+ color: var(--text);
807
+ background: var(--bg);
808
+ border: 1px solid var(--border);
809
+ border-radius: var(--radius);
810
+ padding: 6px 10px;
811
+ margin-bottom: 8px;
812
+ flex: none;
813
+ }
814
+
815
+ .decisions-list {
816
+ overflow-y: auto;
817
+ flex: 1;
818
+ min-height: 0;
819
+ }
820
+
821
+ .decision-row {
822
+ display: block;
823
+ padding: 8px 10px;
824
+ margin-bottom: 4px;
825
+ border: 1px solid transparent;
826
+ border-radius: var(--radius);
827
+ text-decoration: none;
828
+ color: inherit;
829
+ }
830
+
831
+ .decision-row:hover {
832
+ border-color: var(--accent);
833
+ }
834
+
835
+ .decision-row-active {
836
+ border-color: var(--accent);
837
+ background: var(--bg);
838
+ }
839
+
840
+ .decision-title {
841
+ font-weight: 600;
842
+ display: block;
843
+ }
844
+
845
+ .decision-meta {
846
+ display: flex;
847
+ align-items: center;
848
+ gap: 8px;
849
+ color: var(--muted);
850
+ font-size: 11px;
851
+ margin-top: 2px;
852
+ }
853
+
854
+ .decisions-content {
855
+ min-height: 200px;
856
+ }
857
+
858
+ .badge-proposed {
859
+ background: var(--warn-bg);
860
+ color: var(--ready);
861
+ }
862
+
863
+ .badge-accepted {
864
+ background: var(--ok-bg);
865
+ color: var(--done);
866
+ }
867
+
868
+ .badge-superseded {
869
+ background: var(--border);
870
+ color: var(--muted);
871
+ }
872
+
873
+ /* 決策過程 Q&A cards (client-side enhancement of the last section). */
874
+ .qa-cards {
875
+ display: flex;
876
+ flex-direction: column;
877
+ gap: 12px;
878
+ margin-top: 12px;
879
+ }
880
+
881
+ .qa-card {
882
+ background: var(--surface);
883
+ border: 1px solid var(--border);
884
+ border-radius: var(--radius);
885
+ padding: 12px 14px;
886
+ }
887
+
888
+ .qa-q {
889
+ font-weight: 600;
890
+ color: var(--accent);
891
+ margin-bottom: 6px;
892
+ }
893
+
894
+ .qa-a {
895
+ color: var(--text);
896
+ white-space: pre-line; /* keep intentional line breaks in multi-line answers */
897
+ }
898
+
899
+ /* Narrow viewports: the fixed 70vh side panel would eat the whole screen —
900
+ drop it back into the normal document flow above the content. */
901
+ @media (max-width: 900px) {
902
+ .view-decisions {
903
+ padding-left: 20px;
904
+ }
905
+ .decisions-index {
906
+ position: static;
907
+ width: auto;
908
+ height: auto;
909
+ max-height: 40vh;
910
+ margin-bottom: 16px;
911
+ }
912
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuD5C,QAAA,MAAM,OAAO,SAAgB,CAAC;AAgW9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,MAAM,CAAC,IAAI,WAAe,GAAG,IAAI,CAEhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAwClE,QAAA,MAAM,OAAO,SAAgB,CAAC;AAgW9B,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,MAAM,CAAC,IAAI,WAAe,GAAG,IAAI,CAEhD"}
package/dist/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { asStatus } from '../commands/shared-output.js';
2
- import { Command, Option } from 'commander';
1
+ import { emitFailure } from '../commands/shared-output.js';
2
+ import { Command, Option, InvalidArgumentError } from 'commander';
3
3
  import { createRequire } from 'module';
4
4
  import path from 'path';
5
5
  import { fileURLToPath } from 'url';
@@ -18,17 +18,8 @@ import { statusCommand, instructionsCommand, applyInstructionsCommand, templates
18
18
  function failWithError(error, json) {
19
19
  // The agent contract: every --json failure leaves exactly one JSON
20
20
  // document on stdout (the command's null-shape plus a status array).
21
- if (json?.enabled) {
22
- console.log(JSON.stringify({ ...(json.payload ?? {}), status: [asStatus(error, json.fallbackCode ?? 'command_error')] }, null, 2));
23
- process.exitCode = 1;
24
- return;
25
- }
26
- console.error(`✗ Error: ${error.message}`);
27
- const fix = error.diagnostic?.fix;
28
- if (fix) {
29
- console.error(`Fix: ${fix}`);
30
- }
31
- process.exitCode = process.exitCode ?? 1;
21
+ // Delegates to the one shared failure sink (shared-output.emitFailure).
22
+ emitFailure(json?.enabled, json?.payload ?? {}, error, json?.fallbackCode ?? 'command_error');
32
23
  }
33
24
  const program = new Command();
34
25
  const require = createRequire(import.meta.url);
@@ -81,7 +72,6 @@ program
81
72
  }
82
73
  catch (error) {
83
74
  failWithError(error);
84
- process.exit(1);
85
75
  }
86
76
  });
87
77
  program
@@ -95,7 +85,6 @@ program
95
85
  }
96
86
  catch (error) {
97
87
  failWithError(error);
98
- process.exit(1);
99
88
  }
100
89
  });
101
90
  program
@@ -109,7 +98,6 @@ program
109
98
  }
110
99
  catch (error) {
111
100
  failWithError(error);
112
- process.exit(1);
113
101
  }
114
102
  });
115
103
  program
@@ -117,7 +105,7 @@ program
117
105
  .description('List items (changes by default). Use --specs to list specs.')
118
106
  .option('--specs', 'List specs instead of changes')
119
107
  .option('--changes', 'List changes explicitly (default)')
120
- .option('--sort <order>', 'Sort order: "recent" (default) or "name"', 'recent')
108
+ .addOption(new Option('--sort <order>', 'Sort order').choices(['recent', 'name']).default('recent'))
121
109
  .option('--type <type>', 'Filter changes by type: "requirement" or "issue"')
122
110
  .option('--json', 'Output as JSON (for programmatic use)')
123
111
  .action(async (options) => {
@@ -148,7 +136,6 @@ program
148
136
  payload: options?.specs ? { specs: [], root: null } : { changes: [], root: null },
149
137
  fallbackCode: 'list_error',
150
138
  });
151
- process.exit(1);
152
139
  }
153
140
  });
154
141
  program
@@ -166,7 +153,6 @@ program
166
153
  }
167
154
  catch (error) {
168
155
  failWithError(error);
169
- process.exit(1);
170
156
  }
171
157
  });
172
158
  program
@@ -178,7 +164,14 @@ program
178
164
  .option('--type <type>', 'Specify item type when ambiguous: change|spec')
179
165
  .option('--strict', 'Enable strict validation mode')
180
166
  .option('--json', 'Output validation results as JSON')
181
- .option('--concurrency <n>', 'Max concurrent validations (defaults to env TOSPEC_CONCURRENCY or 6)')
167
+ .addOption(new Option('--concurrency <n>', 'Max concurrent validations (defaults to env TOSPEC_CONCURRENCY or 6)')
168
+ .argParser((value) => {
169
+ const n = parseInt(value, 10);
170
+ if (Number.isNaN(n) || n <= 0 || String(n) !== value.trim()) {
171
+ throw new InvalidArgumentError('Expected a positive integer.');
172
+ }
173
+ return value;
174
+ }))
182
175
  .option('--no-interactive', 'Disable interactive prompts')
183
176
  .action(async (itemName, options) => {
184
177
  try {
@@ -187,7 +180,6 @@ program
187
180
  }
188
181
  catch (error) {
189
182
  failWithError(error, { enabled: options?.json, fallbackCode: 'validate_error' });
190
- process.exit(1);
191
183
  }
192
184
  });
193
185
  program
@@ -201,7 +193,6 @@ program
201
193
  .option('--requirements', 'JSON only: Show only requirements (exclude scenarios)')
202
194
  .option('--no-scenarios', 'JSON only: Exclude scenario content')
203
195
  .option('-r, --requirement <id>', 'JSON only: Show specific requirement by ID (1-based)')
204
- .allowUnknownOption(true)
205
196
  .action(async (itemName, options) => {
206
197
  try {
207
198
  const showCommand = new ShowCommand();
@@ -209,7 +200,6 @@ program
209
200
  }
210
201
  catch (error) {
211
202
  failWithError(error, { enabled: options?.json, fallbackCode: 'show_error' });
212
- process.exit(1);
213
203
  }
214
204
  });
215
205
  // ═══════════════════════════════════════════════════════════
@@ -227,7 +217,6 @@ program
227
217
  }
228
218
  catch (error) {
229
219
  failWithError(error, { enabled: options.json, fallbackCode: 'change_error' });
230
- process.exit(1);
231
220
  }
232
221
  });
233
222
  program
@@ -247,7 +236,6 @@ program
247
236
  }
248
237
  catch (error) {
249
238
  failWithError(error, { enabled: options.json, fallbackCode: 'change_error' });
250
- process.exit(1);
251
239
  }
252
240
  });
253
241
  program
@@ -260,8 +248,7 @@ program
260
248
  await templatesCommand(options);
261
249
  }
262
250
  catch (error) {
263
- failWithError(error);
264
- process.exit(1);
251
+ failWithError(error, { enabled: options.json, payload: { templates: null }, fallbackCode: 'templates_error' });
265
252
  }
266
253
  });
267
254
  program
@@ -273,8 +260,7 @@ program
273
260
  await schemasCommand(options);
274
261
  }
275
262
  catch (error) {
276
- failWithError(error);
277
- process.exit(1);
263
+ failWithError(error, { enabled: options.json, payload: { schemas: null }, fallbackCode: 'schemas_error' });
278
264
  }
279
265
  });
280
266
  const newCmd = program.command('new').description('Create new items');
@@ -283,6 +269,7 @@ newCmd
283
269
  .description('Create a new change directory')
284
270
  .option('--description <text>', "One-line summary to fill the ticket's Summary")
285
271
  .option('--goal <text>', 'Optional goal metadata to store with the change')
272
+ .option('--decisions <files>', 'Comma-separated decision (ADR) filenames driving this change')
286
273
  .option('--schema <name>', `Workflow schema to use (default: ${DEFAULT_SCHEMA})`)
287
274
  .option('--json', 'Output as JSON')
288
275
  .addOption(new Option('--initiative <id>', 'No longer supported').hideHelp())
@@ -293,7 +280,6 @@ newCmd
293
280
  }
294
281
  catch (error) {
295
282
  failWithError(error);
296
- process.exit(1);
297
283
  }
298
284
  });
299
285
  program
@@ -305,6 +291,7 @@ program
305
291
  .option('-d, --detach', 'Run the dashboard in the background and return immediately')
306
292
  .option('--stop', "Stop this project's dashboard, or pick from all running ones")
307
293
  .option('-l, --list', 'List all running dashboards (any project) and exit')
294
+ .option('--allow-remote', 'Allow binding a non-loopback --host (exposes the dashboard to the network)')
308
295
  .action(async (targetPath = '.', options) => {
309
296
  try {
310
297
  const dashboard = await import('../commands/dashboard.js');
@@ -358,6 +345,7 @@ program
358
345
  port: Number(options?.port ?? 5620),
359
346
  host: options?.host ?? '127.0.0.1',
360
347
  open: options?.open,
348
+ allowRemote: options?.allowRemote,
361
349
  };
362
350
  if (options?.detach) {
363
351
  await dashboard.detachDashboard(root.path, process.argv[1], { ...runOpts, targetPath });
@@ -367,7 +355,6 @@ program
367
355
  }
368
356
  catch (error) {
369
357
  failWithError(error);
370
- process.exit(1);
371
358
  }
372
359
  });
373
360
  registerConfigCommand(program);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { Command } from 'commander';
2
2
  import { GlobalConfig } from '../core/global-config.js';
3
- import type { Profile, Delivery } from '../core/global-config.js';
3
+ import type { Profile } from '../core/global-config.js';
4
4
  interface ProfileState {
5
5
  profile: Profile;
6
- delivery: Delivery;
7
6
  workflows: string[];
8
7
  }
9
8
  interface ProfileStateDiff {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAIL,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAiBlE,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA2CD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAO7E;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAKvF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE5F;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,gBAAgB,CAkC5F;AAiBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyY5D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAIL,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAiBxD,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AA+CD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAM7E;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAKvF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE5F;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,gBAAgB,CA8B5F;AAiBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkY5D"}