specweave 0.13.5 → 0.13.6

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 (779) hide show
  1. package/bin/specweave.js +1 -0
  2. package/dist/cli/commands/init.d.ts +1 -0
  3. package/dist/cli/commands/init.d.ts.map +1 -1
  4. package/dist/cli/commands/init.js +50 -37
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/package.json +1 -1
  7. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  8. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  9. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  10. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  11. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  12. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  13. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  14. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  15. package/plugins/specweave/lib/hooks/sync-living-docs.js +87 -129
  16. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  17. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  18. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  19. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  20. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  21. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  22. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  23. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  24. package/plugins/specweave-github/hooks/hooks.json +11 -0
  25. package/plugins/specweave-github/hooks/post-increment-done.sh +224 -0
  26. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  27. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  28. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  29. package/plugins/specweave-github/lib/github-client.js +246 -280
  30. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  31. package/plugins/specweave-github/lib/github-issue-updater.js +231 -288
  32. package/plugins/specweave-github/lib/github-spec-sync.js +379 -420
  33. package/plugins/specweave-github/lib/github-sync-bidirectional.js +175 -202
  34. package/plugins/specweave-github/lib/github-sync-increment-changes.js +212 -251
  35. package/plugins/specweave-github/lib/index.js +11 -10
  36. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  37. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  38. package/plugins/specweave-github/lib/task-parser.js +191 -207
  39. package/plugins/specweave-github/lib/task-sync.js +344 -296
  40. package/plugins/specweave-github/lib/types.js +0 -5
  41. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  42. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  43. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  44. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  45. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  46. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  47. package/src/templates/AGENTS.md.template +42 -0
  48. package/dist/core/agent-model-manager.d.ts +0 -52
  49. package/dist/core/agent-model-manager.d.ts.map +0 -1
  50. package/dist/core/agent-model-manager.js +0 -120
  51. package/dist/core/agent-model-manager.js.map +0 -1
  52. package/dist/core/model-selector.d.ts +0 -57
  53. package/dist/core/model-selector.d.ts.map +0 -1
  54. package/dist/core/model-selector.js +0 -115
  55. package/dist/core/model-selector.js.map +0 -1
  56. package/dist/core/phase-detector.d.ts +0 -62
  57. package/dist/core/phase-detector.d.ts.map +0 -1
  58. package/dist/core/phase-detector.js +0 -229
  59. package/dist/core/phase-detector.js.map +0 -1
  60. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  61. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  62. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  63. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  64. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  65. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  66. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  67. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  68. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  69. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  70. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  71. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  72. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  73. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  74. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  75. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  76. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  77. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  78. package/dist/hooks/lib/reflection-parser.js +0 -419
  79. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  80. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  81. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  82. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  83. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  84. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  85. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  86. package/dist/hooks/lib/reflection-storage.js +0 -305
  87. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  88. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  89. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  90. package/dist/hooks/lib/run-self-reflection.js +0 -203
  91. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  92. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  93. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  94. package/dist/hooks/lib/sync-living-docs.js +0 -116
  95. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  96. package/dist/hooks/lib/translate-file.d.ts +0 -59
  97. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  98. package/dist/hooks/lib/translate-file.js +0 -350
  99. package/dist/hooks/lib/translate-file.js.map +0 -1
  100. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  101. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  102. package/dist/hooks/lib/translate-living-docs.js +0 -175
  103. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  104. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  105. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  106. package/dist/hooks/lib/types/reflection-types.js +0 -73
  107. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  108. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  109. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  110. package/dist/hooks/lib/update-tasks-md.js +0 -203
  111. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  112. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  113. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  114. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  115. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  116. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  117. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  118. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  119. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  120. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  121. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  122. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  123. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  124. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  125. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  126. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  127. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  128. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  129. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  130. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  131. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  132. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  133. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  134. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  135. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  136. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  137. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  138. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  139. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  140. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  141. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  142. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  143. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  144. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  145. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  146. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -144
  147. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  148. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  149. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  150. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  151. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  152. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  153. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  154. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  155. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  156. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  157. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  158. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  159. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  160. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  161. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  162. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  163. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  164. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  165. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  166. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  167. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  168. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  169. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  170. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  171. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  172. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  173. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  174. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  175. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  176. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  177. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  178. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  179. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  180. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  181. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  182. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -471
  183. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  184. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  185. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  186. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  187. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  188. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
  189. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
  190. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
  191. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
  192. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  193. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  194. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  195. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  196. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  197. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  198. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  199. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  200. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  201. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  202. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  203. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  204. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  205. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  206. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  207. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  208. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +0 -61
  209. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  210. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -327
  211. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  212. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  213. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  214. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -505
  215. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  216. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
  217. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
  218. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -228
  219. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
  220. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
  221. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
  222. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -287
  223. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
  224. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  225. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  226. package/dist/plugins/specweave-github/lib/index.js +0 -10
  227. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  228. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  229. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  230. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  231. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  232. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  233. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  234. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  235. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  236. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  237. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  238. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  239. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  240. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  241. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  242. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  243. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  244. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  245. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  246. package/dist/plugins/specweave-github/lib/types.js +0 -5
  247. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  248. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  249. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  250. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  251. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  252. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  253. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  254. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  255. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  256. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  257. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  258. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -456
  259. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  260. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  261. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  262. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  263. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  264. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  265. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  266. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  267. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  268. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  269. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  270. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  271. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  272. package/dist/src/adapters/adapter-base.d.ts +0 -71
  273. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  274. package/dist/src/adapters/adapter-base.js +0 -139
  275. package/dist/src/adapters/adapter-base.js.map +0 -1
  276. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  277. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  278. package/dist/src/adapters/adapter-interface.js +0 -8
  279. package/dist/src/adapters/adapter-interface.js.map +0 -1
  280. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  281. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  282. package/dist/src/adapters/adapter-loader.js +0 -238
  283. package/dist/src/adapters/adapter-loader.js.map +0 -1
  284. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  285. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  286. package/dist/src/adapters/agents-md-generator.js +0 -193
  287. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  288. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  289. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  290. package/dist/src/adapters/claude/adapter.js +0 -415
  291. package/dist/src/adapters/claude/adapter.js.map +0 -1
  292. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  293. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  294. package/dist/src/adapters/claude-md-generator.js +0 -307
  295. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  296. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  297. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  298. package/dist/src/adapters/codex/adapter.js +0 -316
  299. package/dist/src/adapters/codex/adapter.js.map +0 -1
  300. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  301. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  302. package/dist/src/adapters/cursor/adapter.js +0 -406
  303. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  304. package/dist/src/adapters/doc-generator.d.ts +0 -69
  305. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  306. package/dist/src/adapters/doc-generator.js +0 -247
  307. package/dist/src/adapters/doc-generator.js.map +0 -1
  308. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  309. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  310. package/dist/src/adapters/gemini/adapter.js +0 -281
  311. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  312. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  313. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  314. package/dist/src/adapters/generic/adapter.js +0 -338
  315. package/dist/src/adapters/generic/adapter.js.map +0 -1
  316. package/dist/src/cli/commands/abandon.d.ts +0 -13
  317. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  318. package/dist/src/cli/commands/abandon.js +0 -15
  319. package/dist/src/cli/commands/abandon.js.map +0 -1
  320. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  321. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  322. package/dist/src/cli/commands/import-docs.js +0 -146
  323. package/dist/src/cli/commands/import-docs.js.map +0 -1
  324. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  325. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  326. package/dist/src/cli/commands/init-multiproject.js +0 -202
  327. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  328. package/dist/src/cli/commands/init.d.ts +0 -9
  329. package/dist/src/cli/commands/init.d.ts.map +0 -1
  330. package/dist/src/cli/commands/init.js +0 -1444
  331. package/dist/src/cli/commands/init.js.map +0 -1
  332. package/dist/src/cli/commands/install.d.ts +0 -9
  333. package/dist/src/cli/commands/install.d.ts.map +0 -1
  334. package/dist/src/cli/commands/install.js +0 -127
  335. package/dist/src/cli/commands/install.js.map +0 -1
  336. package/dist/src/cli/commands/list.d.ts +0 -8
  337. package/dist/src/cli/commands/list.d.ts.map +0 -1
  338. package/dist/src/cli/commands/list.js +0 -119
  339. package/dist/src/cli/commands/list.js.map +0 -1
  340. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  341. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  342. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  343. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  344. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  345. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  346. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  347. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  348. package/dist/src/cli/commands/pause.d.ts +0 -13
  349. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  350. package/dist/src/cli/commands/pause.js +0 -15
  351. package/dist/src/cli/commands/pause.js.map +0 -1
  352. package/dist/src/cli/commands/qa.d.ts +0 -54
  353. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  354. package/dist/src/cli/commands/qa.js +0 -98
  355. package/dist/src/cli/commands/qa.js.map +0 -1
  356. package/dist/src/cli/commands/resume.d.ts +0 -12
  357. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  358. package/dist/src/cli/commands/resume.js +0 -14
  359. package/dist/src/cli/commands/resume.js.map +0 -1
  360. package/dist/src/cli/commands/status.d.ts +0 -12
  361. package/dist/src/cli/commands/status.d.ts.map +0 -1
  362. package/dist/src/cli/commands/status.js +0 -23
  363. package/dist/src/cli/commands/status.js.map +0 -1
  364. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  365. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  366. package/dist/src/cli/commands/switch-project.js +0 -91
  367. package/dist/src/cli/commands/switch-project.js.map +0 -1
  368. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  369. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  370. package/dist/src/cli/commands/validate-jira.js +0 -112
  371. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  372. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  373. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  374. package/dist/src/cli/commands/validate-plugins.js +0 -171
  375. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  376. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  377. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  378. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  379. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  380. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  381. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  382. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  383. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  384. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  385. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  386. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  387. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  388. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  389. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  390. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  391. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  392. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -108
  393. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  394. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  395. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  396. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  397. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  398. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  399. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  400. package/dist/src/core/agent-model-manager.d.ts +0 -52
  401. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  402. package/dist/src/core/agent-model-manager.js +0 -120
  403. package/dist/src/core/agent-model-manager.js.map +0 -1
  404. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  405. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  406. package/dist/src/core/brownfield/analyzer.js +0 -365
  407. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  408. package/dist/src/core/brownfield/importer.d.ts +0 -76
  409. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  410. package/dist/src/core/brownfield/importer.js +0 -287
  411. package/dist/src/core/brownfield/importer.js.map +0 -1
  412. package/dist/src/core/config-manager.d.ts +0 -47
  413. package/dist/src/core/config-manager.d.ts.map +0 -1
  414. package/dist/src/core/config-manager.js +0 -136
  415. package/dist/src/core/config-manager.js.map +0 -1
  416. package/dist/src/core/cost-tracker.d.ts +0 -108
  417. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  418. package/dist/src/core/cost-tracker.js +0 -281
  419. package/dist/src/core/cost-tracker.js.map +0 -1
  420. package/dist/src/core/credentials-manager.d.ts +0 -107
  421. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  422. package/dist/src/core/credentials-manager.js +0 -457
  423. package/dist/src/core/credentials-manager.js.map +0 -1
  424. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  425. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  426. package/dist/src/core/i18n/language-detector.js +0 -143
  427. package/dist/src/core/i18n/language-detector.js.map +0 -1
  428. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  429. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  430. package/dist/src/core/i18n/language-manager.js +0 -232
  431. package/dist/src/core/i18n/language-manager.js.map +0 -1
  432. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  433. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  434. package/dist/src/core/i18n/language-registry.js +0 -234
  435. package/dist/src/core/i18n/language-registry.js.map +0 -1
  436. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  437. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  438. package/dist/src/core/i18n/locale-manager.js +0 -137
  439. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  440. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  441. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  442. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  443. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  444. package/dist/src/core/i18n/types.d.ts +0 -151
  445. package/dist/src/core/i18n/types.d.ts.map +0 -1
  446. package/dist/src/core/i18n/types.js +0 -11
  447. package/dist/src/core/i18n/types.js.map +0 -1
  448. package/dist/src/core/increment/limits.d.ts +0 -68
  449. package/dist/src/core/increment/limits.d.ts.map +0 -1
  450. package/dist/src/core/increment/limits.js +0 -224
  451. package/dist/src/core/increment/limits.js.map +0 -1
  452. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  453. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  454. package/dist/src/core/increment/metadata-manager.js +0 -320
  455. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  456. package/dist/src/core/increment/status-commands.d.ts +0 -43
  457. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  458. package/dist/src/core/increment/status-commands.js +0 -277
  459. package/dist/src/core/increment/status-commands.js.map +0 -1
  460. package/dist/src/core/increment-status.d.ts +0 -72
  461. package/dist/src/core/increment-status.d.ts.map +0 -1
  462. package/dist/src/core/increment-status.js +0 -227
  463. package/dist/src/core/increment-status.js.map +0 -1
  464. package/dist/src/core/model-selector.d.ts +0 -57
  465. package/dist/src/core/model-selector.d.ts.map +0 -1
  466. package/dist/src/core/model-selector.js +0 -115
  467. package/dist/src/core/model-selector.js.map +0 -1
  468. package/dist/src/core/phase-detector.d.ts +0 -62
  469. package/dist/src/core/phase-detector.d.ts.map +0 -1
  470. package/dist/src/core/phase-detector.js +0 -229
  471. package/dist/src/core/phase-detector.js.map +0 -1
  472. package/dist/src/core/plugin-loader.d.ts +0 -131
  473. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  474. package/dist/src/core/plugin-loader.js +0 -421
  475. package/dist/src/core/plugin-loader.js.map +0 -1
  476. package/dist/src/core/project-manager.d.ts +0 -127
  477. package/dist/src/core/project-manager.d.ts.map +0 -1
  478. package/dist/src/core/project-manager.js +0 -524
  479. package/dist/src/core/project-manager.js.map +0 -1
  480. package/dist/src/core/project-structure-detector.d.ts +0 -92
  481. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  482. package/dist/src/core/project-structure-detector.js +0 -289
  483. package/dist/src/core/project-structure-detector.js.map +0 -1
  484. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  485. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  486. package/dist/src/core/qa/qa-runner.js +0 -404
  487. package/dist/src/core/qa/qa-runner.js.map +0 -1
  488. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  489. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  490. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  491. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  492. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  493. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  494. package/dist/src/core/qa/risk-calculator.js +0 -247
  495. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  496. package/dist/src/core/qa/types.d.ts +0 -315
  497. package/dist/src/core/qa/types.d.ts.map +0 -1
  498. package/dist/src/core/qa/types.js +0 -8
  499. package/dist/src/core/qa/types.js.map +0 -1
  500. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  501. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  502. package/dist/src/core/rfc-generator-v2.js +0 -399
  503. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  504. package/dist/src/core/specs/spec-metadata-manager.d.ts +0 -70
  505. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +0 -1
  506. package/dist/src/core/specs/spec-metadata-manager.js +0 -371
  507. package/dist/src/core/specs/spec-metadata-manager.js.map +0 -1
  508. package/dist/src/core/specs/spec-parser.d.ts +0 -66
  509. package/dist/src/core/specs/spec-parser.d.ts.map +0 -1
  510. package/dist/src/core/specs/spec-parser.js +0 -276
  511. package/dist/src/core/specs/spec-parser.js.map +0 -1
  512. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  513. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  514. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  515. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  516. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  517. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  518. package/dist/src/core/sync/folder-mapper.js +0 -168
  519. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  520. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  521. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  522. package/dist/src/core/sync/profile-manager.js +0 -338
  523. package/dist/src/core/sync/profile-manager.js.map +0 -1
  524. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  525. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  526. package/dist/src/core/sync/profile-selector.js +0 -179
  527. package/dist/src/core/sync/profile-selector.js.map +0 -1
  528. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  529. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  530. package/dist/src/core/sync/profile-validator.js +0 -225
  531. package/dist/src/core/sync/profile-validator.js.map +0 -1
  532. package/dist/src/core/sync/project-context.d.ts +0 -81
  533. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  534. package/dist/src/core/sync/project-context.js +0 -354
  535. package/dist/src/core/sync/project-context.js.map +0 -1
  536. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  537. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  538. package/dist/src/core/sync/rate-limiter.js +0 -308
  539. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  540. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  541. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  542. package/dist/src/core/sync/time-range-selector.js +0 -224
  543. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  544. package/dist/src/core/types/config.d.ts +0 -90
  545. package/dist/src/core/types/config.d.ts.map +0 -1
  546. package/dist/src/core/types/config.js +0 -44
  547. package/dist/src/core/types/config.js.map +0 -1
  548. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  549. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  550. package/dist/src/core/types/increment-metadata.js +0 -138
  551. package/dist/src/core/types/increment-metadata.js.map +0 -1
  552. package/dist/src/core/types/plugin.d.ts +0 -283
  553. package/dist/src/core/types/plugin.d.ts.map +0 -1
  554. package/dist/src/core/types/plugin.js +0 -49
  555. package/dist/src/core/types/plugin.js.map +0 -1
  556. package/dist/src/core/types/spec-metadata.d.ts +0 -229
  557. package/dist/src/core/types/spec-metadata.d.ts.map +0 -1
  558. package/dist/src/core/types/spec-metadata.js +0 -14
  559. package/dist/src/core/types/spec-metadata.js.map +0 -1
  560. package/dist/src/core/types/sync-profile.d.ts +0 -403
  561. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  562. package/dist/src/core/types/sync-profile.js +0 -55
  563. package/dist/src/core/types/sync-profile.js.map +0 -1
  564. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  565. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  566. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  567. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  568. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  569. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  570. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  571. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  572. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  573. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  574. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  575. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  576. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  577. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  578. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  579. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  580. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  581. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  582. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  583. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  584. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  585. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  586. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  587. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  588. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  589. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  590. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  591. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  592. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  593. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  594. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  595. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  596. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  597. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  598. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  599. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  600. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  601. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  602. package/dist/src/hooks/lib/translate-file.js +0 -350
  603. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  604. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  605. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  606. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  607. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  608. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  609. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  610. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  611. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  612. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  613. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  614. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  615. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  616. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  617. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  618. package/dist/src/integrations/ado/ado-client.js +0 -416
  619. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  620. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  621. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  622. package/dist/src/integrations/jira/jira-client.js +0 -386
  623. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  624. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  625. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  626. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  627. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  628. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  629. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  630. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  631. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  632. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  633. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  634. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  635. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  636. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  637. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  638. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  639. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  640. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  641. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  642. package/dist/src/metrics/calculators/lead-time.js +0 -82
  643. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  644. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  645. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  646. package/dist/src/metrics/calculators/mttr.js +0 -60
  647. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  648. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  649. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  650. package/dist/src/metrics/dora-calculator.js +0 -117
  651. package/dist/src/metrics/dora-calculator.js.map +0 -1
  652. package/dist/src/metrics/github-client.d.ts +0 -51
  653. package/dist/src/metrics/github-client.d.ts.map +0 -1
  654. package/dist/src/metrics/github-client.js +0 -133
  655. package/dist/src/metrics/github-client.js.map +0 -1
  656. package/dist/src/metrics/report-generator.d.ts +0 -17
  657. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  658. package/dist/src/metrics/report-generator.js +0 -403
  659. package/dist/src/metrics/report-generator.js.map +0 -1
  660. package/dist/src/metrics/types.d.ts +0 -112
  661. package/dist/src/metrics/types.d.ts.map +0 -1
  662. package/dist/src/metrics/types.js +0 -10
  663. package/dist/src/metrics/types.js.map +0 -1
  664. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  665. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  666. package/dist/src/metrics/utils/percentile.js +0 -46
  667. package/dist/src/metrics/utils/percentile.js.map +0 -1
  668. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  669. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  670. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  671. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  672. package/dist/src/testing/test-generator.d.ts +0 -117
  673. package/dist/src/testing/test-generator.d.ts.map +0 -1
  674. package/dist/src/testing/test-generator.js +0 -370
  675. package/dist/src/testing/test-generator.js.map +0 -1
  676. package/dist/src/types/cost-tracking.d.ts +0 -43
  677. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  678. package/dist/src/types/cost-tracking.js +0 -8
  679. package/dist/src/types/cost-tracking.js.map +0 -1
  680. package/dist/src/types/model-selection.d.ts +0 -53
  681. package/dist/src/types/model-selection.d.ts.map +0 -1
  682. package/dist/src/types/model-selection.js +0 -12
  683. package/dist/src/types/model-selection.js.map +0 -1
  684. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  685. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  686. package/dist/src/utils/agents-md-compiler.js +0 -420
  687. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  688. package/dist/src/utils/auth-helpers.d.ts +0 -58
  689. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  690. package/dist/src/utils/auth-helpers.js +0 -108
  691. package/dist/src/utils/auth-helpers.js.map +0 -1
  692. package/dist/src/utils/auto-install.d.ts +0 -47
  693. package/dist/src/utils/auto-install.d.ts.map +0 -1
  694. package/dist/src/utils/auto-install.js +0 -211
  695. package/dist/src/utils/auto-install.js.map +0 -1
  696. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  697. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  698. package/dist/src/utils/claude-cli-detector.js +0 -285
  699. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  700. package/dist/src/utils/cost-reporter.d.ts +0 -58
  701. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  702. package/dist/src/utils/cost-reporter.js +0 -224
  703. package/dist/src/utils/cost-reporter.js.map +0 -1
  704. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  705. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  706. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  707. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  708. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  709. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  710. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  711. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  712. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  713. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  714. package/dist/src/utils/docs-preview/index.js +0 -7
  715. package/dist/src/utils/docs-preview/index.js.map +0 -1
  716. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  717. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  718. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  719. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  720. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  721. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  722. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  723. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  724. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  725. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  726. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  727. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  728. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  729. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  730. package/dist/src/utils/docs-preview/types.js +0 -2
  731. package/dist/src/utils/docs-preview/types.js.map +0 -1
  732. package/dist/src/utils/env-file.d.ts +0 -88
  733. package/dist/src/utils/env-file.d.ts.map +0 -1
  734. package/dist/src/utils/env-file.js +0 -180
  735. package/dist/src/utils/env-file.js.map +0 -1
  736. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  737. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  738. package/dist/src/utils/env-multi-project-parser.js +0 -403
  739. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  740. package/dist/src/utils/esm-helpers.d.ts +0 -50
  741. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  742. package/dist/src/utils/esm-helpers.js +0 -57
  743. package/dist/src/utils/esm-helpers.js.map +0 -1
  744. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  745. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  746. package/dist/src/utils/execFileNoThrow.js +0 -137
  747. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  748. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  749. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  750. package/dist/src/utils/external-resource-validator.js +0 -442
  751. package/dist/src/utils/external-resource-validator.js.map +0 -1
  752. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  753. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  754. package/dist/src/utils/generate-skills-index.js +0 -410
  755. package/dist/src/utils/generate-skills-index.js.map +0 -1
  756. package/dist/src/utils/model-selection.d.ts +0 -75
  757. package/dist/src/utils/model-selection.d.ts.map +0 -1
  758. package/dist/src/utils/model-selection.js +0 -204
  759. package/dist/src/utils/model-selection.js.map +0 -1
  760. package/dist/src/utils/plugin-validator.d.ts +0 -161
  761. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  762. package/dist/src/utils/plugin-validator.js +0 -558
  763. package/dist/src/utils/plugin-validator.js.map +0 -1
  764. package/dist/src/utils/pricing-constants.d.ts +0 -70
  765. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  766. package/dist/src/utils/pricing-constants.js +0 -71
  767. package/dist/src/utils/pricing-constants.js.map +0 -1
  768. package/dist/src/utils/project-detection.d.ts +0 -141
  769. package/dist/src/utils/project-detection.d.ts.map +0 -1
  770. package/dist/src/utils/project-detection.js +0 -321
  771. package/dist/src/utils/project-detection.js.map +0 -1
  772. package/dist/src/utils/string-utils.d.ts +0 -40
  773. package/dist/src/utils/string-utils.d.ts.map +0 -1
  774. package/dist/src/utils/string-utils.js +0 -58
  775. package/dist/src/utils/string-utils.js.map +0 -1
  776. package/dist/src/utils/translation.d.ts +0 -187
  777. package/dist/src/utils/translation.d.ts.map +0 -1
  778. package/dist/src/utils/translation.js +0 -414
  779. package/dist/src/utils/translation.js.map +0 -1
@@ -1,211 +1,183 @@
1
- /**
2
- * ADO Project Selector with Pagination
3
- *
4
- * Features:
5
- * - Fetches all ADO projects via API
6
- * - Interactive multi-select with search
7
- * - Manual project name entry (comma-separated)
8
- * - Handles large project lists (50+ projects)
9
- * - Validates project names
10
- */
11
- import inquirer from 'inquirer';
12
- // ============================================================================
13
- // ADO Project Fetching
14
- // ============================================================================
15
- /**
16
- * Fetch all ADO projects from API
17
- */
18
- export async function fetchAllAdoProjects(client) {
19
- console.log('🔍 Fetching Azure DevOps projects...');
20
- try {
21
- const projects = await client.getProjects();
22
- console.log(`✅ Found ${projects.length} Azure DevOps projects\n`);
23
- return projects;
24
- }
25
- catch (error) {
26
- console.error('❌ Failed to fetch ADO projects:', error.message);
27
- throw error;
28
- }
1
+ import inquirer from "inquirer";
2
+ async function fetchAllAdoProjects(client) {
3
+ console.log("\u{1F50D} Fetching Azure DevOps projects...");
4
+ try {
5
+ const projects = await client.getProjects();
6
+ console.log(`\u2705 Found ${projects.length} Azure DevOps projects
7
+ `);
8
+ return projects;
9
+ } catch (error) {
10
+ console.error("\u274C Failed to fetch ADO projects:", error.message);
11
+ throw error;
12
+ }
29
13
  }
30
- // ============================================================================
31
- // Interactive Project Selection
32
- // ============================================================================
33
- /**
34
- * Interactive project selector with search and pagination
35
- */
36
- export async function selectAdoProjects(client, options = {}) {
37
- const { allowManualEntry = true, allowSelectAll = true, preSelected = [], minSelection = 1, maxSelection, pageSize = 15, } = options;
38
- // Fetch all projects
39
- const allProjects = await fetchAllAdoProjects(client);
40
- if (allProjects.length === 0) {
41
- console.log('⚠️ No Azure DevOps projects found');
42
- return {
43
- selectedNames: [],
44
- method: 'interactive',
45
- };
46
- }
47
- // Show project overview
48
- console.log('📋 Available Azure DevOps Projects:\n');
49
- console.log(` Total: ${allProjects.length} projects\n`);
50
- // Decide selection method
51
- const { selectionMethod } = await inquirer.prompt([
14
+ async function selectAdoProjects(client, options = {}) {
15
+ const {
16
+ allowManualEntry = true,
17
+ allowSelectAll = true,
18
+ preSelected = [],
19
+ minSelection = 1,
20
+ maxSelection,
21
+ pageSize = 15
22
+ } = options;
23
+ const allProjects = await fetchAllAdoProjects(client);
24
+ if (allProjects.length === 0) {
25
+ console.log("\u26A0\uFE0F No Azure DevOps projects found");
26
+ return {
27
+ selectedNames: [],
28
+ method: "interactive"
29
+ };
30
+ }
31
+ console.log("\u{1F4CB} Available Azure DevOps Projects:\n");
32
+ console.log(` Total: ${allProjects.length} projects
33
+ `);
34
+ const { selectionMethod } = await inquirer.prompt([
35
+ {
36
+ type: "list",
37
+ name: "selectionMethod",
38
+ message: "How would you like to select projects?",
39
+ choices: [
52
40
  {
53
- type: 'list',
54
- name: 'selectionMethod',
55
- message: 'How would you like to select projects?',
56
- choices: [
57
- {
58
- name: `📋 Interactive (browse and select from ${allProjects.length} projects)`,
59
- value: 'interactive',
60
- },
61
- {
62
- name: '✏️ Manual entry (type project names)',
63
- value: 'manual',
64
- },
65
- ...(allowSelectAll
66
- ? [
67
- {
68
- name: `✨ Select all (${allProjects.length} projects)`,
69
- value: 'all',
70
- },
71
- ]
72
- : []),
73
- ],
41
+ name: `\u{1F4CB} Interactive (browse and select from ${allProjects.length} projects)`,
42
+ value: "interactive"
74
43
  },
75
- ]);
76
- if (selectionMethod === 'all') {
77
- return {
78
- selectedNames: allProjects.map((p) => p.name),
79
- method: 'all',
80
- };
81
- }
82
- if (selectionMethod === 'manual') {
83
- return await manualProjectEntry(allProjects, minSelection, maxSelection);
84
- }
85
- // Interactive selection
86
- return await interactiveProjectSelection(allProjects, preSelected, minSelection, maxSelection, pageSize);
87
- }
88
- /**
89
- * Interactive project selection with checkbox
90
- */
91
- async function interactiveProjectSelection(allProjects, preSelected, minSelection, maxSelection, pageSize) {
92
- console.log('💡 Use <space> to select, <a> to toggle all, <i> to invert\n');
93
- const choices = allProjects.map((p) => ({
94
- name: formatProjectChoice(p),
95
- value: p.name,
96
- checked: preSelected.includes(p.name),
97
- }));
98
- // Add manual entry option at the end
99
- choices.push(new inquirer.Separator(), {
100
- name: '✏️ Enter project names manually instead',
101
- value: '__MANUAL__',
102
- checked: false,
103
- });
104
- const { selectedNames } = await inquirer.prompt([
105
44
  {
106
- type: 'checkbox',
107
- name: 'selectedNames',
108
- message: `Select Azure DevOps projects (${minSelection}${maxSelection ? `-${maxSelection}` : '+'} required):`,
109
- choices,
110
- pageSize,
111
- loop: false,
112
- validate: (selected) => {
113
- const actualSelected = selected.filter((k) => k !== '__MANUAL__');
114
- if (actualSelected.length < minSelection) {
115
- return `Please select at least ${minSelection} project(s)`;
116
- }
117
- if (maxSelection && actualSelected.length > maxSelection) {
118
- return `Please select at most ${maxSelection} project(s)`;
119
- }
120
- return true;
121
- },
45
+ name: "\u270F\uFE0F Manual entry (type project names)",
46
+ value: "manual"
122
47
  },
123
- ]);
124
- // Check if user chose manual entry
125
- if (selectedNames.includes('__MANUAL__')) {
126
- return await manualProjectEntry(allProjects, minSelection, maxSelection);
48
+ ...allowSelectAll ? [
49
+ {
50
+ name: `\u2728 Select all (${allProjects.length} projects)`,
51
+ value: "all"
52
+ }
53
+ ] : []
54
+ ]
127
55
  }
128
- console.log(`\n✅ Selected ${selectedNames.length} projects: ${selectedNames.join(', ')}\n`);
56
+ ]);
57
+ if (selectionMethod === "all") {
129
58
  return {
130
- selectedNames,
131
- method: 'interactive',
59
+ selectedNames: allProjects.map((p) => p.name),
60
+ method: "all"
132
61
  };
62
+ }
63
+ if (selectionMethod === "manual") {
64
+ return await manualProjectEntry(allProjects, minSelection, maxSelection);
65
+ }
66
+ return await interactiveProjectSelection(
67
+ allProjects,
68
+ preSelected,
69
+ minSelection,
70
+ maxSelection,
71
+ pageSize
72
+ );
133
73
  }
134
- /**
135
- * Manual project name entry (comma-separated)
136
- */
137
- async function manualProjectEntry(allProjects, minSelection, maxSelection) {
138
- console.log('\n📝 Enter project names manually\n');
139
- console.log('💡 Format: Comma-separated project names (e.g., AI Meme Generator,Project 2,Project 3)\n');
140
- if (allProjects.length > 0) {
141
- console.log('Available project names:');
142
- console.log(allProjects
143
- .map((p) => p.name)
144
- .join(', ')
145
- .substring(0, 100) + (allProjects.length > 20 ? '...' : ''));
146
- console.log('');
74
+ async function interactiveProjectSelection(allProjects, preSelected, minSelection, maxSelection, pageSize) {
75
+ console.log("\u{1F4A1} Use <space> to select, <a> to toggle all, <i> to invert\n");
76
+ const choices = allProjects.map((p) => ({
77
+ name: formatProjectChoice(p),
78
+ value: p.name,
79
+ checked: preSelected.includes(p.name)
80
+ }));
81
+ choices.push(
82
+ new inquirer.Separator(),
83
+ {
84
+ name: "\u270F\uFE0F Enter project names manually instead",
85
+ value: "__MANUAL__",
86
+ checked: false
147
87
  }
148
- const { manualNames } = await inquirer.prompt([
149
- {
150
- type: 'input',
151
- name: 'manualNames',
152
- message: 'Project names:',
153
- validate: (input) => {
154
- if (!input.trim()) {
155
- return 'Please enter at least one project name';
156
- }
157
- const names = input
158
- .split(',')
159
- .map((n) => n.trim())
160
- .filter((n) => n.length > 0);
161
- if (names.length < minSelection) {
162
- return `Please enter at least ${minSelection} project name(s)`;
163
- }
164
- if (maxSelection && names.length > maxSelection) {
165
- return `Please enter at most ${maxSelection} project name(s)`;
166
- }
167
- return true;
168
- },
169
- },
170
- ]);
171
- const selectedNames = manualNames
172
- .split(',')
173
- .map((n) => n.trim())
174
- .filter((n) => n.length > 0);
175
- // Warn about unknown projects
176
- const knownNames = allProjects.map((p) => p.name);
177
- const unknownNames = selectedNames.filter((n) => !knownNames.includes(n));
178
- if (unknownNames.length > 0) {
179
- console.log(`\n⚠️ Unknown project names (will be used anyway): ${unknownNames.join(', ')}`);
180
- console.log(' Make sure these projects exist in your Azure DevOps organization.\n');
88
+ );
89
+ const { selectedNames } = await inquirer.prompt([
90
+ {
91
+ type: "checkbox",
92
+ name: "selectedNames",
93
+ message: `Select Azure DevOps projects (${minSelection}${maxSelection ? `-${maxSelection}` : "+"} required):`,
94
+ choices,
95
+ pageSize,
96
+ loop: false,
97
+ validate: (selected) => {
98
+ const actualSelected = selected.filter((k) => k !== "__MANUAL__");
99
+ if (actualSelected.length < minSelection) {
100
+ return `Please select at least ${minSelection} project(s)`;
101
+ }
102
+ if (maxSelection && actualSelected.length > maxSelection) {
103
+ return `Please select at most ${maxSelection} project(s)`;
104
+ }
105
+ return true;
106
+ }
181
107
  }
182
- console.log(`✅ Selected ${selectedNames.length} projects: ${selectedNames.join(', ')}\n`);
183
- return {
184
- selectedNames,
185
- method: 'manual',
186
- };
108
+ ]);
109
+ if (selectedNames.includes("__MANUAL__")) {
110
+ return await manualProjectEntry(allProjects, minSelection, maxSelection);
111
+ }
112
+ console.log(`
113
+ \u2705 Selected ${selectedNames.length} projects: ${selectedNames.join(", ")}
114
+ `);
115
+ return {
116
+ selectedNames,
117
+ method: "interactive"
118
+ };
119
+ }
120
+ async function manualProjectEntry(allProjects, minSelection, maxSelection) {
121
+ console.log("\n\u{1F4DD} Enter project names manually\n");
122
+ console.log("\u{1F4A1} Format: Comma-separated project names (e.g., AI Meme Generator,Project 2,Project 3)\n");
123
+ if (allProjects.length > 0) {
124
+ console.log("Available project names:");
125
+ console.log(
126
+ allProjects.map((p) => p.name).join(", ").substring(0, 100) + (allProjects.length > 20 ? "..." : "")
127
+ );
128
+ console.log("");
129
+ }
130
+ const { manualNames } = await inquirer.prompt([
131
+ {
132
+ type: "input",
133
+ name: "manualNames",
134
+ message: "Project names:",
135
+ validate: (input) => {
136
+ if (!input.trim()) {
137
+ return "Please enter at least one project name";
138
+ }
139
+ const names = input.split(",").map((n) => n.trim()).filter((n) => n.length > 0);
140
+ if (names.length < minSelection) {
141
+ return `Please enter at least ${minSelection} project name(s)`;
142
+ }
143
+ if (maxSelection && names.length > maxSelection) {
144
+ return `Please enter at most ${maxSelection} project name(s)`;
145
+ }
146
+ return true;
147
+ }
148
+ }
149
+ ]);
150
+ const selectedNames = manualNames.split(",").map((n) => n.trim()).filter((n) => n.length > 0);
151
+ const knownNames = allProjects.map((p) => p.name);
152
+ const unknownNames = selectedNames.filter((n) => !knownNames.includes(n));
153
+ if (unknownNames.length > 0) {
154
+ console.log(`
155
+ \u26A0\uFE0F Unknown project names (will be used anyway): ${unknownNames.join(", ")}`);
156
+ console.log(" Make sure these projects exist in your Azure DevOps organization.\n");
157
+ }
158
+ console.log(`\u2705 Selected ${selectedNames.length} projects: ${selectedNames.join(", ")}
159
+ `);
160
+ return {
161
+ selectedNames,
162
+ method: "manual"
163
+ };
187
164
  }
188
- // ============================================================================
189
- // Helpers
190
- // ============================================================================
191
- /**
192
- * Format project choice for display
193
- */
194
165
  function formatProjectChoice(project) {
195
- const visibility = project.visibility || 'private';
196
- const state = project.state || 'wellFormed';
197
- return `${project.name.padEnd(30)} - ${project.description || 'No description'} (${visibility}, ${state})`;
166
+ const visibility = project.visibility || "private";
167
+ const state = project.state || "wellFormed";
168
+ return `${project.name.padEnd(30)} - ${project.description || "No description"} (${visibility}, ${state})`;
198
169
  }
199
- /**
200
- * Quick project selector - select single project
201
- */
202
- export async function selectSingleAdoProject(client, message = 'Select Azure DevOps project:') {
203
- const result = await selectAdoProjects(client, {
204
- allowManualEntry: true,
205
- allowSelectAll: false,
206
- minSelection: 1,
207
- maxSelection: 1,
208
- });
209
- return result.selectedNames[0];
170
+ async function selectSingleAdoProject(client, message = "Select Azure DevOps project:") {
171
+ const result = await selectAdoProjects(client, {
172
+ allowManualEntry: true,
173
+ allowSelectAll: false,
174
+ minSelection: 1,
175
+ maxSelection: 1
176
+ });
177
+ return result.selectedNames[0];
210
178
  }
211
- //# sourceMappingURL=project-selector.js.map
179
+ export {
180
+ fetchAllAdoProjects,
181
+ selectAdoProjects,
182
+ selectSingleAdoProject
183
+ };
@@ -10,6 +10,17 @@
10
10
  }
11
11
  ]
12
12
  }
13
+ ],
14
+ "PostSlashCommand": [
15
+ {
16
+ "matcher": "specweave:specweave-done",
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-increment-done.sh"
21
+ }
22
+ ]
23
+ }
13
24
  ]
14
25
  }
15
26
  }
@@ -0,0 +1,224 @@
1
+ #!/bin/bash
2
+ # Post-Increment-Done Hook - GitHub Plugin
3
+ #
4
+ # Purpose: Automatically syncs living docs spec to GitHub Project when increment closes
5
+ #
6
+ # Triggered by: /specweave:done command completion
7
+ # Event: PostSlashCommand (commandName: "specweave:done")
8
+ #
9
+ # Flow:
10
+ # 1. Increment closes → PM validates
11
+ # 2. Hook fires automatically
12
+ # 3. Syncs living docs spec to GitHub Project
13
+ # 4. Closes GitHub Issue (if exists)
14
+ #
15
+ # Configuration (.specweave/config.json):
16
+ # "hooks": {
17
+ # "post_increment_done": {
18
+ # "sync_to_github_project": true,
19
+ # "close_github_issue": true,
20
+ # "update_living_docs_first": true
21
+ # }
22
+ # }
23
+
24
+ set -e
25
+
26
+ # ============================================================================
27
+ # Configuration & Logging
28
+ # ============================================================================
29
+
30
+ INCREMENT_ID="$1"
31
+ HOOK_NAME="post-increment-done"
32
+ LOG_DIR=".specweave/logs"
33
+ LOG_FILE="${LOG_DIR}/hooks-debug.log"
34
+ CONFIG_FILE=".specweave/config.json"
35
+
36
+ # Ensure log directory exists
37
+ mkdir -p "${LOG_DIR}"
38
+
39
+ # Logging function
40
+ log() {
41
+ local level="$1"
42
+ shift
43
+ local message="$*"
44
+ local timestamp
45
+ timestamp=$(date '+%Y-%m-%d %H:%M:%S')
46
+ echo "[${timestamp}] [${HOOK_NAME}] [${level}] ${message}" | tee -a "${LOG_FILE}"
47
+ }
48
+
49
+ log "INFO" "=========================================="
50
+ log "INFO" "Post-Increment-Done Hook Started"
51
+ log "INFO" "Increment: ${INCREMENT_ID}"
52
+ log "INFO" "=========================================="
53
+
54
+ # ============================================================================
55
+ # Validation & Configuration
56
+ # ============================================================================
57
+
58
+ # Check if increment ID provided
59
+ if [ -z "$INCREMENT_ID" ]; then
60
+ log "ERROR" "No increment ID provided to hook"
61
+ exit 0
62
+ fi
63
+
64
+ # Normalize increment ID to 4-digit format
65
+ # First strip leading zeros to avoid octal interpretation (0019 → 19)
66
+ INCREMENT_ID_NUM=$(echo "$INCREMENT_ID" | sed 's/^0*//')
67
+ # Then normalize to 4-digit format (19 → 0019)
68
+ INCREMENT_ID=$(printf "%04d" "$INCREMENT_ID_NUM" 2>/dev/null || echo "$INCREMENT_ID")
69
+
70
+ # Find increment directory (format: 0019-name or 0019)
71
+ INCREMENT_DIR=$(find .specweave/increments/ -maxdepth 1 -type d -name "${INCREMENT_ID}*" | head -1)
72
+
73
+ if [ -z "$INCREMENT_DIR" ] || [ ! -d "$INCREMENT_DIR" ]; then
74
+ log "WARN" "Increment directory not found for ID: ${INCREMENT_ID}"
75
+ exit 0
76
+ fi
77
+
78
+ log "INFO" "Found increment directory: ${INCREMENT_DIR}"
79
+
80
+ # Read configuration
81
+ if [ ! -f "$CONFIG_FILE" ]; then
82
+ log "WARN" "Config file not found: ${CONFIG_FILE}"
83
+ exit 0
84
+ fi
85
+
86
+ # Check if GitHub Project sync is enabled
87
+ SYNC_ENABLED=$(node -pe "
88
+ try {
89
+ const config = require('./${CONFIG_FILE}');
90
+ config.hooks?.post_increment_done?.sync_to_github_project || false;
91
+ } catch (e) {
92
+ false;
93
+ }
94
+ " 2>/dev/null || echo "false")
95
+
96
+ log "INFO" "GitHub Project sync enabled: ${SYNC_ENABLED}"
97
+
98
+ if [ "$SYNC_ENABLED" != "true" ]; then
99
+ log "INFO" "GitHub Project sync disabled, skipping"
100
+ exit 0
101
+ fi
102
+
103
+ # Check if GitHub CLI is available
104
+ if ! command -v gh &> /dev/null; then
105
+ log "WARN" "GitHub CLI (gh) not found, skipping sync"
106
+ exit 0
107
+ fi
108
+
109
+ # Check if gh is authenticated
110
+ if ! gh auth status &> /dev/null; then
111
+ log "WARN" "GitHub CLI not authenticated, skipping sync"
112
+ exit 0
113
+ fi
114
+
115
+ # ============================================================================
116
+ # Find Living Docs Spec
117
+ # ============================================================================
118
+
119
+ log "INFO" "Finding living docs spec for increment ${INCREMENT_ID}..."
120
+
121
+ # Pattern 1: spec-NNNN-name.md (e.g., spec-0018-strict-increment-discipline.md)
122
+ SPEC_FILE=$(find .specweave/docs/internal/specs/ -name "spec-${INCREMENT_ID}*.md" 2>/dev/null | head -1)
123
+
124
+ # Pattern 2: spec-NNN-name.md (e.g., spec-018-strict-increment-discipline.md)
125
+ if [ -z "$SPEC_FILE" ]; then
126
+ INCREMENT_ID_3DIGIT=$(printf "%03d" "$INCREMENT_ID" 2>/dev/null || echo "$INCREMENT_ID")
127
+ SPEC_FILE=$(find .specweave/docs/internal/specs/ -name "spec-${INCREMENT_ID_3DIGIT}*.md" 2>/dev/null | head -1)
128
+ fi
129
+
130
+ # Pattern 3: Check increment spec.md for living docs reference
131
+ if [ -z "$SPEC_FILE" ] && [ -f "${INCREMENT_DIR}/spec.md" ]; then
132
+ log "INFO" "Checking increment spec.md for living docs reference..."
133
+ SPEC_REFERENCE=$(grep -E "Living Docs:.*spec-[0-9]+" "${INCREMENT_DIR}/spec.md" | grep -oE "spec-[0-9]+-[a-z-]+" | head -1)
134
+ if [ -n "$SPEC_REFERENCE" ]; then
135
+ SPEC_FILE=$(find .specweave/docs/internal/specs/ -name "${SPEC_REFERENCE}.md" 2>/dev/null | head -1)
136
+ fi
137
+ fi
138
+
139
+ if [ -z "$SPEC_FILE" ]; then
140
+ log "WARN" "No living docs spec found for increment ${INCREMENT_ID}"
141
+ log "INFO" "This is OK for bug/hotfix increments that don't create new specs"
142
+ exit 0
143
+ fi
144
+
145
+ log "INFO" "Found living docs spec: ${SPEC_FILE}"
146
+
147
+ # ============================================================================
148
+ # Sync to GitHub Project
149
+ # ============================================================================
150
+
151
+ log "INFO" "🔄 Syncing living docs spec to GitHub Project..."
152
+
153
+ # Extract spec ID from filename (e.g., spec-018-name.md → 018)
154
+ SPEC_ID=$(basename "$SPEC_FILE" | grep -oE "spec-[0-9]+" | grep -oE "[0-9]+")
155
+
156
+ log "INFO" "Spec ID: ${SPEC_ID}"
157
+
158
+ # Call the sync-spec command
159
+ # NOTE: This assumes /specweave-github:sync-spec command exists
160
+ # If not implemented yet, this will gracefully fail
161
+ if npx specweave sync-spec "$SPEC_FILE" >> "${LOG_FILE}" 2>&1; then
162
+ log "INFO" "✅ GitHub Project synced successfully"
163
+ else
164
+ log "WARN" "Failed to sync to GitHub Project (command may not exist yet)"
165
+ log "INFO" "Manual sync: /specweave-github:sync-spec ${SPEC_FILE}"
166
+ fi
167
+
168
+ # ============================================================================
169
+ # Close GitHub Issue (Optional)
170
+ # ============================================================================
171
+
172
+ CLOSE_ISSUE=$(node -pe "
173
+ try {
174
+ const config = require('./${CONFIG_FILE}');
175
+ config.hooks?.post_increment_done?.close_github_issue || false;
176
+ } catch (e) {
177
+ false;
178
+ }
179
+ " 2>/dev/null || echo "false")
180
+
181
+ log "INFO" "Close GitHub issue enabled: ${CLOSE_ISSUE}"
182
+
183
+ if [ "$CLOSE_ISSUE" = "true" ]; then
184
+ # Check if increment has GitHub issue metadata
185
+ METADATA_FILE="${INCREMENT_DIR}/.metadata.json"
186
+
187
+ if [ -f "$METADATA_FILE" ]; then
188
+ ISSUE_NUMBER=$(node -pe "
189
+ try {
190
+ const metadata = require('./${METADATA_FILE}');
191
+ metadata.github?.issue || '';
192
+ } catch (e) {
193
+ '';
194
+ }
195
+ " 2>/dev/null || echo "")
196
+
197
+ if [ -n "$ISSUE_NUMBER" ]; then
198
+ log "INFO" "Closing GitHub issue #${ISSUE_NUMBER}..."
199
+
200
+ # Close issue via gh CLI
201
+ if gh issue close "$ISSUE_NUMBER" --comment "✅ Increment ${INCREMENT_ID} completed and closed" >> "${LOG_FILE}" 2>&1; then
202
+ log "INFO" "✅ GitHub issue #${ISSUE_NUMBER} closed"
203
+ else
204
+ log "WARN" "Failed to close GitHub issue #${ISSUE_NUMBER}"
205
+ fi
206
+ else
207
+ log "INFO" "No GitHub issue found in metadata"
208
+ fi
209
+ else
210
+ log "INFO" "No metadata file found: ${METADATA_FILE}"
211
+ fi
212
+ fi
213
+
214
+ # ============================================================================
215
+ # Completion
216
+ # ============================================================================
217
+
218
+ log "INFO" "=========================================="
219
+ log "INFO" "Post-Increment-Done Hook Completed"
220
+ log "INFO" "Increment: ${INCREMENT_ID}"
221
+ log "INFO" "Spec: ${SPEC_FILE}"
222
+ log "INFO" "=========================================="
223
+
224
+ exit 0
@@ -1,28 +1,17 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * CLI wrapper for syncing increment changes to GitHub
4
- *
5
- * Usage:
6
- * node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js <incrementId> <changedFile>
7
- *
8
- * Example:
9
- * node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js 0015-hierarchical-sync spec.md
10
- */
11
- import { syncIncrementChanges } from './github-sync-increment-changes.js';
2
+ import { syncIncrementChanges } from "./github-sync-increment-changes.js";
12
3
  const incrementId = process.argv[2];
13
4
  const changedFile = process.argv[3];
14
5
  if (!incrementId || !changedFile) {
15
- console.error('❌ Usage: cli-sync-increment-changes <incrementId> <changedFile>');
16
- console.error(' Example: cli-sync-increment-changes 0015-hierarchical-sync spec.md');
17
- process.exit(1);
6
+ console.error("\u274C Usage: cli-sync-increment-changes <incrementId> <changedFile>");
7
+ console.error(" Example: cli-sync-increment-changes 0015-hierarchical-sync spec.md");
8
+ process.exit(1);
18
9
  }
19
- if (!['spec.md', 'plan.md', 'tasks.md'].includes(changedFile)) {
20
- console.error(`❌ Invalid file: ${changedFile}`);
21
- console.error(' Must be one of: spec.md, plan.md, tasks.md');
22
- process.exit(1);
10
+ if (!["spec.md", "plan.md", "tasks.md"].includes(changedFile)) {
11
+ console.error(`\u274C Invalid file: ${changedFile}`);
12
+ console.error(" Must be one of: spec.md, plan.md, tasks.md");
13
+ process.exit(1);
23
14
  }
24
15
  syncIncrementChanges(incrementId, changedFile).catch((error) => {
25
- console.error('❌ Fatal error:', error);
26
- // Don't exit with error code - best-effort sync
16
+ console.error("\u274C Fatal error:", error);
27
17
  });
28
- //# sourceMappingURL=cli-sync-increment-changes.js.map