specweave 0.17.1 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/bin/specweave.js +16 -16
  2. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +109 -6
  3. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -1
  4. package/dist/plugins/specweave-github/lib/github-spec-sync.js +435 -49
  5. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
  6. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts +10 -2
  7. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  8. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +28 -14
  9. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  10. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
  11. package/dist/src/cli/helpers/issue-tracker/github.js +10 -1
  12. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
  13. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/issue-tracker/index.js +20 -0
  15. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  16. package/dist/src/core/project-manager.d.ts +25 -21
  17. package/dist/src/core/project-manager.d.ts.map +1 -1
  18. package/dist/src/core/project-manager.js +41 -51
  19. package/dist/src/core/project-manager.js.map +1 -1
  20. package/dist/src/core/repo-structure/folder-detector.d.ts +19 -0
  21. package/dist/src/core/repo-structure/folder-detector.d.ts.map +1 -0
  22. package/dist/src/core/repo-structure/folder-detector.js +95 -0
  23. package/dist/src/core/repo-structure/folder-detector.js.map +1 -0
  24. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -1
  25. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
  26. package/dist/src/core/repo-structure/repo-structure-manager.js +41 -27
  27. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
  28. package/dist/src/core/types/spec-metadata.d.ts +34 -1
  29. package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
  30. package/dist/src/core/types/sync-profile.d.ts +30 -0
  31. package/dist/src/core/types/sync-profile.d.ts.map +1 -1
  32. package/dist/src/core/types/sync-profile.js.map +1 -1
  33. package/dist/src/utils/project-validator.d.ts +27 -0
  34. package/dist/src/utils/project-validator.d.ts.map +1 -0
  35. package/dist/src/utils/project-validator.js +68 -0
  36. package/dist/src/utils/project-validator.js.map +1 -0
  37. package/package.json +1 -1
  38. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
  39. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
  40. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
  41. package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
  42. package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
  43. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
  44. package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
  45. package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
  46. package/plugins/specweave/lib/hooks/translate-file.js +239 -300
  47. package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
  48. package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
  49. package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
  50. package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
  51. package/plugins/specweave-ado/lib/ado-client-v2.js +405 -449
  52. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
  53. package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +173 -194
  54. package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
  55. package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
  56. package/plugins/specweave-ado/lib/project-selector.js +168 -196
  57. package/plugins/specweave-github/MULTI-PROJECT-SYNC-ARCHITECTURE.md +658 -0
  58. package/plugins/specweave-github/SYNC-ARCHITECTURE-FIX-SUMMARY.md +302 -0
  59. package/plugins/specweave-github/hooks/post-task-completion.sh +55 -157
  60. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
  61. package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
  62. package/plugins/specweave-github/lib/github-client-v2.js +400 -389
  63. package/plugins/specweave-github/lib/github-client.js +246 -280
  64. package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
  65. package/plugins/specweave-github/lib/github-spec-commit-sync.js +171 -194
  66. package/plugins/specweave-github/lib/github-spec-sync.js +742 -418
  67. package/plugins/specweave-github/lib/github-spec-sync.ts +597 -61
  68. package/plugins/specweave-github/lib/index.js +11 -10
  69. package/plugins/specweave-github/lib/repo-selector.js +174 -201
  70. package/plugins/specweave-github/lib/subtask-sync.js +132 -125
  71. package/plugins/specweave-github/lib/task-parser.js +191 -207
  72. package/plugins/specweave-github/lib/task-sync.js +344 -296
  73. package/plugins/specweave-github/lib/types.js +0 -5
  74. package/plugins/specweave-github/skills/github-sync/SKILL.md +234 -242
  75. package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
  76. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
  77. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +241 -263
  78. package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
  79. package/plugins/specweave-jira/lib/project-selector.js +172 -201
  80. package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
  81. package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
  82. package/dist/adapters/adapter-base.d.ts +0 -71
  83. package/dist/adapters/adapter-base.d.ts.map +0 -1
  84. package/dist/adapters/adapter-base.js +0 -139
  85. package/dist/adapters/adapter-base.js.map +0 -1
  86. package/dist/adapters/adapter-interface.d.ts +0 -149
  87. package/dist/adapters/adapter-interface.d.ts.map +0 -1
  88. package/dist/adapters/adapter-interface.js +0 -8
  89. package/dist/adapters/adapter-interface.js.map +0 -1
  90. package/dist/adapters/adapter-loader.d.ts +0 -91
  91. package/dist/adapters/adapter-loader.d.ts.map +0 -1
  92. package/dist/adapters/adapter-loader.js +0 -238
  93. package/dist/adapters/adapter-loader.js.map +0 -1
  94. package/dist/adapters/agents-md-generator.d.ts +0 -48
  95. package/dist/adapters/agents-md-generator.d.ts.map +0 -1
  96. package/dist/adapters/agents-md-generator.js +0 -193
  97. package/dist/adapters/agents-md-generator.js.map +0 -1
  98. package/dist/adapters/claude/adapter.d.ts +0 -128
  99. package/dist/adapters/claude/adapter.d.ts.map +0 -1
  100. package/dist/adapters/claude/adapter.js +0 -415
  101. package/dist/adapters/claude/adapter.js.map +0 -1
  102. package/dist/adapters/claude-md-generator.d.ts +0 -78
  103. package/dist/adapters/claude-md-generator.d.ts.map +0 -1
  104. package/dist/adapters/claude-md-generator.js +0 -307
  105. package/dist/adapters/claude-md-generator.js.map +0 -1
  106. package/dist/adapters/codex/adapter.d.ts +0 -50
  107. package/dist/adapters/codex/adapter.d.ts.map +0 -1
  108. package/dist/adapters/codex/adapter.js +0 -316
  109. package/dist/adapters/codex/adapter.js.map +0 -1
  110. package/dist/adapters/cursor/adapter.d.ts +0 -98
  111. package/dist/adapters/cursor/adapter.d.ts.map +0 -1
  112. package/dist/adapters/cursor/adapter.js +0 -406
  113. package/dist/adapters/cursor/adapter.js.map +0 -1
  114. package/dist/adapters/doc-generator.d.ts +0 -69
  115. package/dist/adapters/doc-generator.d.ts.map +0 -1
  116. package/dist/adapters/doc-generator.js +0 -247
  117. package/dist/adapters/doc-generator.js.map +0 -1
  118. package/dist/adapters/gemini/adapter.d.ts +0 -50
  119. package/dist/adapters/gemini/adapter.d.ts.map +0 -1
  120. package/dist/adapters/gemini/adapter.js +0 -281
  121. package/dist/adapters/gemini/adapter.js.map +0 -1
  122. package/dist/adapters/generic/adapter.d.ts +0 -86
  123. package/dist/adapters/generic/adapter.d.ts.map +0 -1
  124. package/dist/adapters/generic/adapter.js +0 -338
  125. package/dist/adapters/generic/adapter.js.map +0 -1
  126. package/dist/cli/commands/abandon.d.ts +0 -13
  127. package/dist/cli/commands/abandon.d.ts.map +0 -1
  128. package/dist/cli/commands/abandon.js +0 -15
  129. package/dist/cli/commands/abandon.js.map +0 -1
  130. package/dist/cli/commands/check-discipline.d.ts +0 -16
  131. package/dist/cli/commands/check-discipline.d.ts.map +0 -1
  132. package/dist/cli/commands/check-discipline.js +0 -79
  133. package/dist/cli/commands/check-discipline.js.map +0 -1
  134. package/dist/cli/commands/import-docs.d.ts +0 -21
  135. package/dist/cli/commands/import-docs.d.ts.map +0 -1
  136. package/dist/cli/commands/import-docs.js +0 -146
  137. package/dist/cli/commands/import-docs.js.map +0 -1
  138. package/dist/cli/commands/init-multiproject.d.ts +0 -11
  139. package/dist/cli/commands/init-multiproject.d.ts.map +0 -1
  140. package/dist/cli/commands/init-multiproject.js +0 -202
  141. package/dist/cli/commands/init-multiproject.js.map +0 -1
  142. package/dist/cli/commands/init.d.ts +0 -10
  143. package/dist/cli/commands/init.d.ts.map +0 -1
  144. package/dist/cli/commands/init.js +0 -1328
  145. package/dist/cli/commands/init.js.map +0 -1
  146. package/dist/cli/commands/install.d.ts +0 -9
  147. package/dist/cli/commands/install.d.ts.map +0 -1
  148. package/dist/cli/commands/install.js +0 -127
  149. package/dist/cli/commands/install.js.map +0 -1
  150. package/dist/cli/commands/list.d.ts +0 -8
  151. package/dist/cli/commands/list.d.ts.map +0 -1
  152. package/dist/cli/commands/list.js +0 -119
  153. package/dist/cli/commands/list.js.map +0 -1
  154. package/dist/cli/commands/migrate-to-multiproject.d.ts +0 -37
  155. package/dist/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  156. package/dist/cli/commands/migrate-to-multiproject.js +0 -189
  157. package/dist/cli/commands/migrate-to-multiproject.js.map +0 -1
  158. package/dist/cli/commands/migrate-to-profiles.d.ts +0 -25
  159. package/dist/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  160. package/dist/cli/commands/migrate-to-profiles.js +0 -348
  161. package/dist/cli/commands/migrate-to-profiles.js.map +0 -1
  162. package/dist/cli/commands/pause.d.ts +0 -13
  163. package/dist/cli/commands/pause.d.ts.map +0 -1
  164. package/dist/cli/commands/pause.js +0 -15
  165. package/dist/cli/commands/pause.js.map +0 -1
  166. package/dist/cli/commands/qa.d.ts +0 -54
  167. package/dist/cli/commands/qa.d.ts.map +0 -1
  168. package/dist/cli/commands/qa.js +0 -98
  169. package/dist/cli/commands/qa.js.map +0 -1
  170. package/dist/cli/commands/resume.d.ts +0 -12
  171. package/dist/cli/commands/resume.d.ts.map +0 -1
  172. package/dist/cli/commands/resume.js +0 -14
  173. package/dist/cli/commands/resume.js.map +0 -1
  174. package/dist/cli/commands/revert-wip-limit.js +0 -60
  175. package/dist/cli/commands/status-line.d.ts +0 -14
  176. package/dist/cli/commands/status-line.d.ts.map +0 -1
  177. package/dist/cli/commands/status-line.js +0 -75
  178. package/dist/cli/commands/status-line.js.map +0 -1
  179. package/dist/cli/commands/status.d.ts +0 -12
  180. package/dist/cli/commands/status.d.ts.map +0 -1
  181. package/dist/cli/commands/status.js +0 -23
  182. package/dist/cli/commands/status.js.map +0 -1
  183. package/dist/cli/commands/switch-project.d.ts +0 -13
  184. package/dist/cli/commands/switch-project.d.ts.map +0 -1
  185. package/dist/cli/commands/switch-project.js +0 -91
  186. package/dist/cli/commands/switch-project.js.map +0 -1
  187. package/dist/cli/commands/sync-spec-commits.d.ts +0 -9
  188. package/dist/cli/commands/sync-spec-commits.d.ts.map +0 -1
  189. package/dist/cli/commands/sync-spec-commits.js +0 -186
  190. package/dist/cli/commands/sync-spec-commits.js.map +0 -1
  191. package/dist/cli/commands/validate-jira.d.ts +0 -35
  192. package/dist/cli/commands/validate-jira.d.ts.map +0 -1
  193. package/dist/cli/commands/validate-jira.js +0 -112
  194. package/dist/cli/commands/validate-jira.js.map +0 -1
  195. package/dist/cli/commands/validate-plugins.d.ts +0 -41
  196. package/dist/cli/commands/validate-plugins.d.ts.map +0 -1
  197. package/dist/cli/commands/validate-plugins.js +0 -171
  198. package/dist/cli/commands/validate-plugins.js.map +0 -1
  199. package/dist/cli/helpers/github/increment-profile-selector.d.ts +0 -47
  200. package/dist/cli/helpers/github/increment-profile-selector.d.ts.map +0 -1
  201. package/dist/cli/helpers/github/increment-profile-selector.js +0 -186
  202. package/dist/cli/helpers/github/increment-profile-selector.js.map +0 -1
  203. package/dist/cli/helpers/github/profile-manager.d.ts +0 -119
  204. package/dist/cli/helpers/github/profile-manager.d.ts.map +0 -1
  205. package/dist/cli/helpers/github/profile-manager.js +0 -311
  206. package/dist/cli/helpers/github/profile-manager.js.map +0 -1
  207. package/dist/cli/helpers/issue-tracker/ado.d.ts +0 -57
  208. package/dist/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  209. package/dist/cli/helpers/issue-tracker/ado.js +0 -243
  210. package/dist/cli/helpers/issue-tracker/ado.js.map +0 -1
  211. package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts +0 -86
  212. package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +0 -1
  213. package/dist/cli/helpers/issue-tracker/github-multi-repo.js +0 -417
  214. package/dist/cli/helpers/issue-tracker/github-multi-repo.js.map +0 -1
  215. package/dist/cli/helpers/issue-tracker/github.d.ts +0 -80
  216. package/dist/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  217. package/dist/cli/helpers/issue-tracker/github.js +0 -324
  218. package/dist/cli/helpers/issue-tracker/github.js.map +0 -1
  219. package/dist/cli/helpers/issue-tracker/index.d.ts +0 -22
  220. package/dist/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  221. package/dist/cli/helpers/issue-tracker/index.js +0 -562
  222. package/dist/cli/helpers/issue-tracker/index.js.map +0 -1
  223. package/dist/cli/helpers/issue-tracker/jira.d.ts +0 -61
  224. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  225. package/dist/cli/helpers/issue-tracker/jira.js +0 -404
  226. package/dist/cli/helpers/issue-tracker/jira.js.map +0 -1
  227. package/dist/cli/helpers/issue-tracker/types.d.ts +0 -108
  228. package/dist/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  229. package/dist/cli/helpers/issue-tracker/types.js +0 -16
  230. package/dist/cli/helpers/issue-tracker/types.js.map +0 -1
  231. package/dist/cli/helpers/issue-tracker/utils.d.ts +0 -120
  232. package/dist/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  233. package/dist/cli/helpers/issue-tracker/utils.js +0 -293
  234. package/dist/cli/helpers/issue-tracker/utils.js.map +0 -1
  235. package/dist/core/agent-model-manager.d.ts +0 -52
  236. package/dist/core/agent-model-manager.d.ts.map +0 -1
  237. package/dist/core/agent-model-manager.js +0 -120
  238. package/dist/core/agent-model-manager.js.map +0 -1
  239. package/dist/core/brownfield/analyzer.d.ts +0 -86
  240. package/dist/core/brownfield/analyzer.d.ts.map +0 -1
  241. package/dist/core/brownfield/analyzer.js +0 -365
  242. package/dist/core/brownfield/analyzer.js.map +0 -1
  243. package/dist/core/brownfield/importer.d.ts +0 -76
  244. package/dist/core/brownfield/importer.d.ts.map +0 -1
  245. package/dist/core/brownfield/importer.js +0 -287
  246. package/dist/core/brownfield/importer.js.map +0 -1
  247. package/dist/core/comment-builder.d.ts +0 -57
  248. package/dist/core/comment-builder.d.ts.map +0 -1
  249. package/dist/core/comment-builder.js +0 -239
  250. package/dist/core/comment-builder.js.map +0 -1
  251. package/dist/core/config-manager.d.ts +0 -47
  252. package/dist/core/config-manager.d.ts.map +0 -1
  253. package/dist/core/config-manager.js +0 -136
  254. package/dist/core/config-manager.js.map +0 -1
  255. package/dist/core/cost-tracker.d.ts +0 -108
  256. package/dist/core/cost-tracker.d.ts.map +0 -1
  257. package/dist/core/cost-tracker.js +0 -281
  258. package/dist/core/cost-tracker.js.map +0 -1
  259. package/dist/core/credentials-manager.d.ts +0 -107
  260. package/dist/core/credentials-manager.d.ts.map +0 -1
  261. package/dist/core/credentials-manager.js +0 -457
  262. package/dist/core/credentials-manager.js.map +0 -1
  263. package/dist/core/i18n/language-detector.d.ts +0 -29
  264. package/dist/core/i18n/language-detector.d.ts.map +0 -1
  265. package/dist/core/i18n/language-detector.js +0 -143
  266. package/dist/core/i18n/language-detector.js.map +0 -1
  267. package/dist/core/i18n/language-manager.d.ts +0 -101
  268. package/dist/core/i18n/language-manager.d.ts.map +0 -1
  269. package/dist/core/i18n/language-manager.js +0 -232
  270. package/dist/core/i18n/language-manager.js.map +0 -1
  271. package/dist/core/i18n/language-registry.d.ts +0 -44
  272. package/dist/core/i18n/language-registry.d.ts.map +0 -1
  273. package/dist/core/i18n/language-registry.js +0 -234
  274. package/dist/core/i18n/language-registry.js.map +0 -1
  275. package/dist/core/i18n/locale-manager.d.ts +0 -62
  276. package/dist/core/i18n/locale-manager.d.ts.map +0 -1
  277. package/dist/core/i18n/locale-manager.js +0 -137
  278. package/dist/core/i18n/locale-manager.js.map +0 -1
  279. package/dist/core/i18n/system-prompt-injector.d.ts +0 -33
  280. package/dist/core/i18n/system-prompt-injector.d.ts.map +0 -1
  281. package/dist/core/i18n/system-prompt-injector.js +0 -131
  282. package/dist/core/i18n/system-prompt-injector.js.map +0 -1
  283. package/dist/core/i18n/types.d.ts +0 -151
  284. package/dist/core/i18n/types.d.ts.map +0 -1
  285. package/dist/core/i18n/types.js +0 -11
  286. package/dist/core/i18n/types.js.map +0 -1
  287. package/dist/core/increment/active-increment-manager.d.ts +0 -79
  288. package/dist/core/increment/active-increment-manager.d.ts.map +0 -1
  289. package/dist/core/increment/active-increment-manager.js +0 -153
  290. package/dist/core/increment/active-increment-manager.js.map +0 -1
  291. package/dist/core/increment/discipline-checker.d.ts +0 -60
  292. package/dist/core/increment/discipline-checker.d.ts.map +0 -1
  293. package/dist/core/increment/discipline-checker.js +0 -274
  294. package/dist/core/increment/discipline-checker.js.map +0 -1
  295. package/dist/core/increment/limits.d.ts +0 -68
  296. package/dist/core/increment/limits.d.ts.map +0 -1
  297. package/dist/core/increment/limits.js +0 -224
  298. package/dist/core/increment/limits.js.map +0 -1
  299. package/dist/core/increment/metadata-manager.d.ts +0 -116
  300. package/dist/core/increment/metadata-manager.d.ts.map +0 -1
  301. package/dist/core/increment/metadata-manager.js.map +0 -1
  302. package/dist/core/increment/metadata-validator.d.ts +0 -33
  303. package/dist/core/increment/metadata-validator.d.ts.map +0 -1
  304. package/dist/core/increment/metadata-validator.js +0 -147
  305. package/dist/core/increment/metadata-validator.js.map +0 -1
  306. package/dist/core/increment/status-commands.d.ts +0 -43
  307. package/dist/core/increment/status-commands.d.ts.map +0 -1
  308. package/dist/core/increment/status-commands.js +0 -277
  309. package/dist/core/increment/status-commands.js.map +0 -1
  310. package/dist/core/increment/types.d.ts +0 -88
  311. package/dist/core/increment/types.d.ts.map +0 -1
  312. package/dist/core/increment/types.js +0 -8
  313. package/dist/core/increment/types.js.map +0 -1
  314. package/dist/core/increment-status.d.ts +0 -72
  315. package/dist/core/increment-status.d.ts.map +0 -1
  316. package/dist/core/increment-status.js +0 -227
  317. package/dist/core/increment-status.js.map +0 -1
  318. package/dist/core/model-selector.d.ts +0 -57
  319. package/dist/core/model-selector.d.ts.map +0 -1
  320. package/dist/core/model-selector.js +0 -115
  321. package/dist/core/model-selector.js.map +0 -1
  322. package/dist/core/phase-detector.d.ts +0 -62
  323. package/dist/core/phase-detector.d.ts.map +0 -1
  324. package/dist/core/phase-detector.js +0 -229
  325. package/dist/core/phase-detector.js.map +0 -1
  326. package/dist/core/plugin-loader.d.ts +0 -131
  327. package/dist/core/plugin-loader.d.ts.map +0 -1
  328. package/dist/core/plugin-loader.js +0 -421
  329. package/dist/core/plugin-loader.js.map +0 -1
  330. package/dist/core/project-manager.d.ts +0 -127
  331. package/dist/core/project-manager.d.ts.map +0 -1
  332. package/dist/core/project-manager.js +0 -524
  333. package/dist/core/project-manager.js.map +0 -1
  334. package/dist/core/project-structure-detector.d.ts +0 -92
  335. package/dist/core/project-structure-detector.d.ts.map +0 -1
  336. package/dist/core/project-structure-detector.js +0 -289
  337. package/dist/core/project-structure-detector.js.map +0 -1
  338. package/dist/core/qa/qa-runner.d.ts +0 -16
  339. package/dist/core/qa/qa-runner.d.ts.map +0 -1
  340. package/dist/core/qa/qa-runner.js +0 -422
  341. package/dist/core/qa/qa-runner.js.map +0 -1
  342. package/dist/core/qa/quality-gate-decider.d.ts +0 -53
  343. package/dist/core/qa/quality-gate-decider.d.ts.map +0 -1
  344. package/dist/core/qa/quality-gate-decider.js +0 -268
  345. package/dist/core/qa/quality-gate-decider.js.map +0 -1
  346. package/dist/core/qa/risk-calculator.d.ts +0 -126
  347. package/dist/core/qa/risk-calculator.d.ts.map +0 -1
  348. package/dist/core/qa/risk-calculator.js +0 -247
  349. package/dist/core/qa/risk-calculator.js.map +0 -1
  350. package/dist/core/qa/types.d.ts +0 -315
  351. package/dist/core/qa/types.d.ts.map +0 -1
  352. package/dist/core/qa/types.js +0 -8
  353. package/dist/core/qa/types.js.map +0 -1
  354. package/dist/core/repo-structure/repo-structure-manager.d.ts +0 -82
  355. package/dist/core/repo-structure/repo-structure-manager.d.ts.map +0 -1
  356. package/dist/core/repo-structure/repo-structure-manager.js +0 -581
  357. package/dist/core/repo-structure/repo-structure-manager.js.map +0 -1
  358. package/dist/core/rfc-generator-v2.d.ts +0 -149
  359. package/dist/core/rfc-generator-v2.d.ts.map +0 -1
  360. package/dist/core/rfc-generator-v2.js +0 -399
  361. package/dist/core/rfc-generator-v2.js.map +0 -1
  362. package/dist/core/spec-task-mapper.d.ts +0 -71
  363. package/dist/core/spec-task-mapper.d.ts.map +0 -1
  364. package/dist/core/spec-task-mapper.js +0 -208
  365. package/dist/core/spec-task-mapper.js.map +0 -1
  366. package/dist/core/specs/spec-metadata-manager.d.ts +0 -70
  367. package/dist/core/specs/spec-metadata-manager.d.ts.map +0 -1
  368. package/dist/core/specs/spec-metadata-manager.js +0 -371
  369. package/dist/core/specs/spec-metadata-manager.js.map +0 -1
  370. package/dist/core/specs/spec-parser.d.ts +0 -66
  371. package/dist/core/specs/spec-parser.d.ts.map +0 -1
  372. package/dist/core/specs/spec-parser.js +0 -276
  373. package/dist/core/specs/spec-parser.js.map +0 -1
  374. package/dist/core/status-line/status-line-manager.d.ts +0 -62
  375. package/dist/core/status-line/status-line-manager.d.ts.map +0 -1
  376. package/dist/core/status-line/status-line-manager.js +0 -169
  377. package/dist/core/status-line/status-line-manager.js.map +0 -1
  378. package/dist/core/status-line/types.d.ts +0 -50
  379. package/dist/core/status-line/types.d.ts.map +0 -1
  380. package/dist/core/status-line/types.js +0 -17
  381. package/dist/core/status-line/types.js.map +0 -1
  382. package/dist/core/sync/bidirectional-engine.d.ts +0 -110
  383. package/dist/core/sync/bidirectional-engine.d.ts.map +0 -1
  384. package/dist/core/sync/bidirectional-engine.js +0 -356
  385. package/dist/core/sync/bidirectional-engine.js.map +0 -1
  386. package/dist/core/sync/folder-mapper.d.ts +0 -71
  387. package/dist/core/sync/folder-mapper.d.ts.map +0 -1
  388. package/dist/core/sync/folder-mapper.js +0 -203
  389. package/dist/core/sync/folder-mapper.js.map +0 -1
  390. package/dist/core/sync/profile-manager.d.ts +0 -72
  391. package/dist/core/sync/profile-manager.d.ts.map +0 -1
  392. package/dist/core/sync/profile-manager.js +0 -338
  393. package/dist/core/sync/profile-manager.js.map +0 -1
  394. package/dist/core/sync/profile-selector.d.ts +0 -52
  395. package/dist/core/sync/profile-selector.d.ts.map +0 -1
  396. package/dist/core/sync/profile-selector.js +0 -179
  397. package/dist/core/sync/profile-selector.js.map +0 -1
  398. package/dist/core/sync/profile-validator.d.ts +0 -52
  399. package/dist/core/sync/profile-validator.d.ts.map +0 -1
  400. package/dist/core/sync/profile-validator.js +0 -170
  401. package/dist/core/sync/profile-validator.js.map +0 -1
  402. package/dist/core/sync/project-context.d.ts +0 -81
  403. package/dist/core/sync/project-context.d.ts.map +0 -1
  404. package/dist/core/sync/project-context.js +0 -354
  405. package/dist/core/sync/project-context.js.map +0 -1
  406. package/dist/core/sync/rate-limiter.d.ts +0 -116
  407. package/dist/core/sync/rate-limiter.d.ts.map +0 -1
  408. package/dist/core/sync/rate-limiter.js +0 -308
  409. package/dist/core/sync/rate-limiter.js.map +0 -1
  410. package/dist/core/sync/time-range-selector.d.ts +0 -48
  411. package/dist/core/sync/time-range-selector.d.ts.map +0 -1
  412. package/dist/core/sync/time-range-selector.js +0 -224
  413. package/dist/core/sync/time-range-selector.js.map +0 -1
  414. package/dist/core/types/config.d.ts +0 -90
  415. package/dist/core/types/config.d.ts.map +0 -1
  416. package/dist/core/types/config.js +0 -44
  417. package/dist/core/types/config.js.map +0 -1
  418. package/dist/core/types/increment-metadata.d.ts +0 -120
  419. package/dist/core/types/increment-metadata.d.ts.map +0 -1
  420. package/dist/core/types/increment-metadata.js +0 -138
  421. package/dist/core/types/increment-metadata.js.map +0 -1
  422. package/dist/core/types/plugin.d.ts +0 -283
  423. package/dist/core/types/plugin.d.ts.map +0 -1
  424. package/dist/core/types/plugin.js +0 -49
  425. package/dist/core/types/plugin.js.map +0 -1
  426. package/dist/core/types/spec-metadata.d.ts +0 -229
  427. package/dist/core/types/spec-metadata.d.ts.map +0 -1
  428. package/dist/core/types/spec-metadata.js +0 -14
  429. package/dist/core/types/spec-metadata.js.map +0 -1
  430. package/dist/core/types/sync-profile.d.ts +0 -349
  431. package/dist/core/types/sync-profile.d.ts.map +0 -1
  432. package/dist/core/types/sync-profile.js +0 -79
  433. package/dist/core/types/sync-profile.js.map +0 -1
  434. package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
  435. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  436. package/dist/hooks/lib/git-diff-analyzer.js +0 -226
  437. package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
  438. package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
  439. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  440. package/dist/hooks/lib/invoke-translator-skill.js +0 -201
  441. package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
  442. package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
  443. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  444. package/dist/hooks/lib/prepare-reflection-context.js +0 -123
  445. package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
  446. package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
  447. package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  448. package/dist/hooks/lib/reflection-config-loader.js +0 -132
  449. package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
  450. package/dist/hooks/lib/reflection-parser.d.ts +0 -33
  451. package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
  452. package/dist/hooks/lib/reflection-parser.js +0 -419
  453. package/dist/hooks/lib/reflection-parser.js.map +0 -1
  454. package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  455. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  456. package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
  457. package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
  458. package/dist/hooks/lib/reflection-storage.d.ts +0 -64
  459. package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
  460. package/dist/hooks/lib/reflection-storage.js +0 -305
  461. package/dist/hooks/lib/reflection-storage.js.map +0 -1
  462. package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
  463. package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
  464. package/dist/hooks/lib/run-self-reflection.js +0 -203
  465. package/dist/hooks/lib/run-self-reflection.js.map +0 -1
  466. package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
  467. package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
  468. package/dist/hooks/lib/sync-living-docs.js +0 -116
  469. package/dist/hooks/lib/sync-living-docs.js.map +0 -1
  470. package/dist/hooks/lib/translate-file.d.ts +0 -59
  471. package/dist/hooks/lib/translate-file.d.ts.map +0 -1
  472. package/dist/hooks/lib/translate-file.js +0 -350
  473. package/dist/hooks/lib/translate-file.js.map +0 -1
  474. package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
  475. package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
  476. package/dist/hooks/lib/translate-living-docs.js +0 -175
  477. package/dist/hooks/lib/translate-living-docs.js.map +0 -1
  478. package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
  479. package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
  480. package/dist/hooks/lib/types/reflection-types.js +0 -73
  481. package/dist/hooks/lib/types/reflection-types.js.map +0 -1
  482. package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
  483. package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
  484. package/dist/hooks/lib/update-tasks-md.js +0 -203
  485. package/dist/hooks/lib/update-tasks-md.js.map +0 -1
  486. package/dist/integrations/ado/ado-client.d.ts +0 -127
  487. package/dist/integrations/ado/ado-client.d.ts.map +0 -1
  488. package/dist/integrations/ado/ado-client.js +0 -416
  489. package/dist/integrations/ado/ado-client.js.map +0 -1
  490. package/dist/integrations/jira/jira-client.d.ts +0 -139
  491. package/dist/integrations/jira/jira-client.d.ts.map +0 -1
  492. package/dist/integrations/jira/jira-client.js +0 -386
  493. package/dist/integrations/jira/jira-client.js.map +0 -1
  494. package/dist/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  495. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  496. package/dist/integrations/jira/jira-incremental-mapper.js +0 -474
  497. package/dist/integrations/jira/jira-incremental-mapper.js.map +0 -1
  498. package/dist/integrations/jira/jira-mapper.d.ts +0 -105
  499. package/dist/integrations/jira/jira-mapper.d.ts.map +0 -1
  500. package/dist/integrations/jira/jira-mapper.js +0 -494
  501. package/dist/integrations/jira/jira-mapper.js.map +0 -1
  502. package/dist/metrics/calculators/change-failure-rate.d.ts +0 -22
  503. package/dist/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  504. package/dist/metrics/calculators/change-failure-rate.js +0 -70
  505. package/dist/metrics/calculators/change-failure-rate.js.map +0 -1
  506. package/dist/metrics/calculators/deployment-frequency.d.ts +0 -20
  507. package/dist/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  508. package/dist/metrics/calculators/deployment-frequency.js +0 -61
  509. package/dist/metrics/calculators/deployment-frequency.js.map +0 -1
  510. package/dist/metrics/calculators/lead-time.d.ts +0 -22
  511. package/dist/metrics/calculators/lead-time.d.ts.map +0 -1
  512. package/dist/metrics/calculators/lead-time.js +0 -82
  513. package/dist/metrics/calculators/lead-time.js.map +0 -1
  514. package/dist/metrics/calculators/mttr.d.ts +0 -21
  515. package/dist/metrics/calculators/mttr.d.ts.map +0 -1
  516. package/dist/metrics/calculators/mttr.js +0 -60
  517. package/dist/metrics/calculators/mttr.js.map +0 -1
  518. package/dist/metrics/dora-calculator.d.ts +0 -28
  519. package/dist/metrics/dora-calculator.d.ts.map +0 -1
  520. package/dist/metrics/dora-calculator.js +0 -117
  521. package/dist/metrics/dora-calculator.js.map +0 -1
  522. package/dist/metrics/github-client.d.ts +0 -51
  523. package/dist/metrics/github-client.d.ts.map +0 -1
  524. package/dist/metrics/github-client.js +0 -133
  525. package/dist/metrics/github-client.js.map +0 -1
  526. package/dist/metrics/report-generator.d.ts +0 -17
  527. package/dist/metrics/report-generator.d.ts.map +0 -1
  528. package/dist/metrics/report-generator.js +0 -403
  529. package/dist/metrics/report-generator.js.map +0 -1
  530. package/dist/metrics/types.d.ts +0 -112
  531. package/dist/metrics/types.d.ts.map +0 -1
  532. package/dist/metrics/types.js +0 -10
  533. package/dist/metrics/types.js.map +0 -1
  534. package/dist/metrics/utils/percentile.d.ts +0 -25
  535. package/dist/metrics/utils/percentile.d.ts.map +0 -1
  536. package/dist/metrics/utils/percentile.js +0 -46
  537. package/dist/metrics/utils/percentile.js.map +0 -1
  538. package/dist/metrics/utils/tier-classifier.d.ts +0 -61
  539. package/dist/metrics/utils/tier-classifier.d.ts.map +0 -1
  540. package/dist/metrics/utils/tier-classifier.js +0 -100
  541. package/dist/metrics/utils/tier-classifier.js.map +0 -1
  542. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  543. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  544. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  545. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  546. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  547. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  548. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  549. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  550. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts +0 -149
  551. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts.map +0 -1
  552. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -517
  553. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js.map +0 -1
  554. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts +0 -72
  555. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts.map +0 -1
  556. package/dist/plugins/specweave-ado/lib/ado-project-detector.js +0 -416
  557. package/dist/plugins/specweave-ado/lib/ado-project-detector.js.map +0 -1
  558. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts +0 -99
  559. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +0 -1
  560. package/dist/plugins/specweave-ado/lib/conflict-resolver.js +0 -331
  561. package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +0 -1
  562. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  563. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  564. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  565. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  566. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  567. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  568. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  569. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  570. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  571. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  572. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  573. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  574. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts +0 -126
  575. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts.map +0 -1
  576. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js +0 -420
  577. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js.map +0 -1
  578. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  579. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  580. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  581. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  582. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  583. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  584. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  585. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  586. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  587. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  588. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  589. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  590. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts +0 -95
  591. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts.map +0 -1
  592. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js +0 -301
  593. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js.map +0 -1
  594. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  595. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  596. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  597. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  598. package/dist/project-mapper.js +0 -272
  599. package/dist/scripts/split-spec-by-project.js +0 -105
  600. package/dist/spec-splitter.js +0 -283
  601. package/dist/src/core/agent-model-manager.d.ts +0 -52
  602. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  603. package/dist/src/core/agent-model-manager.js +0 -120
  604. package/dist/src/core/agent-model-manager.js.map +0 -1
  605. package/dist/src/core/model-selector.d.ts +0 -57
  606. package/dist/src/core/model-selector.d.ts.map +0 -1
  607. package/dist/src/core/model-selector.js +0 -115
  608. package/dist/src/core/model-selector.js.map +0 -1
  609. package/dist/src/core/phase-detector.d.ts +0 -62
  610. package/dist/src/core/phase-detector.d.ts.map +0 -1
  611. package/dist/src/core/phase-detector.js +0 -229
  612. package/dist/src/core/phase-detector.js.map +0 -1
  613. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
  614. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
  615. package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
  616. package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
  617. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
  618. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
  619. package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
  620. package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
  621. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
  622. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
  623. package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
  624. package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
  625. package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
  626. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
  627. package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
  628. package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
  629. package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
  630. package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
  631. package/dist/src/hooks/lib/reflection-parser.js +0 -419
  632. package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
  633. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
  634. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
  635. package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
  636. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
  637. package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
  638. package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
  639. package/dist/src/hooks/lib/reflection-storage.js +0 -305
  640. package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
  641. package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
  642. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
  643. package/dist/src/hooks/lib/run-self-reflection.js +0 -203
  644. package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
  645. package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
  646. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
  647. package/dist/src/hooks/lib/sync-living-docs.js +0 -116
  648. package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
  649. package/dist/src/hooks/lib/translate-file.d.ts +0 -59
  650. package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
  651. package/dist/src/hooks/lib/translate-file.js +0 -350
  652. package/dist/src/hooks/lib/translate-file.js.map +0 -1
  653. package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
  654. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
  655. package/dist/src/hooks/lib/translate-living-docs.js +0 -175
  656. package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
  657. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
  658. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  659. package/dist/src/hooks/lib/types/reflection-types.js +0 -73
  660. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  661. package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
  662. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
  663. package/dist/src/hooks/lib/update-tasks-md.js +0 -203
  664. package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
  665. package/dist/testing/test-generator.d.ts +0 -117
  666. package/dist/testing/test-generator.d.ts.map +0 -1
  667. package/dist/testing/test-generator.js +0 -370
  668. package/dist/testing/test-generator.js.map +0 -1
  669. package/dist/types/cost-tracking.d.ts +0 -43
  670. package/dist/types/cost-tracking.d.ts.map +0 -1
  671. package/dist/types/cost-tracking.js +0 -8
  672. package/dist/types/cost-tracking.js.map +0 -1
  673. package/dist/types/model-selection.d.ts +0 -53
  674. package/dist/types/model-selection.d.ts.map +0 -1
  675. package/dist/types/model-selection.js +0 -12
  676. package/dist/types/model-selection.js.map +0 -1
  677. package/dist/utils/agents-md-compiler.d.ts +0 -68
  678. package/dist/utils/agents-md-compiler.d.ts.map +0 -1
  679. package/dist/utils/agents-md-compiler.js +0 -420
  680. package/dist/utils/agents-md-compiler.js.map +0 -1
  681. package/dist/utils/auth-helpers.d.ts +0 -58
  682. package/dist/utils/auth-helpers.d.ts.map +0 -1
  683. package/dist/utils/auth-helpers.js +0 -108
  684. package/dist/utils/auth-helpers.js.map +0 -1
  685. package/dist/utils/auto-install.d.ts +0 -47
  686. package/dist/utils/auto-install.d.ts.map +0 -1
  687. package/dist/utils/auto-install.js +0 -211
  688. package/dist/utils/auto-install.js.map +0 -1
  689. package/dist/utils/claude-cli-detector.d.ts +0 -75
  690. package/dist/utils/claude-cli-detector.d.ts.map +0 -1
  691. package/dist/utils/claude-cli-detector.js +0 -285
  692. package/dist/utils/claude-cli-detector.js.map +0 -1
  693. package/dist/utils/cost-reporter.d.ts +0 -58
  694. package/dist/utils/cost-reporter.d.ts.map +0 -1
  695. package/dist/utils/cost-reporter.js +0 -224
  696. package/dist/utils/cost-reporter.js.map +0 -1
  697. package/dist/utils/docs-preview/config-generator.d.ts +0 -46
  698. package/dist/utils/docs-preview/config-generator.d.ts.map +0 -1
  699. package/dist/utils/docs-preview/config-generator.js +0 -377
  700. package/dist/utils/docs-preview/config-generator.js.map +0 -1
  701. package/dist/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  702. package/dist/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  703. package/dist/utils/docs-preview/docusaurus-setup.js +0 -177
  704. package/dist/utils/docs-preview/docusaurus-setup.js.map +0 -1
  705. package/dist/utils/docs-preview/index.d.ts +0 -7
  706. package/dist/utils/docs-preview/index.d.ts.map +0 -1
  707. package/dist/utils/docs-preview/index.js +0 -7
  708. package/dist/utils/docs-preview/index.js.map +0 -1
  709. package/dist/utils/docs-preview/package-installer.d.ts +0 -42
  710. package/dist/utils/docs-preview/package-installer.d.ts.map +0 -1
  711. package/dist/utils/docs-preview/package-installer.js +0 -182
  712. package/dist/utils/docs-preview/package-installer.js.map +0 -1
  713. package/dist/utils/docs-preview/server-manager.d.ts +0 -30
  714. package/dist/utils/docs-preview/server-manager.d.ts.map +0 -1
  715. package/dist/utils/docs-preview/server-manager.js +0 -212
  716. package/dist/utils/docs-preview/server-manager.js.map +0 -1
  717. package/dist/utils/docs-preview/sidebar-builder.d.ts +0 -32
  718. package/dist/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  719. package/dist/utils/docs-preview/sidebar-builder.js +0 -202
  720. package/dist/utils/docs-preview/sidebar-builder.js.map +0 -1
  721. package/dist/utils/docs-preview/types.d.ts +0 -57
  722. package/dist/utils/docs-preview/types.d.ts.map +0 -1
  723. package/dist/utils/docs-preview/types.js +0 -2
  724. package/dist/utils/docs-preview/types.js.map +0 -1
  725. package/dist/utils/env-file.d.ts +0 -88
  726. package/dist/utils/env-file.d.ts.map +0 -1
  727. package/dist/utils/env-file.js +0 -180
  728. package/dist/utils/env-file.js.map +0 -1
  729. package/dist/utils/env-multi-project-parser.d.ts +0 -220
  730. package/dist/utils/env-multi-project-parser.d.ts.map +0 -1
  731. package/dist/utils/env-multi-project-parser.js +0 -401
  732. package/dist/utils/env-multi-project-parser.js.map +0 -1
  733. package/dist/utils/esm-helpers.d.ts +0 -50
  734. package/dist/utils/esm-helpers.d.ts.map +0 -1
  735. package/dist/utils/esm-helpers.js +0 -57
  736. package/dist/utils/esm-helpers.js.map +0 -1
  737. package/dist/utils/execFileNoThrow.d.ts +0 -99
  738. package/dist/utils/execFileNoThrow.d.ts.map +0 -1
  739. package/dist/utils/execFileNoThrow.js +0 -137
  740. package/dist/utils/execFileNoThrow.js.map +0 -1
  741. package/dist/utils/external-resource-validator.d.ts +0 -102
  742. package/dist/utils/external-resource-validator.d.ts.map +0 -1
  743. package/dist/utils/external-resource-validator.js +0 -504
  744. package/dist/utils/external-resource-validator.js.map +0 -1
  745. package/dist/utils/generate-skills-index.d.ts +0 -24
  746. package/dist/utils/generate-skills-index.d.ts.map +0 -1
  747. package/dist/utils/generate-skills-index.js +0 -410
  748. package/dist/utils/generate-skills-index.js.map +0 -1
  749. package/dist/utils/git-detector.d.ts +0 -84
  750. package/dist/utils/git-detector.d.ts.map +0 -1
  751. package/dist/utils/git-detector.js +0 -233
  752. package/dist/utils/git-detector.js.map +0 -1
  753. package/dist/utils/git-utils.d.ts +0 -74
  754. package/dist/utils/git-utils.d.ts.map +0 -1
  755. package/dist/utils/git-utils.js +0 -272
  756. package/dist/utils/git-utils.js.map +0 -1
  757. package/dist/utils/model-selection.d.ts +0 -75
  758. package/dist/utils/model-selection.d.ts.map +0 -1
  759. package/dist/utils/model-selection.js +0 -204
  760. package/dist/utils/model-selection.js.map +0 -1
  761. package/dist/utils/plugin-validator.d.ts +0 -161
  762. package/dist/utils/plugin-validator.d.ts.map +0 -1
  763. package/dist/utils/plugin-validator.js +0 -558
  764. package/dist/utils/plugin-validator.js.map +0 -1
  765. package/dist/utils/pricing-constants.d.ts +0 -70
  766. package/dist/utils/pricing-constants.d.ts.map +0 -1
  767. package/dist/utils/pricing-constants.js +0 -71
  768. package/dist/utils/pricing-constants.js.map +0 -1
  769. package/dist/utils/project-detection.d.ts +0 -141
  770. package/dist/utils/project-detection.d.ts.map +0 -1
  771. package/dist/utils/project-detection.js +0 -321
  772. package/dist/utils/project-detection.js.map +0 -1
  773. package/dist/utils/project-mapper.d.ts +0 -92
  774. package/dist/utils/project-mapper.d.ts.map +0 -1
  775. package/dist/utils/project-mapper.js +0 -276
  776. package/dist/utils/project-mapper.js.map +0 -1
  777. package/dist/utils/spec-splitter.d.ts +0 -75
  778. package/dist/utils/spec-splitter.d.ts.map +0 -1
  779. package/dist/utils/spec-splitter.js +0 -332
  780. package/dist/utils/spec-splitter.js.map +0 -1
  781. package/dist/utils/string-utils.d.ts +0 -40
  782. package/dist/utils/string-utils.d.ts.map +0 -1
  783. package/dist/utils/string-utils.js +0 -58
  784. package/dist/utils/string-utils.js.map +0 -1
  785. package/dist/utils/translation.d.ts +0 -187
  786. package/dist/utils/translation.d.ts.map +0 -1
  787. package/dist/utils/translation.js +0 -414
  788. package/dist/utils/translation.js.map +0 -1
  789. /package/dist/{locales → src/locales}/de/.gitkeep +0 -0
  790. /package/dist/{locales → src/locales}/de/cli.json +0 -0
  791. /package/dist/{locales → src/locales}/en/cli.json +0 -0
  792. /package/dist/{locales → src/locales}/en/errors.json +0 -0
  793. /package/dist/{locales → src/locales}/en/templates.json +0 -0
  794. /package/dist/{locales → src/locales}/es/.gitkeep +0 -0
  795. /package/dist/{locales → src/locales}/es/cli.json +0 -0
  796. /package/dist/{locales → src/locales}/fr/.gitkeep +0 -0
  797. /package/dist/{locales → src/locales}/fr/cli.json +0 -0
  798. /package/dist/{locales → src/locales}/ja/.gitkeep +0 -0
  799. /package/dist/{locales → src/locales}/ja/cli.json +0 -0
  800. /package/dist/{locales → src/locales}/ko/.gitkeep +0 -0
  801. /package/dist/{locales → src/locales}/ko/cli.json +0 -0
  802. /package/dist/{locales → src/locales}/pt/.gitkeep +0 -0
  803. /package/dist/{locales → src/locales}/pt/cli.json +0 -0
  804. /package/dist/{locales → src/locales}/ru/.gitkeep +0 -0
  805. /package/dist/{locales → src/locales}/ru/cli.json +0 -0
  806. /package/dist/{locales → src/locales}/zh/.gitkeep +0 -0
  807. /package/dist/{locales → src/locales}/zh/cli.json +0 -0
@@ -0,0 +1,302 @@
1
+ # GitHub Sync Architecture Fix - Complete Summary
2
+
3
+ **Date**: 2025-11-11
4
+ **Impact**: Breaking Change (v0.17.0+)
5
+ **Status**: Complete
6
+
7
+ ---
8
+
9
+ ## The Problem
10
+
11
+ **SpecWeave was syncing the WRONG things to GitHub!**
12
+
13
+ ### ❌ OLD Architecture (WRONG!)
14
+
15
+ ```
16
+ .specweave/increments/0001-feature ↔ GitHub Issue
17
+ ├─ Tasks (T-001, T-002, T-003) ↔ GitHub Checkboxes
18
+ └─ metadata.json.github.issue ↔ Issue #42
19
+ ```
20
+
21
+ **Why this was wrong**:
22
+ - ✅ Increments are **TEMPORARY** (implementation snapshots, can be deleted after done)
23
+ - ❌ GitHub Issues are **PERMANENT** (long-term tracking)
24
+ - ❌ Syncing temporary → permanent breaks traceability
25
+
26
+ **The screenshot that exposed this**:
27
+ ```
28
+ GitHub Issue: "Increment 0001: Daily Habit Tracker MVP - Frontend"
29
+ ```
30
+
31
+ **User feedback**:
32
+ > "syncing with increments is old approach, outdated it MUST be removed!! don't worry about backward compatibility, just remove it!!!"
33
+
34
+ ---
35
+
36
+ ## The Solution
37
+
38
+ ### ✅ NEW Architecture (CORRECT!)
39
+
40
+ ```
41
+ .specweave/docs/internal/specs/spec-001.md ↔ GitHub Project
42
+ ├─ User Story US-001 ↔ GitHub Issue #1
43
+ ├─ User Story US-002 ↔ GitHub Issue #2
44
+ └─ User Story US-003 ↔ GitHub Issue #3
45
+
46
+ Increments (NOT synced to GitHub):
47
+ ├─ 0001-core-framework (implements US-001, US-002)
48
+ ├─ 0002-core-enhancements (implements US-003, US-004)
49
+ └─ 0004-plugin-architecture (implements US-005, US-006)
50
+ ```
51
+
52
+ **Why this is correct**:
53
+ - ✅ **Specs = Permanent** (living docs, feature-level knowledge base)
54
+ - ✅ **User Stories = Permanent** (long-term requirements)
55
+ - ✅ **GitHub Projects = Permanent** (feature tracking)
56
+ - ✅ **Increments = Temporary** (NOT synced to GitHub!)
57
+
58
+ ---
59
+
60
+ ## What Was Changed
61
+
62
+ ### 1. Hook Rewritten (`post-task-completion.sh`)
63
+
64
+ **Before** (241 lines, synced increments):
65
+ ```bash
66
+ # Detect current increment
67
+ CURRENT_INCREMENT=$(ls -t .specweave/increments/...)
68
+
69
+ # Read metadata.json from increment
70
+ METADATA_FILE=".specweave/increments/$CURRENT_INCREMENT/metadata.json"
71
+ GITHUB_ISSUE=$(jq -r '.github.issue' "$METADATA_FILE")
72
+
73
+ # Update GitHub issue checkboxes
74
+ gh issue edit "$GITHUB_ISSUE" ...
75
+ ```
76
+
77
+ **After** (162 lines, syncs specs):
78
+ ```bash
79
+ # Detect current increment (temporary context)
80
+ CURRENT_INCREMENT=$(ls -t .specweave/increments/...)
81
+
82
+ # Find which spec this increment implements
83
+ SPEC_REF=$(grep -E "^(Implements|See).*SPEC-[0-9]+" "$SPEC_FILE")
84
+ SPEC_ID=$(echo "$SPEC_REF" | grep -oE "SPEC-[0-9]+" | tr 'A-Z' 'a-z')
85
+
86
+ # Sync spec to GitHub Project (via github-spec-sync.ts)
87
+ node "$SYNC_CLI" --spec-id "$SPEC_ID"
88
+ ```
89
+
90
+ **Key Changes**:
91
+ - ❌ Removed: ALL increment → GitHub issue sync code (79 lines deleted)
92
+ - ✅ Added: Spec detection logic (find spec from increment reference)
93
+ - ✅ Added: Call to `github-spec-sync.ts` CLI (already correct!)
94
+ - ✅ Result: Hook now syncs specs (permanent), not increments (temporary)
95
+
96
+ ### 2. Skill Documentation Rewritten (`github-sync/SKILL.md`)
97
+
98
+ **Before** (479 lines, described increment sync):
99
+ ```markdown
100
+ ## How GitHub Sync Works
101
+
102
+ ### 1. Increment → GitHub Issue (Export)
103
+
104
+ **Trigger**: After `/specweave:inc` creates a new increment
105
+
106
+ **Actions**:
107
+ 1. Create GitHub issue with:
108
+ - Title: `[Increment ${ID}] ${Title}`
109
+ - Body: Executive summary from spec.md
110
+ ...
111
+ ```
112
+
113
+ **After** (472 lines, describes spec sync):
114
+ ```markdown
115
+ ## CORRECT Architecture (v0.17.0+)
116
+
117
+ **CRITICAL**: SpecWeave syncs **SPECS** to GitHub, NOT increments!
118
+
119
+ ✅ CORRECT:
120
+ .specweave/docs/internal/specs/spec-001.md ↔ GitHub Project
121
+ ├─ User Story US-001 ↔ GitHub Issue #1
122
+
123
+ ❌ WRONG (OLD, REMOVED!):
124
+ .specweave/increments/0001-feature ↔ GitHub Issue (DEPRECATED!)
125
+
126
+ **Why Specs, Not Increments?**
127
+ - ✅ **Specs = Permanent** (living docs, feature-level knowledge base)
128
+ - ❌ **Increments = Temporary** (implementation snapshots, can be deleted after done)
129
+ ```
130
+
131
+ **Key Changes**:
132
+ - ❌ Removed: ALL references to increment → GitHub issue sync
133
+ - ✅ Added: Clear explanation of WHY specs, not increments
134
+ - ✅ Added: Visual architecture diagram (correct vs wrong)
135
+ - ✅ Updated: All examples to use specs instead of increments
136
+ - ✅ Updated: Commands to `/specweave-github:sync-spec` (not `/sync`)
137
+
138
+ ### 3. Commands (DEPRECATED, need rewrite)
139
+
140
+ **These commands are WRONG and need to be deprecated**:
141
+
142
+ | Command | What It Does (WRONG!) | What It Should Do |
143
+ |---------|----------------------|-------------------|
144
+ | `/specweave-github:sync` | Syncs increment to GitHub issue | **DEPRECATED!** Should be removed |
145
+ | `/specweave-github:sync-tasks` | Syncs tasks to GitHub issues | **DEPRECATED!** Should sync user stories instead |
146
+
147
+ **Correct commands** (need to be created):
148
+
149
+ | Command | What It Does (CORRECT!) | Status |
150
+ |---------|------------------------|--------|
151
+ | `/specweave-github:sync-spec <spec-id>` | Syncs spec to GitHub Project | ✅ Already exists (github-spec-sync.ts) |
152
+ | `/specweave-github:sync-spec --all` | Syncs all specs to GitHub | ✅ Already exists |
153
+ | `/specweave-github:import-project <id>` | Imports GitHub Project as spec | 🔜 TODO |
154
+
155
+ ---
156
+
157
+ ## What Needs to Be Done Next
158
+
159
+ ### 1. Deprecate Old Commands
160
+
161
+ **File**: `plugins/specweave-github/commands/specweave-github-sync.md`
162
+ **Action**: Add deprecation notice, point to `/specweave-github:sync-spec`
163
+
164
+ **File**: `plugins/specweave-github/commands/specweave-github-sync-tasks.md`
165
+ **Action**: Add deprecation notice, point to spec-based sync
166
+
167
+ ### 2. Create New Command
168
+
169
+ **File**: `plugins/specweave-github/commands/specweave-github-sync-spec.md`
170
+ **Action**: Document the CORRECT command (already implemented in `github-spec-sync.ts`)
171
+
172
+ ### 3. Update References
173
+
174
+ **Files to check**:
175
+ - `plugins/specweave-github/skills/github-issue-tracker/SKILL.md` (deprecate or update)
176
+ - `plugins/specweave-github/hooks/README.md` (update to reflect spec sync)
177
+ - `plugins/specweave-github/reference/github-specweave-mapping.md` (update mapping)
178
+ - `.claude-plugin/plugin.json` (update description)
179
+
180
+ ### 4. Remove Old Code
181
+
182
+ **Files to delete or refactor**:
183
+ - `lib/github-sync-bidirectional.ts` (increment-based sync, deprecated)
184
+ - `lib/task-sync.ts` (task-level sync, deprecated)
185
+ - `lib/task-parser.ts` (parses tasks from increments, deprecated)
186
+
187
+ **Keep**:
188
+ - `lib/github-spec-sync.ts` (✅ CORRECT! Already implements spec → GitHub Project sync)
189
+
190
+ ---
191
+
192
+ ## Testing Checklist
193
+
194
+ ### ✅ Completed
195
+ - [x] Hook no longer references `.specweave/increments/{id}/metadata.json`
196
+ - [x] Hook detects spec from increment reference
197
+ - [x] Hook calls `github-spec-sync.ts` CLI
198
+ - [x] Skill documentation updated to reflect spec sync
199
+
200
+ ### 🔜 TODO
201
+ - [ ] Deprecate `/specweave-github:sync` command
202
+ - [ ] Deprecate `/specweave-github:sync-tasks` command
203
+ - [ ] Create `/specweave-github:sync-spec` command documentation
204
+ - [ ] Update all references in docs and code
205
+ - [ ] Remove old increment-based sync libraries
206
+ - [ ] Test end-to-end spec → GitHub Project sync
207
+ - [ ] Verify user stories sync to GitHub Issues
208
+ - [ ] Verify acceptance criteria show as checkboxes
209
+
210
+ ---
211
+
212
+ ## Migration Guide (For Users)
213
+
214
+ ### Before (WRONG!)
215
+
216
+ ```bash
217
+ # Create increment
218
+ /specweave:increment "Add authentication"
219
+
220
+ # Sync increment to GitHub issue (❌ WRONG!)
221
+ /specweave-github:sync 0005
222
+ /specweave-github:sync-tasks 0005
223
+
224
+ # Result: GitHub Issue for increment (temporary!)
225
+ ```
226
+
227
+ ### After (CORRECT!)
228
+
229
+ ```bash
230
+ # Create spec (PM agent)
231
+ User: "Create spec for user authentication"
232
+ PM: Creates .specweave/docs/internal/specs/spec-005-user-auth.md
233
+
234
+ # Sync spec to GitHub Project (✅ CORRECT!)
235
+ /specweave-github:sync-spec spec-005
236
+
237
+ # Create increments (implements parts of spec)
238
+ /specweave:increment "Add login flow"
239
+ → Increment 0010 (implements US-001, US-002 from spec-005)
240
+
241
+ /specweave:increment "Add 2FA"
242
+ → Increment 0011 (implements US-003 from spec-005)
243
+
244
+ # Result: GitHub Project for spec (permanent!)
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Benefits of New Architecture
250
+
251
+ ### Before (Increment-Based)
252
+ - ❌ Temporary GitHub Issues (deleted after increment done)
253
+ - ❌ No long-term traceability (issues disappear)
254
+ - ❌ Team loses historical context
255
+ - ❌ Multiple increments = multiple issues for same feature
256
+
257
+ ### After (Spec-Based)
258
+ - ✅ Permanent GitHub Projects (never deleted)
259
+ - ✅ Complete traceability (feature history preserved)
260
+ - ✅ Team has full context (all user stories in one place)
261
+ - ✅ One Project per feature (regardless of # increments)
262
+
263
+ ---
264
+
265
+ ## Related Documentation
266
+
267
+ - [github-spec-sync.ts](lib/github-spec-sync.ts) - Implementation of spec → GitHub Project sync
268
+ - [github-sync/SKILL.md](skills/github-sync/SKILL.md) - Updated skill documentation
269
+ - [post-task-completion.sh](hooks/post-task-completion.sh) - Updated hook
270
+ - [Specs Architecture (CLAUDE.md)](../../CLAUDE.md#specs-architecture-two-locations-explained) - Why specs vs increments
271
+
272
+ ---
273
+
274
+ ## Summary
275
+
276
+ **What was fixed**:
277
+ - ✅ Hook now syncs specs (permanent) instead of increments (temporary)
278
+ - ✅ Documentation updated to reflect correct architecture
279
+ - ✅ Clear explanation of WHY specs, not increments
280
+ - ✅ Deprecated old commands (need formal deprecation notices)
281
+
282
+ **What was removed**:
283
+ - ❌ ALL increment → GitHub issue sync code (79 lines deleted from hook)
284
+ - ❌ ALL references to increment-based sync in documentation
285
+
286
+ **What needs to be done**:
287
+ - 🔜 Formally deprecate old commands
288
+ - 🔜 Create command documentation for `/specweave-github:sync-spec`
289
+ - 🔜 Remove old increment-based sync libraries
290
+ - 🔜 Test end-to-end workflow
291
+
292
+ **Impact**:
293
+ - Breaking change (v0.17.0+)
294
+ - Users must migrate from increment-based to spec-based sync
295
+ - Old increments with GitHub issues will continue to work (read-only)
296
+ - New work will only sync specs to GitHub Projects
297
+
298
+ ---
299
+
300
+ **Version**: v0.17.0+
301
+ **Last Updated**: 2025-11-11
302
+ **Status**: Architecture Fixed, Documentation Updated, Testing Pending
@@ -1,17 +1,22 @@
1
1
  #!/bin/bash
2
2
 
3
3
  # SpecWeave GitHub Sync Hook
4
- # Runs after task completion to sync progress to GitHub Issues
4
+ # Runs after task completion to sync progress to GitHub Projects
5
+ #
6
+ # CORRECT ARCHITECTURE (v0.17.0+):
7
+ # - Syncs .specweave/docs/internal/specs/spec-*.md ↔ GitHub Projects
8
+ # - NOT increments ↔ GitHub Issues (that was wrong!)
5
9
  #
6
10
  # This hook is part of the specweave-github plugin and handles:
7
- # - Updating GitHub issue checkboxes based on tasks.md completion status
8
- # - Posting progress comments to GitHub issues
9
- # - Syncing task completion state bidirectionally
11
+ # - Finding which spec the current work belongs to
12
+ # - Updating spec user stories based on task completion
13
+ # - Syncing spec state to GitHub Projects
14
+ # - Updating GitHub Project cards/issues
10
15
  #
11
16
  # Dependencies:
12
- # - gh CLI (GitHub CLI) must be installed and authenticated
13
- # - jq for JSON parsing
14
- # - metadata.json must have .github.issue field
17
+ # - Node.js and TypeScript CLI (dist/cli/commands/*)
18
+ # - GitHub CLI (gh) must be installed and authenticated
19
+ # - Spec metadata must have .externalLinks.github field
15
20
 
16
21
  set -e
17
22
 
@@ -55,35 +60,9 @@ mkdir -p "$LOGS_DIR" 2>/dev/null || true
55
60
 
56
61
  echo "[$(date)] [GitHub] 🔗 GitHub sync hook fired" >> "$DEBUG_LOG" 2>/dev/null || true
57
62
 
58
- # Detect current increment
59
- CURRENT_INCREMENT=$(ls -t .specweave/increments/ 2>/dev/null | grep -v "_backlog" | head -1)
60
-
61
- if [ -z "$CURRENT_INCREMENT" ]; then
62
- echo "[$(date)] [GitHub] ℹ️ No active increment, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
63
- cat <<EOF
64
- {
65
- "continue": true
66
- }
67
- EOF
68
- exit 0
69
- fi
70
-
71
- # Check for metadata.json
72
- METADATA_FILE=".specweave/increments/$CURRENT_INCREMENT/metadata.json"
73
-
74
- if [ ! -f "$METADATA_FILE" ]; then
75
- echo "[$(date)] [GitHub] ℹ️ No metadata.json for $CURRENT_INCREMENT, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
76
- cat <<EOF
77
- {
78
- "continue": true
79
- }
80
- EOF
81
- exit 0
82
- fi
83
-
84
- # Check for GitHub issue link
85
- if ! command -v jq &> /dev/null; then
86
- echo "[$(date)] [GitHub] ⚠️ jq not found, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
63
+ # Check if Node.js is available
64
+ if ! command -v node &> /dev/null; then
65
+ echo "[$(date)] [GitHub] ⚠️ Node.js not found, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
87
66
  cat <<EOF
88
67
  {
89
68
  "continue": true
@@ -92,10 +71,10 @@ EOF
92
71
  exit 0
93
72
  fi
94
73
 
95
- GITHUB_ISSUE=$(jq -r '.github.issue // empty' "$METADATA_FILE" 2>/dev/null)
96
-
97
- if [ -z "$GITHUB_ISSUE" ]; then
98
- echo "[$(date)] [GitHub] ℹ️ No GitHub issue linked to $CURRENT_INCREMENT, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
74
+ # Check if github-spec-sync CLI exists
75
+ SYNC_CLI="$PROJECT_ROOT/dist/cli/commands/sync-specs-to-github.js"
76
+ if [ ! -f "$SYNC_CLI" ]; then
77
+ echo "[$(date)] [GitHub] ⚠️ github-spec-sync CLI not found at $SYNC_CLI, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
99
78
  cat <<EOF
100
79
  {
101
80
  "continue": true
@@ -116,140 +95,59 @@ EOF
116
95
  fi
117
96
 
118
97
  # ============================================================================
119
- # GITHUB SYNC LOGIC
98
+ # DETECT CURRENT SPEC
120
99
  # ============================================================================
121
100
 
122
- echo "[$(date)] [GitHub] 🔄 Syncing to GitHub issue #$GITHUB_ISSUE" >> "$DEBUG_LOG" 2>/dev/null || true
101
+ # Strategy: Find current increment, then find which spec it belongs to
123
102
 
124
- TASKS_FILE=".specweave/increments/$CURRENT_INCREMENT/tasks.md"
125
-
126
- if [ ! -f "$TASKS_FILE" ]; then
127
- echo "[$(date)] [GitHub] ℹ️ tasks.md not found for $CURRENT_INCREMENT, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
128
- cat <<EOF
129
- {
130
- "continue": true
131
- }
132
- EOF
133
- exit 0
134
- fi
135
-
136
- echo "[$(date)] [GitHub] 📊 Syncing task checkboxes to GitHub issue #$GITHUB_ISSUE" >> "$DEBUG_LOG" 2>/dev/null || true
137
-
138
- # Get list of completed tasks from tasks.md
139
- # Find all "## T-XXX:" headers where the task has "[x]" checkbox
140
- COMPLETED_TASK_IDS=$(awk '
141
- /^## T-[0-9]+:/ {
142
- task_id = $2
143
- gsub(/:/, "", task_id)
144
- current_task = task_id
145
- task_title = substr($0, index($0, $3))
146
- next
147
- }
148
- /^- \[x\]/ && current_task != "" {
149
- # Found a completed checkbox under a task
150
- print current_task
151
- current_task = ""
152
- }
153
- ' "$TASKS_FILE" 2>/dev/null)
154
-
155
- echo "[$(date)] [GitHub] Completed tasks found: $COMPLETED_TASK_IDS" >> "$DEBUG_LOG" 2>/dev/null || true
156
-
157
- # Read current issue body
158
- ISSUE_BODY=$(gh issue view "$GITHUB_ISSUE" --json body -q .body 2>/dev/null || echo "")
103
+ # 1. Detect current increment (temporary context)
104
+ CURRENT_INCREMENT=$(ls -t .specweave/increments/ 2>/dev/null | grep -v "_backlog" | head -1)
159
105
 
160
- if [ -z "$ISSUE_BODY" ]; then
161
- echo "[$(date)] [GitHub] ⚠️ Failed to read issue body, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
162
- cat <<EOF
163
- {
164
- "continue": true
165
- }
166
- EOF
167
- exit 0
106
+ if [ -z "$CURRENT_INCREMENT" ]; then
107
+ echo "[$(date)] [GitHub] ℹ️ No active increment, checking for spec changes..." >> "$DEBUG_LOG" 2>/dev/null || true
108
+ # Fall through to sync all changed specs
168
109
  fi
169
110
 
170
- # Create temporary file for updated body
171
- TEMP_BODY=$(mktemp)
172
- echo "$ISSUE_BODY" > "$TEMP_BODY"
173
-
174
- # Update checkboxes for completed tasks
175
- # Pattern: "- [ ] task-name" -> "- [x] task-name"
176
- for task_id in $COMPLETED_TASK_IDS; do
177
- # Update checkbox for this task ID
178
- # Look for patterns like "[ ] T-013:" or "[ ] CLAUDE.md updates" etc.
179
- sed -i.bak "s/- \[ \] \(.*${task_id}.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
180
- sed -i.bak "s/- \[ \] \(.*T-0*${task_id#T-}[: ].*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
181
-
182
- echo "[$(date)] [GitHub] Updated checkbox for task: $task_id" >> "$DEBUG_LOG" 2>/dev/null || true
183
- done
184
-
185
- # Also update based on task names (more reliable)
186
- # Check for common patterns in issue body
187
- if grep -q "test-aware-planner" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
188
- sed -i.bak "s/- \[ \] \(.*test-aware-planner.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
189
- fi
190
- if grep -q "PM.*increment-planner" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
191
- sed -i.bak "s/- \[ \] \(.*PM.*increment-planner.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
192
- sed -i.bak "s/- \[ \] \(.*Enhanced PM.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
193
- fi
194
- if grep -q "CLAUDE.md" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
195
- sed -i.bak "s/- \[ \] \(.*CLAUDE\.md.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
196
- fi
111
+ SPEC_ID=""
197
112
 
198
- # Read updated body
199
- UPDATED_BODY=$(cat "$TEMP_BODY")
113
+ if [ -n "$CURRENT_INCREMENT" ]; then
114
+ # 2. Try to find spec reference in increment
115
+ SPEC_FILE=".specweave/increments/$CURRENT_INCREMENT/spec.md"
200
116
 
201
- # Update issue with new body
202
- gh issue edit "$GITHUB_ISSUE" --body "$UPDATED_BODY" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
203
- echo "[$(date)] [GitHub] ⚠️ Failed to update issue description (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
204
- }
117
+ if [ -f "$SPEC_FILE" ]; then
118
+ # Look for "Implements: SPEC-XXX" or "See: SPEC-XXX" patterns
119
+ SPEC_REF=$(grep -E "^(Implements|See|References).*SPEC-[0-9]+" "$SPEC_FILE" 2>/dev/null | head -1 || echo "")
205
120
 
206
- # Cleanup
207
- rm -f "$TEMP_BODY" "$TEMP_BODY.bak"
208
-
209
- echo "[$(date)] [GitHub] Issue description checkboxes updated" >> "$DEBUG_LOG" 2>/dev/null || true
210
-
211
- # Calculate progress for comment
212
- TOTAL_TASKS=$(grep -c "^## T-[0-9]" "$TASKS_FILE" 2>/dev/null || echo "0")
213
- COMPLETED_TASKS=$(echo "$COMPLETED_TASK_IDS" | wc -w | tr -d ' ')
214
-
215
- if [ "$TOTAL_TASKS" -gt 0 ]; then
216
- PROGRESS_PCT=$((COMPLETED_TASKS * 100 / TOTAL_TASKS))
217
-
218
- # Post progress comment
219
- gh issue comment "$GITHUB_ISSUE" --body "**Progress Update**: $COMPLETED_TASKS/$TOTAL_TASKS tasks ($PROGRESS_PCT%)
220
-
221
- Increment: \`$CURRENT_INCREMENT\`
222
-
223
- ---
224
- 🤖 Auto-updated by SpecWeave GitHub plugin" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
225
- echo "[$(date)] [GitHub] ⚠️ Failed to comment on GitHub issue (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
226
- }
227
-
228
- echo "[$(date)] [GitHub] ✅ Progress comment posted ($PROGRESS_PCT%)" >> "$DEBUG_LOG" 2>/dev/null || true
121
+ if [ -n "$SPEC_REF" ]; then
122
+ # Extract spec ID (e.g., "SPEC-001" "spec-001")
123
+ SPEC_ID=$(echo "$SPEC_REF" | grep -oE "SPEC-[0-9]+" | tr 'A-Z' 'a-z' | head -1)
124
+ echo "[$(date)] [GitHub] 📋 Detected spec: $SPEC_ID (from increment $CURRENT_INCREMENT)" >> "$DEBUG_LOG" 2>/dev/null || true
125
+ fi
126
+ fi
229
127
  fi
230
128
 
231
- echo "[$(date)] [GitHub] ✅ GitHub sync complete" >> "$DEBUG_LOG" 2>/dev/null || true
232
-
233
129
  # ============================================================================
234
- # SPEC COMMIT SYNC (NEW!)
130
+ # SYNC SPEC TO GITHUB
235
131
  # ============================================================================
236
132
 
237
- echo "[$(date)] [GitHub] 🔗 Checking for spec commit sync..." >> "$DEBUG_LOG" 2>/dev/null || true
238
-
239
- # Call TypeScript CLI to sync commits
240
- if command -v node &> /dev/null && [ -f "$PROJECT_ROOT/dist/cli/commands/sync-spec-commits.js" ]; then
241
- echo "[$(date)] [GitHub] 🚀 Running spec commit sync..." >> "$DEBUG_LOG" 2>/dev/null || true
133
+ if [ -n "$SPEC_ID" ]; then
134
+ # Sync specific spec
135
+ echo "[$(date)] [GitHub] 🔄 Syncing spec $SPEC_ID to GitHub Project..." >> "$DEBUG_LOG" 2>/dev/null || true
242
136
 
243
- node "$PROJECT_ROOT/dist/cli/commands/sync-spec-commits.js" \
244
- --increment "$PROJECT_ROOT/.specweave/increments/$CURRENT_INCREMENT" \
245
- --provider github \
246
- 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
247
- echo "[$(date)] [GitHub] ⚠️ Spec commit sync failed (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
248
- }
137
+ node "$SYNC_CLI" --spec-id "$SPEC_ID" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
138
+ echo "[$(date)] [GitHub] ⚠️ Spec sync failed for $SPEC_ID (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
139
+ }
249
140
 
250
- echo "[$(date)] [GitHub] ✅ Spec commit sync complete" >> "$DEBUG_LOG" 2>/dev/null || true
141
+ echo "[$(date)] [GitHub] ✅ Spec sync complete for $SPEC_ID" >> "$DEBUG_LOG" 2>/dev/null || true
251
142
  else
252
- echo "[$(date)] [GitHub] ℹ️ Spec commit sync not available (node or script not found)" >> "$DEBUG_LOG" 2>/dev/null || true
143
+ # Sync all changed specs (fallback)
144
+ echo "[$(date)] [GitHub] 🔄 Syncing all changed specs to GitHub..." >> "$DEBUG_LOG" 2>/dev/null || true
145
+
146
+ node "$SYNC_CLI" --all 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
147
+ echo "[$(date)] [GitHub] ⚠️ Batch spec sync failed (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
148
+ }
149
+
150
+ echo "[$(date)] [GitHub] ✅ Batch spec sync complete" >> "$DEBUG_LOG" 2>/dev/null || true
253
151
  fi
254
152
 
255
153
  # ============================================================================
@@ -1,28 +1,17 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * CLI wrapper for syncing increment changes to GitHub
4
- *
5
- * Usage:
6
- * node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js <incrementId> <changedFile>
7
- *
8
- * Example:
9
- * node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js 0015-hierarchical-sync spec.md
10
- */
11
- import { syncIncrementChanges } from './github-sync-increment-changes.js';
2
+ import { syncIncrementChanges } from "./github-sync-increment-changes.js";
12
3
  const incrementId = process.argv[2];
13
4
  const changedFile = process.argv[3];
14
5
  if (!incrementId || !changedFile) {
15
- console.error('❌ Usage: cli-sync-increment-changes <incrementId> <changedFile>');
16
- console.error(' Example: cli-sync-increment-changes 0015-hierarchical-sync spec.md');
17
- process.exit(1);
6
+ console.error("\u274C Usage: cli-sync-increment-changes <incrementId> <changedFile>");
7
+ console.error(" Example: cli-sync-increment-changes 0015-hierarchical-sync spec.md");
8
+ process.exit(1);
18
9
  }
19
- if (!['spec.md', 'plan.md', 'tasks.md'].includes(changedFile)) {
20
- console.error(`❌ Invalid file: ${changedFile}`);
21
- console.error(' Must be one of: spec.md, plan.md, tasks.md');
22
- process.exit(1);
10
+ if (!["spec.md", "plan.md", "tasks.md"].includes(changedFile)) {
11
+ console.error(`\u274C Invalid file: ${changedFile}`);
12
+ console.error(" Must be one of: spec.md, plan.md, tasks.md");
13
+ process.exit(1);
23
14
  }
24
15
  syncIncrementChanges(incrementId, changedFile).catch((error) => {
25
- console.error('❌ Fatal error:', error);
26
- // Don't exit with error code - best-effort sync
16
+ console.error("\u274C Fatal error:", error);
27
17
  });
28
- //# sourceMappingURL=cli-sync-increment-changes.js.map