specweave 0.16.7 → 0.16.11

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 (1029) hide show
  1. package/.claude-plugin/marketplace.json +22 -0
  2. package/CLAUDE.md +45 -26
  3. package/dist/cli/commands/sync-spec-commits.d.ts +9 -0
  4. package/dist/cli/commands/sync-spec-commits.d.ts.map +1 -0
  5. package/dist/cli/commands/sync-spec-commits.js +186 -0
  6. package/dist/cli/commands/sync-spec-commits.js.map +1 -0
  7. package/dist/core/agent-model-manager.d.ts +52 -0
  8. package/dist/core/agent-model-manager.d.ts.map +1 -0
  9. package/dist/core/agent-model-manager.js +120 -0
  10. package/dist/core/agent-model-manager.js.map +1 -0
  11. package/dist/core/comment-builder.d.ts +57 -0
  12. package/dist/core/comment-builder.d.ts.map +1 -0
  13. package/dist/core/comment-builder.js +239 -0
  14. package/dist/core/comment-builder.js.map +1 -0
  15. package/dist/core/model-selector.d.ts +57 -0
  16. package/dist/core/model-selector.d.ts.map +1 -0
  17. package/dist/core/model-selector.js +115 -0
  18. package/dist/core/model-selector.js.map +1 -0
  19. package/dist/core/phase-detector.d.ts +62 -0
  20. package/dist/core/phase-detector.d.ts.map +1 -0
  21. package/dist/core/phase-detector.js +229 -0
  22. package/dist/core/phase-detector.js.map +1 -0
  23. package/dist/core/spec-task-mapper.d.ts +71 -0
  24. package/dist/core/spec-task-mapper.d.ts.map +1 -0
  25. package/dist/core/spec-task-mapper.js +208 -0
  26. package/dist/core/spec-task-mapper.js.map +1 -0
  27. package/dist/hooks/lib/git-diff-analyzer.d.ts +89 -0
  28. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  29. package/dist/hooks/lib/git-diff-analyzer.js +226 -0
  30. package/dist/hooks/lib/git-diff-analyzer.js.map +1 -0
  31. package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
  32. package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  33. package/dist/hooks/lib/invoke-translator-skill.js +201 -0
  34. package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
  35. package/dist/hooks/lib/prepare-reflection-context.d.ts +42 -0
  36. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  37. package/dist/hooks/lib/prepare-reflection-context.js +123 -0
  38. package/dist/hooks/lib/prepare-reflection-context.js.map +1 -0
  39. package/dist/hooks/lib/reflection-config-loader.d.ts +45 -0
  40. package/dist/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  41. package/dist/hooks/lib/reflection-config-loader.js +132 -0
  42. package/dist/hooks/lib/reflection-config-loader.js.map +1 -0
  43. package/dist/hooks/lib/reflection-parser.d.ts +33 -0
  44. package/dist/hooks/lib/reflection-parser.d.ts.map +1 -0
  45. package/dist/hooks/lib/reflection-parser.js +419 -0
  46. package/dist/hooks/lib/reflection-parser.js.map +1 -0
  47. package/dist/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  48. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  49. package/dist/hooks/lib/reflection-prompt-builder.js +239 -0
  50. package/dist/hooks/lib/reflection-prompt-builder.js.map +1 -0
  51. package/dist/hooks/lib/reflection-storage.d.ts +64 -0
  52. package/dist/hooks/lib/reflection-storage.d.ts.map +1 -0
  53. package/dist/hooks/lib/reflection-storage.js +305 -0
  54. package/dist/hooks/lib/reflection-storage.js.map +1 -0
  55. package/dist/hooks/lib/run-self-reflection.d.ts +43 -0
  56. package/dist/hooks/lib/run-self-reflection.d.ts.map +1 -0
  57. package/dist/hooks/lib/run-self-reflection.js +203 -0
  58. package/dist/hooks/lib/run-self-reflection.js.map +1 -0
  59. package/dist/hooks/lib/sync-living-docs.d.ts +27 -0
  60. package/dist/hooks/lib/sync-living-docs.d.ts.map +1 -0
  61. package/dist/hooks/lib/sync-living-docs.js +116 -0
  62. package/dist/hooks/lib/sync-living-docs.js.map +1 -0
  63. package/dist/hooks/lib/translate-file.d.ts +59 -0
  64. package/dist/hooks/lib/translate-file.d.ts.map +1 -0
  65. package/dist/hooks/lib/translate-file.js +350 -0
  66. package/dist/hooks/lib/translate-file.js.map +1 -0
  67. package/dist/hooks/lib/translate-living-docs.d.ts +13 -0
  68. package/dist/hooks/lib/translate-living-docs.d.ts.map +1 -0
  69. package/dist/hooks/lib/translate-living-docs.js +175 -0
  70. package/dist/hooks/lib/translate-living-docs.js.map +1 -0
  71. package/dist/hooks/lib/types/reflection-types.d.ts +164 -0
  72. package/dist/hooks/lib/types/reflection-types.d.ts.map +1 -0
  73. package/dist/hooks/lib/types/reflection-types.js +73 -0
  74. package/dist/hooks/lib/types/reflection-types.js.map +1 -0
  75. package/dist/hooks/lib/update-tasks-md.d.ts +29 -0
  76. package/dist/hooks/lib/update-tasks-md.d.ts.map +1 -0
  77. package/dist/hooks/lib/update-tasks-md.js +203 -0
  78. package/dist/hooks/lib/update-tasks-md.js.map +1 -0
  79. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  80. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  81. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  82. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  83. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  84. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  85. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  86. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  87. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  88. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  89. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  90. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  91. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  92. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  93. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  94. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  95. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  96. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  97. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  98. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  99. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  100. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  101. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  102. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  103. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  104. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  105. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  106. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  107. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  108. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  109. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  110. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  111. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  112. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  113. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +144 -0
  114. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  115. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  116. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  117. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  118. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  119. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  120. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  121. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  122. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  123. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  124. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  125. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  126. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  127. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  128. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  129. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  130. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  131. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  132. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  133. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  134. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  135. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +134 -0
  136. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  137. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +478 -0
  138. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  139. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  140. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  141. package/dist/plugins/specweave-ado/lib/ado-client.js +272 -0
  142. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  143. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  144. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  145. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  146. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  147. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts +149 -0
  148. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts.map +1 -0
  149. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js +517 -0
  150. package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js.map +1 -0
  151. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts +72 -0
  152. package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts.map +1 -0
  153. package/dist/plugins/specweave-ado/lib/ado-project-detector.js +416 -0
  154. package/dist/plugins/specweave-ado/lib/ado-project-detector.js.map +1 -0
  155. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +38 -0
  156. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts.map +1 -0
  157. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js +210 -0
  158. package/dist/plugins/specweave-ado/lib/ado-spec-commit-sync.js.map +1 -0
  159. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts +28 -0
  160. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -0
  161. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +241 -0
  162. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -0
  163. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +100 -0
  164. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -0
  165. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +471 -0
  166. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -0
  167. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts +99 -0
  168. package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +1 -0
  169. package/dist/plugins/specweave-ado/lib/conflict-resolver.js +331 -0
  170. package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +1 -0
  171. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  172. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  173. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  174. package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
  175. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +12 -0
  176. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +1 -0
  177. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +28 -0
  178. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +1 -0
  179. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  180. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  181. package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  182. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  183. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  184. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  185. package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
  186. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  187. package/dist/plugins/specweave-github/lib/github-client.d.ts +96 -0
  188. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  189. package/dist/plugins/specweave-github/lib/github-client.js +299 -0
  190. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -0
  191. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  192. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  193. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  194. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  195. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +61 -0
  196. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -0
  197. package/dist/plugins/specweave-github/lib/github-issue-updater.js +327 -0
  198. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -0
  199. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts +126 -0
  200. package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts.map +1 -0
  201. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js +420 -0
  202. package/dist/plugins/specweave-github/lib/github-multi-project-sync.js.map +1 -0
  203. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +37 -0
  204. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.d.ts.map +1 -0
  205. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js +209 -0
  206. package/dist/plugins/specweave-github/lib/github-spec-commit-sync.js.map +1 -0
  207. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts +28 -0
  208. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -0
  209. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +195 -0
  210. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -0
  211. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +108 -0
  212. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -0
  213. package/dist/plugins/specweave-github/lib/github-spec-sync.js +505 -0
  214. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -0
  215. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +36 -0
  216. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -0
  217. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +228 -0
  218. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -0
  219. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +18 -0
  220. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -0
  221. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +287 -0
  222. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -0
  223. package/dist/plugins/specweave-github/lib/index.d.ts +10 -0
  224. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -0
  225. package/dist/plugins/specweave-github/lib/index.js +10 -0
  226. package/dist/plugins/specweave-github/lib/index.js.map +1 -0
  227. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  228. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  229. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  230. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  231. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  232. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  233. package/dist/plugins/specweave-github/lib/subtask-sync.js +147 -0
  234. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  235. package/dist/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  236. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  237. package/dist/plugins/specweave-github/lib/task-parser.js +211 -0
  238. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -0
  239. package/dist/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  240. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  241. package/dist/plugins/specweave-github/lib/task-sync.js +332 -0
  242. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -0
  243. package/dist/plugins/specweave-github/lib/types.d.ts +80 -0
  244. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -0
  245. package/dist/plugins/specweave-github/lib/types.js +5 -0
  246. package/dist/plugins/specweave-github/lib/types.js.map +1 -0
  247. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  248. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  249. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  250. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  251. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  252. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  253. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  254. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  255. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts +95 -0
  256. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts.map +1 -0
  257. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js +301 -0
  258. package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js.map +1 -0
  259. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +43 -0
  260. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts.map +1 -0
  261. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js +282 -0
  262. package/dist/plugins/specweave-jira/lib/jira-spec-commit-sync.js.map +1 -0
  263. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts +33 -0
  264. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.d.ts.map +1 -0
  265. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js +294 -0
  266. package/dist/plugins/specweave-jira/lib/jira-spec-content-sync.js.map +1 -0
  267. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +105 -0
  268. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -0
  269. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +456 -0
  270. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -0
  271. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  272. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  273. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  274. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  275. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  276. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  277. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  278. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  279. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  280. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  281. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  282. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  283. package/dist/plugins/specweave-release/lib/dashboard-generator.d.ts +23 -0
  284. package/dist/plugins/specweave-release/lib/dashboard-generator.d.ts.map +1 -0
  285. package/dist/plugins/specweave-release/lib/dashboard-generator.js +258 -0
  286. package/dist/plugins/specweave-release/lib/dashboard-generator.js.map +1 -0
  287. package/dist/plugins/specweave-release/lib/dora-tracker.d.ts +82 -0
  288. package/dist/plugins/specweave-release/lib/dora-tracker.d.ts.map +1 -0
  289. package/dist/plugins/specweave-release/lib/dora-tracker.js +279 -0
  290. package/dist/plugins/specweave-release/lib/dora-tracker.js.map +1 -0
  291. package/dist/project-mapper.js +272 -0
  292. package/dist/scripts/split-spec-by-project.js +105 -0
  293. package/dist/spec-splitter.js +283 -0
  294. package/dist/src/adapters/adapter-base.d.ts +71 -0
  295. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  296. package/dist/src/adapters/adapter-base.js +139 -0
  297. package/dist/src/adapters/adapter-base.js.map +1 -0
  298. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  299. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  300. package/dist/src/adapters/adapter-interface.js +8 -0
  301. package/dist/src/adapters/adapter-interface.js.map +1 -0
  302. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  303. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  304. package/dist/src/adapters/adapter-loader.js +238 -0
  305. package/dist/src/adapters/adapter-loader.js.map +1 -0
  306. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  307. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  308. package/dist/src/adapters/agents-md-generator.js +193 -0
  309. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  310. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  311. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  312. package/dist/src/adapters/claude/adapter.js +415 -0
  313. package/dist/src/adapters/claude/adapter.js.map +1 -0
  314. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  315. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  316. package/dist/src/adapters/claude-md-generator.js +307 -0
  317. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  318. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  319. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  320. package/dist/src/adapters/codex/adapter.js +316 -0
  321. package/dist/src/adapters/codex/adapter.js.map +1 -0
  322. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  323. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  324. package/dist/src/adapters/cursor/adapter.js +406 -0
  325. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  326. package/dist/src/adapters/doc-generator.d.ts +69 -0
  327. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  328. package/dist/src/adapters/doc-generator.js +247 -0
  329. package/dist/src/adapters/doc-generator.js.map +1 -0
  330. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  331. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  332. package/dist/src/adapters/gemini/adapter.js +281 -0
  333. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  334. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  335. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  336. package/dist/src/adapters/generic/adapter.js +338 -0
  337. package/dist/src/adapters/generic/adapter.js.map +1 -0
  338. package/dist/src/cli/commands/abandon.d.ts +13 -0
  339. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  340. package/dist/src/cli/commands/abandon.js +15 -0
  341. package/dist/src/cli/commands/abandon.js.map +1 -0
  342. package/dist/src/cli/commands/check-discipline.d.ts +16 -0
  343. package/dist/src/cli/commands/check-discipline.d.ts.map +1 -0
  344. package/dist/src/cli/commands/check-discipline.js +79 -0
  345. package/dist/src/cli/commands/check-discipline.js.map +1 -0
  346. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  347. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  348. package/dist/src/cli/commands/import-docs.js +146 -0
  349. package/dist/src/cli/commands/import-docs.js.map +1 -0
  350. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  351. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  352. package/dist/src/cli/commands/init-multiproject.js +202 -0
  353. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  354. package/dist/src/cli/commands/init.d.ts +10 -0
  355. package/dist/src/cli/commands/init.d.ts.map +1 -0
  356. package/dist/src/cli/commands/init.js +1328 -0
  357. package/dist/src/cli/commands/init.js.map +1 -0
  358. package/dist/src/cli/commands/install.d.ts +9 -0
  359. package/dist/src/cli/commands/install.d.ts.map +1 -0
  360. package/dist/src/cli/commands/install.js +127 -0
  361. package/dist/src/cli/commands/install.js.map +1 -0
  362. package/dist/src/cli/commands/list.d.ts +8 -0
  363. package/dist/src/cli/commands/list.d.ts.map +1 -0
  364. package/dist/src/cli/commands/list.js +119 -0
  365. package/dist/src/cli/commands/list.js.map +1 -0
  366. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  367. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  368. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  369. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  370. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  371. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  372. package/dist/src/cli/commands/migrate-to-profiles.js +348 -0
  373. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  374. package/dist/src/cli/commands/pause.d.ts +13 -0
  375. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  376. package/dist/src/cli/commands/pause.js +15 -0
  377. package/dist/src/cli/commands/pause.js.map +1 -0
  378. package/dist/src/cli/commands/qa.d.ts +54 -0
  379. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  380. package/dist/src/cli/commands/qa.js +98 -0
  381. package/dist/src/cli/commands/qa.js.map +1 -0
  382. package/dist/src/cli/commands/resume.d.ts +12 -0
  383. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  384. package/dist/src/cli/commands/resume.js +14 -0
  385. package/dist/src/cli/commands/resume.js.map +1 -0
  386. package/dist/src/cli/commands/status-line.d.ts +14 -0
  387. package/dist/src/cli/commands/status-line.d.ts.map +1 -0
  388. package/dist/src/cli/commands/status-line.js +75 -0
  389. package/dist/src/cli/commands/status-line.js.map +1 -0
  390. package/dist/src/cli/commands/status.d.ts +12 -0
  391. package/dist/src/cli/commands/status.d.ts.map +1 -0
  392. package/dist/src/cli/commands/status.js +23 -0
  393. package/dist/src/cli/commands/status.js.map +1 -0
  394. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  395. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  396. package/dist/src/cli/commands/switch-project.js +91 -0
  397. package/dist/src/cli/commands/switch-project.js.map +1 -0
  398. package/dist/src/cli/commands/sync-spec-commits.d.ts +9 -0
  399. package/dist/src/cli/commands/sync-spec-commits.d.ts.map +1 -0
  400. package/dist/src/cli/commands/sync-spec-commits.js +186 -0
  401. package/dist/src/cli/commands/sync-spec-commits.js.map +1 -0
  402. package/dist/src/cli/commands/sync-spec-content.d.ts +13 -0
  403. package/dist/src/cli/commands/sync-spec-content.d.ts.map +1 -0
  404. package/dist/src/cli/commands/sync-spec-content.js +223 -0
  405. package/dist/src/cli/commands/sync-spec-content.js.map +1 -0
  406. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  407. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  408. package/dist/src/cli/commands/validate-jira.js +112 -0
  409. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  410. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  411. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  412. package/dist/src/cli/commands/validate-plugins.js +171 -0
  413. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  414. package/dist/src/cli/helpers/github/increment-profile-selector.d.ts +47 -0
  415. package/dist/src/cli/helpers/github/increment-profile-selector.d.ts.map +1 -0
  416. package/dist/src/cli/helpers/github/increment-profile-selector.js +186 -0
  417. package/dist/src/cli/helpers/github/increment-profile-selector.js.map +1 -0
  418. package/dist/src/cli/helpers/github/profile-manager.d.ts +119 -0
  419. package/dist/src/cli/helpers/github/profile-manager.d.ts.map +1 -0
  420. package/dist/src/cli/helpers/github/profile-manager.js +311 -0
  421. package/dist/src/cli/helpers/github/profile-manager.js.map +1 -0
  422. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  423. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  424. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  425. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  426. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts +86 -0
  427. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -0
  428. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +417 -0
  429. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -0
  430. package/dist/src/cli/helpers/issue-tracker/github.d.ts +80 -0
  431. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  432. package/dist/src/cli/helpers/issue-tracker/github.js +324 -0
  433. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  434. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  435. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  436. package/dist/src/cli/helpers/issue-tracker/index.js +575 -0
  437. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  438. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  439. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  440. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  441. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  442. package/dist/src/cli/helpers/issue-tracker/types.d.ts +108 -0
  443. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  444. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  445. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  446. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +120 -0
  447. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  448. package/dist/src/cli/helpers/issue-tracker/utils.js +293 -0
  449. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  450. package/dist/src/core/agent-model-manager.d.ts +52 -0
  451. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  452. package/dist/src/core/agent-model-manager.js +120 -0
  453. package/dist/src/core/agent-model-manager.js.map +1 -0
  454. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  455. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  456. package/dist/src/core/brownfield/analyzer.js +365 -0
  457. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  458. package/dist/src/core/brownfield/importer.d.ts +76 -0
  459. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  460. package/dist/src/core/brownfield/importer.js +287 -0
  461. package/dist/src/core/brownfield/importer.js.map +1 -0
  462. package/dist/src/core/comment-builder.d.ts +57 -0
  463. package/dist/src/core/comment-builder.d.ts.map +1 -0
  464. package/dist/src/core/comment-builder.js +239 -0
  465. package/dist/src/core/comment-builder.js.map +1 -0
  466. package/dist/src/core/config-manager.d.ts +47 -0
  467. package/dist/src/core/config-manager.d.ts.map +1 -0
  468. package/dist/src/core/config-manager.js +136 -0
  469. package/dist/src/core/config-manager.js.map +1 -0
  470. package/dist/src/core/cost-tracker.d.ts +108 -0
  471. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  472. package/dist/src/core/cost-tracker.js +281 -0
  473. package/dist/src/core/cost-tracker.js.map +1 -0
  474. package/dist/src/core/credentials-manager.d.ts +107 -0
  475. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  476. package/dist/src/core/credentials-manager.js +457 -0
  477. package/dist/src/core/credentials-manager.js.map +1 -0
  478. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  479. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  480. package/dist/src/core/i18n/language-detector.js +143 -0
  481. package/dist/src/core/i18n/language-detector.js.map +1 -0
  482. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  483. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  484. package/dist/src/core/i18n/language-manager.js +232 -0
  485. package/dist/src/core/i18n/language-manager.js.map +1 -0
  486. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  487. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  488. package/dist/src/core/i18n/language-registry.js +234 -0
  489. package/dist/src/core/i18n/language-registry.js.map +1 -0
  490. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  491. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  492. package/dist/src/core/i18n/locale-manager.js +137 -0
  493. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  494. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  495. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  496. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  497. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  498. package/dist/src/core/i18n/types.d.ts +151 -0
  499. package/dist/src/core/i18n/types.d.ts.map +1 -0
  500. package/dist/src/core/i18n/types.js +11 -0
  501. package/dist/src/core/i18n/types.js.map +1 -0
  502. package/dist/src/core/increment/active-increment-manager.d.ts +79 -0
  503. package/dist/src/core/increment/active-increment-manager.d.ts.map +1 -0
  504. package/dist/src/core/increment/active-increment-manager.js +153 -0
  505. package/dist/src/core/increment/active-increment-manager.js.map +1 -0
  506. package/dist/src/core/increment/discipline-checker.d.ts +60 -0
  507. package/dist/src/core/increment/discipline-checker.d.ts.map +1 -0
  508. package/dist/src/core/increment/discipline-checker.js +274 -0
  509. package/dist/src/core/increment/discipline-checker.js.map +1 -0
  510. package/dist/src/core/increment/limits.d.ts +68 -0
  511. package/dist/src/core/increment/limits.d.ts.map +1 -0
  512. package/dist/src/core/increment/limits.js +224 -0
  513. package/dist/src/core/increment/limits.js.map +1 -0
  514. package/dist/src/core/increment/metadata-manager.d.ts +116 -0
  515. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  516. package/dist/src/core/increment/metadata-manager.js +335 -0
  517. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  518. package/dist/src/core/increment/metadata-validator.d.ts +33 -0
  519. package/dist/src/core/increment/metadata-validator.d.ts.map +1 -0
  520. package/dist/src/core/increment/metadata-validator.js +147 -0
  521. package/dist/src/core/increment/metadata-validator.js.map +1 -0
  522. package/dist/src/core/increment/status-commands.d.ts +43 -0
  523. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  524. package/dist/src/core/increment/status-commands.js +277 -0
  525. package/dist/src/core/increment/status-commands.js.map +1 -0
  526. package/dist/src/core/increment/types.d.ts +88 -0
  527. package/dist/src/core/increment/types.d.ts.map +1 -0
  528. package/dist/src/core/increment/types.js +8 -0
  529. package/dist/src/core/increment/types.js.map +1 -0
  530. package/dist/src/core/increment-status.d.ts +72 -0
  531. package/dist/src/core/increment-status.d.ts.map +1 -0
  532. package/dist/src/core/increment-status.js +227 -0
  533. package/dist/src/core/increment-status.js.map +1 -0
  534. package/dist/src/core/model-selector.d.ts +57 -0
  535. package/dist/src/core/model-selector.d.ts.map +1 -0
  536. package/dist/src/core/model-selector.js +115 -0
  537. package/dist/src/core/model-selector.js.map +1 -0
  538. package/dist/src/core/phase-detector.d.ts +62 -0
  539. package/dist/src/core/phase-detector.d.ts.map +1 -0
  540. package/dist/src/core/phase-detector.js +229 -0
  541. package/dist/src/core/phase-detector.js.map +1 -0
  542. package/dist/src/core/plugin-loader.d.ts +131 -0
  543. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  544. package/dist/src/core/plugin-loader.js +421 -0
  545. package/dist/src/core/plugin-loader.js.map +1 -0
  546. package/dist/src/core/project-manager.d.ts +122 -0
  547. package/dist/src/core/project-manager.d.ts.map +1 -0
  548. package/dist/src/core/project-manager.js +539 -0
  549. package/dist/src/core/project-manager.js.map +1 -0
  550. package/dist/src/core/project-structure-detector.d.ts +92 -0
  551. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  552. package/dist/src/core/project-structure-detector.js +289 -0
  553. package/dist/src/core/project-structure-detector.js.map +1 -0
  554. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  555. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  556. package/dist/src/core/qa/qa-runner.js +422 -0
  557. package/dist/src/core/qa/qa-runner.js.map +1 -0
  558. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  559. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  560. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  561. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  562. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  563. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  564. package/dist/src/core/qa/risk-calculator.js +247 -0
  565. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  566. package/dist/src/core/qa/types.d.ts +315 -0
  567. package/dist/src/core/qa/types.d.ts.map +1 -0
  568. package/dist/src/core/qa/types.js +8 -0
  569. package/dist/src/core/qa/types.js.map +1 -0
  570. package/dist/src/core/repo-structure/github-validator.d.ts +75 -0
  571. package/dist/src/core/repo-structure/github-validator.d.ts.map +1 -0
  572. package/dist/src/core/repo-structure/github-validator.js +166 -0
  573. package/dist/src/core/repo-structure/github-validator.js.map +1 -0
  574. package/dist/src/core/repo-structure/prompt-consolidator.d.ts +70 -0
  575. package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -0
  576. package/dist/src/core/repo-structure/prompt-consolidator.js +180 -0
  577. package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -0
  578. package/dist/src/core/repo-structure/repo-id-generator.d.ts +79 -0
  579. package/dist/src/core/repo-structure/repo-id-generator.d.ts.map +1 -0
  580. package/dist/src/core/repo-structure/repo-id-generator.js +135 -0
  581. package/dist/src/core/repo-structure/repo-id-generator.js.map +1 -0
  582. package/dist/src/core/repo-structure/repo-structure-manager.d.ts +105 -0
  583. package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -0
  584. package/dist/src/core/repo-structure/repo-structure-manager.js +878 -0
  585. package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -0
  586. package/dist/src/core/repo-structure/setup-state-manager.d.ts +125 -0
  587. package/dist/src/core/repo-structure/setup-state-manager.d.ts.map +1 -0
  588. package/dist/src/core/repo-structure/setup-state-manager.js +233 -0
  589. package/dist/src/core/repo-structure/setup-state-manager.js.map +1 -0
  590. package/dist/src/core/repo-structure/setup-summary.d.ts +36 -0
  591. package/dist/src/core/repo-structure/setup-summary.d.ts.map +1 -0
  592. package/dist/src/core/repo-structure/setup-summary.js +190 -0
  593. package/dist/src/core/repo-structure/setup-summary.js.map +1 -0
  594. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  595. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  596. package/dist/src/core/rfc-generator-v2.js +399 -0
  597. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  598. package/dist/src/core/spec-content-sync.d.ts +78 -0
  599. package/dist/src/core/spec-content-sync.d.ts.map +1 -0
  600. package/dist/src/core/spec-content-sync.js +222 -0
  601. package/dist/src/core/spec-content-sync.js.map +1 -0
  602. package/dist/src/core/spec-task-mapper.d.ts +71 -0
  603. package/dist/src/core/spec-task-mapper.d.ts.map +1 -0
  604. package/dist/src/core/spec-task-mapper.js +208 -0
  605. package/dist/src/core/spec-task-mapper.js.map +1 -0
  606. package/dist/src/core/specs/spec-metadata-manager.d.ts +72 -0
  607. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +1 -0
  608. package/dist/src/core/specs/spec-metadata-manager.js +364 -0
  609. package/dist/src/core/specs/spec-metadata-manager.js.map +1 -0
  610. package/dist/src/core/specs/spec-parser.d.ts +66 -0
  611. package/dist/src/core/specs/spec-parser.d.ts.map +1 -0
  612. package/dist/src/core/specs/spec-parser.js +276 -0
  613. package/dist/src/core/specs/spec-parser.js.map +1 -0
  614. package/dist/src/core/status-line/status-line-manager.d.ts +62 -0
  615. package/dist/src/core/status-line/status-line-manager.d.ts.map +1 -0
  616. package/dist/src/core/status-line/status-line-manager.js +169 -0
  617. package/dist/src/core/status-line/status-line-manager.js.map +1 -0
  618. package/dist/src/core/status-line/types.d.ts +50 -0
  619. package/dist/src/core/status-line/types.d.ts.map +1 -0
  620. package/dist/src/core/status-line/types.js +17 -0
  621. package/dist/src/core/status-line/types.js.map +1 -0
  622. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  623. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  624. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  625. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  626. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  627. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  628. package/dist/src/core/sync/folder-mapper.js +203 -0
  629. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  630. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  631. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  632. package/dist/src/core/sync/profile-manager.js +338 -0
  633. package/dist/src/core/sync/profile-manager.js.map +1 -0
  634. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  635. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  636. package/dist/src/core/sync/profile-selector.js +179 -0
  637. package/dist/src/core/sync/profile-selector.js.map +1 -0
  638. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  639. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  640. package/dist/src/core/sync/profile-validator.js +170 -0
  641. package/dist/src/core/sync/profile-validator.js.map +1 -0
  642. package/dist/src/core/sync/project-context.d.ts +81 -0
  643. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  644. package/dist/src/core/sync/project-context.js +354 -0
  645. package/dist/src/core/sync/project-context.js.map +1 -0
  646. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  647. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  648. package/dist/src/core/sync/rate-limiter.js +308 -0
  649. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  650. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  651. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  652. package/dist/src/core/sync/time-range-selector.js +224 -0
  653. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  654. package/dist/src/core/types/config.d.ts +90 -0
  655. package/dist/src/core/types/config.d.ts.map +1 -0
  656. package/dist/src/core/types/config.js +44 -0
  657. package/dist/src/core/types/config.js.map +1 -0
  658. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  659. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  660. package/dist/src/core/types/increment-metadata.js +138 -0
  661. package/dist/src/core/types/increment-metadata.js.map +1 -0
  662. package/dist/src/core/types/plugin.d.ts +283 -0
  663. package/dist/src/core/types/plugin.d.ts.map +1 -0
  664. package/dist/src/core/types/plugin.js +49 -0
  665. package/dist/src/core/types/plugin.js.map +1 -0
  666. package/dist/src/core/types/spec-metadata.d.ts +229 -0
  667. package/dist/src/core/types/spec-metadata.d.ts.map +1 -0
  668. package/dist/src/core/types/spec-metadata.js +14 -0
  669. package/dist/src/core/types/spec-metadata.js.map +1 -0
  670. package/dist/src/core/types/sync-profile.d.ts +349 -0
  671. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  672. package/dist/src/core/types/sync-profile.js +79 -0
  673. package/dist/src/core/types/sync-profile.js.map +1 -0
  674. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +89 -0
  675. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  676. package/dist/src/hooks/lib/git-diff-analyzer.js +226 -0
  677. package/dist/src/hooks/lib/git-diff-analyzer.js.map +1 -0
  678. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +60 -0
  679. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  680. package/dist/src/hooks/lib/invoke-translator-skill.js +201 -0
  681. package/dist/src/hooks/lib/invoke-translator-skill.js.map +1 -0
  682. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +42 -0
  683. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  684. package/dist/src/hooks/lib/prepare-reflection-context.js +123 -0
  685. package/dist/src/hooks/lib/prepare-reflection-context.js.map +1 -0
  686. package/dist/src/hooks/lib/reflection-config-loader.d.ts +45 -0
  687. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  688. package/dist/src/hooks/lib/reflection-config-loader.js +132 -0
  689. package/dist/src/hooks/lib/reflection-config-loader.js.map +1 -0
  690. package/dist/src/hooks/lib/reflection-parser.d.ts +33 -0
  691. package/dist/src/hooks/lib/reflection-parser.d.ts.map +1 -0
  692. package/dist/src/hooks/lib/reflection-parser.js +419 -0
  693. package/dist/src/hooks/lib/reflection-parser.js.map +1 -0
  694. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  695. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  696. package/dist/src/hooks/lib/reflection-prompt-builder.js +239 -0
  697. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +1 -0
  698. package/dist/src/hooks/lib/reflection-storage.d.ts +64 -0
  699. package/dist/src/hooks/lib/reflection-storage.d.ts.map +1 -0
  700. package/dist/src/hooks/lib/reflection-storage.js +305 -0
  701. package/dist/src/hooks/lib/reflection-storage.js.map +1 -0
  702. package/dist/src/hooks/lib/run-self-reflection.d.ts +43 -0
  703. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +1 -0
  704. package/dist/src/hooks/lib/run-self-reflection.js +203 -0
  705. package/dist/src/hooks/lib/run-self-reflection.js.map +1 -0
  706. package/dist/src/hooks/lib/sync-living-docs.d.ts +27 -0
  707. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +1 -0
  708. package/dist/src/hooks/lib/sync-living-docs.js +116 -0
  709. package/dist/src/hooks/lib/sync-living-docs.js.map +1 -0
  710. package/dist/src/hooks/lib/translate-file.d.ts +59 -0
  711. package/dist/src/hooks/lib/translate-file.d.ts.map +1 -0
  712. package/dist/src/hooks/lib/translate-file.js +350 -0
  713. package/dist/src/hooks/lib/translate-file.js.map +1 -0
  714. package/dist/src/hooks/lib/translate-living-docs.d.ts +13 -0
  715. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +1 -0
  716. package/dist/src/hooks/lib/translate-living-docs.js +175 -0
  717. package/dist/src/hooks/lib/translate-living-docs.js.map +1 -0
  718. package/dist/src/hooks/lib/types/reflection-types.d.ts +164 -0
  719. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  720. package/dist/src/hooks/lib/types/reflection-types.js +73 -0
  721. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  722. package/dist/src/hooks/lib/update-tasks-md.d.ts +29 -0
  723. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +1 -0
  724. package/dist/src/hooks/lib/update-tasks-md.js +203 -0
  725. package/dist/src/hooks/lib/update-tasks-md.js.map +1 -0
  726. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  727. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  728. package/dist/src/integrations/ado/ado-client.js +416 -0
  729. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  730. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  731. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  732. package/dist/src/integrations/jira/jira-client.js +386 -0
  733. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  734. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  735. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  736. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  737. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  738. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  739. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  740. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  741. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  742. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  743. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  744. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  745. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  746. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  747. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  748. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  749. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  750. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  751. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  752. package/dist/src/metrics/calculators/lead-time.js +82 -0
  753. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  754. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  755. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  756. package/dist/src/metrics/calculators/mttr.js +60 -0
  757. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  758. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  759. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  760. package/dist/src/metrics/dora-calculator.js +117 -0
  761. package/dist/src/metrics/dora-calculator.js.map +1 -0
  762. package/dist/src/metrics/github-client.d.ts +51 -0
  763. package/dist/src/metrics/github-client.d.ts.map +1 -0
  764. package/dist/src/metrics/github-client.js +133 -0
  765. package/dist/src/metrics/github-client.js.map +1 -0
  766. package/dist/src/metrics/report-generator.d.ts +17 -0
  767. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  768. package/dist/src/metrics/report-generator.js +403 -0
  769. package/dist/src/metrics/report-generator.js.map +1 -0
  770. package/dist/src/metrics/types.d.ts +112 -0
  771. package/dist/src/metrics/types.d.ts.map +1 -0
  772. package/dist/src/metrics/types.js +10 -0
  773. package/dist/src/metrics/types.js.map +1 -0
  774. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  775. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  776. package/dist/src/metrics/utils/percentile.js +46 -0
  777. package/dist/src/metrics/utils/percentile.js.map +1 -0
  778. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  779. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  780. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  781. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  782. package/dist/src/testing/test-generator.d.ts +117 -0
  783. package/dist/src/testing/test-generator.d.ts.map +1 -0
  784. package/dist/src/testing/test-generator.js +370 -0
  785. package/dist/src/testing/test-generator.js.map +1 -0
  786. package/dist/src/types/cost-tracking.d.ts +43 -0
  787. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  788. package/dist/src/types/cost-tracking.js +8 -0
  789. package/dist/src/types/cost-tracking.js.map +1 -0
  790. package/dist/src/types/model-selection.d.ts +53 -0
  791. package/dist/src/types/model-selection.d.ts.map +1 -0
  792. package/dist/src/types/model-selection.js +12 -0
  793. package/dist/src/types/model-selection.js.map +1 -0
  794. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  795. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  796. package/dist/src/utils/agents-md-compiler.js +420 -0
  797. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  798. package/dist/src/utils/auth-helpers.d.ts +58 -0
  799. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  800. package/dist/src/utils/auth-helpers.js +108 -0
  801. package/dist/src/utils/auth-helpers.js.map +1 -0
  802. package/dist/src/utils/auto-install.d.ts +47 -0
  803. package/dist/src/utils/auto-install.d.ts.map +1 -0
  804. package/dist/src/utils/auto-install.js +211 -0
  805. package/dist/src/utils/auto-install.js.map +1 -0
  806. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  807. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  808. package/dist/src/utils/claude-cli-detector.js +285 -0
  809. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  810. package/dist/src/utils/cost-reporter.d.ts +58 -0
  811. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  812. package/dist/src/utils/cost-reporter.js +224 -0
  813. package/dist/src/utils/cost-reporter.js.map +1 -0
  814. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  815. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  816. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  817. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  818. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  819. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  820. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  821. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  822. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  823. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  824. package/dist/src/utils/docs-preview/index.js +7 -0
  825. package/dist/src/utils/docs-preview/index.js.map +1 -0
  826. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  827. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  828. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  829. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  830. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  831. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  832. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  833. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  834. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  835. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  836. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  837. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  838. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  839. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  840. package/dist/src/utils/docs-preview/types.js +2 -0
  841. package/dist/src/utils/docs-preview/types.js.map +1 -0
  842. package/dist/src/utils/env-file-generator.d.ts +54 -0
  843. package/dist/src/utils/env-file-generator.d.ts.map +1 -0
  844. package/dist/src/utils/env-file-generator.js +196 -0
  845. package/dist/src/utils/env-file-generator.js.map +1 -0
  846. package/dist/src/utils/env-file.d.ts +88 -0
  847. package/dist/src/utils/env-file.d.ts.map +1 -0
  848. package/dist/src/utils/env-file.js +180 -0
  849. package/dist/src/utils/env-file.js.map +1 -0
  850. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  851. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  852. package/dist/src/utils/env-multi-project-parser.js +401 -0
  853. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  854. package/dist/src/utils/esm-helpers.d.ts +50 -0
  855. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  856. package/dist/src/utils/esm-helpers.js +57 -0
  857. package/dist/src/utils/esm-helpers.js.map +1 -0
  858. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  859. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  860. package/dist/src/utils/execFileNoThrow.js +137 -0
  861. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  862. package/dist/src/utils/external-resource-validator.d.ts +194 -0
  863. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  864. package/dist/src/utils/external-resource-validator.js +953 -0
  865. package/dist/src/utils/external-resource-validator.js.map +1 -0
  866. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  867. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  868. package/dist/src/utils/generate-skills-index.js +410 -0
  869. package/dist/src/utils/generate-skills-index.js.map +1 -0
  870. package/dist/src/utils/git-detector.d.ts +84 -0
  871. package/dist/src/utils/git-detector.d.ts.map +1 -0
  872. package/dist/src/utils/git-detector.js +233 -0
  873. package/dist/src/utils/git-detector.js.map +1 -0
  874. package/dist/src/utils/git-utils.d.ts +74 -0
  875. package/dist/src/utils/git-utils.d.ts.map +1 -0
  876. package/dist/src/utils/git-utils.js +272 -0
  877. package/dist/src/utils/git-utils.js.map +1 -0
  878. package/dist/src/utils/model-selection.d.ts +75 -0
  879. package/dist/src/utils/model-selection.d.ts.map +1 -0
  880. package/dist/src/utils/model-selection.js +204 -0
  881. package/dist/src/utils/model-selection.js.map +1 -0
  882. package/dist/src/utils/plugin-validator.d.ts +161 -0
  883. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  884. package/dist/src/utils/plugin-validator.js +558 -0
  885. package/dist/src/utils/plugin-validator.js.map +1 -0
  886. package/dist/src/utils/pricing-constants.d.ts +70 -0
  887. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  888. package/dist/src/utils/pricing-constants.js +71 -0
  889. package/dist/src/utils/pricing-constants.js.map +1 -0
  890. package/dist/src/utils/project-detection.d.ts +141 -0
  891. package/dist/src/utils/project-detection.d.ts.map +1 -0
  892. package/dist/src/utils/project-detection.js +321 -0
  893. package/dist/src/utils/project-detection.js.map +1 -0
  894. package/dist/src/utils/project-mapper.d.ts +92 -0
  895. package/dist/src/utils/project-mapper.d.ts.map +1 -0
  896. package/dist/src/utils/project-mapper.js +276 -0
  897. package/dist/src/utils/project-mapper.js.map +1 -0
  898. package/dist/src/utils/spec-splitter.d.ts +75 -0
  899. package/dist/src/utils/spec-splitter.d.ts.map +1 -0
  900. package/dist/src/utils/spec-splitter.js +332 -0
  901. package/dist/src/utils/spec-splitter.js.map +1 -0
  902. package/dist/src/utils/string-utils.d.ts +40 -0
  903. package/dist/src/utils/string-utils.d.ts.map +1 -0
  904. package/dist/src/utils/string-utils.js +58 -0
  905. package/dist/src/utils/string-utils.js.map +1 -0
  906. package/dist/src/utils/translation.d.ts +187 -0
  907. package/dist/src/utils/translation.d.ts.map +1 -0
  908. package/dist/src/utils/translation.js +414 -0
  909. package/dist/src/utils/translation.js.map +1 -0
  910. package/dist/utils/git-utils.d.ts +74 -0
  911. package/dist/utils/git-utils.d.ts.map +1 -0
  912. package/dist/utils/git-utils.js +272 -0
  913. package/dist/utils/git-utils.js.map +1 -0
  914. package/package.json +3 -2
  915. package/plugins/specweave/hooks/lib/sync-spec-content.sh +149 -0
  916. package/plugins/specweave/hooks/post-increment-planning.sh +37 -1
  917. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +213 -129
  918. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +192 -146
  919. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +116 -103
  920. package/plugins/specweave/lib/hooks/reflection-config-loader.js +125 -85
  921. package/plugins/specweave/lib/hooks/reflection-parser.js +385 -267
  922. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +226 -169
  923. package/plugins/specweave/lib/hooks/reflection-storage.js +297 -223
  924. package/plugins/specweave/lib/hooks/run-self-reflection.js +191 -120
  925. package/plugins/specweave/lib/hooks/sync-living-docs.js +129 -87
  926. package/plugins/specweave/lib/hooks/translate-file.js +300 -239
  927. package/plugins/specweave/lib/hooks/translate-living-docs.js +144 -88
  928. package/plugins/specweave/lib/hooks/types/reflection-types.js +72 -57
  929. package/plugins/specweave/lib/hooks/update-tasks-md.js +179 -117
  930. package/plugins/specweave-ado/agents/ado-multi-project-mapper/AGENT.md +521 -0
  931. package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +418 -0
  932. package/plugins/specweave-ado/hooks/post-living-docs-update.sh +353 -0
  933. package/plugins/specweave-ado/hooks/post-task-completion.sh +22 -0
  934. package/plugins/specweave-ado/lib/ado-board-resolver.js +205 -135
  935. package/plugins/specweave-ado/lib/ado-client-v2.d.ts +15 -5
  936. package/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -1
  937. package/plugins/specweave-ado/lib/ado-client-v2.js +449 -406
  938. package/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -1
  939. package/plugins/specweave-ado/lib/ado-client-v2.ts +43 -51
  940. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +335 -223
  941. package/plugins/specweave-ado/lib/ado-project-detector.js +469 -0
  942. package/plugins/specweave-ado/lib/ado-project-detector.ts +510 -0
  943. package/plugins/specweave-ado/lib/ado-spec-commit-sync.d.js +0 -0
  944. package/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts +38 -0
  945. package/plugins/specweave-ado/lib/ado-spec-commit-sync.d.ts.map +1 -0
  946. package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +210 -0
  947. package/plugins/specweave-ado/lib/ado-spec-commit-sync.js.map +1 -0
  948. package/plugins/specweave-ado/lib/ado-spec-commit-sync.ts +288 -0
  949. package/plugins/specweave-ado/lib/ado-spec-content-sync.js +205 -0
  950. package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +313 -0
  951. package/plugins/specweave-ado/lib/ado-spec-sync.js +414 -380
  952. package/plugins/specweave-ado/lib/conflict-resolver.js +297 -0
  953. package/plugins/specweave-ado/lib/conflict-resolver.ts +443 -0
  954. package/plugins/specweave-ado/lib/project-selector.js +196 -168
  955. package/plugins/specweave-ado/skills/ado-multi-project/SKILL.md +541 -0
  956. package/plugins/specweave-ado/skills/ado-resource-validator/SKILL.md +880 -0
  957. package/plugins/specweave-github/hooks/post-task-completion.sh +22 -0
  958. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +20 -9
  959. package/plugins/specweave-github/lib/github-board-resolver.js +115 -69
  960. package/plugins/specweave-github/lib/github-client-v2.js +389 -400
  961. package/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  962. package/plugins/specweave-github/lib/github-client-v2.ts +13 -13
  963. package/plugins/specweave-github/lib/github-client.js +280 -246
  964. package/plugins/specweave-github/lib/github-hierarchical-sync.js +251 -168
  965. package/plugins/specweave-github/lib/github-issue-updater.js +4 -4
  966. package/plugins/specweave-github/lib/github-issue-updater.ts +4 -4
  967. package/plugins/specweave-github/lib/github-spec-commit-sync.d.js +0 -0
  968. package/plugins/specweave-github/lib/github-spec-commit-sync.d.ts +37 -0
  969. package/plugins/specweave-github/lib/github-spec-commit-sync.d.ts.map +1 -0
  970. package/plugins/specweave-github/lib/github-spec-commit-sync.js +209 -0
  971. package/plugins/specweave-github/lib/github-spec-commit-sync.js.map +1 -0
  972. package/plugins/specweave-github/lib/github-spec-commit-sync.ts +285 -0
  973. package/plugins/specweave-github/lib/github-spec-content-sync.js +169 -0
  974. package/plugins/specweave-github/lib/github-spec-content-sync.ts +255 -0
  975. package/plugins/specweave-github/lib/github-spec-sync.js +420 -379
  976. package/plugins/specweave-github/lib/github-sync-bidirectional.js +2 -2
  977. package/plugins/specweave-github/lib/github-sync-bidirectional.ts +2 -2
  978. package/plugins/specweave-github/lib/github-sync-increment-changes.js +4 -4
  979. package/plugins/specweave-github/lib/github-sync-increment-changes.ts +4 -4
  980. package/plugins/specweave-github/lib/index.js +10 -11
  981. package/plugins/specweave-github/lib/repo-selector.js +201 -174
  982. package/plugins/specweave-github/lib/subtask-sync.js +125 -132
  983. package/plugins/specweave-github/lib/task-parser.js +207 -191
  984. package/plugins/specweave-github/lib/task-sync.js +296 -344
  985. package/plugins/specweave-github/lib/types.js +5 -0
  986. package/plugins/specweave-jira/hooks/post-task-completion.sh +22 -0
  987. package/plugins/specweave-jira/lib/jira-board-resolver.js +79 -50
  988. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +191 -119
  989. package/plugins/specweave-jira/lib/jira-spec-commit-sync.d.js +0 -0
  990. package/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts +43 -0
  991. package/plugins/specweave-jira/lib/jira-spec-commit-sync.d.ts.map +1 -0
  992. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +282 -0
  993. package/plugins/specweave-jira/lib/jira-spec-commit-sync.js.map +1 -0
  994. package/plugins/specweave-jira/lib/jira-spec-commit-sync.ts +368 -0
  995. package/plugins/specweave-jira/lib/jira-spec-content-sync.js +260 -0
  996. package/plugins/specweave-jira/lib/jira-spec-content-sync.ts +367 -0
  997. package/plugins/specweave-jira/lib/jira-spec-sync.js +405 -366
  998. package/plugins/specweave-jira/lib/project-selector.js +201 -172
  999. package/plugins/specweave-jira/lib/reorganization-detector.js +237 -202
  1000. package/plugins/specweave-jira/lib/setup-wizard.js +204 -162
  1001. package/plugins/specweave-mobile/.claude-plugin/plugin.json +25 -0
  1002. package/plugins/specweave-mobile/README.md +337 -0
  1003. package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +642 -0
  1004. package/plugins/specweave-mobile/skills/device-testing/SKILL.md +609 -0
  1005. package/plugins/specweave-mobile/skills/expo-workflow/SKILL.md +440 -0
  1006. package/plugins/specweave-mobile/skills/metro-bundler/SKILL.md +614 -0
  1007. package/plugins/specweave-mobile/skills/mobile-debugging/SKILL.md +536 -0
  1008. package/plugins/specweave-mobile/skills/native-modules/SKILL.md +573 -0
  1009. package/plugins/specweave-mobile/skills/performance-optimization/SKILL.md +550 -0
  1010. package/plugins/specweave-mobile/skills/react-native-setup/SKILL.md +216 -0
  1011. package/plugins/specweave-release/.claude-plugin/plugin.json +41 -0
  1012. package/plugins/specweave-release/IMPLEMENTATION.md +449 -0
  1013. package/plugins/specweave-release/README.md +509 -0
  1014. package/plugins/specweave-release/agents/release-manager/AGENT.md +672 -0
  1015. package/plugins/specweave-release/commands/specweave-release-align.md +505 -0
  1016. package/plugins/specweave-release/commands/specweave-release-init.md +430 -0
  1017. package/plugins/specweave-release/commands/specweave-release-platform.md +439 -0
  1018. package/plugins/specweave-release/commands/specweave-release-rc.md +495 -0
  1019. package/plugins/specweave-release/hooks/hooks.json +15 -0
  1020. package/plugins/specweave-release/hooks/post-task-completion.sh +110 -0
  1021. package/plugins/specweave-release/lib/dashboard-generator.js +232 -0
  1022. package/plugins/specweave-release/lib/dashboard-generator.ts +294 -0
  1023. package/plugins/specweave-release/lib/dora-tracker.js +200 -0
  1024. package/plugins/specweave-release/lib/dora-tracker.ts +361 -0
  1025. package/plugins/specweave-release/skills/rc-manager/SKILL.md +660 -0
  1026. package/plugins/specweave-release/skills/release-coordinator/SKILL.md +535 -0
  1027. package/plugins/specweave-release/skills/release-strategy-advisor/SKILL.md +473 -0
  1028. package/plugins/specweave-release/skills/version-aligner/SKILL.md +579 -0
  1029. package/src/templates/CLAUDE.md.template +24 -0
@@ -0,0 +1,880 @@
1
+ ---
2
+ name: ado-resource-validator
3
+ description: Validates Azure DevOps projects and resources exist, creates missing resources automatically. Smart enough to prompt user to select existing or create new projects. Supports multiple projects for project-per-team strategy, area paths for area-path-based strategy, and teams for team-based strategy. Activates for ado setup, ado validation, ado configuration, missing ado project, azure devops .env setup.
4
+ allowed-tools: Read, Bash, Write, Edit
5
+ ---
6
+
7
+ # Azure DevOps Resource Validator Skill
8
+
9
+ **Purpose**: Validate and auto-create Azure DevOps projects and resources, ensuring .env configuration is correct.
10
+
11
+ **Auto-Activation**: Triggers when Azure DevOps setup or validation is needed.
12
+
13
+ ## What This Skill Does
14
+
15
+ This skill ensures your Azure DevOps configuration in `.env` is valid and all resources exist. It's **smart enough** to:
16
+
17
+ 1. **Validate Azure DevOps projects** - Check if projects exist (multiple for project-per-team)
18
+ 2. **Prompt for action** - Select existing project or create new one
19
+ 3. **Validate area paths** - Check if area paths exist (for area-path-based strategy)
20
+ 4. **Create missing area paths** - Auto-create area paths if missing
21
+ 5. **Validate teams** - Check if teams exist (for team-based strategy)
22
+ 6. **Update .env with correct values** - Ensure configuration is valid
23
+
24
+ ## When This Skill Activates
25
+
26
+ ✅ **Automatically activates when**:
27
+ - You set up Azure DevOps integration for the first time
28
+ - You run `/specweave-ado:sync` and resources are missing
29
+ - Your `.env` has invalid Azure DevOps configuration
30
+ - You mention "ado setup" or "azure devops validation"
31
+
32
+ ## Azure DevOps Configuration Structure
33
+
34
+ ### Required .env Variables
35
+
36
+ ```bash
37
+ AZURE_DEVOPS_PAT=your_token_here
38
+ AZURE_DEVOPS_ORG=yourorganization
39
+ AZURE_DEVOPS_STRATEGY=project-per-team # or area-path-based, team-based
40
+ ```
41
+
42
+ ### Strategy-Specific Variables
43
+
44
+ **Strategy 1: Project-per-team** (Multiple Projects)
45
+ ```bash
46
+ AZURE_DEVOPS_STRATEGY=project-per-team
47
+ AZURE_DEVOPS_PROJECTS=WebApp,MobileApp,Platform
48
+ ```
49
+ → Validates that WebApp, MobileApp, and Platform projects exist
50
+
51
+ **Strategy 2: Area-path-based** (One Project, Multiple Area Paths)
52
+ ```bash
53
+ AZURE_DEVOPS_STRATEGY=area-path-based
54
+ AZURE_DEVOPS_PROJECT=MainProduct
55
+ AZURE_DEVOPS_AREA_PATHS=Frontend,Backend,Mobile
56
+ ```
57
+ → Validates MainProduct project exists
58
+ → Creates area paths if missing: MainProduct\Frontend, MainProduct\Backend, MainProduct\Mobile
59
+
60
+ **Strategy 3: Team-based** (One Project, Multiple Teams)
61
+ ```bash
62
+ AZURE_DEVOPS_STRATEGY=team-based
63
+ AZURE_DEVOPS_PROJECT=MainProduct
64
+ AZURE_DEVOPS_TEAMS=Alpha Team,Beta Team,Gamma Team
65
+ ```
66
+ → Validates MainProduct project exists
67
+ → Creates teams if missing: Alpha Team, Beta Team, Gamma Team
68
+
69
+ ## Validation Flow
70
+
71
+ ### Step 1: Strategy Detection
72
+
73
+ **Read .env and detect strategy**:
74
+ ```bash
75
+ AZURE_DEVOPS_STRATEGY=project-per-team
76
+ ```
77
+
78
+ **Result**:
79
+ ```
80
+ 🔍 Detected strategy: Project-per-team
81
+ Projects to validate: WebApp, MobileApp, Platform
82
+ ```
83
+
84
+ ### Step 2: Project Validation (Project-per-team)
85
+
86
+ **Check if projects exist**:
87
+ ```bash
88
+ # API calls to Azure DevOps
89
+ GET https://dev.azure.com/{org}/_apis/projects/WebApp
90
+ GET https://dev.azure.com/{org}/_apis/projects/MobileApp
91
+ GET https://dev.azure.com/{org}/_apis/projects/Platform
92
+ ```
93
+
94
+ **If all projects exist**:
95
+ ```
96
+ ✅ All projects validated:
97
+ • WebApp (ID: abcd1234)
98
+ • MobileApp (ID: efgh5678)
99
+ • Platform (ID: ijkl9012)
100
+ ```
101
+
102
+ **If some projects don't exist**:
103
+ ```
104
+ ⚠️ Projects not found:
105
+ ✅ WebApp (exists)
106
+ ❌ MobileApp (not found)
107
+ ❌ Platform (not found)
108
+
109
+ What would you like to do?
110
+ 1. Create missing projects
111
+ 2. Select existing projects
112
+ 3. Fix project names manually
113
+ 4. Cancel
114
+
115
+ Your choice [1]:
116
+ ```
117
+
118
+ **Option 1: Create Missing Projects**:
119
+ ```
120
+ 📦 Creating Azure DevOps projects...
121
+
122
+ Creating project: MobileApp...
123
+ ✅ Project created: MobileApp (ID: mnop3456)
124
+
125
+ Creating project: Platform...
126
+ ✅ Project created: Platform (ID: qrst7890)
127
+
128
+ ✅ All projects now exist!
129
+ ```
130
+
131
+ **Option 2: Select Existing Projects**:
132
+ ```
133
+ Available projects in organization:
134
+ 1. WebApp
135
+ 2. ApiGateway
136
+ 3. AuthService
137
+ 4. NotificationService
138
+ 5. DataPipeline
139
+
140
+ Select projects (comma-separated numbers) [2,3]:
141
+
142
+ ✅ Updated .env: AZURE_DEVOPS_PROJECTS=WebApp,ApiGateway,AuthService
143
+ ```
144
+
145
+ ### Step 3: Area Path Validation (Area-path-based)
146
+
147
+ **Scenario**: One project with area paths
148
+ ```bash
149
+ AZURE_DEVOPS_STRATEGY=area-path-based
150
+ AZURE_DEVOPS_PROJECT=MainProduct
151
+ AZURE_DEVOPS_AREA_PATHS=Frontend,Backend,Mobile,QA
152
+ ```
153
+
154
+ **Validation**:
155
+ ```
156
+ Checking project: MainProduct...
157
+ ✅ Project "MainProduct" exists
158
+
159
+ Checking area paths...
160
+ ✅ MainProduct\Frontend (exists)
161
+ ✅ MainProduct\Backend (exists)
162
+ ⚠️ MainProduct\Mobile (not found)
163
+ ⚠️ MainProduct\QA (not found)
164
+
165
+ 📦 Creating missing area paths...
166
+ ✅ Created: MainProduct\Mobile
167
+ ✅ Created: MainProduct\QA
168
+
169
+ ✅ All area paths validated/created successfully
170
+ ```
171
+
172
+ ### Step 4: Team Validation (Team-based)
173
+
174
+ **Scenario**: One project with multiple teams
175
+ ```bash
176
+ AZURE_DEVOPS_STRATEGY=team-based
177
+ AZURE_DEVOPS_PROJECT=MainProduct
178
+ AZURE_DEVOPS_TEAMS=Alpha Team,Beta Team,Gamma Team
179
+ ```
180
+
181
+ **Validation**:
182
+ ```
183
+ Checking project: MainProduct...
184
+ ✅ Project "MainProduct" exists
185
+
186
+ Checking teams...
187
+ ✅ Alpha Team (exists)
188
+ ⚠️ Beta Team (not found)
189
+ ⚠️ Gamma Team (not found)
190
+
191
+ 📦 Creating missing teams...
192
+ ✅ Created: Beta Team
193
+ ✅ Created: Gamma Team
194
+
195
+ ✅ All teams validated/created successfully
196
+ ```
197
+
198
+ ## Usage Examples
199
+
200
+ ### Example 1: Fresh Azure DevOps Setup (Project-per-team)
201
+
202
+ **Scenario**: New setup with multiple projects for different teams
203
+
204
+ **Action**: Run `/specweave-ado:sync`
205
+
206
+ **What Happens**:
207
+ ```bash
208
+ 🔍 Validating Azure DevOps configuration...
209
+
210
+ Strategy: Project-per-team
211
+ Checking projects: WebApp, MobileApp, Platform...
212
+
213
+ ⚠️ Projects not found:
214
+ • WebApp
215
+ • MobileApp
216
+ • Platform
217
+
218
+ What would you like to do?
219
+ 1. Create new projects
220
+ 2. Select existing projects
221
+ 3. Cancel
222
+
223
+ Your choice [1]: 1
224
+
225
+ 📦 Creating Azure DevOps projects...
226
+
227
+ Creating project: WebApp
228
+ Description: Web application frontend
229
+ Process template: Agile
230
+ ✅ Created: WebApp (ID: proj-001)
231
+
232
+ Creating project: MobileApp
233
+ Description: Mobile application
234
+ Process template: Agile
235
+ ✅ Created: MobileApp (ID: proj-002)
236
+
237
+ Creating project: Platform
238
+ Description: Backend platform services
239
+ Process template: Agile
240
+ ✅ Created: Platform (ID: proj-003)
241
+
242
+ 🎉 Azure DevOps configuration complete! All resources ready.
243
+ ```
244
+
245
+ ### Example 2: Migrate from Single to Multi-Project
246
+
247
+ **Scenario**: Currently using single project, want to split into multiple
248
+
249
+ **Current .env**:
250
+ ```bash
251
+ AZURE_DEVOPS_PROJECT=MainProduct
252
+ ```
253
+
254
+ **New .env**:
255
+ ```bash
256
+ AZURE_DEVOPS_STRATEGY=project-per-team
257
+ AZURE_DEVOPS_PROJECTS=MainProduct-Frontend,MainProduct-Backend,MainProduct-Mobile
258
+ ```
259
+
260
+ **What Happens**:
261
+ ```bash
262
+ 🔍 Detected strategy change: team-based → project-per-team
263
+
264
+ Validating new projects...
265
+ ✅ MainProduct-Frontend (exists from previous split)
266
+ ⚠️ MainProduct-Backend (not found)
267
+ ⚠️ MainProduct-Mobile (not found)
268
+
269
+ Would you like to:
270
+ 1. Create missing projects
271
+ 2. Keep single project with area paths instead
272
+ 3. Cancel
273
+
274
+ Your choice [1]: 1
275
+
276
+ 📦 Creating projects...
277
+ ✅ Created: MainProduct-Backend
278
+ ✅ Created: MainProduct-Mobile
279
+
280
+ 💡 Tip: You can now organize specs by project:
281
+ .specweave/docs/internal/specs/MainProduct-Frontend/
282
+ .specweave/docs/internal/specs/MainProduct-Backend/
283
+ .specweave/docs/internal/specs/MainProduct-Mobile/
284
+ ```
285
+
286
+ ### Example 3: Area Path Setup
287
+
288
+ **Scenario**: Large monolithic project with area-based organization
289
+
290
+ **Action**: Setup area paths for team organization
291
+
292
+ **What Happens**:
293
+ ```bash
294
+ 🔍 Validating Azure DevOps configuration...
295
+
296
+ Strategy: Area-path-based
297
+ Project: EnterpriseApp
298
+ Area Paths: Core, UserManagement, Billing, Reports, Analytics
299
+
300
+ Checking project: EnterpriseApp...
301
+ ✅ Project exists
302
+
303
+ Checking area paths...
304
+ ✅ EnterpriseApp\Core
305
+ ✅ EnterpriseApp\UserManagement
306
+ ⚠️ EnterpriseApp\Billing (not found)
307
+ ⚠️ EnterpriseApp\Reports (not found)
308
+ ⚠️ EnterpriseApp\Analytics (not found)
309
+
310
+ 📦 Creating area paths...
311
+
312
+ Creating: EnterpriseApp\Billing
313
+ ✅ Area path created with default team
314
+
315
+ Creating: EnterpriseApp\Reports
316
+ ✅ Area path created with default team
317
+
318
+ Creating: EnterpriseApp\Analytics
319
+ ✅ Area path created with default team
320
+
321
+ ✅ All area paths ready!
322
+
323
+ Work items will be organized by area:
324
+ • Billing features → EnterpriseApp\Billing
325
+ • Report features → EnterpriseApp\Reports
326
+ • Analytics features → EnterpriseApp\Analytics
327
+ ```
328
+
329
+ ## Implementation Details
330
+
331
+ **Location**: `src/utils/external-resource-validator.ts`
332
+
333
+ **Core Classes**:
334
+ ```typescript
335
+ // Main validator class
336
+ export class AzureDevOpsResourceValidator {
337
+ private pat: string;
338
+ private organization: string;
339
+ private envPath: string;
340
+
341
+ constructor(envPath: string = '.env') {
342
+ this.envPath = envPath;
343
+ const env = this.loadEnv();
344
+ this.pat = env.AZURE_DEVOPS_PAT || '';
345
+ this.organization = env.AZURE_DEVOPS_ORG || '';
346
+ }
347
+
348
+ // Main validation entry point
349
+ async validate(): Promise<AzureDevOpsValidationResult> {
350
+ const env = this.loadEnv();
351
+ const strategy = env.AZURE_DEVOPS_STRATEGY || 'project-per-team';
352
+
353
+ // Validate based on strategy
354
+ if (strategy === 'project-per-team') {
355
+ return this.validateMultipleProjects(projectNames);
356
+ } else if (strategy === 'area-path-based') {
357
+ return this.validateAreaPaths(projectName, areaPaths);
358
+ } else if (strategy === 'team-based') {
359
+ return this.validateTeams(projectName, teams);
360
+ }
361
+ }
362
+ }
363
+
364
+ // Public API function
365
+ export async function validateAzureDevOpsResources(
366
+ envPath: string = '.env'
367
+ ): Promise<AzureDevOpsValidationResult> {
368
+ const validator = new AzureDevOpsResourceValidator(envPath);
369
+ return validator.validate();
370
+ }
371
+ ```
372
+
373
+ **Key Implementation Features**:
374
+
375
+ 1. **Async Project Creation** (ADO-specific):
376
+ ```typescript
377
+ // ADO creates projects asynchronously - need to poll for completion
378
+ async createProject(name: string): Promise<AzureDevOpsProject> {
379
+ const result = await this.callAzureDevOpsApi('projects?api-version=7.0', 'POST', body);
380
+
381
+ // Wait for project to be fully created (ADO async behavior)
382
+ await this.waitForProjectCreation(result.id);
383
+
384
+ return { id: result.id, name, description };
385
+ }
386
+
387
+ // Poll until project is in 'wellFormed' state
388
+ private async waitForProjectCreation(projectId: string): Promise<void> {
389
+ const maxAttempts = 30; // 30 seconds max wait
390
+ for (let i = 0; i < maxAttempts; i++) {
391
+ const project = await this.getProject(projectId);
392
+ if (project.state === 'wellFormed') {
393
+ return; // Project is ready!
394
+ }
395
+ await new Promise(resolve => setTimeout(resolve, 1000)); // Wait 1 second
396
+ }
397
+ throw new Error('Project creation timeout');
398
+ }
399
+ ```
400
+
401
+ 2. **Interactive Prompts** (when resources missing):
402
+ ```typescript
403
+ const { action } = await inquirer.prompt([
404
+ {
405
+ type: 'list',
406
+ name: 'action',
407
+ message: `Project "${projectName}" not found. What would you like to do?`,
408
+ choices: [
409
+ { name: 'Create new project', value: 'create' },
410
+ { name: 'Select existing project', value: 'select' },
411
+ { name: 'Skip this project', value: 'skip' },
412
+ { name: 'Cancel', value: 'cancel' }
413
+ ]
414
+ }
415
+ ]);
416
+ ```
417
+
418
+ 3. **Automatic .env Updates**:
419
+ ```typescript
420
+ // After creating projects, update .env
421
+ updateEnv(key: string, value: string): void {
422
+ const envContent = fs.readFileSync(this.envPath, 'utf-8');
423
+ const updated = envContent.replace(
424
+ new RegExp(`^${key}=.*$`, 'm'),
425
+ `${key}=${value}`
426
+ );
427
+ fs.writeFileSync(this.envPath, updated);
428
+ }
429
+ ```
430
+
431
+ ## CLI Command
432
+
433
+ **Automatic validation** (during setup):
434
+ ```bash
435
+ # Runs automatically during specweave init
436
+ npx specweave init
437
+
438
+ # Also runs automatically before sync
439
+ /specweave-ado:sync 0014
440
+ ```
441
+
442
+ **Manual validation**:
443
+ ```bash
444
+ # Via skill activation
445
+ "Can you validate my Azure DevOps configuration?"
446
+
447
+ # Via TypeScript directly
448
+ npx tsx -e "import { validateAzureDevOpsResources } from './dist/utils/external-resource-validator.js'; await validateAzureDevOpsResources();"
449
+
450
+ # Via CLI (future command - planned)
451
+ specweave validate-ado
452
+ ```
453
+
454
+ **Validation output**:
455
+ ```typescript
456
+ interface AzureDevOpsValidationResult {
457
+ valid: boolean;
458
+ strategy: 'project-per-team' | 'area-path-based' | 'team-based';
459
+ projects: Array<{
460
+ name: string;
461
+ id: string;
462
+ exists: boolean;
463
+ }>;
464
+ created: string[]; // Names of newly created resources
465
+ envUpdated: boolean; // Whether .env was modified
466
+ }
467
+
468
+ // Example output:
469
+ {
470
+ valid: true,
471
+ strategy: 'project-per-team',
472
+ projects: [
473
+ { name: 'WebApp', id: 'proj-001', exists: true },
474
+ { name: 'MobileApp', id: 'proj-002', exists: true, created: true },
475
+ { name: 'Platform', id: 'proj-003', exists: true, created: true }
476
+ ],
477
+ created: ['MobileApp', 'Platform'],
478
+ envUpdated: false
479
+ }
480
+ ```
481
+
482
+ ## Smart Project Detection
483
+
484
+ ### Auto-detect Based on Work Item Patterns
485
+
486
+ The skill can intelligently suggest project organization based on your existing work items:
487
+
488
+ ```typescript
489
+ // Analyze existing work items
490
+ const workItems = await analyzeWorkItems(org, project);
491
+
492
+ // Detect patterns
493
+ const patterns = {
494
+ byArea: workItems.groupBy('areaPath'), // Area-based organization
495
+ byTeam: workItems.groupBy('assignedTeam'), // Team-based organization
496
+ byType: workItems.groupBy('workItemType') // Type-based organization
497
+ };
498
+
499
+ // Suggest strategy
500
+ if (patterns.byArea.length > 3) {
501
+ console.log('💡 Detected area-based organization');
502
+ console.log(' Suggested strategy: area-path-based');
503
+ } else if (patterns.byTeam.length > 2) {
504
+ console.log('💡 Detected team-based organization');
505
+ console.log(' Suggested strategy: team-based or project-per-team');
506
+ }
507
+ ```
508
+
509
+ ## Project Creation API
510
+
511
+ **Azure DevOps REST API** (v7.0):
512
+
513
+ ### Create Project
514
+ ```bash
515
+ POST https://dev.azure.com/{org}/_apis/projects?api-version=7.0
516
+ Content-Type: application/json
517
+ Authorization: Basic {base64(":PAT")}
518
+
519
+ {
520
+ "name": "MobileApp",
521
+ "description": "Mobile application project",
522
+ "capabilities": {
523
+ "versioncontrol": {
524
+ "sourceControlType": "Git"
525
+ },
526
+ "processTemplate": {
527
+ "templateTypeId": "adcc42ab-9882-485e-a3ed-7678f01f66bc" # Agile
528
+ }
529
+ }
530
+ }
531
+
532
+ Response:
533
+ {
534
+ "id": "proj-002",
535
+ "name": "MobileApp",
536
+ "state": "wellFormed"
537
+ }
538
+ ```
539
+
540
+ ### Create Area Path
541
+ ```bash
542
+ POST https://dev.azure.com/{org}/{project}/_apis/wit/classificationnodes/areas?api-version=7.0
543
+ Content-Type: application/json
544
+
545
+ {
546
+ "name": "Frontend",
547
+ "attributes": {
548
+ "startDate": null,
549
+ "finishDate": null
550
+ }
551
+ }
552
+
553
+ Response:
554
+ {
555
+ "id": 123,
556
+ "name": "Frontend",
557
+ "path": "\\MainProduct\\Area\\Frontend"
558
+ }
559
+ ```
560
+
561
+ ### Create Team
562
+ ```bash
563
+ POST https://dev.azure.com/{org}/_apis/projects/{projectId}/teams?api-version=7.0
564
+ Content-Type: application/json
565
+
566
+ {
567
+ "name": "Alpha Team",
568
+ "description": "Alpha development team"
569
+ }
570
+
571
+ Response:
572
+ {
573
+ "id": "team-001",
574
+ "name": "Alpha Team",
575
+ "projectName": "MainProduct"
576
+ }
577
+ ```
578
+
579
+ ## Configuration Examples
580
+
581
+ ### Example 1: Microservices Architecture (Project-per-team)
582
+
583
+ **Before** (`.env`):
584
+ ```bash
585
+ AZURE_DEVOPS_ORG=mycompany
586
+ AZURE_DEVOPS_PAT=xxx
587
+ ```
588
+
589
+ **After validation**:
590
+ ```bash
591
+ AZURE_DEVOPS_ORG=mycompany
592
+ AZURE_DEVOPS_PAT=xxx
593
+ AZURE_DEVOPS_STRATEGY=project-per-team
594
+ AZURE_DEVOPS_PROJECTS=AuthService,UserService,PaymentService,NotificationService
595
+ ```
596
+
597
+ **Folder structure created**:
598
+ ```
599
+ .specweave/docs/internal/specs/
600
+ ├── AuthService/
601
+ │ └── spec-001-oauth-implementation.md
602
+ ├── UserService/
603
+ │ └── spec-001-user-management.md
604
+ ├── PaymentService/
605
+ │ └── spec-001-stripe-integration.md
606
+ └── NotificationService/
607
+ └── spec-001-email-notifications.md
608
+ ```
609
+
610
+ ### Example 2: Monolithic Application (Area-path-based)
611
+
612
+ **Before** (`.env`):
613
+ ```bash
614
+ AZURE_DEVOPS_PROJECT=ERP
615
+ ```
616
+
617
+ **After validation**:
618
+ ```bash
619
+ AZURE_DEVOPS_ORG=enterprise
620
+ AZURE_DEVOPS_PAT=xxx
621
+ AZURE_DEVOPS_STRATEGY=area-path-based
622
+ AZURE_DEVOPS_PROJECT=ERP
623
+ AZURE_DEVOPS_AREA_PATHS=Finance,HR,Inventory,Sales,Reports
624
+ ```
625
+
626
+ **Work item organization**:
627
+ ```
628
+ ERP
629
+ ├── Finance/ → Finance module features
630
+ ├── HR/ → HR module features
631
+ ├── Inventory/ → Inventory management
632
+ ├── Sales/ → Sales module features
633
+ └── Reports/ → Reporting features
634
+ ```
635
+
636
+ ### Example 3: Platform Teams (Team-based)
637
+
638
+ **Before** (`.env`):
639
+ ```bash
640
+ AZURE_DEVOPS_PROJECT=Platform
641
+ ```
642
+
643
+ **After validation**:
644
+ ```bash
645
+ AZURE_DEVOPS_ORG=techcorp
646
+ AZURE_DEVOPS_PAT=xxx
647
+ AZURE_DEVOPS_STRATEGY=team-based
648
+ AZURE_DEVOPS_PROJECT=Platform
649
+ AZURE_DEVOPS_TEAMS=Infrastructure,Security,Data,DevOps
650
+ ```
651
+
652
+ **Team assignments**:
653
+ - Infrastructure Team → Cloud resources, networking
654
+ - Security Team → Auth, compliance, auditing
655
+ - Data Team → Databases, analytics, ML
656
+ - DevOps Team → CI/CD, monitoring, tooling
657
+
658
+ ## Error Handling
659
+
660
+ ### Error 1: Invalid Credentials
661
+
662
+ **Symptom**: API calls fail with 401 Unauthorized
663
+
664
+ **Solution**:
665
+ ```
666
+ ❌ Azure DevOps API authentication failed
667
+
668
+ Please check:
669
+ 1. AZURE_DEVOPS_PAT is correct
670
+ 2. Token has not expired
671
+ 3. AZURE_DEVOPS_ORG is correct
672
+
673
+ Generate new token at:
674
+ https://dev.azure.com/{org}/_usersSettings/tokens
675
+ ```
676
+
677
+ ### Error 2: Insufficient Permissions
678
+
679
+ **Symptom**: Cannot create projects (403 Forbidden)
680
+
681
+ **Solution**:
682
+ ```
683
+ ❌ Insufficient permissions to create projects
684
+
685
+ You need:
686
+ - Project Collection Administrator role (for creating projects)
687
+ - Project Administrator role (for area paths and teams)
688
+
689
+ Contact your Azure DevOps administrator to request permissions.
690
+ ```
691
+
692
+ ### Error 3: Project Name Conflicts
693
+
694
+ **Symptom**: Project creation fails (name exists)
695
+
696
+ **Solution**:
697
+ ```
698
+ ❌ Project name "WebApp" already exists
699
+
700
+ Options:
701
+ 1. Use a different project name
702
+ 2. Select the existing project
703
+ 3. Add a suffix (e.g., WebApp-v2)
704
+
705
+ Your choice [2]:
706
+ ```
707
+
708
+ ### Error 4: Organization Limits
709
+
710
+ **Symptom**: Cannot create more projects
711
+
712
+ **Solution**:
713
+ ```
714
+ ❌ Organization project limit reached (250 projects)
715
+
716
+ Consider:
717
+ 1. Using area-path-based strategy (one project)
718
+ 2. Archiving old projects
719
+ 3. Upgrading organization plan
720
+
721
+ Contact Azure DevOps support for limit increases.
722
+ ```
723
+
724
+ ## Integration with SpecWeave Workflow
725
+
726
+ ### Automatic Validation
727
+
728
+ When using `/specweave-ado:sync`, validation runs automatically:
729
+
730
+ ```bash
731
+ /specweave-ado:sync 0014
732
+
733
+ # Internally calls:
734
+ 1. validateAzureDevOpsResources()
735
+ 2. Fix missing projects/area paths/teams
736
+ 3. Create folder structure for specs
737
+ 4. Proceed with sync
738
+ ```
739
+
740
+ ### Manual Validation
741
+
742
+ Run validation independently:
743
+
744
+ ```bash
745
+ # Via skill
746
+ "Validate my Azure DevOps configuration"
747
+
748
+ # Via TypeScript
749
+ npx tsx src/utils/external-resource-validator.ts --provider=ado
750
+
751
+ # Via CLI (future)
752
+ specweave validate-ado
753
+ ```
754
+
755
+ ## Best Practices
756
+
757
+ ✅ **Choose the right strategy**:
758
+ - **Project-per-team**: Best for autonomous teams, microservices
759
+ - **Area-path-based**: Best for monolithic apps, shared codebase
760
+ - **Team-based**: Best for small organizations, simple structure
761
+
762
+ ✅ **Use descriptive names**:
763
+ ```bash
764
+ # Good
765
+ AZURE_DEVOPS_PROJECTS=UserManagement,PaymentProcessing,NotificationEngine
766
+
767
+ # Bad
768
+ AZURE_DEVOPS_PROJECTS=Proj1,Proj2,Proj3
769
+ ```
770
+
771
+ ✅ **Document project mapping** (in README):
772
+ ```markdown
773
+ ## Azure DevOps Projects
774
+
775
+ - UserManagement: User authentication and profile management
776
+ - PaymentProcessing: Payment gateway integrations
777
+ - NotificationEngine: Email, SMS, and push notifications
778
+ ```
779
+
780
+ ✅ **Keep .env in version control** (gitignored tokens):
781
+ ```bash
782
+ # Commit project structure
783
+ AZURE_DEVOPS_STRATEGY=project-per-team
784
+ AZURE_DEVOPS_PROJECTS=WebApp,MobileApp,Platform
785
+
786
+ # Don't commit sensitive data
787
+ AZURE_DEVOPS_PAT=<redacted>
788
+ ```
789
+
790
+ ## Folder Organization
791
+
792
+ Based on strategy, the skill creates appropriate folder structure:
793
+
794
+ ### Project-per-team Structure
795
+ ```
796
+ .specweave/docs/internal/specs/
797
+ ├── WebApp/
798
+ │ ├── spec-001-user-interface.md
799
+ │ └── spec-002-responsive-design.md
800
+ ├── MobileApp/
801
+ │ ├── spec-001-ios-features.md
802
+ │ └── spec-002-android-features.md
803
+ └── Platform/
804
+ ├── spec-001-api-design.md
805
+ └── spec-002-database-schema.md
806
+ ```
807
+
808
+ ### Area-path-based Structure
809
+ ```
810
+ .specweave/docs/internal/specs/MainProduct/
811
+ ├── Frontend/
812
+ │ └── spec-001-ui-components.md
813
+ ├── Backend/
814
+ │ └── spec-001-api-endpoints.md
815
+ └── Mobile/
816
+ └── spec-001-mobile-sync.md
817
+ ```
818
+
819
+ ### Team-based Structure
820
+ ```
821
+ .specweave/docs/internal/specs/MainProduct/
822
+ ├── AlphaTeam/
823
+ │ └── spec-001-feature-a.md
824
+ ├── BetaTeam/
825
+ │ └── spec-001-feature-b.md
826
+ └── GammaTeam/
827
+ └── spec-001-feature-c.md
828
+ ```
829
+
830
+ ## Key Differences from JIRA
831
+
832
+ **Azure DevOps vs JIRA Resource Creation**:
833
+
834
+ | Aspect | Azure DevOps | JIRA |
835
+ |--------|-------------|------|
836
+ | **Project Creation** | Asynchronous (polling required) | Synchronous (immediate) |
837
+ | **Creation Time** | 5-30 seconds | <1 second |
838
+ | **Status Tracking** | Poll `state` field ('wellFormed') | No polling needed |
839
+ | **API Complexity** | Higher (async handling) | Lower (sync operations) |
840
+ | **Board Creation** | Auto-created with project | Requires separate API call |
841
+ | **Process Templates** | Required (Agile, Scrum, CMMI) | Not applicable |
842
+
843
+ **Why Async Matters**:
844
+
845
+ When you create an ADO project, the API returns immediately with `state: 'new'`, but the project isn't usable yet. The validator polls every 1 second (max 30 attempts) until `state: 'wellFormed'`:
846
+
847
+ ```typescript
848
+ // Create project (returns immediately)
849
+ const project = await createProject('MobileApp'); // state: 'new'
850
+
851
+ // Poll until ready
852
+ await waitForProjectCreation(project.id); // Polls until state: 'wellFormed'
853
+
854
+ // Now safe to use!
855
+ console.log('✅ Project ready for work items');
856
+ ```
857
+
858
+ **Impact on UX**:
859
+ - JIRA: "✅ Project created" (instant)
860
+ - ADO: "📦 Creating project... ⏳ Waiting for Azure DevOps to complete setup... ✅ Project ready!" (5-30s)
861
+
862
+ ## Summary
863
+
864
+ This skill ensures your Azure DevOps configuration is **always valid** by:
865
+
866
+ 1. ✅ **Validating projects** - Check if projects exist, prompt to select or create
867
+ 2. ✅ **Supporting multiple strategies** - Project-per-team, area-path-based, team-based
868
+ 3. ✅ **Auto-creating resources** - Projects, area paths, teams (with async handling)
869
+ 4. ✅ **Organizing specs** - Create folder structure based on projects
870
+ 5. ✅ **Clear error messages** - Actionable guidance for all failures
871
+ 6. ✅ **Handles ADO async behavior** - Polls for project creation completion
872
+
873
+ **Result**: Zero manual Azure DevOps setup - system handles everything, including ADO's async project creation!
874
+
875
+ ---
876
+
877
+ **Skill Version**: 1.1.0
878
+ **Introduced**: SpecWeave v0.17.0
879
+ **Last Updated**: 2025-11-11
880
+ **Key Changes v1.1.0**: Added implementation details, async project creation handling, JIRA comparison