specweave 0.17.1 → 0.17.3

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 (807) hide show
  1. package/bin/specweave.js +16 -16
  2. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +109 -6
  3. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-spec-sync.js +435 -49
  5. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
  6. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts +10 -2
  7. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  8. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +28 -14
  9. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  10. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
  11. package/dist/src/cli/helpers/issue-tracker/github.js +10 -1
  12. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
  13. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/issue-tracker/index.js +20 -0
  15. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  16. package/dist/src/core/project-manager.d.ts +25 -21
  17. package/dist/src/core/project-manager.d.ts.map +1 -1
  18. package/dist/src/core/project-manager.js +41 -51
  19. package/dist/src/core/project-manager.js.map +1 -1
  20. package/dist/src/core/repo-structure/folder-detector.d.ts +19 -0
  21. package/dist/src/core/repo-structure/folder-detector.d.ts.map +1 -0
  22. package/dist/src/core/repo-structure/folder-detector.js +95 -0
  23. package/dist/src/core/repo-structure/folder-detector.js.map +1 -0
  24. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -1
  25. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  26. package/dist/src/core/repo-structure/repo-structure-manager.js +41 -27
  27. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  28. package/dist/src/core/types/spec-metadata.d.ts +34 -1
  29. package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
  30. package/dist/src/core/types/sync-profile.d.ts +30 -0
  31. package/dist/src/core/types/sync-profile.d.ts.map +1 -1
  32. package/dist/src/core/types/sync-profile.js.map +1 -1
  33. package/dist/src/utils/project-validator.d.ts +27 -0
  34. package/dist/src/utils/project-validator.d.ts.map +1 -0
  35. package/dist/src/utils/project-validator.js +68 -0
  36. package/dist/src/utils/project-validator.js.map +1 -0
  37. package/package.json +1 -1
  38. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  39. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  40. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  41. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  42. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  43. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  44. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  45. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  46. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  47. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  48. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  49. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  50. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  51. package/plugins/specweave-ado/lib/ado-client-v2.js +405 -449
  52. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  53. package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +173 -194
  54. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  55. package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
  56. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  57. package/plugins/specweave-github/MULTI-PROJECT-SYNC-ARCHITECTURE.md +658 -0
  58. package/plugins/specweave-github/SYNC-ARCHITECTURE-FIX-SUMMARY.md +302 -0
  59. package/plugins/specweave-github/hooks/post-task-completion.sh +55 -157
  60. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  61. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  62. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  63. package/plugins/specweave-github/lib/github-client.js +246 -280
  64. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  65. package/plugins/specweave-github/lib/github-spec-commit-sync.js +171 -194
  66. package/plugins/specweave-github/lib/github-spec-sync.js +742 -418
  67. package/plugins/specweave-github/lib/github-spec-sync.ts +597 -61
  68. package/plugins/specweave-github/lib/index.js +11 -10
  69. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  70. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  71. package/plugins/specweave-github/lib/task-parser.js +191 -207
  72. package/plugins/specweave-github/lib/task-sync.js +344 -296
  73. package/plugins/specweave-github/lib/types.js +0 -5
  74. package/plugins/specweave-github/skills/github-sync/SKILL.md +234 -242
  75. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  76. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  77. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +241 -263
  78. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  79. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  80. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  81. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  82. package/dist/adapters/adapter-base.d.ts +0 -71
  83. package/dist/adapters/adapter-base.d.ts.map +0 -1
  84. package/dist/adapters/adapter-base.js +0 -139
  85. package/dist/adapters/adapter-base.js.map +0 -1
  86. package/dist/adapters/adapter-interface.d.ts +0 -149
  87. package/dist/adapters/adapter-interface.d.ts.map +0 -1
  88. package/dist/adapters/adapter-interface.js +0 -8
  89. package/dist/adapters/adapter-interface.js.map +0 -1
  90. package/dist/adapters/adapter-loader.d.ts +0 -91
  91. package/dist/adapters/adapter-loader.d.ts.map +0 -1
  92. package/dist/adapters/adapter-loader.js +0 -238
  93. package/dist/adapters/adapter-loader.js.map +0 -1
  94. package/dist/adapters/agents-md-generator.d.ts +0 -48
  95. package/dist/adapters/agents-md-generator.d.ts.map +0 -1
  96. package/dist/adapters/agents-md-generator.js +0 -193
  97. package/dist/adapters/agents-md-generator.js.map +0 -1
  98. package/dist/adapters/claude/adapter.d.ts +0 -128
  99. package/dist/adapters/claude/adapter.d.ts.map +0 -1
  100. package/dist/adapters/claude/adapter.js +0 -415
  101. package/dist/adapters/claude/adapter.js.map +0 -1
  102. package/dist/adapters/claude-md-generator.d.ts +0 -78
  103. package/dist/adapters/claude-md-generator.d.ts.map +0 -1
  104. package/dist/adapters/claude-md-generator.js +0 -307
  105. package/dist/adapters/claude-md-generator.js.map +0 -1
  106. package/dist/adapters/codex/adapter.d.ts +0 -50
  107. package/dist/adapters/codex/adapter.d.ts.map +0 -1
  108. package/dist/adapters/codex/adapter.js +0 -316
  109. package/dist/adapters/codex/adapter.js.map +0 -1
  110. package/dist/adapters/cursor/adapter.d.ts +0 -98
  111. package/dist/adapters/cursor/adapter.d.ts.map +0 -1
  112. package/dist/adapters/cursor/adapter.js +0 -406
  113. package/dist/adapters/cursor/adapter.js.map +0 -1
  114. package/dist/adapters/doc-generator.d.ts +0 -69
  115. package/dist/adapters/doc-generator.d.ts.map +0 -1
  116. package/dist/adapters/doc-generator.js +0 -247
  117. package/dist/adapters/doc-generator.js.map +0 -1
  118. package/dist/adapters/gemini/adapter.d.ts +0 -50
  119. package/dist/adapters/gemini/adapter.d.ts.map +0 -1
  120. package/dist/adapters/gemini/adapter.js +0 -281
  121. package/dist/adapters/gemini/adapter.js.map +0 -1
  122. package/dist/adapters/generic/adapter.d.ts +0 -86
  123. package/dist/adapters/generic/adapter.d.ts.map +0 -1
  124. package/dist/adapters/generic/adapter.js +0 -338
  125. package/dist/adapters/generic/adapter.js.map +0 -1
  126. package/dist/cli/commands/abandon.d.ts +0 -13
  127. package/dist/cli/commands/abandon.d.ts.map +0 -1
  128. package/dist/cli/commands/abandon.js +0 -15
  129. package/dist/cli/commands/abandon.js.map +0 -1
  130. package/dist/cli/commands/check-discipline.d.ts +0 -16
  131. package/dist/cli/commands/check-discipline.d.ts.map +0 -1
  132. package/dist/cli/commands/check-discipline.js +0 -79
  133. package/dist/cli/commands/check-discipline.js.map +0 -1
  134. package/dist/cli/commands/import-docs.d.ts +0 -21
  135. package/dist/cli/commands/import-docs.d.ts.map +0 -1
  136. package/dist/cli/commands/import-docs.js +0 -146
  137. package/dist/cli/commands/import-docs.js.map +0 -1
  138. package/dist/cli/commands/init-multiproject.d.ts +0 -11
  139. package/dist/cli/commands/init-multiproject.d.ts.map +0 -1
  140. package/dist/cli/commands/init-multiproject.js +0 -202
  141. package/dist/cli/commands/init-multiproject.js.map +0 -1
  142. package/dist/cli/commands/init.d.ts +0 -10
  143. package/dist/cli/commands/init.d.ts.map +0 -1
  144. package/dist/cli/commands/init.js +0 -1328
  145. package/dist/cli/commands/init.js.map +0 -1
  146. package/dist/cli/commands/install.d.ts +0 -9
  147. package/dist/cli/commands/install.d.ts.map +0 -1
  148. package/dist/cli/commands/install.js +0 -127
  149. package/dist/cli/commands/install.js.map +0 -1
  150. package/dist/cli/commands/list.d.ts +0 -8
  151. package/dist/cli/commands/list.d.ts.map +0 -1
  152. package/dist/cli/commands/list.js +0 -119
  153. package/dist/cli/commands/list.js.map +0 -1
  154. package/dist/cli/commands/migrate-to-multiproject.d.ts +0 -37
  155. package/dist/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  156. package/dist/cli/commands/migrate-to-multiproject.js +0 -189
  157. package/dist/cli/commands/migrate-to-multiproject.js.map +0 -1
  158. package/dist/cli/commands/migrate-to-profiles.d.ts +0 -25
  159. package/dist/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  160. package/dist/cli/commands/migrate-to-profiles.js +0 -348
  161. package/dist/cli/commands/migrate-to-profiles.js.map +0 -1
  162. package/dist/cli/commands/pause.d.ts +0 -13
  163. package/dist/cli/commands/pause.d.ts.map +0 -1
  164. package/dist/cli/commands/pause.js +0 -15
  165. package/dist/cli/commands/pause.js.map +0 -1
  166. package/dist/cli/commands/qa.d.ts +0 -54
  167. package/dist/cli/commands/qa.d.ts.map +0 -1
  168. package/dist/cli/commands/qa.js +0 -98
  169. package/dist/cli/commands/qa.js.map +0 -1
  170. package/dist/cli/commands/resume.d.ts +0 -12
  171. package/dist/cli/commands/resume.d.ts.map +0 -1
  172. package/dist/cli/commands/resume.js +0 -14
  173. package/dist/cli/commands/resume.js.map +0 -1
  174. package/dist/cli/commands/revert-wip-limit.js +0 -60
  175. package/dist/cli/commands/status-line.d.ts +0 -14
  176. package/dist/cli/commands/status-line.d.ts.map +0 -1
  177. package/dist/cli/commands/status-line.js +0 -75
  178. package/dist/cli/commands/status-line.js.map +0 -1
  179. package/dist/cli/commands/status.d.ts +0 -12
  180. package/dist/cli/commands/status.d.ts.map +0 -1
  181. package/dist/cli/commands/status.js +0 -23
  182. package/dist/cli/commands/status.js.map +0 -1
  183. package/dist/cli/commands/switch-project.d.ts +0 -13
  184. package/dist/cli/commands/switch-project.d.ts.map +0 -1
  185. package/dist/cli/commands/switch-project.js +0 -91
  186. package/dist/cli/commands/switch-project.js.map +0 -1
  187. package/dist/cli/commands/sync-spec-commits.d.ts +0 -9
  188. package/dist/cli/commands/sync-spec-commits.d.ts.map +0 -1
  189. package/dist/cli/commands/sync-spec-commits.js +0 -186
  190. package/dist/cli/commands/sync-spec-commits.js.map +0 -1
  191. package/dist/cli/commands/validate-jira.d.ts +0 -35
  192. package/dist/cli/commands/validate-jira.d.ts.map +0 -1
  193. package/dist/cli/commands/validate-jira.js +0 -112
  194. package/dist/cli/commands/validate-jira.js.map +0 -1
  195. package/dist/cli/commands/validate-plugins.d.ts +0 -41
  196. package/dist/cli/commands/validate-plugins.d.ts.map +0 -1
  197. package/dist/cli/commands/validate-plugins.js +0 -171
  198. package/dist/cli/commands/validate-plugins.js.map +0 -1
  199. package/dist/cli/helpers/github/increment-profile-selector.d.ts +0 -47
  200. package/dist/cli/helpers/github/increment-profile-selector.d.ts.map +0 -1
  201. package/dist/cli/helpers/github/increment-profile-selector.js +0 -186
  202. package/dist/cli/helpers/github/increment-profile-selector.js.map +0 -1
  203. package/dist/cli/helpers/github/profile-manager.d.ts +0 -119
  204. package/dist/cli/helpers/github/profile-manager.d.ts.map +0 -1
  205. package/dist/cli/helpers/github/profile-manager.js +0 -311
  206. package/dist/cli/helpers/github/profile-manager.js.map +0 -1
  207. package/dist/cli/helpers/issue-tracker/ado.d.ts +0 -57
  208. package/dist/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  209. package/dist/cli/helpers/issue-tracker/ado.js +0 -243
  210. package/dist/cli/helpers/issue-tracker/ado.js.map +0 -1
  211. package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts +0 -86
  212. package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +0 -1
  213. package/dist/cli/helpers/issue-tracker/github-multi-repo.js +0 -417
  214. package/dist/cli/helpers/issue-tracker/github-multi-repo.js.map +0 -1
  215. package/dist/cli/helpers/issue-tracker/github.d.ts +0 -80
  216. package/dist/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  217. package/dist/cli/helpers/issue-tracker/github.js +0 -324
  218. package/dist/cli/helpers/issue-tracker/github.js.map +0 -1
  219. package/dist/cli/helpers/issue-tracker/index.d.ts +0 -22
  220. package/dist/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  221. package/dist/cli/helpers/issue-tracker/index.js +0 -562
  222. package/dist/cli/helpers/issue-tracker/index.js.map +0 -1
  223. package/dist/cli/helpers/issue-tracker/jira.d.ts +0 -61
  224. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  225. package/dist/cli/helpers/issue-tracker/jira.js +0 -404
  226. package/dist/cli/helpers/issue-tracker/jira.js.map +0 -1
  227. package/dist/cli/helpers/issue-tracker/types.d.ts +0 -108
  228. package/dist/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  229. package/dist/cli/helpers/issue-tracker/types.js +0 -16
  230. package/dist/cli/helpers/issue-tracker/types.js.map +0 -1
  231. package/dist/cli/helpers/issue-tracker/utils.d.ts +0 -120
  232. package/dist/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  233. package/dist/cli/helpers/issue-tracker/utils.js +0 -293
  234. package/dist/cli/helpers/issue-tracker/utils.js.map +0 -1
  235. package/dist/core/agent-model-manager.d.ts +0 -52
  236. package/dist/core/agent-model-manager.d.ts.map +0 -1
  237. package/dist/core/agent-model-manager.js +0 -120
  238. package/dist/core/agent-model-manager.js.map +0 -1
  239. package/dist/core/brownfield/analyzer.d.ts +0 -86
  240. package/dist/core/brownfield/analyzer.d.ts.map +0 -1
  241. package/dist/core/brownfield/analyzer.js +0 -365
  242. package/dist/core/brownfield/analyzer.js.map +0 -1
  243. package/dist/core/brownfield/importer.d.ts +0 -76
  244. package/dist/core/brownfield/importer.d.ts.map +0 -1
  245. package/dist/core/brownfield/importer.js +0 -287
  246. package/dist/core/brownfield/importer.js.map +0 -1
  247. package/dist/core/comment-builder.d.ts +0 -57
  248. package/dist/core/comment-builder.d.ts.map +0 -1
  249. package/dist/core/comment-builder.js +0 -239
  250. package/dist/core/comment-builder.js.map +0 -1
  251. package/dist/core/config-manager.d.ts +0 -47
  252. package/dist/core/config-manager.d.ts.map +0 -1
  253. package/dist/core/config-manager.js +0 -136
  254. package/dist/core/config-manager.js.map +0 -1
  255. package/dist/core/cost-tracker.d.ts +0 -108
  256. package/dist/core/cost-tracker.d.ts.map +0 -1
  257. package/dist/core/cost-tracker.js +0 -281
  258. package/dist/core/cost-tracker.js.map +0 -1
  259. package/dist/core/credentials-manager.d.ts +0 -107
  260. package/dist/core/credentials-manager.d.ts.map +0 -1
  261. package/dist/core/credentials-manager.js +0 -457
  262. package/dist/core/credentials-manager.js.map +0 -1
  263. package/dist/core/i18n/language-detector.d.ts +0 -29
  264. package/dist/core/i18n/language-detector.d.ts.map +0 -1
  265. package/dist/core/i18n/language-detector.js +0 -143
  266. package/dist/core/i18n/language-detector.js.map +0 -1
  267. package/dist/core/i18n/language-manager.d.ts +0 -101
  268. package/dist/core/i18n/language-manager.d.ts.map +0 -1
  269. package/dist/core/i18n/language-manager.js +0 -232
  270. package/dist/core/i18n/language-manager.js.map +0 -1
  271. package/dist/core/i18n/language-registry.d.ts +0 -44
  272. package/dist/core/i18n/language-registry.d.ts.map +0 -1
  273. package/dist/core/i18n/language-registry.js +0 -234
  274. package/dist/core/i18n/language-registry.js.map +0 -1
  275. package/dist/core/i18n/locale-manager.d.ts +0 -62
  276. package/dist/core/i18n/locale-manager.d.ts.map +0 -1
  277. package/dist/core/i18n/locale-manager.js +0 -137
  278. package/dist/core/i18n/locale-manager.js.map +0 -1
  279. package/dist/core/i18n/system-prompt-injector.d.ts +0 -33
  280. package/dist/core/i18n/system-prompt-injector.d.ts.map +0 -1
  281. package/dist/core/i18n/system-prompt-injector.js +0 -131
  282. package/dist/core/i18n/system-prompt-injector.js.map +0 -1
  283. package/dist/core/i18n/types.d.ts +0 -151
  284. package/dist/core/i18n/types.d.ts.map +0 -1
  285. package/dist/core/i18n/types.js +0 -11
  286. package/dist/core/i18n/types.js.map +0 -1
  287. package/dist/core/increment/active-increment-manager.d.ts +0 -79
  288. package/dist/core/increment/active-increment-manager.d.ts.map +0 -1
  289. package/dist/core/increment/active-increment-manager.js +0 -153
  290. package/dist/core/increment/active-increment-manager.js.map +0 -1
  291. package/dist/core/increment/discipline-checker.d.ts +0 -60
  292. package/dist/core/increment/discipline-checker.d.ts.map +0 -1
  293. package/dist/core/increment/discipline-checker.js +0 -274
  294. package/dist/core/increment/discipline-checker.js.map +0 -1
  295. package/dist/core/increment/limits.d.ts +0 -68
  296. package/dist/core/increment/limits.d.ts.map +0 -1
  297. package/dist/core/increment/limits.js +0 -224
  298. package/dist/core/increment/limits.js.map +0 -1
  299. package/dist/core/increment/metadata-manager.d.ts +0 -116
  300. package/dist/core/increment/metadata-manager.d.ts.map +0 -1
  301. package/dist/core/increment/metadata-manager.js.map +0 -1
  302. package/dist/core/increment/metadata-validator.d.ts +0 -33
  303. package/dist/core/increment/metadata-validator.d.ts.map +0 -1
  304. package/dist/core/increment/metadata-validator.js +0 -147
  305. package/dist/core/increment/metadata-validator.js.map +0 -1
  306. package/dist/core/increment/status-commands.d.ts +0 -43
  307. package/dist/core/increment/status-commands.d.ts.map +0 -1
  308. package/dist/core/increment/status-commands.js +0 -277
  309. package/dist/core/increment/status-commands.js.map +0 -1
  310. package/dist/core/increment/types.d.ts +0 -88
  311. package/dist/core/increment/types.d.ts.map +0 -1
  312. package/dist/core/increment/types.js +0 -8
  313. package/dist/core/increment/types.js.map +0 -1
  314. package/dist/core/increment-status.d.ts +0 -72
  315. package/dist/core/increment-status.d.ts.map +0 -1
  316. package/dist/core/increment-status.js +0 -227
  317. package/dist/core/increment-status.js.map +0 -1
  318. package/dist/core/model-selector.d.ts +0 -57
  319. package/dist/core/model-selector.d.ts.map +0 -1
  320. package/dist/core/model-selector.js +0 -115
  321. package/dist/core/model-selector.js.map +0 -1
  322. package/dist/core/phase-detector.d.ts +0 -62
  323. package/dist/core/phase-detector.d.ts.map +0 -1
  324. package/dist/core/phase-detector.js +0 -229
  325. package/dist/core/phase-detector.js.map +0 -1
  326. package/dist/core/plugin-loader.d.ts +0 -131
  327. package/dist/core/plugin-loader.d.ts.map +0 -1
  328. package/dist/core/plugin-loader.js +0 -421
  329. package/dist/core/plugin-loader.js.map +0 -1
  330. package/dist/core/project-manager.d.ts +0 -127
  331. package/dist/core/project-manager.d.ts.map +0 -1
  332. package/dist/core/project-manager.js +0 -524
  333. package/dist/core/project-manager.js.map +0 -1
  334. package/dist/core/project-structure-detector.d.ts +0 -92
  335. package/dist/core/project-structure-detector.d.ts.map +0 -1
  336. package/dist/core/project-structure-detector.js +0 -289
  337. package/dist/core/project-structure-detector.js.map +0 -1
  338. package/dist/core/qa/qa-runner.d.ts +0 -16
  339. package/dist/core/qa/qa-runner.d.ts.map +0 -1
  340. package/dist/core/qa/qa-runner.js +0 -422
  341. package/dist/core/qa/qa-runner.js.map +0 -1
  342. package/dist/core/qa/quality-gate-decider.d.ts +0 -53
  343. package/dist/core/qa/quality-gate-decider.d.ts.map +0 -1
  344. package/dist/core/qa/quality-gate-decider.js +0 -268
  345. package/dist/core/qa/quality-gate-decider.js.map +0 -1
  346. package/dist/core/qa/risk-calculator.d.ts +0 -126
  347. package/dist/core/qa/risk-calculator.d.ts.map +0 -1
  348. package/dist/core/qa/risk-calculator.js +0 -247
  349. package/dist/core/qa/risk-calculator.js.map +0 -1
  350. package/dist/core/qa/types.d.ts +0 -315
  351. package/dist/core/qa/types.d.ts.map +0 -1
  352. package/dist/core/qa/types.js +0 -8
  353. package/dist/core/qa/types.js.map +0 -1
  354. package/dist/core/repo-structure/repo-structure-manager.d.ts +0 -82
  355. package/dist/core/repo-structure/repo-structure-manager.d.ts.map +0 -1
  356. package/dist/core/repo-structure/repo-structure-manager.js +0 -581
  357. package/dist/core/repo-structure/repo-structure-manager.js.map +0 -1
  358. package/dist/core/rfc-generator-v2.d.ts +0 -149
  359. package/dist/core/rfc-generator-v2.d.ts.map +0 -1
  360. package/dist/core/rfc-generator-v2.js +0 -399
  361. package/dist/core/rfc-generator-v2.js.map +0 -1
  362. package/dist/core/spec-task-mapper.d.ts +0 -71
  363. package/dist/core/spec-task-mapper.d.ts.map +0 -1
  364. package/dist/core/spec-task-mapper.js +0 -208
  365. package/dist/core/spec-task-mapper.js.map +0 -1
  366. package/dist/core/specs/spec-metadata-manager.d.ts +0 -70
  367. package/dist/core/specs/spec-metadata-manager.d.ts.map +0 -1
  368. package/dist/core/specs/spec-metadata-manager.js +0 -371
  369. package/dist/core/specs/spec-metadata-manager.js.map +0 -1
  370. package/dist/core/specs/spec-parser.d.ts +0 -66
  371. package/dist/core/specs/spec-parser.d.ts.map +0 -1
  372. package/dist/core/specs/spec-parser.js +0 -276
  373. package/dist/core/specs/spec-parser.js.map +0 -1
  374. package/dist/core/status-line/status-line-manager.d.ts +0 -62
  375. package/dist/core/status-line/status-line-manager.d.ts.map +0 -1
  376. package/dist/core/status-line/status-line-manager.js +0 -169
  377. package/dist/core/status-line/status-line-manager.js.map +0 -1
  378. package/dist/core/status-line/types.d.ts +0 -50
  379. package/dist/core/status-line/types.d.ts.map +0 -1
  380. package/dist/core/status-line/types.js +0 -17
  381. package/dist/core/status-line/types.js.map +0 -1
  382. package/dist/core/sync/bidirectional-engine.d.ts +0 -110
  383. package/dist/core/sync/bidirectional-engine.d.ts.map +0 -1
  384. package/dist/core/sync/bidirectional-engine.js +0 -356
  385. package/dist/core/sync/bidirectional-engine.js.map +0 -1
  386. package/dist/core/sync/folder-mapper.d.ts +0 -71
  387. package/dist/core/sync/folder-mapper.d.ts.map +0 -1
  388. package/dist/core/sync/folder-mapper.js +0 -203
  389. package/dist/core/sync/folder-mapper.js.map +0 -1
  390. package/dist/core/sync/profile-manager.d.ts +0 -72
  391. package/dist/core/sync/profile-manager.d.ts.map +0 -1
  392. package/dist/core/sync/profile-manager.js +0 -338
  393. package/dist/core/sync/profile-manager.js.map +0 -1
  394. package/dist/core/sync/profile-selector.d.ts +0 -52
  395. package/dist/core/sync/profile-selector.d.ts.map +0 -1
  396. package/dist/core/sync/profile-selector.js +0 -179
  397. package/dist/core/sync/profile-selector.js.map +0 -1
  398. package/dist/core/sync/profile-validator.d.ts +0 -52
  399. package/dist/core/sync/profile-validator.d.ts.map +0 -1
  400. package/dist/core/sync/profile-validator.js +0 -170
  401. package/dist/core/sync/profile-validator.js.map +0 -1
  402. package/dist/core/sync/project-context.d.ts +0 -81
  403. package/dist/core/sync/project-context.d.ts.map +0 -1
  404. package/dist/core/sync/project-context.js +0 -354
  405. package/dist/core/sync/project-context.js.map +0 -1
  406. package/dist/core/sync/rate-limiter.d.ts +0 -116
  407. package/dist/core/sync/rate-limiter.d.ts.map +0 -1
  408. package/dist/core/sync/rate-limiter.js +0 -308
  409. package/dist/core/sync/rate-limiter.js.map +0 -1
  410. package/dist/core/sync/time-range-selector.d.ts +0 -48
  411. package/dist/core/sync/time-range-selector.d.ts.map +0 -1
  412. package/dist/core/sync/time-range-selector.js +0 -224
  413. package/dist/core/sync/time-range-selector.js.map +0 -1
  414. package/dist/core/types/config.d.ts +0 -90
  415. package/dist/core/types/config.d.ts.map +0 -1
  416. package/dist/core/types/config.js +0 -44
  417. package/dist/core/types/config.js.map +0 -1
  418. package/dist/core/types/increment-metadata.d.ts +0 -120
  419. package/dist/core/types/increment-metadata.d.ts.map +0 -1
  420. package/dist/core/types/increment-metadata.js +0 -138
  421. package/dist/core/types/increment-metadata.js.map +0 -1
  422. package/dist/core/types/plugin.d.ts +0 -283
  423. package/dist/core/types/plugin.d.ts.map +0 -1
  424. package/dist/core/types/plugin.js +0 -49
  425. package/dist/core/types/plugin.js.map +0 -1
  426. package/dist/core/types/spec-metadata.d.ts +0 -229
  427. package/dist/core/types/spec-metadata.d.ts.map +0 -1
  428. package/dist/core/types/spec-metadata.js +0 -14
  429. package/dist/core/types/spec-metadata.js.map +0 -1
  430. package/dist/core/types/sync-profile.d.ts +0 -349
  431. package/dist/core/types/sync-profile.d.ts.map +0 -1
  432. package/dist/core/types/sync-profile.js +0 -79
  433. package/dist/core/types/sync-profile.js.map +0 -1
  434. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  435. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  436. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  437. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  438. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  439. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  440. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  441. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  442. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  443. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  444. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  445. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  446. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  447. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  448. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  449. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  450. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  451. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  452. package/dist/hooks/lib/reflection-parser.js +0 -419
  453. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  454. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  455. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  456. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  457. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  458. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  459. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  460. package/dist/hooks/lib/reflection-storage.js +0 -305
  461. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  462. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  463. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  464. package/dist/hooks/lib/run-self-reflection.js +0 -203
  465. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  466. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  467. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  468. package/dist/hooks/lib/sync-living-docs.js +0 -116
  469. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  470. package/dist/hooks/lib/translate-file.d.ts +0 -59
  471. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  472. package/dist/hooks/lib/translate-file.js +0 -350
  473. package/dist/hooks/lib/translate-file.js.map +0 -1
  474. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  475. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  476. package/dist/hooks/lib/translate-living-docs.js +0 -175
  477. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  478. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  479. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  480. package/dist/hooks/lib/types/reflection-types.js +0 -73
  481. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  482. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  483. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  484. package/dist/hooks/lib/update-tasks-md.js +0 -203
  485. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  486. package/dist/integrations/ado/ado-client.d.ts +0 -127
  487. package/dist/integrations/ado/ado-client.d.ts.map +0 -1
  488. package/dist/integrations/ado/ado-client.js +0 -416
  489. package/dist/integrations/ado/ado-client.js.map +0 -1
  490. package/dist/integrations/jira/jira-client.d.ts +0 -139
  491. package/dist/integrations/jira/jira-client.d.ts.map +0 -1
  492. package/dist/integrations/jira/jira-client.js +0 -386
  493. package/dist/integrations/jira/jira-client.js.map +0 -1
  494. package/dist/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  495. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  496. package/dist/integrations/jira/jira-incremental-mapper.js +0 -474
  497. package/dist/integrations/jira/jira-incremental-mapper.js.map +0 -1
  498. package/dist/integrations/jira/jira-mapper.d.ts +0 -105
  499. package/dist/integrations/jira/jira-mapper.d.ts.map +0 -1
  500. package/dist/integrations/jira/jira-mapper.js +0 -494
  501. package/dist/integrations/jira/jira-mapper.js.map +0 -1
  502. package/dist/metrics/calculators/change-failure-rate.d.ts +0 -22
  503. package/dist/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  504. package/dist/metrics/calculators/change-failure-rate.js +0 -70
  505. package/dist/metrics/calculators/change-failure-rate.js.map +0 -1
  506. package/dist/metrics/calculators/deployment-frequency.d.ts +0 -20
  507. package/dist/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  508. package/dist/metrics/calculators/deployment-frequency.js +0 -61
  509. package/dist/metrics/calculators/deployment-frequency.js.map +0 -1
  510. package/dist/metrics/calculators/lead-time.d.ts +0 -22
  511. package/dist/metrics/calculators/lead-time.d.ts.map +0 -1
  512. package/dist/metrics/calculators/lead-time.js +0 -82
  513. package/dist/metrics/calculators/lead-time.js.map +0 -1
  514. package/dist/metrics/calculators/mttr.d.ts +0 -21
  515. package/dist/metrics/calculators/mttr.d.ts.map +0 -1
  516. package/dist/metrics/calculators/mttr.js +0 -60
  517. package/dist/metrics/calculators/mttr.js.map +0 -1
  518. package/dist/metrics/dora-calculator.d.ts +0 -28
  519. package/dist/metrics/dora-calculator.d.ts.map +0 -1
  520. package/dist/metrics/dora-calculator.js +0 -117
  521. package/dist/metrics/dora-calculator.js.map +0 -1
  522. package/dist/metrics/github-client.d.ts +0 -51
  523. package/dist/metrics/github-client.d.ts.map +0 -1
  524. package/dist/metrics/github-client.js +0 -133
  525. package/dist/metrics/github-client.js.map +0 -1
  526. package/dist/metrics/report-generator.d.ts +0 -17
  527. package/dist/metrics/report-generator.d.ts.map +0 -1
  528. package/dist/metrics/report-generator.js +0 -403
  529. package/dist/metrics/report-generator.js.map +0 -1
  530. package/dist/metrics/types.d.ts +0 -112
  531. package/dist/metrics/types.d.ts.map +0 -1
  532. package/dist/metrics/types.js +0 -10
  533. package/dist/metrics/types.js.map +0 -1
  534. package/dist/metrics/utils/percentile.d.ts +0 -25
  535. package/dist/metrics/utils/percentile.d.ts.map +0 -1
  536. package/dist/metrics/utils/percentile.js +0 -46
  537. package/dist/metrics/utils/percentile.js.map +0 -1
  538. package/dist/metrics/utils/tier-classifier.d.ts +0 -61
  539. package/dist/metrics/utils/tier-classifier.d.ts.map +0 -1
  540. package/dist/metrics/utils/tier-classifier.js +0 -100
  541. package/dist/metrics/utils/tier-classifier.js.map +0 -1
  542. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  543. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  544. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  545. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  546. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  547. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  548. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  549. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  550. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts +0 -149
  551. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts.map +0 -1
  552. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -517
  553. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js.map +0 -1
  554. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts +0 -72
  555. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts.map +0 -1
  556. package/dist/plugins/specweave-ado/lib/ado-project-detector.js +0 -416
  557. package/dist/plugins/specweave-ado/lib/ado-project-detector.js.map +0 -1
  558. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts +0 -99
  559. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +0 -1
  560. package/dist/plugins/specweave-ado/lib/conflict-resolver.js +0 -331
  561. package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +0 -1
  562. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  563. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  564. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  565. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  566. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  567. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  568. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  569. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  570. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  571. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  572. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  573. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  574. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts +0 -126
  575. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts.map +0 -1
  576. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js +0 -420
  577. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js.map +0 -1
  578. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  579. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  580. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  581. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  582. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  583. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  584. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  585. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  586. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  587. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  588. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  589. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  590. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts +0 -95
  591. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts.map +0 -1
  592. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js +0 -301
  593. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js.map +0 -1
  594. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  595. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  596. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  597. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  598. package/dist/project-mapper.js +0 -272
  599. package/dist/scripts/split-spec-by-project.js +0 -105
  600. package/dist/spec-splitter.js +0 -283
  601. package/dist/src/core/agent-model-manager.d.ts +0 -52
  602. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  603. package/dist/src/core/agent-model-manager.js +0 -120
  604. package/dist/src/core/agent-model-manager.js.map +0 -1
  605. package/dist/src/core/model-selector.d.ts +0 -57
  606. package/dist/src/core/model-selector.d.ts.map +0 -1
  607. package/dist/src/core/model-selector.js +0 -115
  608. package/dist/src/core/model-selector.js.map +0 -1
  609. package/dist/src/core/phase-detector.d.ts +0 -62
  610. package/dist/src/core/phase-detector.d.ts.map +0 -1
  611. package/dist/src/core/phase-detector.js +0 -229
  612. package/dist/src/core/phase-detector.js.map +0 -1
  613. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  614. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  615. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  616. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  617. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  618. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  619. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  620. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  621. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  622. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  623. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  624. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  625. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  626. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  627. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  628. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  629. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  630. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  631. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  632. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  633. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  634. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  635. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  636. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  637. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  638. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  639. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  640. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  641. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  642. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  643. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  644. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  645. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  646. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  647. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  648. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  649. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  650. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  651. package/dist/src/hooks/lib/translate-file.js +0 -350
  652. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  653. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  654. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  655. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  656. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  657. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  658. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  659. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  660. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  661. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  662. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  663. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  664. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  665. package/dist/testing/test-generator.d.ts +0 -117
  666. package/dist/testing/test-generator.d.ts.map +0 -1
  667. package/dist/testing/test-generator.js +0 -370
  668. package/dist/testing/test-generator.js.map +0 -1
  669. package/dist/types/cost-tracking.d.ts +0 -43
  670. package/dist/types/cost-tracking.d.ts.map +0 -1
  671. package/dist/types/cost-tracking.js +0 -8
  672. package/dist/types/cost-tracking.js.map +0 -1
  673. package/dist/types/model-selection.d.ts +0 -53
  674. package/dist/types/model-selection.d.ts.map +0 -1
  675. package/dist/types/model-selection.js +0 -12
  676. package/dist/types/model-selection.js.map +0 -1
  677. package/dist/utils/agents-md-compiler.d.ts +0 -68
  678. package/dist/utils/agents-md-compiler.d.ts.map +0 -1
  679. package/dist/utils/agents-md-compiler.js +0 -420
  680. package/dist/utils/agents-md-compiler.js.map +0 -1
  681. package/dist/utils/auth-helpers.d.ts +0 -58
  682. package/dist/utils/auth-helpers.d.ts.map +0 -1
  683. package/dist/utils/auth-helpers.js +0 -108
  684. package/dist/utils/auth-helpers.js.map +0 -1
  685. package/dist/utils/auto-install.d.ts +0 -47
  686. package/dist/utils/auto-install.d.ts.map +0 -1
  687. package/dist/utils/auto-install.js +0 -211
  688. package/dist/utils/auto-install.js.map +0 -1
  689. package/dist/utils/claude-cli-detector.d.ts +0 -75
  690. package/dist/utils/claude-cli-detector.d.ts.map +0 -1
  691. package/dist/utils/claude-cli-detector.js +0 -285
  692. package/dist/utils/claude-cli-detector.js.map +0 -1
  693. package/dist/utils/cost-reporter.d.ts +0 -58
  694. package/dist/utils/cost-reporter.d.ts.map +0 -1
  695. package/dist/utils/cost-reporter.js +0 -224
  696. package/dist/utils/cost-reporter.js.map +0 -1
  697. package/dist/utils/docs-preview/config-generator.d.ts +0 -46
  698. package/dist/utils/docs-preview/config-generator.d.ts.map +0 -1
  699. package/dist/utils/docs-preview/config-generator.js +0 -377
  700. package/dist/utils/docs-preview/config-generator.js.map +0 -1
  701. package/dist/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  702. package/dist/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  703. package/dist/utils/docs-preview/docusaurus-setup.js +0 -177
  704. package/dist/utils/docs-preview/docusaurus-setup.js.map +0 -1
  705. package/dist/utils/docs-preview/index.d.ts +0 -7
  706. package/dist/utils/docs-preview/index.d.ts.map +0 -1
  707. package/dist/utils/docs-preview/index.js +0 -7
  708. package/dist/utils/docs-preview/index.js.map +0 -1
  709. package/dist/utils/docs-preview/package-installer.d.ts +0 -42
  710. package/dist/utils/docs-preview/package-installer.d.ts.map +0 -1
  711. package/dist/utils/docs-preview/package-installer.js +0 -182
  712. package/dist/utils/docs-preview/package-installer.js.map +0 -1
  713. package/dist/utils/docs-preview/server-manager.d.ts +0 -30
  714. package/dist/utils/docs-preview/server-manager.d.ts.map +0 -1
  715. package/dist/utils/docs-preview/server-manager.js +0 -212
  716. package/dist/utils/docs-preview/server-manager.js.map +0 -1
  717. package/dist/utils/docs-preview/sidebar-builder.d.ts +0 -32
  718. package/dist/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  719. package/dist/utils/docs-preview/sidebar-builder.js +0 -202
  720. package/dist/utils/docs-preview/sidebar-builder.js.map +0 -1
  721. package/dist/utils/docs-preview/types.d.ts +0 -57
  722. package/dist/utils/docs-preview/types.d.ts.map +0 -1
  723. package/dist/utils/docs-preview/types.js +0 -2
  724. package/dist/utils/docs-preview/types.js.map +0 -1
  725. package/dist/utils/env-file.d.ts +0 -88
  726. package/dist/utils/env-file.d.ts.map +0 -1
  727. package/dist/utils/env-file.js +0 -180
  728. package/dist/utils/env-file.js.map +0 -1
  729. package/dist/utils/env-multi-project-parser.d.ts +0 -220
  730. package/dist/utils/env-multi-project-parser.d.ts.map +0 -1
  731. package/dist/utils/env-multi-project-parser.js +0 -401
  732. package/dist/utils/env-multi-project-parser.js.map +0 -1
  733. package/dist/utils/esm-helpers.d.ts +0 -50
  734. package/dist/utils/esm-helpers.d.ts.map +0 -1
  735. package/dist/utils/esm-helpers.js +0 -57
  736. package/dist/utils/esm-helpers.js.map +0 -1
  737. package/dist/utils/execFileNoThrow.d.ts +0 -99
  738. package/dist/utils/execFileNoThrow.d.ts.map +0 -1
  739. package/dist/utils/execFileNoThrow.js +0 -137
  740. package/dist/utils/execFileNoThrow.js.map +0 -1
  741. package/dist/utils/external-resource-validator.d.ts +0 -102
  742. package/dist/utils/external-resource-validator.d.ts.map +0 -1
  743. package/dist/utils/external-resource-validator.js +0 -504
  744. package/dist/utils/external-resource-validator.js.map +0 -1
  745. package/dist/utils/generate-skills-index.d.ts +0 -24
  746. package/dist/utils/generate-skills-index.d.ts.map +0 -1
  747. package/dist/utils/generate-skills-index.js +0 -410
  748. package/dist/utils/generate-skills-index.js.map +0 -1
  749. package/dist/utils/git-detector.d.ts +0 -84
  750. package/dist/utils/git-detector.d.ts.map +0 -1
  751. package/dist/utils/git-detector.js +0 -233
  752. package/dist/utils/git-detector.js.map +0 -1
  753. package/dist/utils/git-utils.d.ts +0 -74
  754. package/dist/utils/git-utils.d.ts.map +0 -1
  755. package/dist/utils/git-utils.js +0 -272
  756. package/dist/utils/git-utils.js.map +0 -1
  757. package/dist/utils/model-selection.d.ts +0 -75
  758. package/dist/utils/model-selection.d.ts.map +0 -1
  759. package/dist/utils/model-selection.js +0 -204
  760. package/dist/utils/model-selection.js.map +0 -1
  761. package/dist/utils/plugin-validator.d.ts +0 -161
  762. package/dist/utils/plugin-validator.d.ts.map +0 -1
  763. package/dist/utils/plugin-validator.js +0 -558
  764. package/dist/utils/plugin-validator.js.map +0 -1
  765. package/dist/utils/pricing-constants.d.ts +0 -70
  766. package/dist/utils/pricing-constants.d.ts.map +0 -1
  767. package/dist/utils/pricing-constants.js +0 -71
  768. package/dist/utils/pricing-constants.js.map +0 -1
  769. package/dist/utils/project-detection.d.ts +0 -141
  770. package/dist/utils/project-detection.d.ts.map +0 -1
  771. package/dist/utils/project-detection.js +0 -321
  772. package/dist/utils/project-detection.js.map +0 -1
  773. package/dist/utils/project-mapper.d.ts +0 -92
  774. package/dist/utils/project-mapper.d.ts.map +0 -1
  775. package/dist/utils/project-mapper.js +0 -276
  776. package/dist/utils/project-mapper.js.map +0 -1
  777. package/dist/utils/spec-splitter.d.ts +0 -75
  778. package/dist/utils/spec-splitter.d.ts.map +0 -1
  779. package/dist/utils/spec-splitter.js +0 -332
  780. package/dist/utils/spec-splitter.js.map +0 -1
  781. package/dist/utils/string-utils.d.ts +0 -40
  782. package/dist/utils/string-utils.d.ts.map +0 -1
  783. package/dist/utils/string-utils.js +0 -58
  784. package/dist/utils/string-utils.js.map +0 -1
  785. package/dist/utils/translation.d.ts +0 -187
  786. package/dist/utils/translation.d.ts.map +0 -1
  787. package/dist/utils/translation.js +0 -414
  788. package/dist/utils/translation.js.map +0 -1
  789. /package/dist/{locales → src/locales}/de/.gitkeep +0 -0
  790. /package/dist/{locales → src/locales}/de/cli.json +0 -0
  791. /package/dist/{locales → src/locales}/en/cli.json +0 -0
  792. /package/dist/{locales → src/locales}/en/errors.json +0 -0
  793. /package/dist/{locales → src/locales}/en/templates.json +0 -0
  794. /package/dist/{locales → src/locales}/es/.gitkeep +0 -0
  795. /package/dist/{locales → src/locales}/es/cli.json +0 -0
  796. /package/dist/{locales → src/locales}/fr/.gitkeep +0 -0
  797. /package/dist/{locales → src/locales}/fr/cli.json +0 -0
  798. /package/dist/{locales → src/locales}/ja/.gitkeep +0 -0
  799. /package/dist/{locales → src/locales}/ja/cli.json +0 -0
  800. /package/dist/{locales → src/locales}/ko/.gitkeep +0 -0
  801. /package/dist/{locales → src/locales}/ko/cli.json +0 -0
  802. /package/dist/{locales → src/locales}/pt/.gitkeep +0 -0
  803. /package/dist/{locales → src/locales}/pt/cli.json +0 -0
  804. /package/dist/{locales → src/locales}/ru/.gitkeep +0 -0
  805. /package/dist/{locales → src/locales}/ru/cli.json +0 -0
  806. /package/dist/{locales → src/locales}/zh/.gitkeep +0 -0
  807. /package/dist/{locales → src/locales}/zh/cli.json +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-selector.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/project-selector.ts"],"names":[],"mappings":"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"}
@@ -1,272 +0,0 @@
1
- /**
2
- * Project Mapper - Intelligent User Story to Project Classification
3
- *
4
- * Analyzes user story content, tech stack mentions, and component architecture
5
- * to intelligently map user stories to the correct projects (FE, BE, MOBILE, etc.)
6
- *
7
- * @module project-mapper
8
- */
9
- /**
10
- * Default project mapping rules
11
- * These can be customized via .specweave/config.json
12
- */
13
- export const DEFAULT_PROJECT_RULES = [
14
- {
15
- id: 'FE',
16
- name: 'Frontend (Web)',
17
- keywords: [
18
- 'ui', 'ux', 'web', 'browser', 'chart', 'graph', 'visualization',
19
- 'dashboard', 'button', 'form', 'input', 'page', 'view', 'screen',
20
- 'modal', 'dropdown', 'navigation', 'menu', 'search', 'filter',
21
- 'responsive', 'desktop', 'tablet', 'css', 'styling', 'theme',
22
- 'dark mode', 'light mode', 'component', 'state management'
23
- ],
24
- techStack: [
25
- 'react', 'vue', 'angular', 'next.js', 'gatsby', 'svelte',
26
- 'typescript', 'javascript', 'html', 'css', 'scss', 'tailwind',
27
- 'mui', 'material-ui', 'antd', 'chakra', 'redux', 'zustand',
28
- 'recharts', 'd3', 'chart.js', 'plotly'
29
- ],
30
- componentTypes: [
31
- 'component', 'hook', 'context', 'provider', 'hoc', 'page',
32
- 'layout', 'template', 'widget'
33
- ]
34
- },
35
- {
36
- id: 'BE',
37
- name: 'Backend (API)',
38
- keywords: [
39
- 'api', 'endpoint', 'rest', 'graphql', 'database', 'query',
40
- 'migration', 'schema', 'model', 'service', 'controller',
41
- 'authentication', 'authorization', 'jwt', 'session', 'token',
42
- 'validation', 'sanitization', 'rate limiting', 'caching',
43
- 'redis', 'queue', 'job', 'worker', 'webhook', 'integration',
44
- 'third-party', 'external api', 'data processing', 'batch',
45
- 'cron', 'scheduler', 'background'
46
- ],
47
- techStack: [
48
- 'node.js', 'express', 'fastify', 'nestjs', 'koa',
49
- 'python', 'fastapi', 'django', 'flask',
50
- 'java', 'spring boot',
51
- '.net', 'asp.net',
52
- 'go', 'gin',
53
- 'rust', 'actix',
54
- 'postgresql', 'mysql', 'mongodb', 'redis',
55
- 'prisma', 'typeorm', 'sequelize', 'sqlalchemy'
56
- ],
57
- componentTypes: [
58
- 'controller', 'service', 'repository', 'middleware',
59
- 'route', 'handler', 'util', 'helper', 'validator'
60
- ]
61
- },
62
- {
63
- id: 'MOBILE',
64
- name: 'Mobile (iOS/Android)',
65
- keywords: [
66
- 'mobile', 'ios', 'android', 'app', 'native', 'cross-platform',
67
- 'push notification', 'offline', 'sync', 'device', 'camera',
68
- 'gps', 'location', 'gesture', 'touch', 'swipe', 'navigation',
69
- 'tab bar', 'bottom sheet', 'drawer', 'stack', 'screen transition',
70
- 'deep linking', 'universal link', 'app store', 'play store'
71
- ],
72
- techStack: [
73
- 'react native', 'expo', 'flutter', 'swift', 'swiftui',
74
- 'kotlin', 'jetpack compose', 'xamarin', 'cordova', 'ionic',
75
- 'react-navigation', 'react-native-reanimated', 'asyncstorage'
76
- ],
77
- componentTypes: [
78
- 'screen', 'navigator', 'modal', 'bottom-sheet', 'drawer'
79
- ],
80
- excludeKeywords: ['web']
81
- },
82
- {
83
- id: 'INFRA',
84
- name: 'Infrastructure',
85
- keywords: [
86
- 'deployment', 'ci/cd', 'docker', 'kubernetes', 'helm',
87
- 'terraform', 'cloudformation', 'infrastructure', 'devops',
88
- 'monitoring', 'logging', 'metrics', 'alerting', 'slo', 'sli',
89
- 'scalability', 'load balancing', 'cdn', 'dns', 'ssl', 'tls',
90
- 'security', 'firewall', 'vpc', 'network', 'backup', 'disaster recovery'
91
- ],
92
- techStack: [
93
- 'aws', 'azure', 'gcp', 'kubernetes', 'docker', 'terraform',
94
- 'ansible', 'jenkins', 'github actions', 'gitlab ci', 'circleci',
95
- 'prometheus', 'grafana', 'datadog', 'new relic', 'sentry'
96
- ],
97
- componentTypes: [
98
- 'pipeline', 'manifest', 'helm chart', 'terraform module'
99
- ]
100
- }
101
- ];
102
- /**
103
- * Analyze user story content and map to projects
104
- *
105
- * @param userStory User story to analyze
106
- * @param projectRules Project mapping rules (defaults to DEFAULT_PROJECT_RULES)
107
- * @returns Array of project mappings sorted by confidence (highest first)
108
- */
109
- export function mapUserStoryToProjects(userStory, projectRules = DEFAULT_PROJECT_RULES) {
110
- const mappings = [];
111
- // Combine all user story text for analysis
112
- const fullText = [
113
- userStory.title,
114
- userStory.description,
115
- ...userStory.acceptanceCriteria,
116
- userStory.technicalContext || ''
117
- ].join(' ').toLowerCase();
118
- for (const rule of projectRules) {
119
- const reasoning = [];
120
- let score = 0;
121
- let maxScore = 0;
122
- // Keyword matching (40% weight)
123
- const keywordMatches = rule.keywords.filter(keyword => fullText.includes(keyword.toLowerCase()));
124
- const keywordScore = keywordMatches.length * 0.4;
125
- score += keywordScore;
126
- maxScore += rule.keywords.length * 0.4;
127
- if (keywordMatches.length > 0) {
128
- reasoning.push(`Keywords: ${keywordMatches.slice(0, 5).join(', ')}`);
129
- }
130
- // Tech stack matching (40% weight)
131
- const techStackMatches = rule.techStack.filter(tech => fullText.includes(tech.toLowerCase()));
132
- const techScore = techStackMatches.length * 0.4;
133
- score += techScore;
134
- maxScore += rule.techStack.length * 0.4;
135
- if (techStackMatches.length > 0) {
136
- reasoning.push(`Tech stack: ${techStackMatches.slice(0, 5).join(', ')}`);
137
- }
138
- // Component type matching (20% weight)
139
- const componentMatches = rule.componentTypes.filter(component => fullText.includes(component.toLowerCase()));
140
- const componentScore = componentMatches.length * 0.2;
141
- score += componentScore;
142
- maxScore += rule.componentTypes.length * 0.2;
143
- if (componentMatches.length > 0) {
144
- reasoning.push(`Components: ${componentMatches.slice(0, 3).join(', ')}`);
145
- }
146
- // Exclude keywords (penalty)
147
- if (rule.excludeKeywords) {
148
- const excludeMatches = rule.excludeKeywords.filter(keyword => fullText.includes(keyword.toLowerCase()));
149
- if (excludeMatches.length > 0) {
150
- score *= 0.5; // 50% penalty
151
- reasoning.push(`Penalty: ${excludeMatches.join(', ')} (not primary focus)`);
152
- }
153
- }
154
- // Normalize confidence (0.0-1.0)
155
- const confidence = maxScore > 0 ? Math.min(score / (maxScore * 0.3), 1.0) : 0;
156
- // Only include mappings with confidence > 0.1
157
- if (confidence > 0.1) {
158
- mappings.push({
159
- projectId: rule.id,
160
- confidence,
161
- reasoning
162
- });
163
- }
164
- }
165
- // Sort by confidence (highest first)
166
- mappings.sort((a, b) => b.confidence - a.confidence);
167
- return mappings;
168
- }
169
- /**
170
- * Determine primary project for a user story
171
- * (highest confidence mapping)
172
- *
173
- * @param userStory User story to analyze
174
- * @param projectRules Project mapping rules
175
- * @returns Primary project mapping or null if no confident match
176
- */
177
- export function getPrimaryProject(userStory, projectRules = DEFAULT_PROJECT_RULES) {
178
- const mappings = mapUserStoryToProjects(userStory, projectRules);
179
- // Require at least 30% confidence for primary project
180
- return mappings.length > 0 && mappings[0].confidence >= 0.3
181
- ? mappings[0]
182
- : null;
183
- }
184
- /**
185
- * Split spec into project-specific specs based on user story mappings
186
- *
187
- * @param userStories Array of user stories
188
- * @param projectRules Project mapping rules
189
- * @returns Map of projectId → user stories
190
- */
191
- export function splitSpecByProject(userStories, projectRules = DEFAULT_PROJECT_RULES) {
192
- const projectSpecs = new Map();
193
- for (const userStory of userStories) {
194
- const primaryProject = getPrimaryProject(userStory, projectRules);
195
- if (primaryProject) {
196
- const existing = projectSpecs.get(primaryProject.projectId) || [];
197
- existing.push(userStory);
198
- projectSpecs.set(primaryProject.projectId, existing);
199
- }
200
- else {
201
- // No confident match - assign to "SHARED" or primary project
202
- const shared = projectSpecs.get('SHARED') || [];
203
- shared.push(userStory);
204
- projectSpecs.set('SHARED', shared);
205
- }
206
- }
207
- return projectSpecs;
208
- }
209
- /**
210
- * Suggest JIRA item type hierarchy based on user story scope
211
- *
212
- * @param userStory User story to analyze
213
- * @returns Suggested JIRA item type (Epic, Story, Task, Subtask)
214
- */
215
- export function suggestJiraItemType(userStory) {
216
- const storyPoints = estimateStoryPoints(userStory);
217
- // Epic: > 13 story points (large feature area)
218
- if (storyPoints > 13) {
219
- return 'Epic';
220
- }
221
- // Story: 3-13 story points (standard user story)
222
- if (storyPoints >= 3) {
223
- return 'Story';
224
- }
225
- // Task: 1-2 story points (small implementation task)
226
- if (storyPoints >= 1) {
227
- return 'Task';
228
- }
229
- // Subtask: < 1 story point (granular work)
230
- return 'Subtask';
231
- }
232
- /**
233
- * Estimate story points based on acceptance criteria count and complexity
234
- *
235
- * @param userStory User story to estimate
236
- * @returns Estimated story points (1-21)
237
- */
238
- function estimateStoryPoints(userStory) {
239
- const acCount = userStory.acceptanceCriteria.length;
240
- // Simple heuristic: 1 AC ≈ 1 story point, max 21
241
- return Math.min(acCount, 21);
242
- }
243
- /**
244
- * Format project mapping report (for display to user)
245
- *
246
- * @param userStory User story
247
- * @param mappings Project mappings
248
- * @returns Formatted markdown report
249
- */
250
- export function formatProjectMappingReport(userStory, mappings) {
251
- const lines = [];
252
- lines.push(`## ${userStory.id}: ${userStory.title}`);
253
- lines.push('');
254
- if (mappings.length === 0) {
255
- lines.push('❌ **No project match** (assign to SHARED)');
256
- return lines.join('\n');
257
- }
258
- lines.push(`✅ **Primary Project**: ${mappings[0].projectId} (${(mappings[0].confidence * 100).toFixed(0)}% confidence)`);
259
- lines.push('');
260
- lines.push('**Reasoning**:');
261
- for (const reason of mappings[0].reasoning) {
262
- lines.push(`- ${reason}`);
263
- }
264
- if (mappings.length > 1) {
265
- lines.push('');
266
- lines.push('**Secondary Matches**:');
267
- for (const mapping of mappings.slice(1, 3)) {
268
- lines.push(`- ${mapping.projectId} (${(mapping.confidence * 100).toFixed(0)}%)`);
269
- }
270
- }
271
- return lines.join('\n');
272
- }
@@ -1,105 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Split Monolithic Spec into Project-Specific Files
5
- *
6
- * Usage: node dist/scripts/split-spec-by-project.js <spec-path> <output-dir>
7
- */
8
-
9
- import * as path from 'path';
10
- import { fileURLToPath } from 'url';
11
- import {
12
- parseSpecFile,
13
- splitSpecIntoProjects,
14
- createMultiProjectFolderStructure
15
- } from '../utils/spec-splitter.js';
16
- import {
17
- mapUserStoryToProjects,
18
- formatProjectMappingReport
19
- } from '../utils/project-mapper.js';
20
-
21
- const __filename = fileURLToPath(import.meta.url);
22
- const __dirname = path.dirname(__filename);
23
-
24
- async function main() {
25
- const args = process.argv.slice(2);
26
-
27
- if (args.length < 2) {
28
- console.error('Usage: node dist/scripts/split-spec-by-project.js <spec-path> <output-dir>');
29
- process.exit(1);
30
- }
31
-
32
- const [specPath, outputDir] = args;
33
-
34
- console.log('🔍 Analyzing spec file...\n');
35
-
36
- // Parse spec
37
- const parsedSpec = await parseSpecFile(specPath);
38
-
39
- console.log(`✓ Parsed spec: ${parsedSpec.metadata.title}`);
40
- console.log(` User stories: ${parsedSpec.userStories.length}`);
41
- console.log('');
42
-
43
- // Analyze user stories
44
- console.log('📊 Classifying user stories by project...\n');
45
-
46
- const projectStats = new Map();
47
-
48
- for (const userStory of parsedSpec.userStories) {
49
- const mappings = mapUserStoryToProjects(userStory);
50
-
51
- if (mappings.length > 0) {
52
- const primary = mappings[0];
53
- console.log(formatProjectMappingReport(userStory, mappings));
54
- console.log('');
55
-
56
- projectStats.set(primary.projectId, (projectStats.get(primary.projectId) || 0) + 1);
57
- } else {
58
- console.log(`❌ ${userStory.id}: ${userStory.title} → NO MATCH (assign to SHARED)`);
59
- console.log('');
60
- projectStats.set('SHARED', (projectStats.get('SHARED') || 0) + 1);
61
- }
62
- }
63
-
64
- // Print summary
65
- console.log('📈 Project Distribution:\n');
66
- const totalStories = parsedSpec.userStories.length;
67
-
68
- for (const [projectId, count] of projectStats.entries()) {
69
- const percentage = ((count / totalStories) * 100).toFixed(0);
70
- console.log(` ${projectId}: ${count} user stories (${percentage}%)`);
71
- }
72
-
73
- console.log('');
74
-
75
- // Create folder structure
76
- console.log('📁 Creating multi-project folder structure...\n');
77
-
78
- const allProjectIds = [...projectStats.keys()];
79
- await createMultiProjectFolderStructure(outputDir, allProjectIds);
80
-
81
- console.log('✓ Folder structure created\n');
82
-
83
- // Split spec
84
- console.log('✂️ Splitting spec into project-specific files...\n');
85
-
86
- const outputMap = await splitSpecIntoProjects(specPath, outputDir);
87
-
88
- for (const [projectId, filePath] of outputMap.entries()) {
89
- console.log(`✓ ${projectId}: ${filePath}`);
90
- }
91
-
92
- console.log('');
93
- console.log('✅ Spec splitting complete!');
94
- console.log('');
95
- console.log('Next steps:');
96
- console.log('1. Review project-specific specs in:', outputDir);
97
- console.log('2. Configure JIRA sync for each project');
98
- console.log('3. Run /specweave-jira:sync to create JIRA items');
99
- }
100
-
101
- main().catch((error) => {
102
- console.error('❌ Error:', error.message);
103
- console.error(error.stack);
104
- process.exit(1);
105
- });
@@ -1,283 +0,0 @@
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 * as fs from 'fs-extra';
10
- import * as 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
- for (const line of lines) {
52
- const match = line.match(/^(\w+):\s*(.+)$/);
53
- if (match) {
54
- const key = match[1];
55
- const value = match[2].trim();
56
- // Handle arrays
57
- if (value.startsWith('[')) {
58
- metadata[key] = JSON.parse(value);
59
- }
60
- else {
61
- metadata[key] = value.replace(/^["']|["']$/g, '');
62
- }
63
- }
64
- }
65
- return metadata;
66
- }
67
- /**
68
- * Extract sections from spec markdown
69
- */
70
- function extractSections(content) {
71
- const sections = {};
72
- // Remove frontmatter
73
- const withoutFrontmatter = content.replace(/^---\n[\s\S]*?\n---\n/, '');
74
- // Split by h2 headers (##)
75
- const parts = withoutFrontmatter.split(/^## /m);
76
- for (const part of parts) {
77
- if (!part.trim())
78
- continue;
79
- const lines = part.split('\n');
80
- const sectionName = lines[0].trim();
81
- const sectionContent = lines.slice(1).join('\n').trim();
82
- // Normalize section names
83
- const normalizedName = sectionName
84
- .replace(/[^a-zA-Z0-9\s]/g, '')
85
- .replace(/\s+/g, '')
86
- .replace(/^(.)/, (m) => m.toLowerCase());
87
- sections[normalizedName] = sectionContent;
88
- }
89
- return sections;
90
- }
91
- /**
92
- * Parse user stories from spec section
93
- */
94
- function parseUserStories(userStoriesSection) {
95
- const stories = [];
96
- // Split by h3 headers (###)
97
- const storyParts = userStoriesSection.split(/^### /m);
98
- for (const part of storyParts) {
99
- if (!part.trim())
100
- continue;
101
- const lines = part.split('\n');
102
- const titleLine = lines[0].trim();
103
- // Extract US-XXX: Title
104
- const match = titleLine.match(/^(US-\d+):\s*(.+?)(?:\s*\(Priority|$)/);
105
- if (!match)
106
- continue;
107
- const id = match[1];
108
- const title = match[2].trim();
109
- // Extract description (As a... I want... So that...)
110
- const descriptionMatch = part.match(/\*\*As a\*\*\s+(.+?)\n\*\*I want\*\*\s+(.+?)\n\*\*So that\*\*\s+(.+?)(?:\n|$)/s);
111
- const description = descriptionMatch
112
- ? `As a ${descriptionMatch[1].trim()} I want ${descriptionMatch[2].trim()} So that ${descriptionMatch[3].trim()}`
113
- : '';
114
- // Extract acceptance criteria
115
- const acceptanceCriteria = [];
116
- const acMatches = part.matchAll(/\*\*AC-[A-Z0-9-]+\*\*:\s*(.+?)(?:\n-|\n\*\*|$)/gs);
117
- for (const acMatch of acMatches) {
118
- acceptanceCriteria.push(acMatch[1].trim());
119
- }
120
- // Extract technical context (if present)
121
- const technicalContextMatch = part.match(/#### Technical Context\n\n([\s\S]+?)(?:\n####|\n---|\n###|$)/);
122
- const technicalContext = technicalContextMatch ? technicalContextMatch[1].trim() : undefined;
123
- stories.push({
124
- id,
125
- title,
126
- description,
127
- acceptanceCriteria,
128
- technicalContext
129
- });
130
- }
131
- return stories;
132
- }
133
- /**
134
- * Split spec into project-specific files
135
- *
136
- * @param specPath Path to monolithic spec.md
137
- * @param outputDir Directory to write project-specific specs (e.g., .specweave/docs/internal/specs/)
138
- * @param projectRules Custom project mapping rules (optional)
139
- * @returns Map of projectId → output file path
140
- */
141
- export async function splitSpecIntoProjects(specPath, outputDir, projectRules = DEFAULT_PROJECT_RULES) {
142
- // Parse spec
143
- const parsedSpec = await parseSpecFile(specPath);
144
- // Split user stories by project
145
- const projectStories = splitSpecByProject(parsedSpec.userStories, projectRules);
146
- // Create output map
147
- const outputMap = new Map();
148
- // Generate project-specific specs
149
- for (const [projectId, stories] of projectStories.entries()) {
150
- const projectDir = path.join(outputDir, projectId);
151
- await fs.ensureDir(projectDir);
152
- const outputPath = path.join(projectDir, `spec-${parsedSpec.metadata.specId.toLowerCase()}-${projectId.toLowerCase()}.md`);
153
- const projectSpec = generateProjectSpec(parsedSpec, projectId, stories);
154
- await fs.writeFile(outputPath, projectSpec, 'utf-8');
155
- outputMap.set(projectId, outputPath);
156
- }
157
- return outputMap;
158
- }
159
- /**
160
- * Generate project-specific spec file
161
- */
162
- function generateProjectSpec(parsedSpec, projectId, userStories) {
163
- const lines = [];
164
- // Frontmatter
165
- lines.push('---');
166
- lines.push(`spec_id: ${parsedSpec.metadata.specId}`);
167
- lines.push(`project: ${projectId}`);
168
- lines.push(`title: "${parsedSpec.metadata.title} - ${projectId}"`);
169
- lines.push(`version: ${parsedSpec.metadata.version}`);
170
- lines.push(`status: ${parsedSpec.metadata.status}`);
171
- lines.push(`created: ${parsedSpec.metadata.created}`);
172
- lines.push(`last_updated: ${parsedSpec.metadata.lastUpdated}`);
173
- lines.push(`authors:`);
174
- for (const author of parsedSpec.metadata.authors) {
175
- lines.push(` - ${author}`);
176
- }
177
- lines.push(`priority: ${parsedSpec.metadata.priority}`);
178
- lines.push(`estimated_effort: ${parsedSpec.metadata.estimatedEffort}`);
179
- lines.push(`target_release: ${parsedSpec.metadata.targetRelease}`);
180
- if (parsedSpec.metadata.jiraSync) {
181
- lines.push(`jira_sync: true`);
182
- lines.push(`jira_project: ${projectId}`);
183
- }
184
- lines.push('---');
185
- lines.push('');
186
- // Title
187
- lines.push(`# SPEC-${parsedSpec.metadata.specId}: ${parsedSpec.metadata.title} - ${projectId}`);
188
- lines.push('');
189
- // Executive Summary (project-specific)
190
- lines.push('## Executive Summary');
191
- lines.push('');
192
- lines.push(`**Project**: ${projectId}`);
193
- lines.push(`**Scope**: ${userStories.length} user stories for ${projectId} component`);
194
- lines.push('');
195
- lines.push(parsedSpec.executiveSummary);
196
- lines.push('');
197
- // User Stories (filtered for this project)
198
- lines.push('## User Stories');
199
- lines.push('');
200
- for (const story of userStories) {
201
- lines.push(`### ${story.id}: ${story.title}`);
202
- lines.push('');
203
- lines.push(story.description);
204
- lines.push('');
205
- if (story.acceptanceCriteria.length > 0) {
206
- lines.push('#### Acceptance Criteria');
207
- lines.push('');
208
- for (const ac of story.acceptanceCriteria) {
209
- lines.push(`**${ac}**`);
210
- lines.push('');
211
- }
212
- }
213
- if (story.technicalContext) {
214
- lines.push('#### Technical Context');
215
- lines.push('');
216
- lines.push(story.technicalContext);
217
- lines.push('');
218
- }
219
- lines.push('---');
220
- lines.push('');
221
- }
222
- // Shared sections (include full content from original spec)
223
- if (parsedSpec.functionalRequirements) {
224
- lines.push('## Functional Requirements (Shared)');
225
- lines.push('');
226
- lines.push('*See main spec for complete functional requirements*');
227
- lines.push('');
228
- }
229
- if (parsedSpec.nonFunctionalRequirements) {
230
- lines.push('## Non-Functional Requirements (Shared)');
231
- lines.push('');
232
- lines.push('*See main spec for complete non-functional requirements*');
233
- lines.push('');
234
- }
235
- if (parsedSpec.technicalArchitecture) {
236
- lines.push('## Technical Architecture');
237
- lines.push('');
238
- lines.push(parsedSpec.technicalArchitecture);
239
- lines.push('');
240
- }
241
- // Footer
242
- lines.push('---');
243
- lines.push('');
244
- lines.push('**Document End**');
245
- lines.push('');
246
- return lines.join('\n');
247
- }
248
- /**
249
- * Create multi-project folder structure
250
- *
251
- * @param specsDir Base specs directory (.specweave/docs/internal/specs/)
252
- * @param projectIds Array of project IDs (e.g., ['FE', 'BE', 'MOBILE'])
253
- */
254
- export async function createMultiProjectFolderStructure(specsDir, projectIds) {
255
- await fs.ensureDir(specsDir);
256
- for (const projectId of projectIds) {
257
- const projectDir = path.join(specsDir, projectId);
258
- await fs.ensureDir(projectDir);
259
- // Create README.md for project
260
- const readme = `# ${projectId} Specifications
261
-
262
- This folder contains specifications for the **${projectId}** project.
263
-
264
- ## Organization
265
-
266
- - \`spec-NNNN-*.md\` - Project-specific specifications (living docs)
267
- - Each spec is permanently archived here after increment completion
268
- - Specs are auto-generated from increment specs and split by project
269
-
270
- ## External Sync
271
-
272
- ${projectId} specs sync to:
273
- - **JIRA**: Project ${projectId} (Epics)
274
- - **GitHub**: Issues tagged with \`${projectId}\` label
275
-
276
- ## Maintenance
277
-
278
- - Specs are auto-updated via living docs sync hooks
279
- - Manual edits should be made in increment specs, not here
280
- `;
281
- await fs.writeFile(path.join(projectDir, 'README.md'), readme, 'utf-8');
282
- }
283
- }