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,165 +1,142 @@
1
- /**
2
- * GitHub Spec Sync
3
- *
4
- * CORRECT ARCHITECTURE:
5
- * - Syncs .specweave/docs/internal/specs/spec-*.md ↔ GitHub Projects
6
- * - NOT increments ↔ GitHub Issues (that was wrong!)
7
- *
8
- * Mapping:
9
- * - Spec GitHub Project
10
- * - User Story → GitHub Project Card/Issue
11
- * - Acceptance Criteria → Checklist in Issue
12
- *
13
- * @module github-spec-sync
14
- */
15
- import { SpecMetadataManager } from '../../../src/core/specs/spec-metadata-manager.js';
16
- import { SpecParser } from '../../../src/core/specs/spec-parser.js';
17
- import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
18
- export class GitHubSpecSync {
19
- constructor(projectRoot = process.cwd()) {
20
- this.specManager = new SpecMetadataManager(projectRoot);
21
- }
22
- /**
23
- * Sync spec to GitHub Project (CREATE or UPDATE)
24
- */
25
- async syncSpecToGitHub(specId) {
26
- console.log(`\n🔄 Syncing spec ${specId} to GitHub Project...`);
27
- try {
28
- // 1. Load spec
29
- const spec = await this.specManager.loadSpec(specId);
30
- if (!spec) {
31
- return {
32
- success: false,
33
- specId,
34
- provider: 'github',
35
- error: `Spec ${specId} not found`
36
- };
37
- }
38
- // 2. Detect repository
39
- const repoInfo = await this.detectRepo();
40
- if (!repoInfo) {
41
- return {
42
- success: false,
43
- specId,
44
- provider: 'github',
45
- error: 'Could not detect GitHub repository'
46
- };
47
- }
48
- const { owner, repo } = repoInfo;
49
- // 3. Check if spec already linked to GitHub Project
50
- const existingLink = spec.metadata.externalLinks?.github;
51
- let project;
52
- if (existingLink?.projectId) {
53
- // UPDATE existing project
54
- console.log(` Found existing GitHub Project #${existingLink.projectId}`);
55
- project = await this.updateGitHubProject(owner, repo, existingLink.projectId, spec);
56
- }
57
- else {
58
- // CREATE new project
59
- console.log(' Creating new GitHub Project...');
60
- project = await this.createGitHubProject(owner, repo, spec);
61
- // Link spec to project
62
- await this.specManager.linkToExternal(specId, 'github', {
63
- id: project.id,
64
- url: project.url,
65
- owner,
66
- repo
67
- });
68
- }
69
- // 4. Sync user stories as issues/cards
70
- const changes = await this.syncUserStories(owner, repo, project.number, spec);
71
- console.log('✅ Sync complete!');
72
- return {
73
- success: true,
74
- specId,
75
- provider: 'github',
76
- externalId: project.id.toString(),
77
- url: project.url,
78
- changes
79
- };
80
- }
81
- catch (error) {
82
- console.error('❌ Error syncing to GitHub:', error);
83
- return {
84
- success: false,
85
- specId,
86
- provider: 'github',
87
- error: error instanceof Error ? error.message : 'Unknown error'
88
- };
89
- }
1
+ import { SpecMetadataManager } from "../../../src/core/specs/spec-metadata-manager.js";
2
+ import { SpecParser } from "../../../src/core/specs/spec-parser.js";
3
+ import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
+ class GitHubSpecSync {
5
+ constructor(projectRoot = process.cwd()) {
6
+ this.specManager = new SpecMetadataManager(projectRoot);
7
+ }
8
+ /**
9
+ * Sync spec to GitHub Project (CREATE or UPDATE)
10
+ */
11
+ async syncSpecToGitHub(specId) {
12
+ console.log(`
13
+ \u{1F504} Syncing spec ${specId} to GitHub Project...`);
14
+ try {
15
+ const spec = await this.specManager.loadSpec(specId);
16
+ if (!spec) {
17
+ return {
18
+ success: false,
19
+ specId,
20
+ provider: "github",
21
+ error: `Spec ${specId} not found`
22
+ };
23
+ }
24
+ const repoInfo = await this.detectRepo();
25
+ if (!repoInfo) {
26
+ return {
27
+ success: false,
28
+ specId,
29
+ provider: "github",
30
+ error: "Could not detect GitHub repository"
31
+ };
32
+ }
33
+ const { owner, repo } = repoInfo;
34
+ const existingLink = spec.metadata.externalLinks?.github;
35
+ let project;
36
+ if (existingLink?.projectId) {
37
+ console.log(` Found existing GitHub Project #${existingLink.projectId}`);
38
+ project = await this.updateGitHubProject(
39
+ owner,
40
+ repo,
41
+ existingLink.projectId,
42
+ spec
43
+ );
44
+ } else {
45
+ console.log(" Creating new GitHub Project...");
46
+ project = await this.createGitHubProject(owner, repo, spec);
47
+ await this.specManager.linkToExternal(specId, "github", {
48
+ id: project.id,
49
+ url: project.url,
50
+ owner,
51
+ repo
52
+ });
53
+ }
54
+ const changes = await this.syncUserStories(owner, repo, project.number, spec);
55
+ console.log("\u2705 Sync complete!");
56
+ return {
57
+ success: true,
58
+ specId,
59
+ provider: "github",
60
+ externalId: project.id.toString(),
61
+ url: project.url,
62
+ changes
63
+ };
64
+ } catch (error) {
65
+ console.error("\u274C Error syncing to GitHub:", error);
66
+ return {
67
+ success: false,
68
+ specId,
69
+ provider: "github",
70
+ error: error instanceof Error ? error.message : "Unknown error"
71
+ };
90
72
  }
91
- /**
92
- * Sync FROM GitHub Project to spec (bidirectional)
93
- */
94
- async syncFromGitHub(specId) {
95
- console.log(`\n🔄 Syncing FROM GitHub to spec ${specId}...`);
96
- try {
97
- // 1. Load spec
98
- const spec = await this.specManager.loadSpec(specId);
99
- if (!spec) {
100
- return {
101
- success: false,
102
- specId,
103
- provider: 'github',
104
- error: `Spec ${specId} not found`
105
- };
106
- }
107
- // 2. Get GitHub Project link
108
- const githubLink = spec.metadata.externalLinks?.github;
109
- if (!githubLink?.projectId) {
110
- return {
111
- success: false,
112
- specId,
113
- provider: 'github',
114
- error: 'Spec not linked to GitHub Project'
115
- };
116
- }
117
- const { owner, repo } = await this.detectRepo() || { owner: '', repo: '' };
118
- // 3. Fetch GitHub Project state
119
- const project = await this.fetchGitHubProject(owner, repo, githubLink.projectId);
120
- // 4. Detect conflicts
121
- const conflicts = await this.detectConflicts(spec, project);
122
- if (conflicts.length === 0) {
123
- console.log('✅ No conflicts - spec and GitHub in sync');
124
- return {
125
- success: true,
126
- specId,
127
- provider: 'github',
128
- externalId: project.id.toString(),
129
- url: project.url
130
- };
131
- }
132
- console.log(`⚠️ Detected ${conflicts.length} conflict(s)`);
133
- // 5. Resolve conflicts (GitHub wins by default for now)
134
- await this.resolveConflicts(spec, conflicts);
135
- console.log('✅ Sync FROM GitHub complete!');
136
- return {
137
- success: true,
138
- specId,
139
- provider: 'github',
140
- externalId: project.id.toString(),
141
- url: project.url,
142
- conflicts
143
- };
144
- }
145
- catch (error) {
146
- console.error('❌ Error syncing FROM GitHub:', error);
147
- return {
148
- success: false,
149
- specId,
150
- provider: 'github',
151
- error: error instanceof Error ? error.message : 'Unknown error'
152
- };
153
- }
73
+ }
74
+ /**
75
+ * Sync FROM GitHub Project to spec (bidirectional)
76
+ */
77
+ async syncFromGitHub(specId) {
78
+ console.log(`
79
+ \u{1F504} Syncing FROM GitHub to spec ${specId}...`);
80
+ try {
81
+ const spec = await this.specManager.loadSpec(specId);
82
+ if (!spec) {
83
+ return {
84
+ success: false,
85
+ specId,
86
+ provider: "github",
87
+ error: `Spec ${specId} not found`
88
+ };
89
+ }
90
+ const githubLink = spec.metadata.externalLinks?.github;
91
+ if (!githubLink?.projectId) {
92
+ return {
93
+ success: false,
94
+ specId,
95
+ provider: "github",
96
+ error: "Spec not linked to GitHub Project"
97
+ };
98
+ }
99
+ const { owner, repo } = await this.detectRepo() || { owner: "", repo: "" };
100
+ const project = await this.fetchGitHubProject(owner, repo, githubLink.projectId);
101
+ const conflicts = await this.detectConflicts(spec, project);
102
+ if (conflicts.length === 0) {
103
+ console.log("\u2705 No conflicts - spec and GitHub in sync");
104
+ return {
105
+ success: true,
106
+ specId,
107
+ provider: "github",
108
+ externalId: project.id.toString(),
109
+ url: project.url
110
+ };
111
+ }
112
+ console.log(`\u26A0\uFE0F Detected ${conflicts.length} conflict(s)`);
113
+ await this.resolveConflicts(spec, conflicts);
114
+ console.log("\u2705 Sync FROM GitHub complete!");
115
+ return {
116
+ success: true,
117
+ specId,
118
+ provider: "github",
119
+ externalId: project.id.toString(),
120
+ url: project.url,
121
+ conflicts
122
+ };
123
+ } catch (error) {
124
+ console.error("\u274C Error syncing FROM GitHub:", error);
125
+ return {
126
+ success: false,
127
+ specId,
128
+ provider: "github",
129
+ error: error instanceof Error ? error.message : "Unknown error"
130
+ };
154
131
  }
155
- /**
156
- * Create new GitHub Project for spec
157
- */
158
- async createGitHubProject(owner, repo, spec) {
159
- const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
160
- const projectBody = this.generateProjectDescription(spec);
161
- // Use GraphQL to create project
162
- const query = `
132
+ }
133
+ /**
134
+ * Create new GitHub Project for spec
135
+ */
136
+ async createGitHubProject(owner, repo, spec) {
137
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
138
+ const projectBody = this.generateProjectDescription(spec);
139
+ const query = `
163
140
  mutation CreateProject($ownerId: ID!, $title: String!, $body: String!) {
164
141
  createProjectV2(input: {
165
142
  ownerId: $ownerId,
@@ -175,33 +152,31 @@ export class GitHubSpecSync {
175
152
  }
176
153
  }
177
154
  `;
178
- // Get owner ID first
179
- const ownerId = await this.getOwnerId(owner);
180
- const result = await this.executeGraphQL(query, {
181
- ownerId,
182
- title: projectTitle,
183
- body: projectBody
184
- });
185
- const project = result.data.createProjectV2.projectV2;
186
- console.log(` ✅ Created GitHub Project #${project.number}: ${project.url}`);
187
- return {
188
- id: parseInt(project.id, 10),
189
- title: project.title,
190
- number: project.number,
191
- url: project.url,
192
- state: 'open',
193
- owner,
194
- repo
195
- };
196
- }
197
- /**
198
- * Update existing GitHub Project
199
- */
200
- async updateGitHubProject(owner, repo, projectId, spec) {
201
- const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
202
- const projectBody = this.generateProjectDescription(spec);
203
- // Use GraphQL to update project
204
- const query = `
155
+ const ownerId = await this.getOwnerId(owner);
156
+ const result = await this.executeGraphQL(query, {
157
+ ownerId,
158
+ title: projectTitle,
159
+ body: projectBody
160
+ });
161
+ const project = result.data.createProjectV2.projectV2;
162
+ console.log(` \u2705 Created GitHub Project #${project.number}: ${project.url}`);
163
+ return {
164
+ id: parseInt(project.id, 10),
165
+ title: project.title,
166
+ number: project.number,
167
+ url: project.url,
168
+ state: "open",
169
+ owner,
170
+ repo
171
+ };
172
+ }
173
+ /**
174
+ * Update existing GitHub Project
175
+ */
176
+ async updateGitHubProject(owner, repo, projectId, spec) {
177
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
178
+ const projectBody = this.generateProjectDescription(spec);
179
+ const query = `
205
180
  mutation UpdateProject($projectId: ID!, $title: String, $body: String) {
206
181
  updateProjectV2(input: {
207
182
  projectId: $projectId,
@@ -217,73 +192,66 @@ export class GitHubSpecSync {
217
192
  }
218
193
  }
219
194
  `;
220
- const result = await this.executeGraphQL(query, {
221
- projectId: projectId.toString(),
222
- title: projectTitle,
223
- body: projectBody
224
- });
225
- const project = result.data.updateProjectV2.projectV2;
226
- console.log(` Updated GitHub Project #${project.number}`);
227
- return {
228
- id: projectId,
229
- title: project.title,
230
- number: project.number,
231
- url: project.url,
232
- state: 'open',
233
- owner,
234
- repo
235
- };
195
+ const result = await this.executeGraphQL(query, {
196
+ projectId: projectId.toString(),
197
+ title: projectTitle,
198
+ body: projectBody
199
+ });
200
+ const project = result.data.updateProjectV2.projectV2;
201
+ console.log(` \u2705 Updated GitHub Project #${project.number}`);
202
+ return {
203
+ id: projectId,
204
+ title: project.title,
205
+ number: project.number,
206
+ url: project.url,
207
+ state: "open",
208
+ owner,
209
+ repo
210
+ };
211
+ }
212
+ /**
213
+ * Sync user stories as GitHub Issues
214
+ */
215
+ async syncUserStories(owner, repo, projectNumber, spec) {
216
+ const created = [];
217
+ const updated = [];
218
+ const deleted = [];
219
+ if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
220
+ console.log(" \u2139\uFE0F No user stories to sync");
221
+ return { created, updated, deleted };
236
222
  }
237
- /**
238
- * Sync user stories as GitHub Issues
239
- */
240
- async syncUserStories(owner, repo, projectNumber, spec) {
241
- const created = [];
242
- const updated = [];
243
- const deleted = [];
244
- if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
245
- console.log(' ℹ️ No user stories to sync');
246
- return { created, updated, deleted };
247
- }
248
- console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
249
- for (const us of spec.metadata.userStories) {
250
- // Create or update issue for each user story
251
- const issueTitle = `[${us.id}] ${us.title}`;
252
- const issueBody = this.generateIssueBody(us);
253
- // Check if issue already exists (by title pattern)
254
- const existingIssue = await this.findIssueByTitle(owner, repo, us.id);
255
- if (existingIssue) {
256
- // UPDATE existing issue
257
- await this.updateIssue(owner, repo, existingIssue.number, {
258
- title: issueTitle,
259
- body: issueBody,
260
- state: us.status === 'done' ? 'closed' : 'open'
261
- });
262
- updated.push(us.id);
263
- console.log(` ✅ Updated ${us.id}`);
264
- }
265
- else {
266
- // CREATE new issue
267
- const newIssue = await this.createIssue(owner, repo, {
268
- title: issueTitle,
269
- body: issueBody,
270
- labels: ['user-story', `spec:${spec.metadata.id}`, `priority:${us.priority}`]
271
- });
272
- created.push(us.id);
273
- console.log(` ✅ Created ${us.id} → Issue #${newIssue.number}`);
274
- }
275
- }
276
- return { created, updated, deleted };
223
+ console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
224
+ for (const us of spec.metadata.userStories) {
225
+ const issueTitle = `[${us.id}] ${us.title}`;
226
+ const issueBody = this.generateIssueBody(us);
227
+ const existingIssue = await this.findIssueByTitle(owner, repo, us.id);
228
+ if (existingIssue) {
229
+ await this.updateIssue(owner, repo, existingIssue.number, {
230
+ title: issueTitle,
231
+ body: issueBody,
232
+ state: us.status === "done" ? "closed" : "open"
233
+ });
234
+ updated.push(us.id);
235
+ console.log(` \u2705 Updated ${us.id}`);
236
+ } else {
237
+ const newIssue = await this.createIssue(owner, repo, {
238
+ title: issueTitle,
239
+ body: issueBody,
240
+ labels: ["user-story", `spec:${spec.metadata.id}`, `priority:${us.priority}`]
241
+ });
242
+ created.push(us.id);
243
+ console.log(` \u2705 Created ${us.id} \u2192 Issue #${newIssue.number}`);
244
+ }
277
245
  }
278
- /**
279
- * Generate project description from spec
280
- */
281
- generateProjectDescription(spec) {
282
- const progress = spec.metadata.progress;
283
- const progressText = progress
284
- ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)`
285
- : '**Progress**: N/A';
286
- return `
246
+ return { created, updated, deleted };
247
+ }
248
+ /**
249
+ * Generate project description from spec
250
+ */
251
+ generateProjectDescription(spec) {
252
+ const progress = spec.metadata.progress;
253
+ const progressText = progress ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)` : "**Progress**: N/A";
254
+ return `
287
255
  # ${spec.metadata.title}
288
256
 
289
257
  **Spec ID**: ${spec.metadata.id}
@@ -303,18 +271,16 @@ ${spec.metadata.userStories?.length || 0} user stories tracked in this project.
303
271
 
304
272
  ---
305
273
 
306
- 🤖 **Auto-synced from SpecWeave**
307
- Last updated: ${new Date().toISOString()}
274
+ \u{1F916} **Auto-synced from SpecWeave**
275
+ Last updated: ${(/* @__PURE__ */ new Date()).toISOString()}
308
276
  `.trim();
309
- }
310
- /**
311
- * Generate issue body from user story
312
- */
313
- generateIssueBody(us) {
314
- const acList = us.acceptanceCriteria
315
- .map(ac => `- [${ac.status === 'done' ? 'x' : ' '}] ${ac.description}`)
316
- .join('\n');
317
- return `
277
+ }
278
+ /**
279
+ * Generate issue body from user story
280
+ */
281
+ generateIssueBody(us) {
282
+ const acList = us.acceptanceCriteria.map((ac) => `- [${ac.status === "done" ? "x" : " "}] ${ac.description}`).join("\n");
283
+ return `
318
284
  ## User Story
319
285
 
320
286
  ${us.title}
@@ -328,178 +294,171 @@ ${acList}
328
294
  **Priority**: ${us.priority}
329
295
  **Status**: ${us.status}
330
296
 
331
- 🤖 **Auto-synced from SpecWeave**
297
+ \u{1F916} **Auto-synced from SpecWeave**
332
298
  `.trim();
299
+ }
300
+ /**
301
+ * Detect conflicts between spec and GitHub
302
+ */
303
+ async detectConflicts(spec, project) {
304
+ const conflicts = [];
305
+ const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
306
+ if (project.title !== expectedTitle) {
307
+ conflicts.push({
308
+ type: "metadata",
309
+ field: "title",
310
+ localValue: spec.metadata.title,
311
+ remoteValue: project.title,
312
+ resolution: "remote-wins",
313
+ description: "Project title differs from spec title"
314
+ });
333
315
  }
334
- /**
335
- * Detect conflicts between spec and GitHub
336
- */
337
- async detectConflicts(spec, project) {
338
- const conflicts = [];
339
- // Compare project title
340
- const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
341
- if (project.title !== expectedTitle) {
342
- conflicts.push({
343
- type: 'metadata',
344
- field: 'title',
345
- localValue: spec.metadata.title,
346
- remoteValue: project.title,
347
- resolution: 'remote-wins',
348
- description: 'Project title differs from spec title'
349
- });
350
- }
351
- // TODO: Compare user stories and their statuses
352
- return conflicts;
353
- }
354
- /**
355
- * Resolve conflicts
356
- */
357
- async resolveConflicts(spec, conflicts) {
358
- for (const conflict of conflicts) {
359
- if (conflict.resolution === 'remote-wins') {
360
- console.log(` 🔄 Resolving: ${conflict.description} (GitHub wins)`);
361
- // Update spec metadata from GitHub
362
- if (conflict.field === 'title') {
363
- await this.specManager.saveMetadata(spec.metadata.id, {
364
- title: conflict.remoteValue
365
- });
366
- }
367
- }
316
+ return conflicts;
317
+ }
318
+ /**
319
+ * Resolve conflicts
320
+ */
321
+ async resolveConflicts(spec, conflicts) {
322
+ for (const conflict of conflicts) {
323
+ if (conflict.resolution === "remote-wins") {
324
+ console.log(` \u{1F504} Resolving: ${conflict.description} (GitHub wins)`);
325
+ if (conflict.field === "title") {
326
+ await this.specManager.saveMetadata(spec.metadata.id, {
327
+ title: conflict.remoteValue
328
+ });
368
329
  }
330
+ }
369
331
  }
370
- /**
371
- * Execute GraphQL query against GitHub API
372
- */
373
- async executeGraphQL(query, variables) {
374
- const result = await execFileNoThrow('gh', [
375
- 'api',
376
- 'graphql',
377
- '-f',
378
- `query=${query}`,
379
- ...Object.entries(variables).flatMap(([key, value]) => ['-F', `${key}=${value}`])
380
- ]);
381
- if (result.error) {
382
- throw new Error(`GraphQL query failed: ${result.error}`);
383
- }
384
- return JSON.parse(result.stdout);
332
+ }
333
+ /**
334
+ * Execute GraphQL query against GitHub API
335
+ */
336
+ async executeGraphQL(query, variables) {
337
+ const result = await execFileNoThrow("gh", [
338
+ "api",
339
+ "graphql",
340
+ "-f",
341
+ `query=${query}`,
342
+ ...Object.entries(variables).flatMap(([key, value]) => ["-F", `${key}=${value}`])
343
+ ]);
344
+ if (result.error) {
345
+ throw new Error(`GraphQL query failed: ${result.error}`);
385
346
  }
386
- /**
387
- * Get owner ID (user or organization)
388
- */
389
- async getOwnerId(owner) {
390
- const query = `
347
+ return JSON.parse(result.stdout);
348
+ }
349
+ /**
350
+ * Get owner ID (user or organization)
351
+ */
352
+ async getOwnerId(owner) {
353
+ const query = `
391
354
  query GetOwner($login: String!) {
392
355
  repositoryOwner(login: $login) {
393
356
  id
394
357
  }
395
358
  }
396
359
  `;
397
- const result = await this.executeGraphQL(query, { login: owner });
398
- return result.data.repositoryOwner.id;
360
+ const result = await this.executeGraphQL(query, { login: owner });
361
+ return result.data.repositoryOwner.id;
362
+ }
363
+ /**
364
+ * Fetch GitHub Project details
365
+ */
366
+ async fetchGitHubProject(owner, repo, projectId) {
367
+ return {
368
+ id: projectId,
369
+ title: "Project Title",
370
+ number: 1,
371
+ url: "https://github.com/...",
372
+ state: "open",
373
+ owner,
374
+ repo
375
+ };
376
+ }
377
+ /**
378
+ * Find issue by title pattern
379
+ */
380
+ async findIssueByTitle(owner, repo, usId) {
381
+ const result = await execFileNoThrow("gh", [
382
+ "issue",
383
+ "list",
384
+ "--repo",
385
+ `${owner}/${repo}`,
386
+ "--search",
387
+ `"[${usId}]" in:title`,
388
+ "--json",
389
+ "number,title,body,state,labels",
390
+ "--limit",
391
+ "1"
392
+ ]);
393
+ if (result.error || !result.stdout) {
394
+ return null;
399
395
  }
400
- /**
401
- * Fetch GitHub Project details
402
- */
403
- async fetchGitHubProject(owner, repo, projectId) {
404
- // Placeholder - would use GraphQL to fetch project
405
- return {
406
- id: projectId,
407
- title: 'Project Title',
408
- number: 1,
409
- url: 'https://github.com/...',
410
- state: 'open',
411
- owner,
412
- repo
413
- };
396
+ const issues = JSON.parse(result.stdout);
397
+ return issues.length > 0 ? issues[0] : null;
398
+ }
399
+ /**
400
+ * Create GitHub issue
401
+ */
402
+ async createIssue(owner, repo, issue) {
403
+ const result = await execFileNoThrow("gh", [
404
+ "issue",
405
+ "create",
406
+ "--repo",
407
+ `${owner}/${repo}`,
408
+ "--title",
409
+ issue.title,
410
+ "--body",
411
+ issue.body,
412
+ "--label",
413
+ issue.labels.join(","),
414
+ "--json",
415
+ "number,title,body,state"
416
+ ]);
417
+ if (result.error) {
418
+ throw new Error(`Failed to create issue: ${result.error}`);
414
419
  }
415
- /**
416
- * Find issue by title pattern
417
- */
418
- async findIssueByTitle(owner, repo, usId) {
419
- const result = await execFileNoThrow('gh', [
420
- 'issue',
421
- 'list',
422
- '--repo',
423
- `${owner}/${repo}`,
424
- '--search',
425
- `"[${usId}]" in:title`,
426
- '--json',
427
- 'number,title,body,state,labels',
428
- '--limit',
429
- '1'
430
- ]);
431
- if (result.error || !result.stdout) {
432
- return null;
433
- }
434
- const issues = JSON.parse(result.stdout);
435
- return issues.length > 0 ? issues[0] : null;
420
+ return JSON.parse(result.stdout);
421
+ }
422
+ /**
423
+ * Update GitHub issue
424
+ */
425
+ async updateIssue(owner, repo, issueNumber, updates) {
426
+ const args = ["issue", "edit", issueNumber.toString(), "--repo", `${owner}/${repo}`];
427
+ if (updates.title) {
428
+ args.push("--title", updates.title);
436
429
  }
437
- /**
438
- * Create GitHub issue
439
- */
440
- async createIssue(owner, repo, issue) {
441
- const result = await execFileNoThrow('gh', [
442
- 'issue',
443
- 'create',
444
- '--repo',
445
- `${owner}/${repo}`,
446
- '--title',
447
- issue.title,
448
- '--body',
449
- issue.body,
450
- '--label',
451
- issue.labels.join(','),
452
- '--json',
453
- 'number,title,body,state'
454
- ]);
455
- if (result.error) {
456
- throw new Error(`Failed to create issue: ${result.error}`);
457
- }
458
- return JSON.parse(result.stdout);
430
+ if (updates.body) {
431
+ args.push("--body", updates.body);
459
432
  }
460
- /**
461
- * Update GitHub issue
462
- */
463
- async updateIssue(owner, repo, issueNumber, updates) {
464
- const args = ['issue', 'edit', issueNumber.toString(), '--repo', `${owner}/${repo}`];
465
- if (updates.title) {
466
- args.push('--title', updates.title);
467
- }
468
- if (updates.body) {
469
- args.push('--body', updates.body);
470
- }
471
- if (updates.state === 'closed') {
472
- args.push('--state', 'closed');
473
- }
474
- else if (updates.state === 'open') {
475
- args.push('--state', 'open');
476
- }
477
- const result = await execFileNoThrow('gh', args);
478
- if (result.error) {
479
- throw new Error(`Failed to update issue #${issueNumber}: ${result.error}`);
480
- }
433
+ if (updates.state === "closed") {
434
+ args.push("--state", "closed");
435
+ } else if (updates.state === "open") {
436
+ args.push("--state", "open");
481
437
  }
482
- /**
483
- * Detect GitHub repository from git remote
484
- */
485
- async detectRepo() {
486
- const result = await execFileNoThrow('git', ['remote', 'get-url', 'origin']);
487
- if (result.error || !result.stdout) {
488
- return null;
489
- }
490
- const remoteUrl = result.stdout.trim();
491
- // Parse GitHub URL
492
- // Examples:
493
- // - https://github.com/owner/repo.git
494
- // - git@github.com:owner/repo.git
495
- const httpsMatch = remoteUrl.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(\.git)?$/);
496
- if (httpsMatch) {
497
- return {
498
- owner: httpsMatch[1],
499
- repo: httpsMatch[2]
500
- };
501
- }
502
- return null;
438
+ const result = await execFileNoThrow("gh", args);
439
+ if (result.error) {
440
+ throw new Error(`Failed to update issue #${issueNumber}: ${result.error}`);
441
+ }
442
+ }
443
+ /**
444
+ * Detect GitHub repository from git remote
445
+ */
446
+ async detectRepo() {
447
+ const result = await execFileNoThrow("git", ["remote", "get-url", "origin"]);
448
+ if (result.error || !result.stdout) {
449
+ return null;
450
+ }
451
+ const remoteUrl = result.stdout.trim();
452
+ const httpsMatch = remoteUrl.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(\.git)?$/);
453
+ if (httpsMatch) {
454
+ return {
455
+ owner: httpsMatch[1],
456
+ repo: httpsMatch[2]
457
+ };
503
458
  }
459
+ return null;
460
+ }
504
461
  }
505
- //# sourceMappingURL=github-spec-sync.js.map
462
+ export {
463
+ GitHubSpecSync
464
+ };