specweave 1.0.506 → 1.0.508

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 (1038) hide show
  1. package/.claude-plugin/README.md +25 -32
  2. package/.claude-plugin/marketplace.json +1 -78
  3. package/dist/plugins/specweave/lib/features/release/dashboard-generator.d.ts.map +1 -0
  4. package/dist/plugins/specweave/lib/features/release/dashboard-generator.js.map +1 -0
  5. package/dist/plugins/specweave/lib/features/release/dora-tracker.d.ts.map +1 -0
  6. package/dist/plugins/specweave/lib/features/release/dora-tracker.js.map +1 -0
  7. package/dist/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.d.ts +44 -0
  8. package/dist/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.d.ts.map +1 -0
  9. package/dist/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.js +236 -0
  10. package/dist/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.js.map +1 -0
  11. package/dist/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.ts.map +1 -0
  12. package/dist/plugins/specweave/lib/integrations/ado/ado-board-resolver.js.map +1 -0
  13. package/dist/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts +139 -0
  14. package/dist/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts.map +1 -0
  15. package/dist/plugins/specweave/lib/integrations/ado/ado-client-v2.js.map +1 -0
  16. package/dist/plugins/specweave/lib/integrations/ado/ado-client.d.ts.map +1 -0
  17. package/dist/plugins/specweave/lib/integrations/ado/ado-client.js.map +1 -0
  18. package/dist/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.d.ts +100 -0
  19. package/dist/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.d.ts.map +1 -0
  20. package/dist/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.js +292 -0
  21. package/dist/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.js.map +1 -0
  22. package/dist/plugins/specweave/lib/integrations/ado/ado-permission-gate.d.ts.map +1 -0
  23. package/dist/plugins/specweave/lib/integrations/ado/ado-permission-gate.js.map +1 -0
  24. package/dist/plugins/specweave/lib/integrations/ado/ado-profile-resolver.d.ts.map +1 -0
  25. package/dist/plugins/specweave/lib/integrations/ado/ado-profile-resolver.js.map +1 -0
  26. package/dist/plugins/specweave/lib/integrations/ado/ado-pull-sync.d.ts.map +1 -0
  27. package/dist/plugins/specweave/lib/integrations/ado/ado-pull-sync.js.map +1 -0
  28. package/dist/plugins/specweave/lib/integrations/ado/ado-rate-limiter.d.ts.map +1 -0
  29. package/dist/plugins/specweave/lib/integrations/ado/ado-rate-limiter.js.map +1 -0
  30. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts +38 -0
  31. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts.map +1 -0
  32. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.js +210 -0
  33. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.js.map +1 -0
  34. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.d.ts +28 -0
  35. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.d.ts.map +1 -0
  36. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.js +300 -0
  37. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.js.map +1 -0
  38. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts +147 -0
  39. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts.map +1 -0
  40. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-sync.js +749 -0
  41. package/dist/plugins/specweave/lib/integrations/ado/ado-spec-sync.js.map +1 -0
  42. package/dist/plugins/specweave/lib/integrations/ado/ado-status-sync.d.ts +79 -0
  43. package/dist/plugins/specweave/lib/integrations/ado/ado-status-sync.d.ts.map +1 -0
  44. package/dist/plugins/specweave/lib/integrations/ado/ado-status-sync.js +162 -0
  45. package/dist/plugins/specweave/lib/integrations/ado/ado-status-sync.js.map +1 -0
  46. package/dist/plugins/specweave/lib/integrations/ado/conflict-resolver.d.ts.map +1 -0
  47. package/dist/plugins/specweave/lib/integrations/ado/conflict-resolver.js +439 -0
  48. package/dist/plugins/specweave/lib/integrations/ado/conflict-resolver.js.map +1 -0
  49. package/dist/plugins/specweave/lib/integrations/ado/per-us-sync.d.ts +131 -0
  50. package/dist/plugins/specweave/lib/integrations/ado/per-us-sync.d.ts.map +1 -0
  51. package/dist/plugins/specweave/lib/integrations/ado/per-us-sync.js +322 -0
  52. package/dist/plugins/specweave/lib/integrations/ado/per-us-sync.js.map +1 -0
  53. package/dist/plugins/specweave/lib/integrations/github/CodeValidator.d.ts.map +1 -0
  54. package/dist/plugins/specweave/lib/integrations/github/CodeValidator.js +219 -0
  55. package/dist/plugins/specweave/lib/integrations/github/CodeValidator.js.map +1 -0
  56. package/dist/plugins/specweave/lib/integrations/github/IssueStateManager.d.ts.map +1 -0
  57. package/dist/plugins/specweave/lib/integrations/github/IssueStateManager.js.map +1 -0
  58. package/dist/plugins/specweave/lib/integrations/github/completion-calculator.d.ts.map +1 -0
  59. package/dist/plugins/specweave/lib/integrations/github/completion-calculator.js.map +1 -0
  60. package/dist/plugins/specweave/lib/integrations/github/duplicate-detector.d.ts.map +1 -0
  61. package/dist/plugins/specweave/lib/integrations/github/duplicate-detector.js +423 -0
  62. package/dist/plugins/specweave/lib/integrations/github/duplicate-detector.js.map +1 -0
  63. package/dist/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.d.ts +54 -0
  64. package/dist/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.d.ts.map +1 -0
  65. package/dist/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.js +305 -0
  66. package/dist/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.js.map +1 -0
  67. package/dist/plugins/specweave/lib/integrations/github/github-ac-comment-poster.d.ts.map +1 -0
  68. package/dist/plugins/specweave/lib/integrations/github/github-ac-comment-poster.js +232 -0
  69. package/dist/plugins/specweave/lib/integrations/github/github-ac-comment-poster.js.map +1 -0
  70. package/dist/plugins/specweave/lib/integrations/github/github-batch-sync.d.ts.map +1 -0
  71. package/dist/plugins/specweave/lib/integrations/github/github-batch-sync.js.map +1 -0
  72. package/dist/plugins/specweave/lib/integrations/github/github-board-resolver-v2.d.ts.map +1 -0
  73. package/dist/plugins/specweave/lib/integrations/github/github-board-resolver-v2.js.map +1 -0
  74. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts +214 -0
  75. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts.map +1 -0
  76. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js +812 -0
  77. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js.map +1 -0
  78. package/dist/plugins/specweave/lib/integrations/github/github-client.d.ts.map +1 -0
  79. package/dist/plugins/specweave/lib/integrations/github/github-client.js.map +1 -0
  80. package/dist/plugins/specweave/lib/integrations/github/github-conflict-resolver.d.ts.map +1 -0
  81. package/dist/plugins/specweave/lib/integrations/github/github-conflict-resolver.js.map +1 -0
  82. package/dist/plugins/specweave/lib/integrations/github/github-cross-repo-sync.d.ts.map +1 -0
  83. package/dist/plugins/specweave/lib/integrations/github/github-cross-repo-sync.js +172 -0
  84. package/dist/plugins/specweave/lib/integrations/github/github-cross-repo-sync.js.map +1 -0
  85. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.d.ts.map +1 -0
  86. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js.map +1 -0
  87. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.d.ts.map +1 -0
  88. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js +1112 -0
  89. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js.map +1 -0
  90. package/dist/plugins/specweave/lib/integrations/github/github-field-sync.d.ts.map +1 -0
  91. package/dist/plugins/specweave/lib/integrations/github/github-field-sync.js.map +1 -0
  92. package/dist/plugins/specweave/lib/integrations/github/github-graphql-client.d.ts.map +1 -0
  93. package/dist/plugins/specweave/lib/integrations/github/github-graphql-client.js.map +1 -0
  94. package/dist/plugins/specweave/lib/integrations/github/github-issue-body-generator.d.ts.map +1 -0
  95. package/dist/plugins/specweave/lib/integrations/github/github-issue-body-generator.js.map +1 -0
  96. package/dist/plugins/specweave/lib/integrations/github/github-issue-body-parser.d.ts.map +1 -0
  97. package/dist/plugins/specweave/lib/integrations/github/github-issue-body-parser.js.map +1 -0
  98. package/dist/plugins/specweave/lib/integrations/github/github-issue-updater.d.ts.map +1 -0
  99. package/dist/plugins/specweave/lib/integrations/github/github-issue-updater.js +339 -0
  100. package/dist/plugins/specweave/lib/integrations/github/github-issue-updater.js.map +1 -0
  101. package/dist/plugins/specweave/lib/integrations/github/github-pull-sync.d.ts +94 -0
  102. package/dist/plugins/specweave/lib/integrations/github/github-pull-sync.d.ts.map +1 -0
  103. package/dist/plugins/specweave/lib/integrations/github/github-pull-sync.js +232 -0
  104. package/dist/plugins/specweave/lib/integrations/github/github-pull-sync.js.map +1 -0
  105. package/dist/plugins/specweave/lib/integrations/github/github-push-sync.d.ts.map +1 -0
  106. package/dist/plugins/specweave/lib/integrations/github/github-push-sync.js +127 -0
  107. package/dist/plugins/specweave/lib/integrations/github/github-push-sync.js.map +1 -0
  108. package/dist/plugins/specweave/lib/integrations/github/github-rate-limiter.d.ts.map +1 -0
  109. package/dist/plugins/specweave/lib/integrations/github/github-rate-limiter.js +109 -0
  110. package/dist/plugins/specweave/lib/integrations/github/github-rate-limiter.js.map +1 -0
  111. package/dist/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts +37 -0
  112. package/dist/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts.map +1 -0
  113. package/dist/plugins/specweave/lib/integrations/github/github-spec-commit-sync.js +209 -0
  114. package/dist/plugins/specweave/lib/integrations/github/github-spec-commit-sync.js.map +1 -0
  115. package/dist/plugins/specweave/lib/integrations/github/github-spec-content-sync.d.ts +28 -0
  116. package/dist/plugins/specweave/lib/integrations/github/github-spec-content-sync.d.ts.map +1 -0
  117. package/dist/plugins/specweave/lib/integrations/github/github-spec-content-sync.js +365 -0
  118. package/dist/plugins/specweave/lib/integrations/github/github-spec-content-sync.js.map +1 -0
  119. package/dist/plugins/specweave/lib/integrations/github/github-spec-frontmatter-updater.d.ts +21 -0
  120. package/dist/plugins/specweave/lib/integrations/github/github-spec-frontmatter-updater.d.ts.map +1 -0
  121. package/dist/plugins/specweave/lib/integrations/github/github-spec-frontmatter-updater.js.map +1 -0
  122. package/dist/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts +225 -0
  123. package/dist/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts.map +1 -0
  124. package/dist/plugins/specweave/lib/integrations/github/github-spec-sync.js +974 -0
  125. package/dist/plugins/specweave/lib/integrations/github/github-spec-sync.js.map +1 -0
  126. package/dist/plugins/specweave/lib/integrations/github/github-sync-orchestrator.d.ts +47 -0
  127. package/dist/plugins/specweave/lib/integrations/github/github-sync-orchestrator.d.ts.map +1 -0
  128. package/dist/plugins/specweave/lib/integrations/github/github-sync-orchestrator.js.map +1 -0
  129. package/dist/plugins/specweave/lib/integrations/github/github-us-auto-closer.d.ts.map +1 -0
  130. package/dist/plugins/specweave/lib/integrations/github/github-us-auto-closer.js +219 -0
  131. package/dist/plugins/specweave/lib/integrations/github/github-us-auto-closer.js.map +1 -0
  132. package/dist/plugins/specweave/lib/integrations/github/index.d.ts.map +1 -0
  133. package/dist/plugins/specweave/lib/integrations/github/index.js.map +1 -0
  134. package/dist/plugins/specweave/lib/integrations/github/per-us-sync.d.ts +126 -0
  135. package/dist/plugins/specweave/lib/integrations/github/per-us-sync.d.ts.map +1 -0
  136. package/dist/plugins/specweave/lib/integrations/github/per-us-sync.js +394 -0
  137. package/dist/plugins/specweave/lib/integrations/github/per-us-sync.js.map +1 -0
  138. package/dist/plugins/specweave/lib/integrations/github/progress-comment-builder.d.ts.map +1 -0
  139. package/dist/plugins/specweave/lib/integrations/github/progress-comment-builder.js.map +1 -0
  140. package/dist/plugins/specweave/lib/integrations/github/types.d.ts.map +1 -0
  141. package/dist/plugins/specweave/lib/integrations/github/types.js.map +1 -0
  142. package/dist/plugins/specweave/lib/integrations/github/user-story-content-builder.d.ts.map +1 -0
  143. package/dist/plugins/specweave/lib/integrations/github/user-story-content-builder.js +310 -0
  144. package/dist/plugins/specweave/lib/integrations/github/user-story-content-builder.js.map +1 -0
  145. package/dist/plugins/specweave/lib/integrations/github/user-story-issue-builder.d.ts.map +1 -0
  146. package/dist/plugins/specweave/lib/integrations/github/user-story-issue-builder.js.map +1 -0
  147. package/dist/plugins/specweave/lib/integrations/jira/content-format-adapter.d.ts.map +1 -0
  148. package/dist/plugins/specweave/lib/integrations/jira/content-format-adapter.js.map +1 -0
  149. package/dist/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.d.ts +47 -0
  150. package/dist/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.d.ts.map +1 -0
  151. package/dist/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.js +307 -0
  152. package/dist/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.js.map +1 -0
  153. package/dist/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts +50 -0
  154. package/dist/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts.map +1 -0
  155. package/dist/plugins/specweave/lib/integrations/jira/jira-board-resolver.js.map +1 -0
  156. package/dist/plugins/specweave/lib/integrations/jira/jira-deployment-detector.d.ts.map +1 -0
  157. package/dist/plugins/specweave/lib/integrations/jira/jira-deployment-detector.js.map +1 -0
  158. package/dist/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.d.ts +103 -0
  159. package/dist/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.d.ts.map +1 -0
  160. package/dist/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.js +295 -0
  161. package/dist/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.js.map +1 -0
  162. package/dist/plugins/specweave/lib/integrations/jira/jira-epic-sync.d.ts +67 -0
  163. package/dist/plugins/specweave/lib/integrations/jira/jira-epic-sync.d.ts.map +1 -0
  164. package/dist/plugins/specweave/lib/integrations/jira/jira-epic-sync.js +286 -0
  165. package/dist/plugins/specweave/lib/integrations/jira/jira-epic-sync.js.map +1 -0
  166. package/dist/plugins/specweave/lib/integrations/jira/jira-field-discovery.d.ts.map +1 -0
  167. package/dist/plugins/specweave/lib/integrations/jira/jira-field-discovery.js.map +1 -0
  168. package/dist/plugins/specweave/lib/integrations/jira/jira-paginated-search.d.ts.map +1 -0
  169. package/dist/plugins/specweave/lib/integrations/jira/jira-paginated-search.js.map +1 -0
  170. package/dist/plugins/specweave/lib/integrations/jira/jira-permission-gate.d.ts.map +1 -0
  171. package/dist/plugins/specweave/lib/integrations/jira/jira-permission-gate.js.map +1 -0
  172. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts +43 -0
  173. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts.map +1 -0
  174. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.js +284 -0
  175. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.js.map +1 -0
  176. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.d.ts +33 -0
  177. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.d.ts.map +1 -0
  178. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.js +294 -0
  179. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.js.map +1 -0
  180. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts +180 -0
  181. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts.map +1 -0
  182. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-sync.js +757 -0
  183. package/dist/plugins/specweave/lib/integrations/jira/jira-spec-sync.js.map +1 -0
  184. package/dist/plugins/specweave/lib/integrations/jira/jira-status-sync.d.ts +116 -0
  185. package/dist/plugins/specweave/lib/integrations/jira/jira-status-sync.d.ts.map +1 -0
  186. package/dist/plugins/specweave/lib/integrations/jira/jira-status-sync.js +302 -0
  187. package/dist/plugins/specweave/lib/integrations/jira/jira-status-sync.js.map +1 -0
  188. package/dist/plugins/specweave/lib/integrations/jira/metadata-paths.d.ts.map +1 -0
  189. package/dist/plugins/specweave/lib/integrations/jira/metadata-paths.js.map +1 -0
  190. package/dist/plugins/specweave/lib/integrations/jira/per-us-sync.d.ts +117 -0
  191. package/dist/plugins/specweave/lib/integrations/jira/per-us-sync.d.ts.map +1 -0
  192. package/dist/plugins/specweave/lib/integrations/jira/per-us-sync.js +274 -0
  193. package/dist/plugins/specweave/lib/integrations/jira/per-us-sync.js.map +1 -0
  194. package/dist/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts +80 -0
  195. package/dist/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts.map +1 -0
  196. package/dist/plugins/specweave/lib/integrations/jira/reorganization-detector.js.map +1 -0
  197. package/dist/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts +29 -0
  198. package/dist/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts.map +1 -0
  199. package/dist/plugins/specweave/lib/integrations/jira/setup-wizard.js +198 -0
  200. package/dist/plugins/specweave/lib/integrations/jira/setup-wizard.js.map +1 -0
  201. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +1 -1
  202. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  203. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  204. package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
  205. package/dist/src/cli/commands/refresh-plugins.js +9 -1
  206. package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
  207. package/dist/src/cli/commands/sync-progress.js +1 -1
  208. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  209. package/dist/src/cli/helpers/async-project-loader.js +1 -1
  210. package/dist/src/cli/helpers/async-project-loader.js.map +1 -1
  211. package/dist/src/cli/helpers/cancelation-handler.d.ts +1 -1
  212. package/dist/src/cli/helpers/cancelation-handler.js +1 -1
  213. package/dist/src/cli/helpers/init/ado-repo-cloning.js +1 -1
  214. package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +1 -1
  215. package/dist/src/cli/helpers/init/github-repo-cloning.js +1 -1
  216. package/dist/src/cli/helpers/init/github-repo-cloning.js.map +1 -1
  217. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts +2 -2
  218. package/dist/src/cli/helpers/init/jira-ado-auto-detect.d.ts.map +1 -1
  219. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js +2 -2
  220. package/dist/src/cli/helpers/init/jira-ado-auto-detect.js.map +1 -1
  221. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  222. package/dist/src/cli/helpers/init/plugin-installer.js +11 -3
  223. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  224. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js +1 -1
  225. package/dist/src/cli/helpers/issue-tracker/ado-area-selection.js.map +1 -1
  226. package/dist/src/cli/helpers/issue-tracker/ado.js +3 -3
  227. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  228. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +1 -1
  229. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  230. package/dist/src/cli/helpers/issue-tracker/github.js +4 -4
  231. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
  232. package/dist/src/cli/helpers/issue-tracker/index.js +1 -1
  233. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  234. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js +1 -1
  235. package/dist/src/cli/helpers/issue-tracker/jira-board-selection.js.map +1 -1
  236. package/dist/src/core/ac-progress-sync.js +5 -5
  237. package/dist/src/core/ac-progress-sync.js.map +1 -1
  238. package/dist/src/core/analytics/types.d.ts +1 -1
  239. package/dist/src/core/analytics/types.d.ts.map +1 -1
  240. package/dist/src/core/config/types.d.ts +1 -1
  241. package/dist/src/core/hooks/github-project-sync.js +4 -4
  242. package/dist/src/core/hooks/github-project-sync.js.map +1 -1
  243. package/dist/src/core/living-docs/living-docs-sync.js +5 -5
  244. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  245. package/dist/src/core/types/plugin.d.ts +1 -1
  246. package/dist/src/core/types/plugin.d.ts.map +1 -1
  247. package/dist/src/integrations/ado/ado-client-factory.d.ts +1 -1
  248. package/dist/src/integrations/ado/ado-client-factory.d.ts.map +1 -1
  249. package/dist/src/integrations/ado/ado-client-factory.js +1 -1
  250. package/dist/src/integrations/ado/ado-client-factory.js.map +1 -1
  251. package/dist/src/integrations/ado/ado-dependency-loader.js +1 -1
  252. package/dist/src/integrations/ado/ado-dependency-loader.js.map +1 -1
  253. package/dist/src/living-docs/smart-doc-organizer.js +1 -1
  254. package/dist/src/living-docs/smart-doc-organizer.js.map +1 -1
  255. package/dist/src/sync/ado-reconciler.d.ts +1 -1
  256. package/dist/src/sync/ado-reconciler.js +1 -1
  257. package/dist/src/sync/external-change-puller.js +1 -1
  258. package/dist/src/sync/external-change-puller.js.map +1 -1
  259. package/dist/src/sync/external-issue-auto-creator.js +1 -1
  260. package/dist/src/sync/external-issue-auto-creator.js.map +1 -1
  261. package/dist/src/sync/external-item-sync-service.js +2 -2
  262. package/dist/src/sync/external-item-sync-service.js.map +1 -1
  263. package/dist/src/sync/format-preservation-sync.d.ts +1 -1
  264. package/dist/src/sync/format-preservation-sync.d.ts.map +1 -1
  265. package/dist/src/sync/format-preservation-sync.js +1 -1
  266. package/dist/src/sync/format-preservation-sync.js.map +1 -1
  267. package/dist/src/sync/github-reconciler.d.ts +1 -1
  268. package/dist/src/sync/github-reconciler.js +2 -2
  269. package/dist/src/sync/github-reconciler.js.map +1 -1
  270. package/dist/src/sync/github-sync-wrapper.d.ts +2 -2
  271. package/dist/src/sync/github-sync-wrapper.d.ts.map +1 -1
  272. package/dist/src/sync/github-sync-wrapper.js +1 -1
  273. package/dist/src/sync/github-sync-wrapper.js.map +1 -1
  274. package/dist/src/sync/jira-reconciler.d.ts +1 -1
  275. package/dist/src/sync/jira-reconciler.js +1 -1
  276. package/dist/src/sync/living-docs-updater.d.ts +1 -1
  277. package/dist/src/sync/living-docs-updater.d.ts.map +1 -1
  278. package/dist/src/sync/living-docs-updater.js +1 -1
  279. package/dist/src/sync/living-docs-updater.js.map +1 -1
  280. package/dist/src/sync/pr-linker.js +1 -1
  281. package/dist/src/sync/pr-linker.js.map +1 -1
  282. package/dist/src/sync/providers/github.d.ts +1 -1
  283. package/dist/src/sync/providers/github.js +1 -1
  284. package/dist/src/sync/sync-coordinator.js +4 -4
  285. package/dist/src/sync/sync-coordinator.js.map +1 -1
  286. package/dist/src/utils/cleanup-stale-plugins.d.ts.map +1 -1
  287. package/dist/src/utils/cleanup-stale-plugins.js +7 -0
  288. package/dist/src/utils/cleanup-stale-plugins.js.map +1 -1
  289. package/dist/src/utils/docs-validator.js +1 -1
  290. package/dist/src/utils/docs-validator.js.map +1 -1
  291. package/dist/src/utils/plugin-copier.d.ts +16 -0
  292. package/dist/src/utils/plugin-copier.d.ts.map +1 -1
  293. package/dist/src/utils/plugin-copier.js +79 -0
  294. package/dist/src/utils/plugin-copier.js.map +1 -1
  295. package/package.json +1 -1
  296. package/plugins/PLUGINS-INDEX.md +23 -42
  297. package/plugins/specweave/.claude-plugin/plugin.json +9 -2
  298. package/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.js +241 -0
  299. package/plugins/specweave/lib/integrations/ado/ado-ac-checkbox-sync.ts +311 -0
  300. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts +134 -0
  301. package/plugins/specweave/lib/integrations/ado/ado-client-v2.ts +742 -0
  302. package/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.js +279 -0
  303. package/plugins/specweave/lib/integrations/ado/ado-duplicate-detector.ts +408 -0
  304. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.ts +40 -0
  305. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.js +300 -0
  306. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.ts +554 -0
  307. package/plugins/specweave/lib/integrations/ado/ado-multi-project-sync.js +486 -0
  308. package/plugins/specweave/lib/integrations/ado/ado-multi-project-sync.ts +675 -0
  309. package/plugins/specweave/lib/integrations/ado/ado-project-detector.js +502 -0
  310. package/plugins/specweave/lib/integrations/ado/ado-project-detector.ts +560 -0
  311. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts +38 -0
  312. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.js +189 -0
  313. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.ts +288 -0
  314. package/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.js +249 -0
  315. package/plugins/specweave/lib/integrations/ado/ado-spec-content-sync.ts +379 -0
  316. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts +100 -0
  317. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.js +681 -0
  318. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.ts +893 -0
  319. package/plugins/specweave/lib/integrations/ado/ado-status-sync.js +150 -0
  320. package/plugins/specweave/lib/integrations/ado/ado-status-sync.ts +213 -0
  321. package/plugins/specweave/lib/integrations/ado/conflict-resolver.js +400 -0
  322. package/plugins/specweave/lib/integrations/ado/conflict-resolver.ts +583 -0
  323. package/plugins/specweave/lib/integrations/ado/per-us-sync.js +272 -0
  324. package/plugins/specweave/lib/integrations/ado/per-us-sync.ts +457 -0
  325. package/plugins/specweave/lib/integrations/ado/project-selector.d.ts +42 -0
  326. package/plugins/specweave/lib/integrations/ado/project-selector.ts +304 -0
  327. package/plugins/specweave/lib/integrations/github/CodeValidator.js +195 -0
  328. package/plugins/specweave/lib/integrations/github/CodeValidator.ts +284 -0
  329. package/plugins/specweave/lib/integrations/github/duplicate-detector.js +397 -0
  330. package/plugins/specweave/lib/integrations/github/duplicate-detector.ts +561 -0
  331. package/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.js +287 -0
  332. package/plugins/specweave/lib/integrations/github/github-ac-checkbox-sync.ts +391 -0
  333. package/plugins/specweave/lib/integrations/github/github-ac-comment-poster.js +191 -0
  334. package/plugins/specweave/lib/integrations/github/github-ac-comment-poster.ts +315 -0
  335. package/plugins/specweave/lib/integrations/github/github-board-resolver.js +81 -0
  336. package/plugins/specweave/lib/integrations/github/github-board-resolver.ts +175 -0
  337. package/plugins/specweave/lib/integrations/github/github-client-v2.js +814 -0
  338. package/plugins/specweave/lib/integrations/github/github-client-v2.ts +1035 -0
  339. package/plugins/specweave/lib/integrations/github/github-cross-repo-sync.js +182 -0
  340. package/plugins/specweave/lib/integrations/github/github-cross-repo-sync.ts +265 -0
  341. package/plugins/specweave/lib/integrations/github/github-feature-sync.js +1007 -0
  342. package/plugins/specweave/lib/integrations/github/github-feature-sync.ts +1403 -0
  343. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.ts +29 -0
  344. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.js +190 -0
  345. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.ts +355 -0
  346. package/plugins/specweave/lib/integrations/github/github-issue-updater.js +275 -0
  347. package/plugins/specweave/lib/integrations/github/github-issue-updater.ts +462 -0
  348. package/plugins/specweave/lib/integrations/github/github-multi-project-sync.js +409 -0
  349. package/plugins/specweave/lib/integrations/github/github-multi-project-sync.ts +555 -0
  350. package/plugins/specweave/lib/integrations/github/github-pull-sync.js +185 -0
  351. package/plugins/specweave/lib/integrations/github/github-pull-sync.ts +343 -0
  352. package/plugins/specweave/lib/integrations/github/github-push-sync.js +129 -0
  353. package/plugins/specweave/lib/integrations/github/github-push-sync.ts +188 -0
  354. package/plugins/specweave/lib/integrations/github/github-rate-limiter.js +96 -0
  355. package/plugins/specweave/lib/integrations/github/github-rate-limiter.ts +143 -0
  356. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts +37 -0
  357. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.js +186 -0
  358. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.ts +285 -0
  359. package/plugins/specweave/lib/integrations/github/github-spec-content-sync.js +298 -0
  360. package/plugins/specweave/lib/integrations/github/github-spec-content-sync.ts +465 -0
  361. package/plugins/specweave/lib/integrations/github/github-spec-frontmatter-updater.ts +306 -0
  362. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts +108 -0
  363. package/plugins/specweave/lib/integrations/github/github-spec-sync.js +900 -0
  364. package/plugins/specweave/lib/integrations/github/github-spec-sync.ts +1281 -0
  365. package/plugins/specweave/lib/integrations/github/github-sync-orchestrator.ts +158 -0
  366. package/plugins/specweave/lib/integrations/github/github-us-auto-closer.js +190 -0
  367. package/plugins/specweave/lib/integrations/github/github-us-auto-closer.ts +313 -0
  368. package/plugins/specweave/lib/integrations/github/per-us-sync.js +330 -0
  369. package/plugins/specweave/lib/integrations/github/per-us-sync.ts +515 -0
  370. package/plugins/specweave/lib/integrations/github/user-story-content-builder.js +306 -0
  371. package/plugins/specweave/lib/integrations/github/user-story-content-builder.ts +424 -0
  372. package/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.js +300 -0
  373. package/plugins/specweave/lib/integrations/jira/jira-ac-checkbox-sync.ts +380 -0
  374. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts +50 -0
  375. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.ts +127 -0
  376. package/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.js +279 -0
  377. package/plugins/specweave/lib/integrations/jira/jira-duplicate-detector.ts +420 -0
  378. package/plugins/specweave/lib/integrations/jira/jira-epic-sync.js +314 -0
  379. package/plugins/specweave/lib/integrations/jira/jira-epic-sync.ts +474 -0
  380. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.ts +33 -0
  381. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.js +144 -0
  382. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.ts +294 -0
  383. package/plugins/specweave/lib/integrations/jira/jira-multi-project-sync.js +279 -0
  384. package/plugins/specweave/lib/integrations/jira/jira-multi-project-sync.ts +398 -0
  385. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts +43 -0
  386. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.js +262 -0
  387. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.ts +370 -0
  388. package/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.js +260 -0
  389. package/plugins/specweave/lib/integrations/jira/jira-spec-content-sync.ts +367 -0
  390. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts +105 -0
  391. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.js +689 -0
  392. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.ts +947 -0
  393. package/plugins/specweave/lib/integrations/jira/jira-status-sync.js +215 -0
  394. package/plugins/specweave/lib/integrations/jira/jira-status-sync.ts +375 -0
  395. package/plugins/specweave/lib/integrations/jira/per-us-sync.js +235 -0
  396. package/plugins/specweave/lib/integrations/jira/per-us-sync.ts +384 -0
  397. package/plugins/specweave/lib/integrations/jira/project-selector.d.ts +42 -0
  398. package/plugins/specweave/lib/integrations/jira/project-selector.ts +310 -0
  399. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts +67 -0
  400. package/plugins/specweave/lib/integrations/jira/reorganization-detector.ts +449 -0
  401. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.js +4 -0
  402. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts +29 -0
  403. package/plugins/specweave/lib/integrations/jira/setup-wizard.js +156 -0
  404. package/plugins/specweave/lib/integrations/jira/setup-wizard.ts +238 -0
  405. package/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +1 -1
  406. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  407. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  408. package/plugins/specweave/skills/team-lead/SKILL.md +10 -5
  409. package/plugins/specweave/skills/team-lead/agents/brainstorm-advocate.md +12 -6
  410. package/plugins/specweave/skills/team-lead/agents/brainstorm-critic.md +12 -6
  411. package/plugins/specweave/skills/team-lead/agents/brainstorm-pragmatist.md +12 -6
  412. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts +0 -44
  413. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.d.ts.map +0 -1
  414. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +0 -236
  415. package/dist/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js.map +0 -1
  416. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  417. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  418. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -139
  419. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  420. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  421. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  422. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  423. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.d.ts +0 -100
  424. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.d.ts.map +0 -1
  425. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.js +0 -292
  426. package/dist/plugins/specweave-ado/lib/ado-duplicate-detector.js.map +0 -1
  427. package/dist/plugins/specweave-ado/lib/ado-permission-gate.d.ts.map +0 -1
  428. package/dist/plugins/specweave-ado/lib/ado-permission-gate.js.map +0 -1
  429. package/dist/plugins/specweave-ado/lib/ado-profile-resolver.d.ts.map +0 -1
  430. package/dist/plugins/specweave-ado/lib/ado-profile-resolver.js.map +0 -1
  431. package/dist/plugins/specweave-ado/lib/ado-pull-sync.d.ts.map +0 -1
  432. package/dist/plugins/specweave-ado/lib/ado-pull-sync.js.map +0 -1
  433. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.d.ts.map +0 -1
  434. package/dist/plugins/specweave-ado/lib/ado-rate-limiter.js.map +0 -1
  435. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +0 -38
  436. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts.map +0 -1
  437. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js +0 -210
  438. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js.map +0 -1
  439. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts +0 -28
  440. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +0 -1
  441. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +0 -300
  442. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +0 -1
  443. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -147
  444. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +0 -1
  445. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +0 -749
  446. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +0 -1
  447. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +0 -79
  448. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +0 -1
  449. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +0 -162
  450. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +0 -1
  451. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +0 -1
  452. package/dist/plugins/specweave-ado/lib/conflict-resolver.js +0 -439
  453. package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +0 -1
  454. package/dist/plugins/specweave-ado/lib/per-us-sync.d.ts +0 -131
  455. package/dist/plugins/specweave-ado/lib/per-us-sync.d.ts.map +0 -1
  456. package/dist/plugins/specweave-ado/lib/per-us-sync.js +0 -322
  457. package/dist/plugins/specweave-ado/lib/per-us-sync.js.map +0 -1
  458. package/dist/plugins/specweave-github/lib/CodeValidator.d.ts.map +0 -1
  459. package/dist/plugins/specweave-github/lib/CodeValidator.js +0 -219
  460. package/dist/plugins/specweave-github/lib/CodeValidator.js.map +0 -1
  461. package/dist/plugins/specweave-github/lib/IssueStateManager.d.ts.map +0 -1
  462. package/dist/plugins/specweave-github/lib/IssueStateManager.js.map +0 -1
  463. package/dist/plugins/specweave-github/lib/completion-calculator.d.ts.map +0 -1
  464. package/dist/plugins/specweave-github/lib/completion-calculator.js.map +0 -1
  465. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +0 -1
  466. package/dist/plugins/specweave-github/lib/duplicate-detector.js +0 -423
  467. package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +0 -1
  468. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.d.ts +0 -54
  469. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.d.ts.map +0 -1
  470. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.js +0 -305
  471. package/dist/plugins/specweave-github/lib/github-ac-checkbox-sync.js.map +0 -1
  472. package/dist/plugins/specweave-github/lib/github-ac-comment-poster.d.ts.map +0 -1
  473. package/dist/plugins/specweave-github/lib/github-ac-comment-poster.js +0 -232
  474. package/dist/plugins/specweave-github/lib/github-ac-comment-poster.js.map +0 -1
  475. package/dist/plugins/specweave-github/lib/github-batch-sync.d.ts.map +0 -1
  476. package/dist/plugins/specweave-github/lib/github-batch-sync.js.map +0 -1
  477. package/dist/plugins/specweave-github/lib/github-board-resolver-v2.d.ts.map +0 -1
  478. package/dist/plugins/specweave-github/lib/github-board-resolver-v2.js.map +0 -1
  479. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -214
  480. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  481. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -812
  482. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  483. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  484. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  485. package/dist/plugins/specweave-github/lib/github-conflict-resolver.d.ts.map +0 -1
  486. package/dist/plugins/specweave-github/lib/github-conflict-resolver.js.map +0 -1
  487. package/dist/plugins/specweave-github/lib/github-cross-repo-sync.d.ts.map +0 -1
  488. package/dist/plugins/specweave-github/lib/github-cross-repo-sync.js +0 -172
  489. package/dist/plugins/specweave-github/lib/github-cross-repo-sync.js.map +0 -1
  490. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.d.ts.map +0 -1
  491. package/dist/plugins/specweave-github/lib/github-feature-sync-cli.js.map +0 -1
  492. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +0 -1
  493. package/dist/plugins/specweave-github/lib/github-feature-sync.js +0 -1112
  494. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +0 -1
  495. package/dist/plugins/specweave-github/lib/github-field-sync.d.ts.map +0 -1
  496. package/dist/plugins/specweave-github/lib/github-field-sync.js.map +0 -1
  497. package/dist/plugins/specweave-github/lib/github-graphql-client.d.ts.map +0 -1
  498. package/dist/plugins/specweave-github/lib/github-graphql-client.js.map +0 -1
  499. package/dist/plugins/specweave-github/lib/github-issue-body-generator.d.ts.map +0 -1
  500. package/dist/plugins/specweave-github/lib/github-issue-body-generator.js.map +0 -1
  501. package/dist/plugins/specweave-github/lib/github-issue-body-parser.d.ts.map +0 -1
  502. package/dist/plugins/specweave-github/lib/github-issue-body-parser.js.map +0 -1
  503. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +0 -1
  504. package/dist/plugins/specweave-github/lib/github-issue-updater.js +0 -339
  505. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +0 -1
  506. package/dist/plugins/specweave-github/lib/github-pull-sync.d.ts +0 -94
  507. package/dist/plugins/specweave-github/lib/github-pull-sync.d.ts.map +0 -1
  508. package/dist/plugins/specweave-github/lib/github-pull-sync.js +0 -232
  509. package/dist/plugins/specweave-github/lib/github-pull-sync.js.map +0 -1
  510. package/dist/plugins/specweave-github/lib/github-push-sync.d.ts.map +0 -1
  511. package/dist/plugins/specweave-github/lib/github-push-sync.js +0 -127
  512. package/dist/plugins/specweave-github/lib/github-push-sync.js.map +0 -1
  513. package/dist/plugins/specweave-github/lib/github-rate-limiter.d.ts.map +0 -1
  514. package/dist/plugins/specweave-github/lib/github-rate-limiter.js +0 -109
  515. package/dist/plugins/specweave-github/lib/github-rate-limiter.js.map +0 -1
  516. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +0 -37
  517. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts.map +0 -1
  518. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js +0 -209
  519. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js.map +0 -1
  520. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts +0 -28
  521. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +0 -1
  522. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +0 -365
  523. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +0 -1
  524. package/dist/plugins/specweave-github/lib/github-spec-frontmatter-updater.d.ts +0 -21
  525. package/dist/plugins/specweave-github/lib/github-spec-frontmatter-updater.d.ts.map +0 -1
  526. package/dist/plugins/specweave-github/lib/github-spec-frontmatter-updater.js.map +0 -1
  527. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -225
  528. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +0 -1
  529. package/dist/plugins/specweave-github/lib/github-spec-sync.js +0 -974
  530. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +0 -1
  531. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.d.ts +0 -47
  532. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.d.ts.map +0 -1
  533. package/dist/plugins/specweave-github/lib/github-sync-orchestrator.js.map +0 -1
  534. package/dist/plugins/specweave-github/lib/github-us-auto-closer.d.ts.map +0 -1
  535. package/dist/plugins/specweave-github/lib/github-us-auto-closer.js +0 -219
  536. package/dist/plugins/specweave-github/lib/github-us-auto-closer.js.map +0 -1
  537. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  538. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  539. package/dist/plugins/specweave-github/lib/per-us-sync.d.ts +0 -126
  540. package/dist/plugins/specweave-github/lib/per-us-sync.d.ts.map +0 -1
  541. package/dist/plugins/specweave-github/lib/per-us-sync.js +0 -394
  542. package/dist/plugins/specweave-github/lib/per-us-sync.js.map +0 -1
  543. package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts.map +0 -1
  544. package/dist/plugins/specweave-github/lib/progress-comment-builder.js.map +0 -1
  545. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  546. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  547. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +0 -1
  548. package/dist/plugins/specweave-github/lib/user-story-content-builder.js +0 -310
  549. package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +0 -1
  550. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +0 -1
  551. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +0 -1
  552. package/dist/plugins/specweave-jira/lib/content-format-adapter.d.ts.map +0 -1
  553. package/dist/plugins/specweave-jira/lib/content-format-adapter.js.map +0 -1
  554. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.d.ts +0 -47
  555. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.d.ts.map +0 -1
  556. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +0 -307
  557. package/dist/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js.map +0 -1
  558. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  559. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  560. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  561. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.d.ts.map +0 -1
  562. package/dist/plugins/specweave-jira/lib/jira-deployment-detector.js.map +0 -1
  563. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.d.ts +0 -103
  564. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.d.ts.map +0 -1
  565. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.js +0 -295
  566. package/dist/plugins/specweave-jira/lib/jira-duplicate-detector.js.map +0 -1
  567. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts +0 -67
  568. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts.map +0 -1
  569. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +0 -286
  570. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +0 -1
  571. package/dist/plugins/specweave-jira/lib/jira-field-discovery.d.ts.map +0 -1
  572. package/dist/plugins/specweave-jira/lib/jira-field-discovery.js.map +0 -1
  573. package/dist/plugins/specweave-jira/lib/jira-paginated-search.d.ts.map +0 -1
  574. package/dist/plugins/specweave-jira/lib/jira-paginated-search.js.map +0 -1
  575. package/dist/plugins/specweave-jira/lib/jira-permission-gate.d.ts.map +0 -1
  576. package/dist/plugins/specweave-jira/lib/jira-permission-gate.js.map +0 -1
  577. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +0 -43
  578. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts.map +0 -1
  579. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js +0 -284
  580. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js.map +0 -1
  581. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts +0 -33
  582. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts.map +0 -1
  583. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js +0 -294
  584. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js.map +0 -1
  585. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -180
  586. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +0 -1
  587. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +0 -757
  588. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +0 -1
  589. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +0 -116
  590. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +0 -1
  591. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +0 -302
  592. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +0 -1
  593. package/dist/plugins/specweave-jira/lib/metadata-paths.d.ts.map +0 -1
  594. package/dist/plugins/specweave-jira/lib/metadata-paths.js.map +0 -1
  595. package/dist/plugins/specweave-jira/lib/per-us-sync.d.ts +0 -117
  596. package/dist/plugins/specweave-jira/lib/per-us-sync.d.ts.map +0 -1
  597. package/dist/plugins/specweave-jira/lib/per-us-sync.js +0 -274
  598. package/dist/plugins/specweave-jira/lib/per-us-sync.js.map +0 -1
  599. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -80
  600. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  601. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  602. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  603. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  604. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -198
  605. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  606. package/dist/plugins/specweave-release/lib/dashboard-generator.d.ts.map +0 -1
  607. package/dist/plugins/specweave-release/lib/dashboard-generator.js.map +0 -1
  608. package/dist/plugins/specweave-release/lib/dora-tracker.d.ts.map +0 -1
  609. package/dist/plugins/specweave-release/lib/dora-tracker.js.map +0 -1
  610. package/plugins/specweave-ado/.claude-plugin/plugin.json +0 -20
  611. package/plugins/specweave-ado/PLUGIN.md +0 -39
  612. package/plugins/specweave-ado/hooks/README.md +0 -201
  613. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.js +0 -241
  614. package/plugins/specweave-ado/lib/ado-ac-checkbox-sync.ts +0 -311
  615. package/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -134
  616. package/plugins/specweave-ado/lib/ado-client-v2.ts +0 -742
  617. package/plugins/specweave-ado/lib/ado-duplicate-detector.js +0 -279
  618. package/plugins/specweave-ado/lib/ado-duplicate-detector.ts +0 -408
  619. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  620. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -300
  621. package/plugins/specweave-ado/lib/ado-hierarchical-sync.ts +0 -554
  622. package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -486
  623. package/plugins/specweave-ado/lib/ado-multi-project-sync.ts +0 -675
  624. package/plugins/specweave-ado/lib/ado-project-detector.js +0 -502
  625. package/plugins/specweave-ado/lib/ado-project-detector.ts +0 -560
  626. package/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +0 -38
  627. package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +0 -189
  628. package/plugins/specweave-ado/lib/ado-spec-commit-sync.ts +0 -288
  629. package/plugins/specweave-ado/lib/ado-spec-content-sync.js +0 -249
  630. package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +0 -379
  631. package/plugins/specweave-ado/lib/ado-spec-sync.d.ts +0 -100
  632. package/plugins/specweave-ado/lib/ado-spec-sync.js +0 -681
  633. package/plugins/specweave-ado/lib/ado-spec-sync.ts +0 -893
  634. package/plugins/specweave-ado/lib/ado-status-sync.js +0 -150
  635. package/plugins/specweave-ado/lib/ado-status-sync.ts +0 -213
  636. package/plugins/specweave-ado/lib/conflict-resolver.js +0 -400
  637. package/plugins/specweave-ado/lib/conflict-resolver.ts +0 -583
  638. package/plugins/specweave-ado/lib/per-us-sync.js +0 -272
  639. package/plugins/specweave-ado/lib/per-us-sync.ts +0 -457
  640. package/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  641. package/plugins/specweave-ado/lib/project-selector.ts +0 -304
  642. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +0 -20
  643. package/plugins/specweave-diagrams/PLUGIN.md +0 -32
  644. package/plugins/specweave-docs/.claude-plugin/plugin.json +0 -10
  645. package/plugins/specweave-docs/PLUGIN.md +0 -27
  646. package/plugins/specweave-github/.claude-plugin/plugin.json +0 -19
  647. package/plugins/specweave-github/MULTI-PROJECT-SYNC-ARCHITECTURE.md +0 -744
  648. package/plugins/specweave-github/PLUGIN.md +0 -29
  649. package/plugins/specweave-github/SYNC-ARCHITECTURE-FIX-SUMMARY.md +0 -302
  650. package/plugins/specweave-github/hooks/README.md +0 -289
  651. package/plugins/specweave-github/lib/CodeValidator.js +0 -195
  652. package/plugins/specweave-github/lib/CodeValidator.ts +0 -284
  653. package/plugins/specweave-github/lib/duplicate-detector.js +0 -397
  654. package/plugins/specweave-github/lib/duplicate-detector.ts +0 -561
  655. package/plugins/specweave-github/lib/github-ac-checkbox-sync.js +0 -287
  656. package/plugins/specweave-github/lib/github-ac-checkbox-sync.ts +0 -391
  657. package/plugins/specweave-github/lib/github-ac-comment-poster.js +0 -191
  658. package/plugins/specweave-github/lib/github-ac-comment-poster.ts +0 -315
  659. package/plugins/specweave-github/lib/github-board-resolver.js +0 -81
  660. package/plugins/specweave-github/lib/github-board-resolver.ts +0 -175
  661. package/plugins/specweave-github/lib/github-client-v2.js +0 -814
  662. package/plugins/specweave-github/lib/github-client-v2.ts +0 -1035
  663. package/plugins/specweave-github/lib/github-cross-repo-sync.js +0 -182
  664. package/plugins/specweave-github/lib/github-cross-repo-sync.ts +0 -265
  665. package/plugins/specweave-github/lib/github-feature-sync.js +0 -1007
  666. package/plugins/specweave-github/lib/github-feature-sync.ts +0 -1403
  667. package/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  668. package/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -190
  669. package/plugins/specweave-github/lib/github-hierarchical-sync.ts +0 -355
  670. package/plugins/specweave-github/lib/github-issue-updater.js +0 -275
  671. package/plugins/specweave-github/lib/github-issue-updater.ts +0 -462
  672. package/plugins/specweave-github/lib/github-multi-project-sync.js +0 -409
  673. package/plugins/specweave-github/lib/github-multi-project-sync.ts +0 -555
  674. package/plugins/specweave-github/lib/github-pull-sync.js +0 -185
  675. package/plugins/specweave-github/lib/github-pull-sync.ts +0 -343
  676. package/plugins/specweave-github/lib/github-push-sync.js +0 -129
  677. package/plugins/specweave-github/lib/github-push-sync.ts +0 -188
  678. package/plugins/specweave-github/lib/github-rate-limiter.js +0 -96
  679. package/plugins/specweave-github/lib/github-rate-limiter.ts +0 -143
  680. package/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +0 -37
  681. package/plugins/specweave-github/lib/github-spec-commit-sync.js +0 -186
  682. package/plugins/specweave-github/lib/github-spec-commit-sync.ts +0 -285
  683. package/plugins/specweave-github/lib/github-spec-content-sync.js +0 -298
  684. package/plugins/specweave-github/lib/github-spec-content-sync.ts +0 -465
  685. package/plugins/specweave-github/lib/github-spec-frontmatter-updater.ts +0 -306
  686. package/plugins/specweave-github/lib/github-spec-sync.d.ts +0 -108
  687. package/plugins/specweave-github/lib/github-spec-sync.js +0 -900
  688. package/plugins/specweave-github/lib/github-spec-sync.ts +0 -1281
  689. package/plugins/specweave-github/lib/github-sync-orchestrator.ts +0 -158
  690. package/plugins/specweave-github/lib/github-us-auto-closer.js +0 -190
  691. package/plugins/specweave-github/lib/github-us-auto-closer.ts +0 -313
  692. package/plugins/specweave-github/lib/per-us-sync.js +0 -330
  693. package/plugins/specweave-github/lib/per-us-sync.ts +0 -515
  694. package/plugins/specweave-github/lib/user-story-content-builder.js +0 -306
  695. package/plugins/specweave-github/lib/user-story-content-builder.ts +0 -424
  696. package/plugins/specweave-jira/.claude-plugin/plugin.json +0 -20
  697. package/plugins/specweave-jira/PLUGIN.md +0 -28
  698. package/plugins/specweave-jira/hooks/README.md +0 -201
  699. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.js +0 -300
  700. package/plugins/specweave-jira/lib/jira-ac-checkbox-sync.ts +0 -380
  701. package/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  702. package/plugins/specweave-jira/lib/jira-board-resolver.ts +0 -127
  703. package/plugins/specweave-jira/lib/jira-duplicate-detector.js +0 -279
  704. package/plugins/specweave-jira/lib/jira-duplicate-detector.ts +0 -420
  705. package/plugins/specweave-jira/lib/jira-epic-sync.js +0 -314
  706. package/plugins/specweave-jira/lib/jira-epic-sync.ts +0 -474
  707. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  708. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -144
  709. package/plugins/specweave-jira/lib/jira-hierarchical-sync.ts +0 -294
  710. package/plugins/specweave-jira/lib/jira-multi-project-sync.js +0 -279
  711. package/plugins/specweave-jira/lib/jira-multi-project-sync.ts +0 -398
  712. package/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +0 -43
  713. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +0 -262
  714. package/plugins/specweave-jira/lib/jira-spec-commit-sync.ts +0 -370
  715. package/plugins/specweave-jira/lib/jira-spec-content-sync.js +0 -260
  716. package/plugins/specweave-jira/lib/jira-spec-content-sync.ts +0 -367
  717. package/plugins/specweave-jira/lib/jira-spec-sync.d.ts +0 -105
  718. package/plugins/specweave-jira/lib/jira-spec-sync.js +0 -689
  719. package/plugins/specweave-jira/lib/jira-spec-sync.ts +0 -947
  720. package/plugins/specweave-jira/lib/jira-status-sync.js +0 -215
  721. package/plugins/specweave-jira/lib/jira-status-sync.ts +0 -375
  722. package/plugins/specweave-jira/lib/per-us-sync.js +0 -235
  723. package/plugins/specweave-jira/lib/per-us-sync.ts +0 -384
  724. package/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  725. package/plugins/specweave-jira/lib/project-selector.ts +0 -310
  726. package/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  727. package/plugins/specweave-jira/lib/reorganization-detector.ts +0 -449
  728. package/plugins/specweave-jira/lib/setup-wizard.d.js +0 -4
  729. package/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  730. package/plugins/specweave-jira/lib/setup-wizard.js +0 -156
  731. package/plugins/specweave-jira/lib/setup-wizard.ts +0 -238
  732. package/plugins/specweave-media/.claude-plugin/plugin.json +0 -24
  733. package/plugins/specweave-media/PLUGIN.md +0 -37
  734. package/plugins/specweave-media/test-providers.sh +0 -308
  735. package/plugins/specweave-release/.claude-plugin/plugin.json +0 -29
  736. package/plugins/specweave-release/IMPLEMENTATION.md +0 -446
  737. package/plugins/specweave-release/PLUGIN.md +0 -38
  738. package/plugins/specweave-release/README.md +0 -508
  739. package/plugins/specweave-release/hooks/post-task-completion.sh +0 -113
  740. /package/dist/plugins/{specweave-release/lib → specweave/lib/features/release}/dashboard-generator.d.ts +0 -0
  741. /package/dist/plugins/{specweave-release/lib → specweave/lib/features/release}/dashboard-generator.js +0 -0
  742. /package/dist/plugins/{specweave-release/lib → specweave/lib/features/release}/dora-tracker.d.ts +0 -0
  743. /package/dist/plugins/{specweave-release/lib → specweave/lib/features/release}/dora-tracker.js +0 -0
  744. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.d.ts +0 -0
  745. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.js +0 -0
  746. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client-v2.js +0 -0
  747. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.d.ts +0 -0
  748. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.js +0 -0
  749. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-permission-gate.d.ts +0 -0
  750. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-permission-gate.js +0 -0
  751. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-profile-resolver.d.ts +0 -0
  752. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-profile-resolver.js +0 -0
  753. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-pull-sync.d.ts +0 -0
  754. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-pull-sync.js +0 -0
  755. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-rate-limiter.d.ts +0 -0
  756. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-rate-limiter.js +0 -0
  757. /package/dist/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/conflict-resolver.d.ts +0 -0
  758. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/CodeValidator.d.ts +0 -0
  759. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/IssueStateManager.d.ts +0 -0
  760. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/IssueStateManager.js +0 -0
  761. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/completion-calculator.d.ts +0 -0
  762. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/completion-calculator.js +0 -0
  763. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/duplicate-detector.d.ts +0 -0
  764. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-ac-comment-poster.d.ts +0 -0
  765. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-batch-sync.d.ts +0 -0
  766. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-batch-sync.js +0 -0
  767. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver-v2.d.ts +0 -0
  768. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver-v2.js +0 -0
  769. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.d.ts +0 -0
  770. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.js +0 -0
  771. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-conflict-resolver.d.ts +0 -0
  772. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-conflict-resolver.js +0 -0
  773. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-cross-repo-sync.d.ts +0 -0
  774. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-feature-sync-cli.d.ts +0 -0
  775. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-feature-sync-cli.js +0 -0
  776. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-feature-sync.d.ts +0 -0
  777. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-field-sync.d.ts +0 -0
  778. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-field-sync.js +0 -0
  779. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-graphql-client.d.ts +0 -0
  780. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-graphql-client.js +0 -0
  781. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-generator.d.ts +0 -0
  782. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-generator.js +0 -0
  783. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-parser.d.ts +0 -0
  784. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-parser.js +0 -0
  785. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-updater.d.ts +0 -0
  786. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-push-sync.d.ts +0 -0
  787. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-rate-limiter.d.ts +0 -0
  788. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-frontmatter-updater.js +0 -0
  789. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-sync-orchestrator.js +0 -0
  790. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-us-auto-closer.d.ts +0 -0
  791. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.d.ts +0 -0
  792. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.js +0 -0
  793. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/progress-comment-builder.d.ts +0 -0
  794. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/progress-comment-builder.js +0 -0
  795. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.d.ts +0 -0
  796. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.js +0 -0
  797. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/user-story-content-builder.d.ts +0 -0
  798. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/user-story-issue-builder.d.ts +0 -0
  799. /package/dist/plugins/{specweave-github/lib → specweave/lib/integrations/github}/user-story-issue-builder.js +0 -0
  800. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/content-format-adapter.d.ts +0 -0
  801. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/content-format-adapter.js +0 -0
  802. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-board-resolver.js +0 -0
  803. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-deployment-detector.d.ts +0 -0
  804. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-deployment-detector.js +0 -0
  805. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-field-discovery.d.ts +0 -0
  806. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-field-discovery.js +0 -0
  807. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-paginated-search.d.ts +0 -0
  808. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-paginated-search.js +0 -0
  809. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-permission-gate.d.ts +0 -0
  810. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-permission-gate.js +0 -0
  811. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/metadata-paths.d.ts +0 -0
  812. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/metadata-paths.js +0 -0
  813. /package/dist/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/reorganization-detector.js +0 -0
  814. /package/plugins/{specweave-ado/commands/cleanup-duplicates.md → specweave/commands/ado-cleanup-duplicates.md} +0 -0
  815. /package/plugins/{specweave-ado/commands/clone.md → specweave/commands/ado-clone.md} +0 -0
  816. /package/plugins/{specweave-ado/commands/close.md → specweave/commands/ado-close.md} +0 -0
  817. /package/plugins/{specweave-ado/commands/create.md → specweave/commands/ado-create.md} +0 -0
  818. /package/plugins/{specweave-ado/commands/import-areas.md → specweave/commands/ado-import-areas.md} +0 -0
  819. /package/plugins/{specweave-ado/commands/import-projects.md → specweave/commands/ado-import-projects.md} +0 -0
  820. /package/plugins/{specweave-ado/commands/pull.md → specweave/commands/ado-pull.md} +0 -0
  821. /package/plugins/{specweave-ado/commands/push.md → specweave/commands/ado-push.md} +0 -0
  822. /package/plugins/{specweave-ado/commands/reconcile.md → specweave/commands/ado-reconcile.md} +0 -0
  823. /package/plugins/{specweave-ado/commands/status.md → specweave/commands/ado-status.md} +0 -0
  824. /package/plugins/{specweave-ado/commands/sync.md → specweave/commands/ado-sync.md} +0 -0
  825. /package/plugins/{specweave-diagrams → specweave}/commands/diagrams-generate.md +0 -0
  826. /package/plugins/{specweave-docs/commands/build.md → specweave/commands/docs-build.md} +0 -0
  827. /package/plugins/{specweave-docs/commands/generate.md → specweave/commands/docs-generate.md} +0 -0
  828. /package/plugins/{specweave-docs/commands/health.md → specweave/commands/docs-health.md} +0 -0
  829. /package/plugins/{specweave-docs/commands/init.md → specweave/commands/docs-init.md} +0 -0
  830. /package/plugins/{specweave-docs/commands/organize.md → specweave/commands/docs-organize.md} +0 -0
  831. /package/plugins/{specweave-docs/commands/validate.md → specweave/commands/docs-validate.md} +0 -0
  832. /package/plugins/{specweave-docs/commands/view.md → specweave/commands/docs-view.md} +0 -0
  833. /package/plugins/{specweave-github/commands/cleanup-duplicates.md → specweave/commands/github-cleanup-duplicates.md} +0 -0
  834. /package/plugins/{specweave-github/commands/clone.md → specweave/commands/github-clone.md} +0 -0
  835. /package/plugins/{specweave-github/commands/close.md → specweave/commands/github-close.md} +0 -0
  836. /package/plugins/{specweave-github/commands/create.md → specweave/commands/github-create.md} +0 -0
  837. /package/plugins/{specweave-github/commands/pull.md → specweave/commands/github-pull.md} +0 -0
  838. /package/plugins/{specweave-github/commands/push.md → specweave/commands/github-push.md} +0 -0
  839. /package/plugins/{specweave-github/commands/reconcile.md → specweave/commands/github-reconcile.md} +0 -0
  840. /package/plugins/{specweave-github/commands/status.md → specweave/commands/github-status.md} +0 -0
  841. /package/plugins/{specweave-github/commands/sync.md → specweave/commands/github-sync.md} +0 -0
  842. /package/plugins/{specweave-github/commands/update-user-story.md → specweave/commands/github-update-user-story.md} +0 -0
  843. /package/plugins/{specweave-jira/commands/cleanup-duplicates.md → specweave/commands/jira-cleanup-duplicates.md} +0 -0
  844. /package/plugins/{specweave-jira/commands/close.md → specweave/commands/jira-close.md} +0 -0
  845. /package/plugins/{specweave-jira/commands/create.md → specweave/commands/jira-create.md} +0 -0
  846. /package/plugins/{specweave-jira/commands/import-boards.md → specweave/commands/jira-import-boards.md} +0 -0
  847. /package/plugins/{specweave-jira/commands/import-projects-full.md → specweave/commands/jira-import-projects-full.md} +0 -0
  848. /package/plugins/{specweave-jira/commands/import-projects.md → specweave/commands/jira-import-projects.md} +0 -0
  849. /package/plugins/{specweave-jira/commands/pull.md → specweave/commands/jira-pull.md} +0 -0
  850. /package/plugins/{specweave-jira/commands/push.md → specweave/commands/jira-push.md} +0 -0
  851. /package/plugins/{specweave-jira/commands/reconcile.md → specweave/commands/jira-reconcile.md} +0 -0
  852. /package/plugins/{specweave-jira/commands/status.md → specweave/commands/jira-status.md} +0 -0
  853. /package/plugins/{specweave-jira/commands/sync.md → specweave/commands/jira-sync.md} +0 -0
  854. /package/plugins/{specweave-release/commands/align.md → specweave/commands/release-align.md} +0 -0
  855. /package/plugins/{specweave-release/commands/init.md → specweave/commands/release-init.md} +0 -0
  856. /package/plugins/{specweave-release/commands/npm.md → specweave/commands/release-npm.md} +0 -0
  857. /package/plugins/{specweave-release/commands/platform.md → specweave/commands/release-platform.md} +0 -0
  858. /package/plugins/{specweave-release/commands/rc.md → specweave/commands/release-rc.md} +0 -0
  859. /package/plugins/{specweave-ado/hooks/post-living-docs-update.sh → specweave/hooks/v2/integrations/ado-post-living-docs-update.sh} +0 -0
  860. /package/plugins/{specweave-ado/hooks/post-task-completion.sh → specweave/hooks/v2/integrations/ado-post-task.sh} +0 -0
  861. /package/plugins/{specweave-github/hooks → specweave/hooks/v2/integrations}/github-auto-create-handler.sh +0 -0
  862. /package/plugins/{specweave-github/hooks/post-task-completion.sh → specweave/hooks/v2/integrations/github-post-task.sh} +0 -0
  863. /package/plugins/{specweave-jira/hooks/post-task-completion.sh → specweave/hooks/v2/integrations/jira-post-task.sh} +0 -0
  864. /package/plugins/{specweave-release/lib → specweave/lib/features/release}/dashboard-generator.js +0 -0
  865. /package/plugins/{specweave-release/lib → specweave/lib/features/release}/dashboard-generator.ts +0 -0
  866. /package/plugins/{specweave-release/lib → specweave/lib/features/release}/dora-tracker.js +0 -0
  867. /package/plugins/{specweave-release/lib → specweave/lib/features/release}/dora-tracker.ts +0 -0
  868. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.d.js +0 -0
  869. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.d.ts +0 -0
  870. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.d.ts.map +0 -0
  871. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.js +0 -0
  872. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.js.map +0 -0
  873. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-board-resolver.ts +0 -0
  874. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client-v2.d.js +0 -0
  875. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client-v2.d.ts.map +0 -0
  876. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client-v2.js +0 -0
  877. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client-v2.js.map +0 -0
  878. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.d.js +0 -0
  879. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.d.ts +0 -0
  880. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.d.ts.map +0 -0
  881. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.js +0 -0
  882. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.js.map +0 -0
  883. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-client.ts +0 -0
  884. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-hierarchical-sync.d.js +0 -0
  885. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-hierarchical-sync.d.ts.map +0 -0
  886. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-hierarchical-sync.js.map +0 -0
  887. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-permission-gate.js +0 -0
  888. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-permission-gate.ts +0 -0
  889. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-profile-resolver.js +0 -0
  890. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-profile-resolver.ts +0 -0
  891. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-pull-sync.js +0 -0
  892. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-pull-sync.ts +0 -0
  893. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-rate-limiter.js +0 -0
  894. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-rate-limiter.ts +0 -0
  895. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-commit-sync.d.js +0 -0
  896. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-commit-sync.d.ts.map +0 -0
  897. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-commit-sync.js.map +0 -0
  898. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-sync.d.js +0 -0
  899. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-sync.d.ts.map +0 -0
  900. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/ado-spec-sync.js.map +0 -0
  901. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/project-selector.d.js +0 -0
  902. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/project-selector.d.ts.map +0 -0
  903. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/project-selector.js +0 -0
  904. /package/plugins/{specweave-ado/lib → specweave/lib/integrations/ado}/project-selector.js.map +0 -0
  905. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/IssueStateManager.js +0 -0
  906. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/IssueStateManager.ts +0 -0
  907. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/completion-calculator.js +0 -0
  908. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/completion-calculator.ts +0 -0
  909. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-batch-sync.js +0 -0
  910. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-batch-sync.ts +0 -0
  911. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver-v2.js +0 -0
  912. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver-v2.ts +0 -0
  913. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver.d.js +0 -0
  914. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver.d.ts +0 -0
  915. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver.d.ts.map +0 -0
  916. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-board-resolver.js.map +0 -0
  917. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.d.js +0 -0
  918. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.d.ts +0 -0
  919. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.d.ts.map +0 -0
  920. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.js +0 -0
  921. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.js.map +0 -0
  922. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-client.ts +0 -0
  923. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-conflict-resolver.js +0 -0
  924. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-conflict-resolver.ts +0 -0
  925. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-feature-sync-cli.js +0 -0
  926. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-feature-sync-cli.ts +0 -0
  927. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-field-sync.js +0 -0
  928. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-field-sync.ts +0 -0
  929. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-graphql-client.js +0 -0
  930. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-graphql-client.ts +0 -0
  931. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-hierarchical-sync.d.js +0 -0
  932. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-hierarchical-sync.d.ts.map +0 -0
  933. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-hierarchical-sync.js.map +0 -0
  934. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-generator.js +0 -0
  935. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-generator.ts +0 -0
  936. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-parser.js +0 -0
  937. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-body-parser.ts +0 -0
  938. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-updater.d.js +0 -0
  939. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-updater.d.ts +0 -0
  940. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-updater.d.ts.map +0 -0
  941. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-issue-updater.js.map +0 -0
  942. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-commit-sync.d.js +0 -0
  943. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-commit-sync.d.ts.map +0 -0
  944. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-commit-sync.js.map +0 -0
  945. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-frontmatter-updater.js +0 -0
  946. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-sync.d.js +0 -0
  947. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-sync.d.ts.map +0 -0
  948. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-spec-sync.js.map +0 -0
  949. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/github-sync-orchestrator.js +0 -0
  950. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.d.js +0 -0
  951. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.d.ts +0 -0
  952. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.d.ts.map +0 -0
  953. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.js +0 -0
  954. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.js.map +0 -0
  955. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/index.ts +0 -0
  956. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/progress-comment-builder.js +0 -0
  957. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/progress-comment-builder.ts +0 -0
  958. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.d.js +0 -0
  959. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.d.ts +0 -0
  960. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.d.ts.map +0 -0
  961. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.js +0 -0
  962. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.js.map +0 -0
  963. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/repo-selector.ts +0 -0
  964. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.d.js +0 -0
  965. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.d.ts +0 -0
  966. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.d.ts.map +0 -0
  967. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.js +0 -0
  968. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.js.map +0 -0
  969. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/types.ts +0 -0
  970. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/user-story-issue-builder.js +0 -0
  971. /package/plugins/{specweave-github/lib → specweave/lib/integrations/github}/user-story-issue-builder.ts +0 -0
  972. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/content-format-adapter.js +0 -0
  973. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/content-format-adapter.ts +0 -0
  974. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-board-resolver.d.js +0 -0
  975. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-board-resolver.d.ts.map +0 -0
  976. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-board-resolver.js +0 -0
  977. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-board-resolver.js.map +0 -0
  978. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-deployment-detector.js +0 -0
  979. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-deployment-detector.ts +0 -0
  980. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-field-discovery.js +0 -0
  981. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-field-discovery.ts +0 -0
  982. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-hierarchical-sync.d.js +0 -0
  983. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-hierarchical-sync.d.ts.map +0 -0
  984. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-hierarchical-sync.js.map +0 -0
  985. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-paginated-search.js +0 -0
  986. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-paginated-search.ts +0 -0
  987. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-permission-gate.js +0 -0
  988. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-permission-gate.ts +0 -0
  989. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-profile-resolver.js +0 -0
  990. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-profile-resolver.ts +0 -0
  991. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-commit-sync.d.js +0 -0
  992. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-commit-sync.d.ts.map +0 -0
  993. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-commit-sync.js.map +0 -0
  994. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-sync.d.js +0 -0
  995. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-sync.d.ts.map +0 -0
  996. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/jira-spec-sync.js.map +0 -0
  997. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/metadata-paths.js +0 -0
  998. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/metadata-paths.ts +0 -0
  999. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/project-selector.d.js +0 -0
  1000. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/project-selector.d.ts.map +0 -0
  1001. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/project-selector.js +0 -0
  1002. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/project-selector.js.map +0 -0
  1003. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/reorganization-detector.d.js +0 -0
  1004. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/reorganization-detector.d.ts.map +0 -0
  1005. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/reorganization-detector.js +0 -0
  1006. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/reorganization-detector.js.map +0 -0
  1007. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/setup-wizard.d.ts.map +0 -0
  1008. /package/plugins/{specweave-jira/lib → specweave/lib/integrations/jira}/setup-wizard.js.map +0 -0
  1009. /package/plugins/{specweave-ado/reference → specweave/reference/ado}/ado-specweave-mapping.md +0 -0
  1010. /package/plugins/{specweave-github/reference → specweave/reference/github}/github-specweave-mapping.md +0 -0
  1011. /package/plugins/{specweave-jira/reference → specweave/reference/jira}/confluence-page-api.md +0 -0
  1012. /package/plugins/{specweave-jira/reference → specweave/reference/jira}/jira-specweave-mapping.md +0 -0
  1013. /package/plugins/{specweave-ado/scripts → specweave/scripts/ado}/refresh-cache.js +0 -0
  1014. /package/plugins/{specweave-ado/scripts → specweave/scripts/ado}/refresh-cache.ts +0 -0
  1015. /package/plugins/{specweave-jira/scripts → specweave/scripts/jira}/import-projects.js +0 -0
  1016. /package/plugins/{specweave-jira/scripts → specweave/scripts/jira}/import-projects.ts +0 -0
  1017. /package/plugins/{specweave-jira/scripts → specweave/scripts/jira}/refresh-cache.js +0 -0
  1018. /package/plugins/{specweave-jira/scripts → specweave/scripts/jira}/refresh-cache.ts +0 -0
  1019. /package/plugins/{specweave-ado → specweave}/skills/ado-mapper/SKILL.md +0 -0
  1020. /package/plugins/{specweave-ado → specweave}/skills/ado-multi-project/SKILL.md +0 -0
  1021. /package/plugins/{specweave-ado → specweave}/skills/ado-resource-validator/SKILL.md +0 -0
  1022. /package/plugins/{specweave-ado → specweave}/skills/ado-sync/README.md +0 -0
  1023. /package/plugins/{specweave-ado → specweave}/skills/ado-sync/SKILL.md +0 -0
  1024. /package/plugins/{specweave-diagrams → specweave}/skills/diagrams/SKILL.md +0 -0
  1025. /package/plugins/{specweave-github → specweave}/skills/github-issue-standard/SKILL.md +0 -0
  1026. /package/plugins/{specweave-github → specweave}/skills/github-multi-project/SKILL.md +0 -0
  1027. /package/plugins/{specweave-github → specweave}/skills/github-sync/SKILL.md +0 -0
  1028. /package/plugins/{specweave-github → specweave}/skills/github-sync/evals/HOW-TO-RUN-EVALS.md +0 -0
  1029. /package/plugins/{specweave-github → specweave}/skills/github-sync/evals/evals.json +0 -0
  1030. /package/plugins/{specweave-media → specweave}/skills/image/SKILL.md +0 -0
  1031. /package/plugins/{specweave-jira → specweave}/skills/jira-mapper/SKILL.md +0 -0
  1032. /package/plugins/{specweave-jira → specweave}/skills/jira-resource-validator/SKILL.md +0 -0
  1033. /package/plugins/{specweave-jira → specweave}/skills/jira-sync/README.md +0 -0
  1034. /package/plugins/{specweave-jira → specweave}/skills/jira-sync/SKILL.md +0 -0
  1035. /package/plugins/{specweave-github → specweave}/skills/pr-review/SKILL.md +0 -0
  1036. /package/plugins/{specweave-release → specweave}/skills/release-expert/SKILL.md +0 -0
  1037. /package/plugins/{specweave-media → specweave}/skills/remotion/SKILL.md +0 -0
  1038. /package/plugins/{specweave-media → specweave}/skills/video/SKILL.md +0 -0
@@ -0,0 +1,158 @@
1
+ /**
2
+ * GitHub Sync Orchestrator — Wires push sync, Projects V2, and frontmatter updates
3
+ *
4
+ * Composes all sync sub-components into a single flow:
5
+ * 1. Push user stories → GitHub issues
6
+ * 2. (Optional) Add issues to Projects V2 board
7
+ * 3. (Optional) Set Status/Priority fields on V2 items
8
+ * 4. Update spec frontmatter with sync results
9
+ *
10
+ * @module github-sync-orchestrator
11
+ */
12
+
13
+ import { pushSyncUserStories } from './github-push-sync.js';
14
+ import { GitHubBoardResolverV2 } from './github-board-resolver-v2.js';
15
+ import { GitHubFieldSync } from './github-field-sync.js';
16
+ import { updateSpecFrontmatter } from './github-spec-frontmatter-updater.js';
17
+ import { GitHubGraphQLClient } from './github-graphql-client.js';
18
+ import type { UserStoryForSync, PushSyncResult } from './github-push-sync.js';
19
+ import type { FieldSyncResult } from './github-field-sync.js';
20
+ import type { GitHubSyncMetadata } from '../../../../../src/core/types/sync-profile.js';
21
+
22
+ export interface SyncOrchestratorConfig {
23
+ owner: string;
24
+ repo: string;
25
+ token?: string;
26
+ dryRun?: boolean;
27
+ projectV2Enabled?: boolean;
28
+ projectV2Number?: number;
29
+ projectV2Id?: string;
30
+ boardName?: string;
31
+ statusFieldMapping?: Record<string, string>;
32
+ priorityFieldMapping?: Record<string, string>;
33
+ }
34
+
35
+ export interface ProjectV2Result {
36
+ projectId: string;
37
+ projectNumber: number;
38
+ itemIds: string[];
39
+ fieldSyncResult: FieldSyncResult;
40
+ }
41
+
42
+ export interface SyncOrchestratorResult {
43
+ pushResult: PushSyncResult;
44
+ projectV2Result?: ProjectV2Result;
45
+ frontmatterResult: GitHubSyncMetadata;
46
+ }
47
+
48
+ export class GitHubSyncOrchestrator {
49
+ private config: SyncOrchestratorConfig;
50
+
51
+ constructor(config: SyncOrchestratorConfig) {
52
+ this.config = config;
53
+ }
54
+
55
+ /**
56
+ * Run the full sync flow for a spec.
57
+ */
58
+ async syncSpec(
59
+ specPath: string,
60
+ userStories: UserStoryForSync[],
61
+ ): Promise<SyncOrchestratorResult> {
62
+ // Step 1: Push sync — create/update GitHub issues
63
+ const pushResult = await pushSyncUserStories(userStories, {
64
+ owner: this.config.owner,
65
+ repo: this.config.repo,
66
+ token: this.config.token,
67
+ dryRun: this.config.dryRun,
68
+ });
69
+
70
+ // Step 2: Projects V2 (optional, skip in dry run)
71
+ let projectV2Result: ProjectV2Result | undefined;
72
+
73
+ if (this.config.projectV2Enabled && !this.config.dryRun) {
74
+ projectV2Result = await this.syncProjectV2(pushResult, userStories);
75
+ }
76
+
77
+ // Step 3: Update spec frontmatter
78
+ const frontmatterOptions: { projectV2Id?: string; projectV2Number?: number } = {};
79
+ if (projectV2Result) {
80
+ frontmatterOptions.projectV2Id = projectV2Result.projectId;
81
+ frontmatterOptions.projectV2Number = projectV2Result.projectNumber;
82
+ }
83
+
84
+ const frontmatterResult = await updateSpecFrontmatter(
85
+ specPath,
86
+ pushResult,
87
+ frontmatterOptions,
88
+ );
89
+
90
+ return {
91
+ pushResult,
92
+ projectV2Result,
93
+ frontmatterResult,
94
+ };
95
+ }
96
+
97
+ private async syncProjectV2(
98
+ pushResult: PushSyncResult,
99
+ userStories: UserStoryForSync[],
100
+ ): Promise<ProjectV2Result> {
101
+ const graphqlClient = new GitHubGraphQLClient(this.config.token);
102
+
103
+ // Find or create the Projects V2 board
104
+ const boardResolver = new GitHubBoardResolverV2(graphqlClient, {
105
+ owner: this.config.owner,
106
+ projectV2Number: this.config.projectV2Number,
107
+ projectV2Id: this.config.projectV2Id,
108
+ });
109
+
110
+ const boardName = this.config.boardName || 'SpecWeave Sync Board';
111
+ const project = await boardResolver.findOrCreateProject(boardName);
112
+
113
+ // Collect issue node IDs from created issues
114
+ const nodeIds = pushResult.created
115
+ .filter(item => item.issueNodeId)
116
+ .map(item => item.issueNodeId);
117
+
118
+ // Add issues to project
119
+ const itemIds = await boardResolver.addIssuesToProject(project.id, nodeIds);
120
+
121
+ // Build a map from nodeId → user story for field sync
122
+ const nodeIdToStory = new Map<string, UserStoryForSync>();
123
+ for (const created of pushResult.created) {
124
+ if (created.issueNodeId) {
125
+ const story = userStories.find(s => s.id === created.userStoryId);
126
+ if (story) {
127
+ nodeIdToStory.set(created.issueNodeId, story);
128
+ }
129
+ }
130
+ }
131
+
132
+ // Sync Status and Priority fields
133
+ const fieldSync = new GitHubFieldSync(graphqlClient, {
134
+ projectId: project.id,
135
+ statusFieldMapping: this.config.statusFieldMapping,
136
+ priorityFieldMapping: this.config.priorityFieldMapping,
137
+ });
138
+
139
+ const fieldSyncItems = itemIds.map((itemId, idx) => {
140
+ const nodeId = nodeIds[idx];
141
+ const story = nodeId ? nodeIdToStory.get(nodeId) : undefined;
142
+ return {
143
+ itemId,
144
+ status: story?.status,
145
+ priority: story?.priority,
146
+ };
147
+ });
148
+
149
+ const fieldSyncResult = await fieldSync.syncItemFields(fieldSyncItems);
150
+
151
+ return {
152
+ projectId: project.id,
153
+ projectNumber: project.number,
154
+ itemIds,
155
+ fieldSyncResult,
156
+ };
157
+ }
158
+ }
@@ -0,0 +1,190 @@
1
+ import { readFile } from "fs/promises";
2
+ import { existsSync } from "fs";
3
+ import * as path from "path";
4
+ import { execFileNoThrow } from "../../../../../src/utils/execFileNoThrow.js";
5
+ async function autoCloseCompletedUserStories(incrementId, affectedUSIds, specPath, options) {
6
+ const result = { closed: [], skipped: [], errors: [] };
7
+ if (affectedUSIds.length === 0) {
8
+ return result;
9
+ }
10
+ let content;
11
+ try {
12
+ content = await readFile(specPath, "utf-8");
13
+ } catch (err) {
14
+ result.errors.push({
15
+ usId: affectedUSIds[0],
16
+ error: err instanceof Error ? err.message : String(err)
17
+ });
18
+ return result;
19
+ }
20
+ const issueLinks = await parseIssueLinks(specPath);
21
+ const repoSlug = `${options.owner}/${options.repo}`;
22
+ const env = options.token ? { GH_TOKEN: options.token } : void 0;
23
+ const execOpts = env ? { env } : {};
24
+ for (const usId of affectedUSIds) {
25
+ const acStates = parseACStatesForUS(content, usId);
26
+ if (acStates.length === 0 || acStates.some((ac) => !ac.completed)) {
27
+ result.skipped.push({ usId, reason: "incomplete-acs" });
28
+ continue;
29
+ }
30
+ const link = issueLinks[usId];
31
+ if (!link) {
32
+ result.skipped.push({ usId, reason: "no-issue-link" });
33
+ continue;
34
+ }
35
+ const issueNum = String(link.issueNumber);
36
+ const viewResult = await execFileNoThrow(
37
+ "gh",
38
+ ["issue", "view", issueNum, "--json", "state", "-R", repoSlug],
39
+ execOpts
40
+ );
41
+ if (viewResult.success) {
42
+ try {
43
+ const issueState = JSON.parse(viewResult.stdout);
44
+ if (issueState.state === "CLOSED") {
45
+ result.skipped.push({ usId, reason: "already-closed" });
46
+ continue;
47
+ }
48
+ } catch {
49
+ }
50
+ }
51
+ const commentBody = buildCompletionComment(incrementId, usId, acStates);
52
+ await execFileNoThrow(
53
+ "gh",
54
+ ["issue", "comment", issueNum, "--body", commentBody, "-R", repoSlug],
55
+ execOpts
56
+ );
57
+ const closeResult = await execFileNoThrow(
58
+ "gh",
59
+ ["issue", "close", issueNum, "-R", repoSlug],
60
+ execOpts
61
+ );
62
+ if (closeResult.success) {
63
+ await ensureLabelExists("status:completed", repoSlug, execOpts, {
64
+ color: "6f42c1",
65
+ description: "Completed work item"
66
+ });
67
+ await execFileNoThrow(
68
+ "gh",
69
+ ["issue", "edit", issueNum, "--remove-label", "status:active", "--add-label", "status:completed", "-R", repoSlug],
70
+ execOpts
71
+ );
72
+ result.closed.push({ usId, issueNumber: link.issueNumber });
73
+ } else {
74
+ result.errors.push({
75
+ usId,
76
+ error: closeResult.stderr || "Unknown error closing issue"
77
+ });
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ function buildCompletionComment(incrementId, usId, acStates) {
83
+ const total = acStates.length;
84
+ let comment = `**All acceptance criteria completed** \u2014 ${usId} (Increment ${incrementId})
85
+
86
+ `;
87
+ comment += `**Status**: ${total}/${total} ACs complete (100%)
88
+
89
+ `;
90
+ comment += `**Completed**:
91
+ `;
92
+ for (const ac of acStates) {
93
+ comment += `- [x] **${ac.id}**: ${ac.description}
94
+ `;
95
+ }
96
+ comment += "\n";
97
+ comment += `---
98
+ `;
99
+ comment += `Auto-closed by SpecWeave | ${(/* @__PURE__ */ new Date()).toISOString().split("T")[0]}
100
+ `;
101
+ return comment;
102
+ }
103
+ async function parseIssueLinks(specPath) {
104
+ const links = {};
105
+ try {
106
+ const metadataPath = path.join(path.dirname(specPath), "metadata.json");
107
+ if (!existsSync(metadataPath)) return links;
108
+ const raw = await readFile(metadataPath, "utf-8");
109
+ const metadata = JSON.parse(raw);
110
+ if (metadata.github?.issues && Array.isArray(metadata.github.issues)) {
111
+ for (const entry of metadata.github.issues) {
112
+ if (entry.userStory && entry.number) {
113
+ links[entry.userStory] = {
114
+ issueNumber: entry.number,
115
+ issueUrl: entry.url || ""
116
+ };
117
+ }
118
+ }
119
+ }
120
+ if (metadata.externalLinks?.github?.issues) {
121
+ const issues = metadata.externalLinks.github.issues;
122
+ for (const [usId, data] of Object.entries(issues)) {
123
+ const issueData = data;
124
+ if (issueData.issueNumber) {
125
+ links[usId] = {
126
+ issueNumber: issueData.issueNumber,
127
+ issueUrl: issueData.issueUrl || ""
128
+ };
129
+ }
130
+ }
131
+ }
132
+ } catch {
133
+ }
134
+ return links;
135
+ }
136
+ async function ensureLabelExists(labelName, repoSlug, execOpts, defaults) {
137
+ const checkResult = await execFileNoThrow(
138
+ "gh",
139
+ ["label", "list", "--repo", repoSlug, "--search", labelName, "--json", "name", "--jq", ".[].name"],
140
+ execOpts
141
+ );
142
+ if (checkResult.success) {
143
+ const existing = (checkResult.stdout || "").trim().split("\n").filter(Boolean);
144
+ if (existing.some((name) => name === labelName)) {
145
+ return;
146
+ }
147
+ }
148
+ const createResult = await execFileNoThrow(
149
+ "gh",
150
+ ["label", "create", labelName, "--repo", repoSlug, "--color", defaults.color, "--description", defaults.description, "--force"],
151
+ execOpts
152
+ );
153
+ if (!createResult.success) {
154
+ console.warn(`\u26A0\uFE0F Could not create label "${labelName}": ${createResult.stderr || "unknown error"} (continuing without label)`);
155
+ }
156
+ }
157
+ function buildACPrefix(usId) {
158
+ const compoundMatch = usId.match(/^US-([A-Z]+)-(\d+)$/);
159
+ if (compoundMatch) {
160
+ return `AC-${compoundMatch[1]}-US${parseInt(compoundMatch[2], 10)}-`;
161
+ }
162
+ const simpleMatch = usId.match(/^US-(\d+)$/);
163
+ if (simpleMatch) {
164
+ return `AC-US${parseInt(simpleMatch[1], 10)}-`;
165
+ }
166
+ const fallback = usId.match(/(\d+)$/);
167
+ const num = fallback ? parseInt(fallback[1], 10) : 0;
168
+ return `AC-US${num}-`;
169
+ }
170
+ function parseACStatesForUS(content, usId) {
171
+ const states = [];
172
+ const acPrefix = buildACPrefix(usId);
173
+ const escapedPrefix = acPrefix.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
174
+ const acPattern = new RegExp(
175
+ `- \\[([ x])\\] (?:\\*\\*)?${escapedPrefix}(\\d+)(?:\\*\\*)?:\\s*(.+)`,
176
+ "g"
177
+ );
178
+ let match;
179
+ while ((match = acPattern.exec(content)) !== null) {
180
+ states.push({
181
+ id: `${acPrefix}${match[2]}`,
182
+ description: match[3].trim(),
183
+ completed: match[1] === "x"
184
+ });
185
+ }
186
+ return states;
187
+ }
188
+ export {
189
+ autoCloseCompletedUserStories
190
+ };
@@ -0,0 +1,313 @@
1
+ /**
2
+ * GitHub US Auto-Closer — Closes GitHub issues when all ACs are complete
3
+ *
4
+ * For each affected user story, checks if ALL acceptance criteria are
5
+ * marked complete in spec.md. If so, posts a completion comment and
6
+ * closes the associated GitHub issue.
7
+ *
8
+ * @module github-us-auto-closer
9
+ */
10
+
11
+ import { readFile } from 'fs/promises';
12
+ import { existsSync } from 'fs';
13
+ import * as path from 'path';
14
+ import { execFileNoThrow } from '../../../../../src/utils/execFileNoThrow.js';
15
+
16
+ export interface AutoCloseOptions {
17
+ owner: string;
18
+ repo: string;
19
+ token?: string;
20
+ }
21
+
22
+ export interface AutoCloseResult {
23
+ closed: Array<{ usId: string; issueNumber: number }>;
24
+ skipped: Array<{ usId: string; reason: string }>;
25
+ errors: Array<{ usId: string; error: string }>;
26
+ }
27
+
28
+ interface ParsedACState {
29
+ id: string;
30
+ description: string;
31
+ completed: boolean;
32
+ }
33
+
34
+ interface ParsedUSIssueLink {
35
+ issueNumber: number;
36
+ issueUrl: string;
37
+ }
38
+
39
+ /**
40
+ * Auto-close GitHub issues for user stories with all ACs complete.
41
+ *
42
+ * For each affected US:
43
+ * 1. Parse AC states from spec.md
44
+ * 2. Skip if not all ACs complete
45
+ * 3. Look up GitHub issue link from frontmatter
46
+ * 4. Check if issue already closed (idempotent)
47
+ * 5. Post completion comment
48
+ * 6. Close issue via `gh issue close`
49
+ *
50
+ * Never throws — all errors captured in result.errors.
51
+ */
52
+ export async function autoCloseCompletedUserStories(
53
+ incrementId: string,
54
+ affectedUSIds: string[],
55
+ specPath: string,
56
+ options: AutoCloseOptions,
57
+ ): Promise<AutoCloseResult> {
58
+ const result: AutoCloseResult = { closed: [], skipped: [], errors: [] };
59
+
60
+ if (affectedUSIds.length === 0) {
61
+ return result;
62
+ }
63
+
64
+ let content: string;
65
+ try {
66
+ content = await readFile(specPath, 'utf-8');
67
+ } catch (err) {
68
+ result.errors.push({
69
+ usId: affectedUSIds[0],
70
+ error: err instanceof Error ? err.message : String(err),
71
+ });
72
+ return result;
73
+ }
74
+
75
+ const issueLinks = await parseIssueLinks(specPath);
76
+ const repoSlug = `${options.owner}/${options.repo}`;
77
+ const env = options.token ? { GH_TOKEN: options.token } : undefined;
78
+ const execOpts = env ? { env } : {};
79
+
80
+ for (const usId of affectedUSIds) {
81
+ const acStates = parseACStatesForUS(content, usId);
82
+
83
+ // Skip if not all ACs complete
84
+ if (acStates.length === 0 || acStates.some(ac => !ac.completed)) {
85
+ result.skipped.push({ usId, reason: 'incomplete-acs' });
86
+ continue;
87
+ }
88
+
89
+ // Skip if no issue link
90
+ const link = issueLinks[usId];
91
+ if (!link) {
92
+ result.skipped.push({ usId, reason: 'no-issue-link' });
93
+ continue;
94
+ }
95
+
96
+ const issueNum = String(link.issueNumber);
97
+
98
+ // Check if already closed (idempotent)
99
+ const viewResult = await execFileNoThrow(
100
+ 'gh',
101
+ ['issue', 'view', issueNum, '--json', 'state', '-R', repoSlug],
102
+ execOpts,
103
+ );
104
+
105
+ if (viewResult.success) {
106
+ try {
107
+ const issueState = JSON.parse(viewResult.stdout);
108
+ if (issueState.state === 'CLOSED') {
109
+ result.skipped.push({ usId, reason: 'already-closed' });
110
+ continue;
111
+ }
112
+ } catch {
113
+ // Parse error — proceed with close attempt
114
+ }
115
+ }
116
+
117
+ // Post completion comment
118
+ const commentBody = buildCompletionComment(incrementId, usId, acStates);
119
+ await execFileNoThrow(
120
+ 'gh',
121
+ ['issue', 'comment', issueNum, '--body', commentBody, '-R', repoSlug],
122
+ execOpts,
123
+ );
124
+
125
+ // Close the issue
126
+ const closeResult = await execFileNoThrow(
127
+ 'gh',
128
+ ['issue', 'close', issueNum, '-R', repoSlug],
129
+ execOpts,
130
+ );
131
+
132
+ if (closeResult.success) {
133
+ // Ensure required labels exist before applying them
134
+ await ensureLabelExists('status:completed', repoSlug, execOpts, {
135
+ color: '6f42c1',
136
+ description: 'Completed work item',
137
+ });
138
+
139
+ // Update labels: remove status:active, add status:completed
140
+ await execFileNoThrow(
141
+ 'gh',
142
+ ['issue', 'edit', issueNum, '--remove-label', 'status:active', '--add-label', 'status:completed', '-R', repoSlug],
143
+ execOpts,
144
+ );
145
+ result.closed.push({ usId, issueNumber: link.issueNumber });
146
+ } else {
147
+ result.errors.push({
148
+ usId,
149
+ error: closeResult.stderr || 'Unknown error closing issue',
150
+ });
151
+ }
152
+ }
153
+
154
+ return result;
155
+ }
156
+
157
+ /**
158
+ * Build a completion comment for a fully-complete user story.
159
+ */
160
+ function buildCompletionComment(
161
+ incrementId: string,
162
+ usId: string,
163
+ acStates: ParsedACState[],
164
+ ): string {
165
+ const total = acStates.length;
166
+
167
+ let comment = `**All acceptance criteria completed** — ${usId} (Increment ${incrementId})\n\n`;
168
+ comment += `**Status**: ${total}/${total} ACs complete (100%)\n\n`;
169
+
170
+ comment += `**Completed**:\n`;
171
+ for (const ac of acStates) {
172
+ comment += `- [x] **${ac.id}**: ${ac.description}\n`;
173
+ }
174
+ comment += '\n';
175
+
176
+ comment += `---\n`;
177
+ comment += `Auto-closed by SpecWeave | ${new Date().toISOString().split('T')[0]}\n`;
178
+
179
+ return comment;
180
+ }
181
+
182
+ /**
183
+ * Parse issue links from metadata.json (sibling of spec.md).
184
+ *
185
+ * Supports TWO formats:
186
+ * - OLD: metadata.github.issues[] with { userStory, number, url }
187
+ * - NEW: metadata.externalLinks.github.issues with { [US-XXX]: { issueNumber, issueUrl } }
188
+ *
189
+ * Falls back to empty if metadata.json is missing or invalid.
190
+ */
191
+ async function parseIssueLinks(specPath: string): Promise<Record<string, ParsedUSIssueLink>> {
192
+ const links: Record<string, ParsedUSIssueLink> = {};
193
+
194
+ try {
195
+ const metadataPath = path.join(path.dirname(specPath), 'metadata.json');
196
+ if (!existsSync(metadataPath)) return links;
197
+
198
+ const raw = await readFile(metadataPath, 'utf-8');
199
+ const metadata = JSON.parse(raw);
200
+
201
+ // OLD format: metadata.github.issues[] array
202
+ if (metadata.github?.issues && Array.isArray(metadata.github.issues)) {
203
+ for (const entry of metadata.github.issues) {
204
+ if (entry.userStory && entry.number) {
205
+ links[entry.userStory] = {
206
+ issueNumber: entry.number,
207
+ issueUrl: entry.url || '',
208
+ };
209
+ }
210
+ }
211
+ }
212
+
213
+ // NEW format: metadata.externalLinks.github.issues object
214
+ if (metadata.externalLinks?.github?.issues) {
215
+ const issues = metadata.externalLinks.github.issues;
216
+ for (const [usId, data] of Object.entries(issues)) {
217
+ const issueData = data as { issueNumber?: number; issueUrl?: string };
218
+ if (issueData.issueNumber) {
219
+ links[usId] = {
220
+ issueNumber: issueData.issueNumber,
221
+ issueUrl: issueData.issueUrl || '',
222
+ };
223
+ }
224
+ }
225
+ }
226
+ } catch {
227
+ // Graceful fallback: return empty if metadata.json is missing or invalid
228
+ }
229
+
230
+ return links;
231
+ }
232
+
233
+ /**
234
+ * Ensure a label exists in the repo before applying it.
235
+ * Creates the label if missing; logs a warning and continues on permission errors.
236
+ */
237
+ async function ensureLabelExists(
238
+ labelName: string,
239
+ repoSlug: string,
240
+ execOpts: { env?: Record<string, string> },
241
+ defaults: { color: string; description: string },
242
+ ): Promise<void> {
243
+ // Check if label exists
244
+ const checkResult = await execFileNoThrow(
245
+ 'gh',
246
+ ['label', 'list', '--repo', repoSlug, '--search', labelName, '--json', 'name', '--jq', '.[].name'],
247
+ execOpts,
248
+ );
249
+
250
+ if (checkResult.success) {
251
+ const existing = (checkResult.stdout || '').trim().split('\n').filter(Boolean);
252
+ if (existing.some(name => name === labelName)) {
253
+ return; // Label already exists
254
+ }
255
+ }
256
+
257
+ // Create the label
258
+ const createResult = await execFileNoThrow(
259
+ 'gh',
260
+ ['label', 'create', labelName, '--repo', repoSlug, '--color', defaults.color, '--description', defaults.description, '--force'],
261
+ execOpts,
262
+ );
263
+
264
+ if (!createResult.success) {
265
+ // Permission error or other failure — log warning and continue
266
+ console.warn(`⚠️ Could not create label "${labelName}": ${createResult.stderr || 'unknown error'} (continuing without label)`);
267
+ }
268
+ }
269
+
270
+ /**
271
+ * Build the AC ID prefix for a given US ID.
272
+ * US-001 → "AC-US1-", US-SPE-001 → "AC-SPE-US1-"
273
+ */
274
+ function buildACPrefix(usId: string): string {
275
+ const compoundMatch = usId.match(/^US-([A-Z]+)-(\d+)$/);
276
+ if (compoundMatch) {
277
+ return `AC-${compoundMatch[1]}-US${parseInt(compoundMatch[2], 10)}-`;
278
+ }
279
+ const simpleMatch = usId.match(/^US-(\d+)$/);
280
+ if (simpleMatch) {
281
+ return `AC-US${parseInt(simpleMatch[1], 10)}-`;
282
+ }
283
+ const fallback = usId.match(/(\d+)$/);
284
+ const num = fallback ? parseInt(fallback[1], 10) : 0;
285
+ return `AC-US${num}-`;
286
+ }
287
+
288
+ /**
289
+ * Extract AC states for a specific user story from spec.md content.
290
+ * Supports both simple (AC-US1-01) and compound (AC-SPE-US1-01) AC ID formats.
291
+ */
292
+ function parseACStatesForUS(content: string, usId: string): ParsedACState[] {
293
+ const states: ParsedACState[] = [];
294
+ const acPrefix = buildACPrefix(usId);
295
+ const escapedPrefix = acPrefix.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
296
+
297
+ // Support both bold (**AC-...**:) and plain (AC-...:) formats
298
+ const acPattern = new RegExp(
299
+ `- \\[([ x])\\] (?:\\*\\*)?${escapedPrefix}(\\d+)(?:\\*\\*)?:\\s*(.+)`,
300
+ 'g',
301
+ );
302
+
303
+ let match;
304
+ while ((match = acPattern.exec(content)) !== null) {
305
+ states.push({
306
+ id: `${acPrefix}${match[2]}`,
307
+ description: match[3].trim(),
308
+ completed: match[1] === 'x',
309
+ });
310
+ }
311
+
312
+ return states;
313
+ }