specweave 0.13.4 → 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 (783) 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/.claude-plugin/plugin.json +1 -2
  8. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  9. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  10. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  11. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  12. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  13. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  14. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  15. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  16. package/plugins/specweave/lib/hooks/sync-living-docs.js +87 -129
  17. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  18. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  19. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  20. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  21. package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -2
  22. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  23. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  24. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  25. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  26. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -2
  27. package/plugins/specweave-github/hooks/hooks.json +11 -0
  28. package/plugins/specweave-github/hooks/post-increment-done.sh +224 -0
  29. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  30. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  31. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  32. package/plugins/specweave-github/lib/github-client.js +246 -280
  33. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  34. package/plugins/specweave-github/lib/github-issue-updater.js +231 -288
  35. package/plugins/specweave-github/lib/github-spec-sync.js +379 -420
  36. package/plugins/specweave-github/lib/github-sync-bidirectional.js +175 -202
  37. package/plugins/specweave-github/lib/github-sync-increment-changes.js +212 -251
  38. package/plugins/specweave-github/lib/index.js +11 -10
  39. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  40. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  41. package/plugins/specweave-github/lib/task-parser.js +191 -207
  42. package/plugins/specweave-github/lib/task-sync.js +344 -296
  43. package/plugins/specweave-github/lib/types.js +0 -5
  44. package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -2
  45. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  46. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  47. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  48. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  49. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  50. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  51. package/src/templates/AGENTS.md.template +42 -0
  52. package/dist/core/agent-model-manager.d.ts +0 -52
  53. package/dist/core/agent-model-manager.d.ts.map +0 -1
  54. package/dist/core/agent-model-manager.js +0 -120
  55. package/dist/core/agent-model-manager.js.map +0 -1
  56. package/dist/core/model-selector.d.ts +0 -57
  57. package/dist/core/model-selector.d.ts.map +0 -1
  58. package/dist/core/model-selector.js +0 -115
  59. package/dist/core/model-selector.js.map +0 -1
  60. package/dist/core/phase-detector.d.ts +0 -62
  61. package/dist/core/phase-detector.d.ts.map +0 -1
  62. package/dist/core/phase-detector.js +0 -229
  63. package/dist/core/phase-detector.js.map +0 -1
  64. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  65. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  66. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  67. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  68. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  69. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  70. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  71. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  72. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  73. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  74. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  75. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  76. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  77. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  78. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  79. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  80. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  81. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  82. package/dist/hooks/lib/reflection-parser.js +0 -419
  83. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  84. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  85. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  86. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  87. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  88. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  89. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  90. package/dist/hooks/lib/reflection-storage.js +0 -305
  91. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  92. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  93. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  94. package/dist/hooks/lib/run-self-reflection.js +0 -203
  95. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  96. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  97. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  98. package/dist/hooks/lib/sync-living-docs.js +0 -116
  99. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  100. package/dist/hooks/lib/translate-file.d.ts +0 -59
  101. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  102. package/dist/hooks/lib/translate-file.js +0 -350
  103. package/dist/hooks/lib/translate-file.js.map +0 -1
  104. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  105. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  106. package/dist/hooks/lib/translate-living-docs.js +0 -175
  107. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  108. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  109. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  110. package/dist/hooks/lib/types/reflection-types.js +0 -73
  111. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  112. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  113. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  114. package/dist/hooks/lib/update-tasks-md.js +0 -203
  115. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  116. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  117. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  118. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  119. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  120. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  121. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  122. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  123. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  124. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  125. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  126. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  127. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  128. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  129. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  130. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  131. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  132. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  133. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  134. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  135. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  136. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  137. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  138. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  139. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  140. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  141. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  142. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  143. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  144. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  145. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  146. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  147. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  148. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  149. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  150. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -144
  151. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  152. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  153. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  154. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  155. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  156. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  157. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  158. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  159. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  160. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  161. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  162. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  163. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  164. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  165. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  166. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  167. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  168. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  169. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  170. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  171. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  172. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  173. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  174. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  175. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  176. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  177. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  178. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  179. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  180. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  181. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  182. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  183. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  184. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  185. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  186. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -471
  187. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  188. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  189. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  190. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  191. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  192. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +0 -12
  193. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +0 -1
  194. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +0 -28
  195. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +0 -1
  196. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  197. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  198. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  199. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  200. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  201. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  202. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  203. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  204. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  205. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  206. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  207. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  208. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  209. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  210. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  211. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  212. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +0 -61
  213. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  214. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -327
  215. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  216. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  217. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  218. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -505
  219. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  220. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +0 -36
  221. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +0 -1
  222. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +0 -228
  223. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +0 -1
  224. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +0 -18
  225. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +0 -1
  226. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +0 -287
  227. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +0 -1
  228. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  229. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  230. package/dist/plugins/specweave-github/lib/index.js +0 -10
  231. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  232. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  233. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  234. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  235. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  236. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  237. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  238. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  239. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  240. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  241. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  242. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  243. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  244. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  245. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  246. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  247. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  248. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  249. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  250. package/dist/plugins/specweave-github/lib/types.js +0 -5
  251. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  252. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  253. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  254. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  255. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  256. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  257. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  258. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  259. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  260. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  261. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  262. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -456
  263. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  264. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  265. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  266. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  267. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  268. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  269. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  270. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  271. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  272. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  273. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  274. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  275. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  276. package/dist/src/adapters/adapter-base.d.ts +0 -71
  277. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  278. package/dist/src/adapters/adapter-base.js +0 -139
  279. package/dist/src/adapters/adapter-base.js.map +0 -1
  280. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  281. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  282. package/dist/src/adapters/adapter-interface.js +0 -8
  283. package/dist/src/adapters/adapter-interface.js.map +0 -1
  284. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  285. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  286. package/dist/src/adapters/adapter-loader.js +0 -238
  287. package/dist/src/adapters/adapter-loader.js.map +0 -1
  288. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  289. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  290. package/dist/src/adapters/agents-md-generator.js +0 -193
  291. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  292. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  293. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  294. package/dist/src/adapters/claude/adapter.js +0 -415
  295. package/dist/src/adapters/claude/adapter.js.map +0 -1
  296. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  297. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  298. package/dist/src/adapters/claude-md-generator.js +0 -307
  299. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  300. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  301. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  302. package/dist/src/adapters/codex/adapter.js +0 -316
  303. package/dist/src/adapters/codex/adapter.js.map +0 -1
  304. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  305. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  306. package/dist/src/adapters/cursor/adapter.js +0 -406
  307. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  308. package/dist/src/adapters/doc-generator.d.ts +0 -69
  309. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  310. package/dist/src/adapters/doc-generator.js +0 -247
  311. package/dist/src/adapters/doc-generator.js.map +0 -1
  312. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  313. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  314. package/dist/src/adapters/gemini/adapter.js +0 -281
  315. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  316. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  317. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  318. package/dist/src/adapters/generic/adapter.js +0 -338
  319. package/dist/src/adapters/generic/adapter.js.map +0 -1
  320. package/dist/src/cli/commands/abandon.d.ts +0 -13
  321. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  322. package/dist/src/cli/commands/abandon.js +0 -15
  323. package/dist/src/cli/commands/abandon.js.map +0 -1
  324. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  325. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  326. package/dist/src/cli/commands/import-docs.js +0 -146
  327. package/dist/src/cli/commands/import-docs.js.map +0 -1
  328. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  329. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  330. package/dist/src/cli/commands/init-multiproject.js +0 -202
  331. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  332. package/dist/src/cli/commands/init.d.ts +0 -9
  333. package/dist/src/cli/commands/init.d.ts.map +0 -1
  334. package/dist/src/cli/commands/init.js +0 -1444
  335. package/dist/src/cli/commands/init.js.map +0 -1
  336. package/dist/src/cli/commands/install.d.ts +0 -9
  337. package/dist/src/cli/commands/install.d.ts.map +0 -1
  338. package/dist/src/cli/commands/install.js +0 -127
  339. package/dist/src/cli/commands/install.js.map +0 -1
  340. package/dist/src/cli/commands/list.d.ts +0 -8
  341. package/dist/src/cli/commands/list.d.ts.map +0 -1
  342. package/dist/src/cli/commands/list.js +0 -119
  343. package/dist/src/cli/commands/list.js.map +0 -1
  344. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  345. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  346. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  347. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  348. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  349. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  350. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  351. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  352. package/dist/src/cli/commands/pause.d.ts +0 -13
  353. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  354. package/dist/src/cli/commands/pause.js +0 -15
  355. package/dist/src/cli/commands/pause.js.map +0 -1
  356. package/dist/src/cli/commands/qa.d.ts +0 -54
  357. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  358. package/dist/src/cli/commands/qa.js +0 -98
  359. package/dist/src/cli/commands/qa.js.map +0 -1
  360. package/dist/src/cli/commands/resume.d.ts +0 -12
  361. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  362. package/dist/src/cli/commands/resume.js +0 -14
  363. package/dist/src/cli/commands/resume.js.map +0 -1
  364. package/dist/src/cli/commands/status.d.ts +0 -12
  365. package/dist/src/cli/commands/status.d.ts.map +0 -1
  366. package/dist/src/cli/commands/status.js +0 -23
  367. package/dist/src/cli/commands/status.js.map +0 -1
  368. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  369. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  370. package/dist/src/cli/commands/switch-project.js +0 -91
  371. package/dist/src/cli/commands/switch-project.js.map +0 -1
  372. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  373. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  374. package/dist/src/cli/commands/validate-jira.js +0 -112
  375. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  376. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  377. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  378. package/dist/src/cli/commands/validate-plugins.js +0 -171
  379. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  380. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  381. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  382. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  383. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  384. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  385. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  386. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  387. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  388. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  389. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  390. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  391. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  392. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  393. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  394. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  395. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  396. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -108
  397. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  398. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  399. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  400. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  401. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  402. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  403. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  404. package/dist/src/core/agent-model-manager.d.ts +0 -52
  405. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  406. package/dist/src/core/agent-model-manager.js +0 -120
  407. package/dist/src/core/agent-model-manager.js.map +0 -1
  408. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  409. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  410. package/dist/src/core/brownfield/analyzer.js +0 -365
  411. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  412. package/dist/src/core/brownfield/importer.d.ts +0 -76
  413. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  414. package/dist/src/core/brownfield/importer.js +0 -287
  415. package/dist/src/core/brownfield/importer.js.map +0 -1
  416. package/dist/src/core/config-manager.d.ts +0 -47
  417. package/dist/src/core/config-manager.d.ts.map +0 -1
  418. package/dist/src/core/config-manager.js +0 -136
  419. package/dist/src/core/config-manager.js.map +0 -1
  420. package/dist/src/core/cost-tracker.d.ts +0 -108
  421. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  422. package/dist/src/core/cost-tracker.js +0 -281
  423. package/dist/src/core/cost-tracker.js.map +0 -1
  424. package/dist/src/core/credentials-manager.d.ts +0 -107
  425. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  426. package/dist/src/core/credentials-manager.js +0 -457
  427. package/dist/src/core/credentials-manager.js.map +0 -1
  428. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  429. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  430. package/dist/src/core/i18n/language-detector.js +0 -143
  431. package/dist/src/core/i18n/language-detector.js.map +0 -1
  432. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  433. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  434. package/dist/src/core/i18n/language-manager.js +0 -232
  435. package/dist/src/core/i18n/language-manager.js.map +0 -1
  436. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  437. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  438. package/dist/src/core/i18n/language-registry.js +0 -234
  439. package/dist/src/core/i18n/language-registry.js.map +0 -1
  440. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  441. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  442. package/dist/src/core/i18n/locale-manager.js +0 -137
  443. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  444. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  445. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  446. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  447. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  448. package/dist/src/core/i18n/types.d.ts +0 -151
  449. package/dist/src/core/i18n/types.d.ts.map +0 -1
  450. package/dist/src/core/i18n/types.js +0 -11
  451. package/dist/src/core/i18n/types.js.map +0 -1
  452. package/dist/src/core/increment/limits.d.ts +0 -68
  453. package/dist/src/core/increment/limits.d.ts.map +0 -1
  454. package/dist/src/core/increment/limits.js +0 -224
  455. package/dist/src/core/increment/limits.js.map +0 -1
  456. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  457. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  458. package/dist/src/core/increment/metadata-manager.js +0 -320
  459. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  460. package/dist/src/core/increment/status-commands.d.ts +0 -43
  461. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  462. package/dist/src/core/increment/status-commands.js +0 -277
  463. package/dist/src/core/increment/status-commands.js.map +0 -1
  464. package/dist/src/core/increment-status.d.ts +0 -72
  465. package/dist/src/core/increment-status.d.ts.map +0 -1
  466. package/dist/src/core/increment-status.js +0 -227
  467. package/dist/src/core/increment-status.js.map +0 -1
  468. package/dist/src/core/model-selector.d.ts +0 -57
  469. package/dist/src/core/model-selector.d.ts.map +0 -1
  470. package/dist/src/core/model-selector.js +0 -115
  471. package/dist/src/core/model-selector.js.map +0 -1
  472. package/dist/src/core/phase-detector.d.ts +0 -62
  473. package/dist/src/core/phase-detector.d.ts.map +0 -1
  474. package/dist/src/core/phase-detector.js +0 -229
  475. package/dist/src/core/phase-detector.js.map +0 -1
  476. package/dist/src/core/plugin-loader.d.ts +0 -131
  477. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  478. package/dist/src/core/plugin-loader.js +0 -421
  479. package/dist/src/core/plugin-loader.js.map +0 -1
  480. package/dist/src/core/project-manager.d.ts +0 -127
  481. package/dist/src/core/project-manager.d.ts.map +0 -1
  482. package/dist/src/core/project-manager.js +0 -524
  483. package/dist/src/core/project-manager.js.map +0 -1
  484. package/dist/src/core/project-structure-detector.d.ts +0 -92
  485. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  486. package/dist/src/core/project-structure-detector.js +0 -289
  487. package/dist/src/core/project-structure-detector.js.map +0 -1
  488. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  489. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  490. package/dist/src/core/qa/qa-runner.js +0 -404
  491. package/dist/src/core/qa/qa-runner.js.map +0 -1
  492. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  493. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  494. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  495. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  496. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  497. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  498. package/dist/src/core/qa/risk-calculator.js +0 -247
  499. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  500. package/dist/src/core/qa/types.d.ts +0 -315
  501. package/dist/src/core/qa/types.d.ts.map +0 -1
  502. package/dist/src/core/qa/types.js +0 -8
  503. package/dist/src/core/qa/types.js.map +0 -1
  504. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  505. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  506. package/dist/src/core/rfc-generator-v2.js +0 -399
  507. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  508. package/dist/src/core/specs/spec-metadata-manager.d.ts +0 -70
  509. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +0 -1
  510. package/dist/src/core/specs/spec-metadata-manager.js +0 -371
  511. package/dist/src/core/specs/spec-metadata-manager.js.map +0 -1
  512. package/dist/src/core/specs/spec-parser.d.ts +0 -66
  513. package/dist/src/core/specs/spec-parser.d.ts.map +0 -1
  514. package/dist/src/core/specs/spec-parser.js +0 -276
  515. package/dist/src/core/specs/spec-parser.js.map +0 -1
  516. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  517. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  518. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  519. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  520. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  521. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  522. package/dist/src/core/sync/folder-mapper.js +0 -168
  523. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  524. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  525. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  526. package/dist/src/core/sync/profile-manager.js +0 -338
  527. package/dist/src/core/sync/profile-manager.js.map +0 -1
  528. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  529. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  530. package/dist/src/core/sync/profile-selector.js +0 -179
  531. package/dist/src/core/sync/profile-selector.js.map +0 -1
  532. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  533. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  534. package/dist/src/core/sync/profile-validator.js +0 -225
  535. package/dist/src/core/sync/profile-validator.js.map +0 -1
  536. package/dist/src/core/sync/project-context.d.ts +0 -81
  537. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  538. package/dist/src/core/sync/project-context.js +0 -354
  539. package/dist/src/core/sync/project-context.js.map +0 -1
  540. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  541. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  542. package/dist/src/core/sync/rate-limiter.js +0 -308
  543. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  544. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  545. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  546. package/dist/src/core/sync/time-range-selector.js +0 -224
  547. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  548. package/dist/src/core/types/config.d.ts +0 -90
  549. package/dist/src/core/types/config.d.ts.map +0 -1
  550. package/dist/src/core/types/config.js +0 -44
  551. package/dist/src/core/types/config.js.map +0 -1
  552. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  553. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  554. package/dist/src/core/types/increment-metadata.js +0 -138
  555. package/dist/src/core/types/increment-metadata.js.map +0 -1
  556. package/dist/src/core/types/plugin.d.ts +0 -283
  557. package/dist/src/core/types/plugin.d.ts.map +0 -1
  558. package/dist/src/core/types/plugin.js +0 -49
  559. package/dist/src/core/types/plugin.js.map +0 -1
  560. package/dist/src/core/types/spec-metadata.d.ts +0 -229
  561. package/dist/src/core/types/spec-metadata.d.ts.map +0 -1
  562. package/dist/src/core/types/spec-metadata.js +0 -14
  563. package/dist/src/core/types/spec-metadata.js.map +0 -1
  564. package/dist/src/core/types/sync-profile.d.ts +0 -403
  565. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  566. package/dist/src/core/types/sync-profile.js +0 -55
  567. package/dist/src/core/types/sync-profile.js.map +0 -1
  568. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  569. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  570. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  571. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  572. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  573. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  574. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  575. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  576. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  577. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  578. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  579. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  580. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  581. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  582. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  583. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  584. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  585. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  586. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  587. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  588. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  589. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  590. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  591. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  592. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  593. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  594. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  595. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  596. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  597. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  598. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  599. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  600. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  601. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  602. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  603. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  604. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  605. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  606. package/dist/src/hooks/lib/translate-file.js +0 -350
  607. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  608. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  609. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  610. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  611. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  612. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  613. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  614. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  615. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  616. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  617. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  618. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  619. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  620. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  621. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  622. package/dist/src/integrations/ado/ado-client.js +0 -416
  623. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  624. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  625. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  626. package/dist/src/integrations/jira/jira-client.js +0 -386
  627. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  628. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  629. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  630. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  631. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  632. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  633. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  634. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  635. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  636. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  637. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  638. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  639. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  640. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  641. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  642. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  643. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  644. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  645. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  646. package/dist/src/metrics/calculators/lead-time.js +0 -82
  647. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  648. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  649. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  650. package/dist/src/metrics/calculators/mttr.js +0 -60
  651. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  652. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  653. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  654. package/dist/src/metrics/dora-calculator.js +0 -117
  655. package/dist/src/metrics/dora-calculator.js.map +0 -1
  656. package/dist/src/metrics/github-client.d.ts +0 -51
  657. package/dist/src/metrics/github-client.d.ts.map +0 -1
  658. package/dist/src/metrics/github-client.js +0 -133
  659. package/dist/src/metrics/github-client.js.map +0 -1
  660. package/dist/src/metrics/report-generator.d.ts +0 -17
  661. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  662. package/dist/src/metrics/report-generator.js +0 -403
  663. package/dist/src/metrics/report-generator.js.map +0 -1
  664. package/dist/src/metrics/types.d.ts +0 -112
  665. package/dist/src/metrics/types.d.ts.map +0 -1
  666. package/dist/src/metrics/types.js +0 -10
  667. package/dist/src/metrics/types.js.map +0 -1
  668. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  669. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  670. package/dist/src/metrics/utils/percentile.js +0 -46
  671. package/dist/src/metrics/utils/percentile.js.map +0 -1
  672. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  673. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  674. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  675. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  676. package/dist/src/testing/test-generator.d.ts +0 -117
  677. package/dist/src/testing/test-generator.d.ts.map +0 -1
  678. package/dist/src/testing/test-generator.js +0 -370
  679. package/dist/src/testing/test-generator.js.map +0 -1
  680. package/dist/src/types/cost-tracking.d.ts +0 -43
  681. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  682. package/dist/src/types/cost-tracking.js +0 -8
  683. package/dist/src/types/cost-tracking.js.map +0 -1
  684. package/dist/src/types/model-selection.d.ts +0 -53
  685. package/dist/src/types/model-selection.d.ts.map +0 -1
  686. package/dist/src/types/model-selection.js +0 -12
  687. package/dist/src/types/model-selection.js.map +0 -1
  688. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  689. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  690. package/dist/src/utils/agents-md-compiler.js +0 -420
  691. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  692. package/dist/src/utils/auth-helpers.d.ts +0 -58
  693. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  694. package/dist/src/utils/auth-helpers.js +0 -108
  695. package/dist/src/utils/auth-helpers.js.map +0 -1
  696. package/dist/src/utils/auto-install.d.ts +0 -47
  697. package/dist/src/utils/auto-install.d.ts.map +0 -1
  698. package/dist/src/utils/auto-install.js +0 -211
  699. package/dist/src/utils/auto-install.js.map +0 -1
  700. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  701. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  702. package/dist/src/utils/claude-cli-detector.js +0 -285
  703. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  704. package/dist/src/utils/cost-reporter.d.ts +0 -58
  705. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  706. package/dist/src/utils/cost-reporter.js +0 -224
  707. package/dist/src/utils/cost-reporter.js.map +0 -1
  708. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  709. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  710. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  711. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  712. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  713. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  714. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  715. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  716. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  717. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  718. package/dist/src/utils/docs-preview/index.js +0 -7
  719. package/dist/src/utils/docs-preview/index.js.map +0 -1
  720. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  721. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  722. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  723. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  724. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  725. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  726. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  727. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  728. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  729. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  730. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  731. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  732. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  733. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  734. package/dist/src/utils/docs-preview/types.js +0 -2
  735. package/dist/src/utils/docs-preview/types.js.map +0 -1
  736. package/dist/src/utils/env-file.d.ts +0 -88
  737. package/dist/src/utils/env-file.d.ts.map +0 -1
  738. package/dist/src/utils/env-file.js +0 -180
  739. package/dist/src/utils/env-file.js.map +0 -1
  740. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  741. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  742. package/dist/src/utils/env-multi-project-parser.js +0 -403
  743. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  744. package/dist/src/utils/esm-helpers.d.ts +0 -50
  745. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  746. package/dist/src/utils/esm-helpers.js +0 -57
  747. package/dist/src/utils/esm-helpers.js.map +0 -1
  748. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  749. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  750. package/dist/src/utils/execFileNoThrow.js +0 -137
  751. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  752. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  753. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  754. package/dist/src/utils/external-resource-validator.js +0 -442
  755. package/dist/src/utils/external-resource-validator.js.map +0 -1
  756. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  757. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  758. package/dist/src/utils/generate-skills-index.js +0 -410
  759. package/dist/src/utils/generate-skills-index.js.map +0 -1
  760. package/dist/src/utils/model-selection.d.ts +0 -75
  761. package/dist/src/utils/model-selection.d.ts.map +0 -1
  762. package/dist/src/utils/model-selection.js +0 -204
  763. package/dist/src/utils/model-selection.js.map +0 -1
  764. package/dist/src/utils/plugin-validator.d.ts +0 -161
  765. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  766. package/dist/src/utils/plugin-validator.js +0 -558
  767. package/dist/src/utils/plugin-validator.js.map +0 -1
  768. package/dist/src/utils/pricing-constants.d.ts +0 -70
  769. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  770. package/dist/src/utils/pricing-constants.js +0 -71
  771. package/dist/src/utils/pricing-constants.js.map +0 -1
  772. package/dist/src/utils/project-detection.d.ts +0 -141
  773. package/dist/src/utils/project-detection.d.ts.map +0 -1
  774. package/dist/src/utils/project-detection.js +0 -321
  775. package/dist/src/utils/project-detection.js.map +0 -1
  776. package/dist/src/utils/string-utils.d.ts +0 -40
  777. package/dist/src/utils/string-utils.d.ts.map +0 -1
  778. package/dist/src/utils/string-utils.js +0 -58
  779. package/dist/src/utils/string-utils.js.map +0 -1
  780. package/dist/src/utils/translation.d.ts +0 -187
  781. package/dist/src/utils/translation.d.ts.map +0 -1
  782. package/dist/src/utils/translation.js +0 -414
  783. 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
+ };