specweave 0.13.5 → 0.14.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 (811) hide show
  1. package/CLAUDE.md +189 -0
  2. package/bin/specweave.js +1 -0
  3. package/dist/cli/commands/init.d.ts +1 -0
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +51 -38
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/cli/commands/status-line.d.ts +14 -0
  8. package/dist/cli/commands/status-line.d.ts.map +1 -0
  9. package/dist/cli/commands/status-line.js +75 -0
  10. package/dist/cli/commands/status-line.js.map +1 -0
  11. package/dist/core/status-line/status-line-manager.d.ts +62 -0
  12. package/dist/core/status-line/status-line-manager.d.ts.map +1 -0
  13. package/dist/core/status-line/status-line-manager.js +169 -0
  14. package/dist/core/status-line/status-line-manager.js.map +1 -0
  15. package/dist/core/status-line/types.d.ts +50 -0
  16. package/dist/core/status-line/types.d.ts.map +1 -0
  17. package/dist/core/status-line/types.js +17 -0
  18. package/dist/core/status-line/types.js.map +1 -0
  19. package/dist/utils/project-mapper.d.ts +74 -0
  20. package/dist/utils/project-mapper.d.ts.map +1 -0
  21. package/dist/utils/project-mapper.js +273 -0
  22. package/dist/utils/project-mapper.js.map +1 -0
  23. package/dist/utils/spec-splitter.d.ts +68 -0
  24. package/dist/utils/spec-splitter.d.ts.map +1 -0
  25. package/dist/utils/spec-splitter.js +314 -0
  26. package/dist/utils/spec-splitter.js.map +1 -0
  27. package/package.json +1 -1
  28. package/plugins/specweave/hooks/lib/update-status-line.sh +138 -0
  29. package/plugins/specweave/hooks/post-task-completion.sh +10 -0
  30. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  31. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  32. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  33. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  34. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  35. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  36. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  37. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  38. package/plugins/specweave/lib/hooks/sync-living-docs.js +87 -129
  39. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  40. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  41. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  42. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  43. package/plugins/specweave/skills/multi-project-spec-mapper/SKILL.md +399 -0
  44. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  45. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  46. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +453 -0
  47. package/plugins/specweave-ado/lib/ado-multi-project-sync.ts +633 -0
  48. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  49. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  50. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +17 -3
  51. package/plugins/specweave-docs-preview/commands/preview.md +29 -4
  52. package/plugins/specweave-github/hooks/hooks.json +11 -0
  53. package/plugins/specweave-github/hooks/post-increment-done.sh +224 -0
  54. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  55. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  56. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  57. package/plugins/specweave-github/lib/github-client.js +246 -280
  58. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  59. package/plugins/specweave-github/lib/github-issue-updater.js +231 -288
  60. package/plugins/specweave-github/lib/github-multi-project-sync.js +340 -0
  61. package/plugins/specweave-github/lib/github-multi-project-sync.ts +461 -0
  62. package/plugins/specweave-github/lib/github-spec-sync.js +379 -420
  63. package/plugins/specweave-github/lib/github-sync-bidirectional.js +175 -202
  64. package/plugins/specweave-github/lib/github-sync-increment-changes.js +212 -251
  65. package/plugins/specweave-github/lib/index.js +11 -10
  66. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  67. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  68. package/plugins/specweave-github/lib/task-parser.js +191 -207
  69. package/plugins/specweave-github/lib/task-sync.js +344 -296
  70. package/plugins/specweave-github/lib/types.js +0 -5
  71. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  72. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  73. package/plugins/specweave-jira/lib/jira-multi-project-sync.js +244 -0
  74. package/plugins/specweave-jira/lib/jira-multi-project-sync.ts +358 -0
  75. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  76. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  77. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  78. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  79. package/src/templates/AGENTS.md.template +42 -0
  80. package/dist/core/agent-model-manager.d.ts +0 -52
  81. package/dist/core/agent-model-manager.d.ts.map +0 -1
  82. package/dist/core/agent-model-manager.js +0 -120
  83. package/dist/core/agent-model-manager.js.map +0 -1
  84. package/dist/core/model-selector.d.ts +0 -57
  85. package/dist/core/model-selector.d.ts.map +0 -1
  86. package/dist/core/model-selector.js +0 -115
  87. package/dist/core/model-selector.js.map +0 -1
  88. package/dist/core/phase-detector.d.ts +0 -62
  89. package/dist/core/phase-detector.d.ts.map +0 -1
  90. package/dist/core/phase-detector.js +0 -229
  91. package/dist/core/phase-detector.js.map +0 -1
  92. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  93. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  94. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  95. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  96. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  97. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  98. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  99. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  100. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  101. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  102. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  103. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  104. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  105. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  106. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  107. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  108. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  109. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  110. package/dist/hooks/lib/reflection-parser.js +0 -419
  111. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  112. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  113. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  114. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  115. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  116. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  117. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  118. package/dist/hooks/lib/reflection-storage.js +0 -305
  119. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  120. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  121. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  122. package/dist/hooks/lib/run-self-reflection.js +0 -203
  123. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  124. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  125. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  126. package/dist/hooks/lib/sync-living-docs.js +0 -116
  127. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  128. package/dist/hooks/lib/translate-file.d.ts +0 -59
  129. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  130. package/dist/hooks/lib/translate-file.js +0 -350
  131. package/dist/hooks/lib/translate-file.js.map +0 -1
  132. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  133. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  134. package/dist/hooks/lib/translate-living-docs.js +0 -175
  135. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  136. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  137. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  138. package/dist/hooks/lib/types/reflection-types.js +0 -73
  139. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  140. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  141. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  142. package/dist/hooks/lib/update-tasks-md.js +0 -203
  143. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  144. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  145. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  146. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  147. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  148. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  149. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  150. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  151. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  152. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  153. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  154. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  155. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  156. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  157. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  158. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  159. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  160. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  161. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  162. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  163. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  164. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  165. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  166. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  167. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  168. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  169. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  170. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  171. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  172. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  173. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  174. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  175. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  176. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  177. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  178. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -144
  179. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  180. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  181. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  182. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  183. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  184. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  185. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  186. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  187. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  188. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  189. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  190. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  191. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  192. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  193. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  194. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  195. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  196. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  197. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  198. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  199. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  200. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  201. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  202. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  203. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  204. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  205. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  206. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  207. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  208. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  209. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  210. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  211. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  212. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  213. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  214. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -471
  215. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  216. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  217. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  218. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  219. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  220. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
  221. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
  222. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
  223. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
  224. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  225. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  226. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  227. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  228. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  229. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  230. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  231. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  232. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  233. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  234. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  235. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  236. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  237. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  238. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  239. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  240. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +0 -61
  241. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  242. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -327
  243. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  244. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  245. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  246. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -505
  247. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  248. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
  249. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
  250. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -228
  251. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
  252. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
  253. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
  254. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -287
  255. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
  256. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  257. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  258. package/dist/plugins/specweave-github/lib/index.js +0 -10
  259. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  260. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  261. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  262. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  263. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  264. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  265. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  266. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  267. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  268. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  269. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  270. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  271. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  272. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  273. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  274. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  275. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  276. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  277. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  278. package/dist/plugins/specweave-github/lib/types.js +0 -5
  279. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  280. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  281. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  282. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  283. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  284. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  285. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  286. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  287. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  288. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  289. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  290. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -456
  291. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  292. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  293. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  294. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  295. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  296. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  297. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  298. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  299. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  300. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  301. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  302. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  303. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  304. package/dist/src/adapters/adapter-base.d.ts +0 -71
  305. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  306. package/dist/src/adapters/adapter-base.js +0 -139
  307. package/dist/src/adapters/adapter-base.js.map +0 -1
  308. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  309. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  310. package/dist/src/adapters/adapter-interface.js +0 -8
  311. package/dist/src/adapters/adapter-interface.js.map +0 -1
  312. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  313. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  314. package/dist/src/adapters/adapter-loader.js +0 -238
  315. package/dist/src/adapters/adapter-loader.js.map +0 -1
  316. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  317. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  318. package/dist/src/adapters/agents-md-generator.js +0 -193
  319. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  320. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  321. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  322. package/dist/src/adapters/claude/adapter.js +0 -415
  323. package/dist/src/adapters/claude/adapter.js.map +0 -1
  324. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  325. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  326. package/dist/src/adapters/claude-md-generator.js +0 -307
  327. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  328. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  329. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  330. package/dist/src/adapters/codex/adapter.js +0 -316
  331. package/dist/src/adapters/codex/adapter.js.map +0 -1
  332. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  333. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  334. package/dist/src/adapters/cursor/adapter.js +0 -406
  335. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  336. package/dist/src/adapters/doc-generator.d.ts +0 -69
  337. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  338. package/dist/src/adapters/doc-generator.js +0 -247
  339. package/dist/src/adapters/doc-generator.js.map +0 -1
  340. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  341. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  342. package/dist/src/adapters/gemini/adapter.js +0 -281
  343. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  344. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  345. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  346. package/dist/src/adapters/generic/adapter.js +0 -338
  347. package/dist/src/adapters/generic/adapter.js.map +0 -1
  348. package/dist/src/cli/commands/abandon.d.ts +0 -13
  349. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  350. package/dist/src/cli/commands/abandon.js +0 -15
  351. package/dist/src/cli/commands/abandon.js.map +0 -1
  352. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  353. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  354. package/dist/src/cli/commands/import-docs.js +0 -146
  355. package/dist/src/cli/commands/import-docs.js.map +0 -1
  356. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  357. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  358. package/dist/src/cli/commands/init-multiproject.js +0 -202
  359. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  360. package/dist/src/cli/commands/init.d.ts +0 -9
  361. package/dist/src/cli/commands/init.d.ts.map +0 -1
  362. package/dist/src/cli/commands/init.js +0 -1444
  363. package/dist/src/cli/commands/init.js.map +0 -1
  364. package/dist/src/cli/commands/install.d.ts +0 -9
  365. package/dist/src/cli/commands/install.d.ts.map +0 -1
  366. package/dist/src/cli/commands/install.js +0 -127
  367. package/dist/src/cli/commands/install.js.map +0 -1
  368. package/dist/src/cli/commands/list.d.ts +0 -8
  369. package/dist/src/cli/commands/list.d.ts.map +0 -1
  370. package/dist/src/cli/commands/list.js +0 -119
  371. package/dist/src/cli/commands/list.js.map +0 -1
  372. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  373. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  374. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  375. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  376. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  377. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  378. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  379. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  380. package/dist/src/cli/commands/pause.d.ts +0 -13
  381. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  382. package/dist/src/cli/commands/pause.js +0 -15
  383. package/dist/src/cli/commands/pause.js.map +0 -1
  384. package/dist/src/cli/commands/qa.d.ts +0 -54
  385. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  386. package/dist/src/cli/commands/qa.js +0 -98
  387. package/dist/src/cli/commands/qa.js.map +0 -1
  388. package/dist/src/cli/commands/resume.d.ts +0 -12
  389. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  390. package/dist/src/cli/commands/resume.js +0 -14
  391. package/dist/src/cli/commands/resume.js.map +0 -1
  392. package/dist/src/cli/commands/status.d.ts +0 -12
  393. package/dist/src/cli/commands/status.d.ts.map +0 -1
  394. package/dist/src/cli/commands/status.js +0 -23
  395. package/dist/src/cli/commands/status.js.map +0 -1
  396. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  397. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  398. package/dist/src/cli/commands/switch-project.js +0 -91
  399. package/dist/src/cli/commands/switch-project.js.map +0 -1
  400. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  401. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  402. package/dist/src/cli/commands/validate-jira.js +0 -112
  403. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  404. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  405. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  406. package/dist/src/cli/commands/validate-plugins.js +0 -171
  407. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  408. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  409. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  410. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  411. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  412. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  413. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  414. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  415. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  416. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  417. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  418. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  419. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  420. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  421. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  422. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  423. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  424. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -108
  425. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  426. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  427. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  428. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  429. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  430. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  431. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  432. package/dist/src/core/agent-model-manager.d.ts +0 -52
  433. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  434. package/dist/src/core/agent-model-manager.js +0 -120
  435. package/dist/src/core/agent-model-manager.js.map +0 -1
  436. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  437. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  438. package/dist/src/core/brownfield/analyzer.js +0 -365
  439. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  440. package/dist/src/core/brownfield/importer.d.ts +0 -76
  441. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  442. package/dist/src/core/brownfield/importer.js +0 -287
  443. package/dist/src/core/brownfield/importer.js.map +0 -1
  444. package/dist/src/core/config-manager.d.ts +0 -47
  445. package/dist/src/core/config-manager.d.ts.map +0 -1
  446. package/dist/src/core/config-manager.js +0 -136
  447. package/dist/src/core/config-manager.js.map +0 -1
  448. package/dist/src/core/cost-tracker.d.ts +0 -108
  449. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  450. package/dist/src/core/cost-tracker.js +0 -281
  451. package/dist/src/core/cost-tracker.js.map +0 -1
  452. package/dist/src/core/credentials-manager.d.ts +0 -107
  453. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  454. package/dist/src/core/credentials-manager.js +0 -457
  455. package/dist/src/core/credentials-manager.js.map +0 -1
  456. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  457. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  458. package/dist/src/core/i18n/language-detector.js +0 -143
  459. package/dist/src/core/i18n/language-detector.js.map +0 -1
  460. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  461. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  462. package/dist/src/core/i18n/language-manager.js +0 -232
  463. package/dist/src/core/i18n/language-manager.js.map +0 -1
  464. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  465. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  466. package/dist/src/core/i18n/language-registry.js +0 -234
  467. package/dist/src/core/i18n/language-registry.js.map +0 -1
  468. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  469. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  470. package/dist/src/core/i18n/locale-manager.js +0 -137
  471. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  472. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  473. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  474. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  475. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  476. package/dist/src/core/i18n/types.d.ts +0 -151
  477. package/dist/src/core/i18n/types.d.ts.map +0 -1
  478. package/dist/src/core/i18n/types.js +0 -11
  479. package/dist/src/core/i18n/types.js.map +0 -1
  480. package/dist/src/core/increment/limits.d.ts +0 -68
  481. package/dist/src/core/increment/limits.d.ts.map +0 -1
  482. package/dist/src/core/increment/limits.js +0 -224
  483. package/dist/src/core/increment/limits.js.map +0 -1
  484. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  485. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  486. package/dist/src/core/increment/metadata-manager.js +0 -320
  487. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  488. package/dist/src/core/increment/status-commands.d.ts +0 -43
  489. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  490. package/dist/src/core/increment/status-commands.js +0 -277
  491. package/dist/src/core/increment/status-commands.js.map +0 -1
  492. package/dist/src/core/increment-status.d.ts +0 -72
  493. package/dist/src/core/increment-status.d.ts.map +0 -1
  494. package/dist/src/core/increment-status.js +0 -227
  495. package/dist/src/core/increment-status.js.map +0 -1
  496. package/dist/src/core/model-selector.d.ts +0 -57
  497. package/dist/src/core/model-selector.d.ts.map +0 -1
  498. package/dist/src/core/model-selector.js +0 -115
  499. package/dist/src/core/model-selector.js.map +0 -1
  500. package/dist/src/core/phase-detector.d.ts +0 -62
  501. package/dist/src/core/phase-detector.d.ts.map +0 -1
  502. package/dist/src/core/phase-detector.js +0 -229
  503. package/dist/src/core/phase-detector.js.map +0 -1
  504. package/dist/src/core/plugin-loader.d.ts +0 -131
  505. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  506. package/dist/src/core/plugin-loader.js +0 -421
  507. package/dist/src/core/plugin-loader.js.map +0 -1
  508. package/dist/src/core/project-manager.d.ts +0 -127
  509. package/dist/src/core/project-manager.d.ts.map +0 -1
  510. package/dist/src/core/project-manager.js +0 -524
  511. package/dist/src/core/project-manager.js.map +0 -1
  512. package/dist/src/core/project-structure-detector.d.ts +0 -92
  513. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  514. package/dist/src/core/project-structure-detector.js +0 -289
  515. package/dist/src/core/project-structure-detector.js.map +0 -1
  516. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  517. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  518. package/dist/src/core/qa/qa-runner.js +0 -404
  519. package/dist/src/core/qa/qa-runner.js.map +0 -1
  520. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  521. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  522. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  523. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  524. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  525. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  526. package/dist/src/core/qa/risk-calculator.js +0 -247
  527. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  528. package/dist/src/core/qa/types.d.ts +0 -315
  529. package/dist/src/core/qa/types.d.ts.map +0 -1
  530. package/dist/src/core/qa/types.js +0 -8
  531. package/dist/src/core/qa/types.js.map +0 -1
  532. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  533. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  534. package/dist/src/core/rfc-generator-v2.js +0 -399
  535. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  536. package/dist/src/core/specs/spec-metadata-manager.d.ts +0 -70
  537. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +0 -1
  538. package/dist/src/core/specs/spec-metadata-manager.js +0 -371
  539. package/dist/src/core/specs/spec-metadata-manager.js.map +0 -1
  540. package/dist/src/core/specs/spec-parser.d.ts +0 -66
  541. package/dist/src/core/specs/spec-parser.d.ts.map +0 -1
  542. package/dist/src/core/specs/spec-parser.js +0 -276
  543. package/dist/src/core/specs/spec-parser.js.map +0 -1
  544. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  545. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  546. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  547. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  548. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  549. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  550. package/dist/src/core/sync/folder-mapper.js +0 -168
  551. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  552. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  553. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  554. package/dist/src/core/sync/profile-manager.js +0 -338
  555. package/dist/src/core/sync/profile-manager.js.map +0 -1
  556. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  557. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  558. package/dist/src/core/sync/profile-selector.js +0 -179
  559. package/dist/src/core/sync/profile-selector.js.map +0 -1
  560. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  561. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  562. package/dist/src/core/sync/profile-validator.js +0 -225
  563. package/dist/src/core/sync/profile-validator.js.map +0 -1
  564. package/dist/src/core/sync/project-context.d.ts +0 -81
  565. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  566. package/dist/src/core/sync/project-context.js +0 -354
  567. package/dist/src/core/sync/project-context.js.map +0 -1
  568. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  569. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  570. package/dist/src/core/sync/rate-limiter.js +0 -308
  571. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  572. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  573. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  574. package/dist/src/core/sync/time-range-selector.js +0 -224
  575. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  576. package/dist/src/core/types/config.d.ts +0 -90
  577. package/dist/src/core/types/config.d.ts.map +0 -1
  578. package/dist/src/core/types/config.js +0 -44
  579. package/dist/src/core/types/config.js.map +0 -1
  580. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  581. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  582. package/dist/src/core/types/increment-metadata.js +0 -138
  583. package/dist/src/core/types/increment-metadata.js.map +0 -1
  584. package/dist/src/core/types/plugin.d.ts +0 -283
  585. package/dist/src/core/types/plugin.d.ts.map +0 -1
  586. package/dist/src/core/types/plugin.js +0 -49
  587. package/dist/src/core/types/plugin.js.map +0 -1
  588. package/dist/src/core/types/spec-metadata.d.ts +0 -229
  589. package/dist/src/core/types/spec-metadata.d.ts.map +0 -1
  590. package/dist/src/core/types/spec-metadata.js +0 -14
  591. package/dist/src/core/types/spec-metadata.js.map +0 -1
  592. package/dist/src/core/types/sync-profile.d.ts +0 -403
  593. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  594. package/dist/src/core/types/sync-profile.js +0 -55
  595. package/dist/src/core/types/sync-profile.js.map +0 -1
  596. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  597. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  598. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  599. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  600. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  601. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  602. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  603. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  604. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  605. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  606. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  607. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  608. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  609. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  610. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  611. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  612. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  613. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  614. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  615. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  616. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  617. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  618. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  619. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  620. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  621. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  622. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  623. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  624. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  625. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  626. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  627. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  628. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  629. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  630. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  631. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  632. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  633. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  634. package/dist/src/hooks/lib/translate-file.js +0 -350
  635. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  636. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  637. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  638. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  639. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  640. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  641. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  642. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  643. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  644. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  645. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  646. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  647. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  648. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  649. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  650. package/dist/src/integrations/ado/ado-client.js +0 -416
  651. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  652. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  653. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  654. package/dist/src/integrations/jira/jira-client.js +0 -386
  655. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  656. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  657. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  658. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  659. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  660. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  661. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  662. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  663. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  664. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  665. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  666. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  667. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  668. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  669. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  670. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  671. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  672. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  673. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  674. package/dist/src/metrics/calculators/lead-time.js +0 -82
  675. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  676. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  677. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  678. package/dist/src/metrics/calculators/mttr.js +0 -60
  679. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  680. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  681. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  682. package/dist/src/metrics/dora-calculator.js +0 -117
  683. package/dist/src/metrics/dora-calculator.js.map +0 -1
  684. package/dist/src/metrics/github-client.d.ts +0 -51
  685. package/dist/src/metrics/github-client.d.ts.map +0 -1
  686. package/dist/src/metrics/github-client.js +0 -133
  687. package/dist/src/metrics/github-client.js.map +0 -1
  688. package/dist/src/metrics/report-generator.d.ts +0 -17
  689. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  690. package/dist/src/metrics/report-generator.js +0 -403
  691. package/dist/src/metrics/report-generator.js.map +0 -1
  692. package/dist/src/metrics/types.d.ts +0 -112
  693. package/dist/src/metrics/types.d.ts.map +0 -1
  694. package/dist/src/metrics/types.js +0 -10
  695. package/dist/src/metrics/types.js.map +0 -1
  696. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  697. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  698. package/dist/src/metrics/utils/percentile.js +0 -46
  699. package/dist/src/metrics/utils/percentile.js.map +0 -1
  700. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  701. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  702. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  703. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  704. package/dist/src/testing/test-generator.d.ts +0 -117
  705. package/dist/src/testing/test-generator.d.ts.map +0 -1
  706. package/dist/src/testing/test-generator.js +0 -370
  707. package/dist/src/testing/test-generator.js.map +0 -1
  708. package/dist/src/types/cost-tracking.d.ts +0 -43
  709. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  710. package/dist/src/types/cost-tracking.js +0 -8
  711. package/dist/src/types/cost-tracking.js.map +0 -1
  712. package/dist/src/types/model-selection.d.ts +0 -53
  713. package/dist/src/types/model-selection.d.ts.map +0 -1
  714. package/dist/src/types/model-selection.js +0 -12
  715. package/dist/src/types/model-selection.js.map +0 -1
  716. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  717. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  718. package/dist/src/utils/agents-md-compiler.js +0 -420
  719. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  720. package/dist/src/utils/auth-helpers.d.ts +0 -58
  721. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  722. package/dist/src/utils/auth-helpers.js +0 -108
  723. package/dist/src/utils/auth-helpers.js.map +0 -1
  724. package/dist/src/utils/auto-install.d.ts +0 -47
  725. package/dist/src/utils/auto-install.d.ts.map +0 -1
  726. package/dist/src/utils/auto-install.js +0 -211
  727. package/dist/src/utils/auto-install.js.map +0 -1
  728. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  729. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  730. package/dist/src/utils/claude-cli-detector.js +0 -285
  731. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  732. package/dist/src/utils/cost-reporter.d.ts +0 -58
  733. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  734. package/dist/src/utils/cost-reporter.js +0 -224
  735. package/dist/src/utils/cost-reporter.js.map +0 -1
  736. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  737. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  738. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  739. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  740. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  741. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  742. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  743. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  744. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  745. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  746. package/dist/src/utils/docs-preview/index.js +0 -7
  747. package/dist/src/utils/docs-preview/index.js.map +0 -1
  748. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  749. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  750. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  751. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  752. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  753. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  754. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  755. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  756. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  757. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  758. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  759. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  760. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  761. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  762. package/dist/src/utils/docs-preview/types.js +0 -2
  763. package/dist/src/utils/docs-preview/types.js.map +0 -1
  764. package/dist/src/utils/env-file.d.ts +0 -88
  765. package/dist/src/utils/env-file.d.ts.map +0 -1
  766. package/dist/src/utils/env-file.js +0 -180
  767. package/dist/src/utils/env-file.js.map +0 -1
  768. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  769. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  770. package/dist/src/utils/env-multi-project-parser.js +0 -403
  771. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  772. package/dist/src/utils/esm-helpers.d.ts +0 -50
  773. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  774. package/dist/src/utils/esm-helpers.js +0 -57
  775. package/dist/src/utils/esm-helpers.js.map +0 -1
  776. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  777. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  778. package/dist/src/utils/execFileNoThrow.js +0 -137
  779. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  780. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  781. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  782. package/dist/src/utils/external-resource-validator.js +0 -442
  783. package/dist/src/utils/external-resource-validator.js.map +0 -1
  784. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  785. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  786. package/dist/src/utils/generate-skills-index.js +0 -410
  787. package/dist/src/utils/generate-skills-index.js.map +0 -1
  788. package/dist/src/utils/model-selection.d.ts +0 -75
  789. package/dist/src/utils/model-selection.d.ts.map +0 -1
  790. package/dist/src/utils/model-selection.js +0 -204
  791. package/dist/src/utils/model-selection.js.map +0 -1
  792. package/dist/src/utils/plugin-validator.d.ts +0 -161
  793. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  794. package/dist/src/utils/plugin-validator.js +0 -558
  795. package/dist/src/utils/plugin-validator.js.map +0 -1
  796. package/dist/src/utils/pricing-constants.d.ts +0 -70
  797. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  798. package/dist/src/utils/pricing-constants.js +0 -71
  799. package/dist/src/utils/pricing-constants.js.map +0 -1
  800. package/dist/src/utils/project-detection.d.ts +0 -141
  801. package/dist/src/utils/project-detection.d.ts.map +0 -1
  802. package/dist/src/utils/project-detection.js +0 -321
  803. package/dist/src/utils/project-detection.js.map +0 -1
  804. package/dist/src/utils/string-utils.d.ts +0 -40
  805. package/dist/src/utils/string-utils.d.ts.map +0 -1
  806. package/dist/src/utils/string-utils.js +0 -58
  807. package/dist/src/utils/string-utils.js.map +0 -1
  808. package/dist/src/utils/translation.d.ts +0 -187
  809. package/dist/src/utils/translation.d.ts.map +0 -1
  810. package/dist/src/utils/translation.js +0 -414
  811. package/dist/src/utils/translation.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-mapper.js","sourceRoot":"","sources":["../../src/utils/project-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Spec Splitter - Split Monolithic Specs into Project-Specific Files
3
+ *
4
+ * Takes a comprehensive spec file covering multiple projects and intelligently
5
+ * splits it into project-specific spec files (FE/, BE/, MOBILE/, etc.)
6
+ *
7
+ * @module spec-splitter
8
+ */
9
+ import { type UserStory, type ProjectRule } from './project-mapper.js';
10
+ export interface SpecMetadata {
11
+ specId?: string;
12
+ spec_id?: string;
13
+ title: string;
14
+ version: string;
15
+ status: string;
16
+ created: string;
17
+ lastUpdated?: string;
18
+ last_updated?: string;
19
+ authors: string[];
20
+ reviewers?: string[];
21
+ priority: string;
22
+ estimatedEffort?: string;
23
+ estimated_effort?: string;
24
+ targetRelease?: string;
25
+ target_release?: string;
26
+ jiraSync?: boolean;
27
+ jira_sync?: boolean;
28
+ jiraProjects?: string[];
29
+ jira_projects?: string[];
30
+ }
31
+ export interface ParsedSpec {
32
+ metadata: SpecMetadata;
33
+ executiveSummary: string;
34
+ problemStatement: string;
35
+ userStories: UserStory[];
36
+ functionalRequirements: string;
37
+ nonFunctionalRequirements: string;
38
+ successMetrics: string;
39
+ technicalArchitecture: string;
40
+ testStrategy: string;
41
+ riskAnalysis: string;
42
+ futureRoadmap: string;
43
+ appendices: string;
44
+ }
45
+ /**
46
+ * Parse spec file into structured format
47
+ *
48
+ * @param specPath Path to spec.md file
49
+ * @returns Parsed spec structure
50
+ */
51
+ export declare function parseSpecFile(specPath: string): Promise<ParsedSpec>;
52
+ /**
53
+ * Split spec into project-specific files
54
+ *
55
+ * @param specPath Path to monolithic spec.md
56
+ * @param outputDir Directory to write project-specific specs (e.g., .specweave/docs/internal/specs/)
57
+ * @param projectRules Custom project mapping rules (optional)
58
+ * @returns Map of projectId → output file path
59
+ */
60
+ export declare function splitSpecIntoProjects(specPath: string, outputDir: string, projectRules?: ProjectRule[]): Promise<Map<string, string>>;
61
+ /**
62
+ * Create multi-project folder structure
63
+ *
64
+ * @param specsDir Base specs directory (.specweave/docs/internal/specs/)
65
+ * @param projectIds Array of project IDs (e.g., ['FE', 'BE', 'MOBILE'])
66
+ */
67
+ export declare function createMultiProjectFolderStructure(specsDir: string, projectIds: string[]): Promise<void>;
68
+ //# sourceMappingURL=spec-splitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-splitter.d.ts","sourceRoot":"","sources":["../../src/utils/spec-splitter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA+BzE;AA8ID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,WAAW,EAA0B,GAClD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0B9B;AA6GD;;;;;GAKG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -0,0 +1,314 @@
1
+ /**
2
+ * Spec Splitter - Split Monolithic Specs into Project-Specific Files
3
+ *
4
+ * Takes a comprehensive spec file covering multiple projects and intelligently
5
+ * splits it into project-specific spec files (FE/, BE/, MOBILE/, etc.)
6
+ *
7
+ * @module spec-splitter
8
+ */
9
+ import fs from 'fs-extra';
10
+ import path from 'path';
11
+ import { splitSpecByProject, DEFAULT_PROJECT_RULES } from './project-mapper.js';
12
+ /**
13
+ * Parse spec file into structured format
14
+ *
15
+ * @param specPath Path to spec.md file
16
+ * @returns Parsed spec structure
17
+ */
18
+ export async function parseSpecFile(specPath) {
19
+ const content = await fs.readFile(specPath, 'utf-8');
20
+ // Extract frontmatter
21
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
22
+ if (!frontmatterMatch) {
23
+ throw new Error('No frontmatter found in spec file');
24
+ }
25
+ const metadata = parseFrontmatter(frontmatterMatch[1]);
26
+ // Extract sections
27
+ const sections = extractSections(content);
28
+ // Parse user stories
29
+ const userStories = parseUserStories(sections.userStories || '');
30
+ return {
31
+ metadata,
32
+ executiveSummary: sections.executiveSummary || '',
33
+ problemStatement: sections.problemStatement || '',
34
+ userStories,
35
+ functionalRequirements: sections.functionalRequirements || '',
36
+ nonFunctionalRequirements: sections.nonFunctionalRequirements || '',
37
+ successMetrics: sections.successMetrics || '',
38
+ technicalArchitecture: sections.technicalArchitecture || '',
39
+ testStrategy: sections.testStrategy || '',
40
+ riskAnalysis: sections.riskAnalysis || '',
41
+ futureRoadmap: sections.futureRoadmap || '',
42
+ appendices: sections.appendices || ''
43
+ };
44
+ }
45
+ /**
46
+ * Parse YAML frontmatter into metadata object
47
+ */
48
+ function parseFrontmatter(frontmatter) {
49
+ const lines = frontmatter.split('\n');
50
+ const metadata = {};
51
+ let currentKey = null;
52
+ let currentArray = [];
53
+ for (const line of lines) {
54
+ // Check for array items (starts with -)
55
+ if (currentKey && line.trim().startsWith('-')) {
56
+ const value = line.trim().slice(1).trim();
57
+ currentArray.push(value);
58
+ continue;
59
+ }
60
+ // If we were collecting an array, save it
61
+ if (currentKey && currentArray.length > 0) {
62
+ metadata[currentKey] = currentArray;
63
+ currentArray = [];
64
+ currentKey = null;
65
+ }
66
+ // Parse key: value line
67
+ const match = line.match(/^(\w+):\s*(.*)$/);
68
+ if (match) {
69
+ const key = match[1];
70
+ const value = match[2].trim();
71
+ // Handle arrays (JSON format like ["a", "b"])
72
+ if (value.startsWith('[')) {
73
+ metadata[key] = JSON.parse(value);
74
+ }
75
+ // Handle empty array (key: with nothing after)
76
+ else if (!value || value === '') {
77
+ currentKey = key;
78
+ currentArray = [];
79
+ }
80
+ // Handle boolean
81
+ else if (value === 'true' || value === 'false') {
82
+ metadata[key] = value === 'true';
83
+ }
84
+ // Handle string
85
+ else {
86
+ metadata[key] = value.replace(/^["']|["']$/g, '');
87
+ }
88
+ }
89
+ }
90
+ // Save any remaining array
91
+ if (currentKey && currentArray.length > 0) {
92
+ metadata[currentKey] = currentArray;
93
+ }
94
+ return metadata;
95
+ }
96
+ /**
97
+ * Extract sections from spec markdown
98
+ */
99
+ function extractSections(content) {
100
+ const sections = {};
101
+ // Remove frontmatter
102
+ const withoutFrontmatter = content.replace(/^---\n[\s\S]*?\n---\n/, '');
103
+ // Split by h2 headers (##)
104
+ const parts = withoutFrontmatter.split(/^## /m);
105
+ for (const part of parts) {
106
+ if (!part.trim())
107
+ continue;
108
+ const lines = part.split('\n');
109
+ const sectionName = lines[0].trim();
110
+ const sectionContent = lines.slice(1).join('\n').trim();
111
+ // Normalize section names
112
+ const normalizedName = sectionName
113
+ .replace(/[^a-zA-Z0-9\s]/g, '')
114
+ .replace(/\s+/g, '')
115
+ .replace(/^(.)/, (m) => m.toLowerCase());
116
+ sections[normalizedName] = sectionContent;
117
+ }
118
+ return sections;
119
+ }
120
+ /**
121
+ * Parse user stories from spec section
122
+ */
123
+ function parseUserStories(userStoriesSection) {
124
+ const stories = [];
125
+ // Split by h3 headers (###)
126
+ const storyParts = userStoriesSection.split(/^### /m);
127
+ for (const part of storyParts) {
128
+ if (!part.trim())
129
+ continue;
130
+ const lines = part.split('\n');
131
+ const titleLine = lines[0].trim();
132
+ // Extract US-XXX: Title
133
+ const match = titleLine.match(/^(US-\d+):\s*(.+?)(?:\s*\(Priority|$)/);
134
+ if (!match)
135
+ continue;
136
+ const id = match[1];
137
+ const title = match[2].trim();
138
+ // Extract description (As a... I want... So that...)
139
+ const descriptionMatch = part.match(/\*\*As a\*\*\s+(.+?)\n\*\*I want\*\*\s+(.+?)\n\*\*So that\*\*\s+(.+?)(?:\n|$)/s);
140
+ const description = descriptionMatch
141
+ ? `As a ${descriptionMatch[1].trim()} I want ${descriptionMatch[2].trim()} So that ${descriptionMatch[3].trim()}`
142
+ : '';
143
+ // Extract acceptance criteria
144
+ const acceptanceCriteria = [];
145
+ const acMatches = part.matchAll(/\*\*AC-[A-Z0-9-]+\*\*:\s*(.+?)(?:\n-|\n\*\*|$)/gs);
146
+ for (const acMatch of acMatches) {
147
+ acceptanceCriteria.push(acMatch[1].trim());
148
+ }
149
+ // Extract technical context (if present)
150
+ const technicalContextMatch = part.match(/#### Technical Context\n\n([\s\S]+?)(?:\n####|\n---|\n###|$)/);
151
+ const technicalContext = technicalContextMatch ? technicalContextMatch[1].trim() : undefined;
152
+ stories.push({
153
+ id,
154
+ title,
155
+ description,
156
+ acceptanceCriteria,
157
+ technicalContext
158
+ });
159
+ }
160
+ return stories;
161
+ }
162
+ /**
163
+ * Split spec into project-specific files
164
+ *
165
+ * @param specPath Path to monolithic spec.md
166
+ * @param outputDir Directory to write project-specific specs (e.g., .specweave/docs/internal/specs/)
167
+ * @param projectRules Custom project mapping rules (optional)
168
+ * @returns Map of projectId → output file path
169
+ */
170
+ export async function splitSpecIntoProjects(specPath, outputDir, projectRules = DEFAULT_PROJECT_RULES) {
171
+ // Parse spec
172
+ const parsedSpec = await parseSpecFile(specPath);
173
+ // Split user stories by project
174
+ const projectStories = splitSpecByProject(parsedSpec.userStories, projectRules);
175
+ // Create output map
176
+ const outputMap = new Map();
177
+ // Generate project-specific specs
178
+ for (const [projectId, stories] of projectStories.entries()) {
179
+ const projectDir = path.join(outputDir, projectId);
180
+ await fs.ensureDir(projectDir);
181
+ const specId = (parsedSpec.metadata.specId || parsedSpec.metadata.spec_id || '0001').replace(/^SPEC-/, '');
182
+ const outputPath = path.join(projectDir, `spec-${specId.toLowerCase()}-${projectId.toLowerCase()}.md`);
183
+ const projectSpec = generateProjectSpec(parsedSpec, projectId, stories);
184
+ await fs.writeFile(outputPath, projectSpec, 'utf-8');
185
+ outputMap.set(projectId, outputPath);
186
+ }
187
+ return outputMap;
188
+ }
189
+ /**
190
+ * Generate project-specific spec file
191
+ */
192
+ function generateProjectSpec(parsedSpec, projectId, userStories) {
193
+ const lines = [];
194
+ // Frontmatter
195
+ lines.push('---');
196
+ lines.push(`spec_id: ${parsedSpec.metadata.specId}`);
197
+ lines.push(`project: ${projectId}`);
198
+ lines.push(`title: "${parsedSpec.metadata.title} - ${projectId}"`);
199
+ lines.push(`version: ${parsedSpec.metadata.version}`);
200
+ lines.push(`status: ${parsedSpec.metadata.status}`);
201
+ lines.push(`created: ${parsedSpec.metadata.created}`);
202
+ lines.push(`last_updated: ${parsedSpec.metadata.lastUpdated}`);
203
+ lines.push(`authors:`);
204
+ for (const author of parsedSpec.metadata.authors) {
205
+ lines.push(` - ${author}`);
206
+ }
207
+ lines.push(`priority: ${parsedSpec.metadata.priority}`);
208
+ lines.push(`estimated_effort: ${parsedSpec.metadata.estimatedEffort}`);
209
+ lines.push(`target_release: ${parsedSpec.metadata.targetRelease}`);
210
+ if (parsedSpec.metadata.jiraSync) {
211
+ lines.push(`jira_sync: true`);
212
+ lines.push(`jira_project: ${projectId}`);
213
+ }
214
+ lines.push('---');
215
+ lines.push('');
216
+ // Title
217
+ lines.push(`# SPEC-${parsedSpec.metadata.specId}: ${parsedSpec.metadata.title} - ${projectId}`);
218
+ lines.push('');
219
+ // Executive Summary (project-specific)
220
+ lines.push('## Executive Summary');
221
+ lines.push('');
222
+ lines.push(`**Project**: ${projectId}`);
223
+ lines.push(`**Scope**: ${userStories.length} user stories for ${projectId} component`);
224
+ lines.push('');
225
+ lines.push(parsedSpec.executiveSummary);
226
+ lines.push('');
227
+ // User Stories (filtered for this project)
228
+ lines.push('## User Stories');
229
+ lines.push('');
230
+ for (const story of userStories) {
231
+ lines.push(`### ${story.id}: ${story.title}`);
232
+ lines.push('');
233
+ lines.push(story.description);
234
+ lines.push('');
235
+ if (story.acceptanceCriteria.length > 0) {
236
+ lines.push('#### Acceptance Criteria');
237
+ lines.push('');
238
+ for (const ac of story.acceptanceCriteria) {
239
+ lines.push(`**${ac}**`);
240
+ lines.push('');
241
+ }
242
+ }
243
+ if (story.technicalContext) {
244
+ lines.push('#### Technical Context');
245
+ lines.push('');
246
+ lines.push(story.technicalContext);
247
+ lines.push('');
248
+ }
249
+ lines.push('---');
250
+ lines.push('');
251
+ }
252
+ // Shared sections (include full content from original spec)
253
+ if (parsedSpec.functionalRequirements) {
254
+ lines.push('## Functional Requirements (Shared)');
255
+ lines.push('');
256
+ lines.push('*See main spec for complete functional requirements*');
257
+ lines.push('');
258
+ }
259
+ if (parsedSpec.nonFunctionalRequirements) {
260
+ lines.push('## Non-Functional Requirements (Shared)');
261
+ lines.push('');
262
+ lines.push('*See main spec for complete non-functional requirements*');
263
+ lines.push('');
264
+ }
265
+ if (parsedSpec.technicalArchitecture) {
266
+ lines.push('## Technical Architecture');
267
+ lines.push('');
268
+ lines.push(parsedSpec.technicalArchitecture);
269
+ lines.push('');
270
+ }
271
+ // Footer
272
+ lines.push('---');
273
+ lines.push('');
274
+ lines.push('**Document End**');
275
+ lines.push('');
276
+ return lines.join('\n');
277
+ }
278
+ /**
279
+ * Create multi-project folder structure
280
+ *
281
+ * @param specsDir Base specs directory (.specweave/docs/internal/specs/)
282
+ * @param projectIds Array of project IDs (e.g., ['FE', 'BE', 'MOBILE'])
283
+ */
284
+ export async function createMultiProjectFolderStructure(specsDir, projectIds) {
285
+ await fs.ensureDir(specsDir);
286
+ for (const projectId of projectIds) {
287
+ const projectDir = path.join(specsDir, projectId);
288
+ await fs.ensureDir(projectDir);
289
+ // Create README.md for project
290
+ const readme = `# ${projectId} Specifications
291
+
292
+ This folder contains specifications for the **${projectId}** project.
293
+
294
+ ## Organization
295
+
296
+ - \`spec-NNNN-*.md\` - Project-specific specifications (living docs)
297
+ - Each spec is permanently archived here after increment completion
298
+ - Specs are auto-generated from increment specs and split by project
299
+
300
+ ## External Sync
301
+
302
+ ${projectId} specs sync to:
303
+ - **JIRA**: Project ${projectId} (Epics)
304
+ - **GitHub**: Issues tagged with \`${projectId}\` label
305
+
306
+ ## Maintenance
307
+
308
+ - Specs are auto-updated via living docs sync hooks
309
+ - Manual edits should be made in increment specs, not here
310
+ `;
311
+ await fs.writeFile(path.join(projectDir, 'README.md'), readme, 'utf-8');
312
+ }
313
+ }
314
+ //# sourceMappingURL=spec-splitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-splitter.js","sourceRoot":"","sources":["../../src/utils/spec-splitter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.13.5",
3
+ "version": "0.14.0",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,138 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # update-status-line.sh
4
+ #
5
+ # Updates the status line cache with current increment progress.
6
+ # Called by post-task-completion hook.
7
+ #
8
+ # Performance: 10-50ms (runs async in hook, user doesn't wait)
9
+ #
10
+ # Cache format (.specweave/state/status-line.json):
11
+ # {
12
+ # "incrementId": "0017-sync-architecture-fix",
13
+ # "incrementName": "sync-architecture-fix",
14
+ # "totalTasks": 30,
15
+ # "completedTasks": 15,
16
+ # "percentage": 50,
17
+ # "currentTask": {
18
+ # "id": "T-016",
19
+ # "title": "Update documentation"
20
+ # },
21
+ # "lastUpdate": "2025-11-10T15:30:00Z",
22
+ # "lastModified": 1699632600
23
+ # }
24
+
25
+ set -euo pipefail
26
+
27
+ # Find project root
28
+ find_project_root() {
29
+ local dir="$PWD"
30
+ while [[ "$dir" != "/" ]]; do
31
+ if [[ -d "$dir/.specweave" ]]; then
32
+ echo "$dir"
33
+ return 0
34
+ fi
35
+ dir=$(dirname "$dir")
36
+ done
37
+ echo "$PWD"
38
+ }
39
+
40
+ PROJECT_ROOT=$(find_project_root)
41
+ CACHE_FILE="$PROJECT_ROOT/.specweave/state/status-line.json"
42
+ STATE_FILE="$PROJECT_ROOT/.specweave/state/active-increment.json"
43
+
44
+ # Ensure state directory exists
45
+ mkdir -p "$PROJECT_ROOT/.specweave/state"
46
+
47
+ # Check if there's an active increment
48
+ if [[ ! -f "$STATE_FILE" ]]; then
49
+ # No active increment = clear cache
50
+ echo '{}' > "$CACHE_FILE"
51
+ exit 0
52
+ fi
53
+
54
+ # Get active increment ID
55
+ INCREMENT_ID=$(jq -r '.id // empty' "$STATE_FILE" 2>/dev/null || echo "")
56
+ if [[ -z "$INCREMENT_ID" ]]; then
57
+ echo '{}' > "$CACHE_FILE"
58
+ exit 0
59
+ fi
60
+
61
+ TASKS_FILE="$PROJECT_ROOT/.specweave/increments/$INCREMENT_ID/tasks.md"
62
+
63
+ # No tasks file yet? (Planning phase)
64
+ if [[ ! -f "$TASKS_FILE" ]]; then
65
+ echo '{}' > "$CACHE_FILE"
66
+ exit 0
67
+ fi
68
+
69
+ # Get tasks.md mtime for invalidation detection
70
+ if [[ "$OSTYPE" == "darwin"* ]]; then
71
+ # macOS
72
+ MTIME=$(stat -f %m "$TASKS_FILE" 2>/dev/null || echo 0)
73
+ else
74
+ # Linux
75
+ MTIME=$(stat -c %Y "$TASKS_FILE" 2>/dev/null || echo 0)
76
+ fi
77
+
78
+ # Parse tasks.md (THIS is the slow part: 10-50ms)
79
+ TOTAL_TASKS=$(grep -c '^## T-' "$TASKS_FILE" 2>/dev/null || echo 0)
80
+ COMPLETED_TASKS=$(grep -c '^\[x\]' "$TASKS_FILE" 2>/dev/null || echo 0)
81
+
82
+ # Calculate percentage
83
+ if [[ "$TOTAL_TASKS" -gt 0 ]]; then
84
+ PERCENTAGE=$(( COMPLETED_TASKS * 100 / TOTAL_TASKS ))
85
+ else
86
+ PERCENTAGE=0
87
+ fi
88
+
89
+ # Find current task (first incomplete task)
90
+ # Strategy: Find first [ ] checkbox, then get the task heading above it
91
+ CURRENT_TASK_LINE=$(grep -B1 '^\[ \]' "$TASKS_FILE" 2>/dev/null | grep '^## T-' | head -1 || echo "")
92
+ CURRENT_TASK_ID=""
93
+ CURRENT_TASK_TITLE=""
94
+
95
+ if [[ -n "$CURRENT_TASK_LINE" ]]; then
96
+ # Extract task ID (T-NNN)
97
+ CURRENT_TASK_ID=$(echo "$CURRENT_TASK_LINE" | grep -o 'T-[0-9][0-9]*' || echo "")
98
+
99
+ # Extract task title (after "## T-NNN: ")
100
+ # Use parameter expansion to remove prefix
101
+ TEMP="${CURRENT_TASK_LINE#*: }"
102
+ CURRENT_TASK_TITLE=$(echo "$TEMP" | head -c 50)
103
+ fi
104
+
105
+ # Extract increment name (remove leading 4-digit number and dash)
106
+ INCREMENT_NAME=$(echo "$INCREMENT_ID" | sed 's/^[0-9]\{4\}-//')
107
+
108
+ # Build current task JSON
109
+ if [[ -n "$CURRENT_TASK_ID" ]]; then
110
+ CURRENT_TASK_JSON=$(jq -n \
111
+ --arg id "$CURRENT_TASK_ID" \
112
+ --arg title "$CURRENT_TASK_TITLE" \
113
+ '{id: $id, title: $title}')
114
+ else
115
+ CURRENT_TASK_JSON="null"
116
+ fi
117
+
118
+ # Write cache atomically using jq
119
+ jq -n \
120
+ --arg id "$INCREMENT_ID" \
121
+ --arg name "$INCREMENT_NAME" \
122
+ --argjson total "$TOTAL_TASKS" \
123
+ --argjson completed "$COMPLETED_TASKS" \
124
+ --argjson percentage "$PERCENTAGE" \
125
+ --argjson task "$CURRENT_TASK_JSON" \
126
+ --argjson mtime "$MTIME" \
127
+ '{
128
+ incrementId: $id,
129
+ incrementName: $name,
130
+ totalTasks: $total,
131
+ completedTasks: $completed,
132
+ percentage: $percentage,
133
+ currentTask: $task,
134
+ lastUpdate: (now | strftime("%Y-%m-%dT%H:%M:%SZ")),
135
+ lastModified: $mtime
136
+ }' > "$CACHE_FILE"
137
+
138
+ exit 0
@@ -289,6 +289,16 @@ play_sound() {
289
289
  esac
290
290
  }
291
291
 
292
+ # ============================================================================
293
+ # STATUS LINE UPDATE
294
+ # ============================================================================
295
+ # Update status line cache BEFORE playing sound (async, non-blocking)
296
+ # Cache will be read by status line renderer for fast display (<1ms)
297
+
298
+ echo "[$(date)] 📊 Updating status line cache" >> "$DEBUG_LOG" 2>/dev/null || true
299
+ HOOK_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
300
+ bash "$HOOK_DIR/lib/update-status-line.sh" 2>/dev/null || true
301
+
292
302
  if [ "$SESSION_ENDING" = "true" ]; then
293
303
  echo "[$(date)] 🔔 Playing completion sound" >> "$DEBUG_LOG" 2>/dev/null || true
294
304
  play_sound