specweave 0.12.7 → 0.13.1

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 (918) hide show
  1. package/CLAUDE.md +199 -46
  2. package/bin/specweave.js +12 -0
  3. package/dist/cli/commands/check-discipline.d.ts +16 -0
  4. package/dist/cli/commands/check-discipline.d.ts.map +1 -0
  5. package/dist/cli/commands/check-discipline.js +79 -0
  6. package/dist/cli/commands/check-discipline.js.map +1 -0
  7. package/dist/cli/commands/init.d.ts.map +1 -1
  8. package/dist/cli/commands/init.js +25 -313
  9. package/dist/cli/commands/init.js.map +1 -1
  10. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  11. package/dist/cli/helpers/issue-tracker/index.js +142 -0
  12. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  13. package/dist/core/increment/discipline-checker.d.ts +60 -0
  14. package/dist/core/increment/discipline-checker.d.ts.map +1 -0
  15. package/dist/core/increment/discipline-checker.js +274 -0
  16. package/dist/core/increment/discipline-checker.js.map +1 -0
  17. package/dist/core/increment/metadata-validator.d.ts +33 -0
  18. package/dist/core/increment/metadata-validator.d.ts.map +1 -0
  19. package/dist/core/increment/metadata-validator.js +147 -0
  20. package/dist/core/increment/metadata-validator.js.map +1 -0
  21. package/dist/core/increment/types.d.ts +88 -0
  22. package/dist/core/increment/types.d.ts.map +1 -0
  23. package/dist/core/increment/types.js +8 -0
  24. package/dist/core/increment/types.js.map +1 -0
  25. package/dist/core/qa/qa-runner.d.ts.map +1 -1
  26. package/dist/core/qa/qa-runner.js +22 -4
  27. package/dist/core/qa/qa-runner.js.map +1 -1
  28. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  29. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  30. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  31. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  32. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  33. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  34. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  35. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  36. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  37. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  38. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  39. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  40. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  41. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  42. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  43. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  44. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  45. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  46. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  47. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  48. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  49. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  50. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  51. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  52. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  53. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  54. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  55. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  56. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  57. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  58. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  59. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  60. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  61. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  62. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +144 -0
  63. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  64. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  65. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  66. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  67. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  68. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  69. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  70. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  71. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  72. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  73. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  74. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  75. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  76. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  77. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  78. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  79. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  80. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  81. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  82. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  83. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  84. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  85. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  86. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
  87. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  88. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  89. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  90. package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
  91. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  92. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  93. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  94. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  95. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  96. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +100 -0
  97. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -0
  98. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +471 -0
  99. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -0
  100. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  101. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  102. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  103. package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
  104. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +12 -0
  105. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +1 -0
  106. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +28 -0
  107. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +1 -0
  108. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  109. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  110. package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  111. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  112. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  113. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  114. package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
  115. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  116. package/dist/plugins/specweave-github/lib/github-client.d.ts +96 -0
  117. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  118. package/dist/plugins/specweave-github/lib/github-client.js +299 -0
  119. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -0
  120. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  121. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  122. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  123. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  124. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +61 -0
  125. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -0
  126. package/dist/plugins/specweave-github/lib/github-issue-updater.js +327 -0
  127. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -0
  128. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +108 -0
  129. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -0
  130. package/dist/plugins/specweave-github/lib/github-spec-sync.js +505 -0
  131. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -0
  132. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +36 -0
  133. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -0
  134. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +228 -0
  135. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -0
  136. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +18 -0
  137. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -0
  138. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +287 -0
  139. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -0
  140. package/dist/plugins/specweave-github/lib/index.d.ts +10 -0
  141. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -0
  142. package/dist/plugins/specweave-github/lib/index.js +10 -0
  143. package/dist/plugins/specweave-github/lib/index.js.map +1 -0
  144. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  145. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  146. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  147. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  148. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  149. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  150. package/dist/plugins/specweave-github/lib/subtask-sync.js +147 -0
  151. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  152. package/dist/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  153. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  154. package/dist/plugins/specweave-github/lib/task-parser.js +211 -0
  155. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -0
  156. package/dist/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  157. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  158. package/dist/plugins/specweave-github/lib/task-sync.js +332 -0
  159. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -0
  160. package/dist/plugins/specweave-github/lib/types.d.ts +80 -0
  161. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -0
  162. package/dist/plugins/specweave-github/lib/types.js +5 -0
  163. package/dist/plugins/specweave-github/lib/types.js.map +1 -0
  164. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  165. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  166. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  167. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  168. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  169. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  170. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  171. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  172. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +105 -0
  173. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -0
  174. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +456 -0
  175. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -0
  176. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  177. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  178. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  179. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  180. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  181. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  182. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  183. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  184. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  185. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  186. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  187. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  188. package/dist/src/adapters/adapter-base.d.ts +71 -0
  189. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  190. package/dist/src/adapters/adapter-base.js +139 -0
  191. package/dist/src/adapters/adapter-base.js.map +1 -0
  192. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  193. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  194. package/dist/src/adapters/adapter-interface.js +8 -0
  195. package/dist/src/adapters/adapter-interface.js.map +1 -0
  196. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  197. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  198. package/dist/src/adapters/adapter-loader.js +238 -0
  199. package/dist/src/adapters/adapter-loader.js.map +1 -0
  200. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  201. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  202. package/dist/src/adapters/agents-md-generator.js +193 -0
  203. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  204. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  205. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  206. package/dist/src/adapters/claude/adapter.js +415 -0
  207. package/dist/src/adapters/claude/adapter.js.map +1 -0
  208. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  209. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  210. package/dist/src/adapters/claude-md-generator.js +307 -0
  211. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  212. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  213. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  214. package/dist/src/adapters/codex/adapter.js +316 -0
  215. package/dist/src/adapters/codex/adapter.js.map +1 -0
  216. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  217. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  218. package/dist/src/adapters/cursor/adapter.js +406 -0
  219. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  220. package/dist/src/adapters/doc-generator.d.ts +69 -0
  221. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  222. package/dist/src/adapters/doc-generator.js +247 -0
  223. package/dist/src/adapters/doc-generator.js.map +1 -0
  224. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  225. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  226. package/dist/src/adapters/gemini/adapter.js +281 -0
  227. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  228. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  229. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  230. package/dist/src/adapters/generic/adapter.js +338 -0
  231. package/dist/src/adapters/generic/adapter.js.map +1 -0
  232. package/dist/src/cli/commands/abandon.d.ts +13 -0
  233. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  234. package/dist/src/cli/commands/abandon.js +15 -0
  235. package/dist/src/cli/commands/abandon.js.map +1 -0
  236. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  237. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  238. package/dist/src/cli/commands/import-docs.js +146 -0
  239. package/dist/src/cli/commands/import-docs.js.map +1 -0
  240. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  241. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  242. package/dist/src/cli/commands/init-multiproject.js +202 -0
  243. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  244. package/dist/src/cli/commands/init.d.ts +9 -0
  245. package/dist/src/cli/commands/init.d.ts.map +1 -0
  246. package/dist/src/cli/commands/init.js +1444 -0
  247. package/dist/src/cli/commands/init.js.map +1 -0
  248. package/dist/src/cli/commands/install.d.ts +9 -0
  249. package/dist/src/cli/commands/install.d.ts.map +1 -0
  250. package/dist/src/cli/commands/install.js +127 -0
  251. package/dist/src/cli/commands/install.js.map +1 -0
  252. package/dist/src/cli/commands/list.d.ts +8 -0
  253. package/dist/src/cli/commands/list.d.ts.map +1 -0
  254. package/dist/src/cli/commands/list.js +119 -0
  255. package/dist/src/cli/commands/list.js.map +1 -0
  256. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  257. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  258. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  259. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  260. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  261. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  262. package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
  263. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  264. package/dist/src/cli/commands/pause.d.ts +13 -0
  265. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  266. package/dist/src/cli/commands/pause.js +15 -0
  267. package/dist/src/cli/commands/pause.js.map +1 -0
  268. package/dist/src/cli/commands/qa.d.ts +54 -0
  269. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  270. package/dist/src/cli/commands/qa.js +98 -0
  271. package/dist/src/cli/commands/qa.js.map +1 -0
  272. package/dist/src/cli/commands/resume.d.ts +12 -0
  273. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  274. package/dist/src/cli/commands/resume.js +14 -0
  275. package/dist/src/cli/commands/resume.js.map +1 -0
  276. package/dist/src/cli/commands/status.d.ts +12 -0
  277. package/dist/src/cli/commands/status.d.ts.map +1 -0
  278. package/dist/src/cli/commands/status.js +23 -0
  279. package/dist/src/cli/commands/status.js.map +1 -0
  280. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  281. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  282. package/dist/src/cli/commands/switch-project.js +91 -0
  283. package/dist/src/cli/commands/switch-project.js.map +1 -0
  284. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  285. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  286. package/dist/src/cli/commands/validate-jira.js +112 -0
  287. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  288. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  289. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  290. package/dist/src/cli/commands/validate-plugins.js +171 -0
  291. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  292. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  293. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  294. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  295. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  296. package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
  297. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  298. package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
  299. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  300. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  301. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  302. package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
  303. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  304. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  305. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  306. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  307. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  308. package/dist/src/cli/helpers/issue-tracker/types.d.ts +108 -0
  309. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  310. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  311. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  312. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
  313. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  314. package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
  315. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  316. package/dist/src/core/agent-model-manager.d.ts +52 -0
  317. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  318. package/dist/src/core/agent-model-manager.js +120 -0
  319. package/dist/src/core/agent-model-manager.js.map +1 -0
  320. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  321. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  322. package/dist/src/core/brownfield/analyzer.js +365 -0
  323. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  324. package/dist/src/core/brownfield/importer.d.ts +76 -0
  325. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  326. package/dist/src/core/brownfield/importer.js +287 -0
  327. package/dist/src/core/brownfield/importer.js.map +1 -0
  328. package/dist/src/core/config-manager.d.ts +47 -0
  329. package/dist/src/core/config-manager.d.ts.map +1 -0
  330. package/dist/src/core/config-manager.js +136 -0
  331. package/dist/src/core/config-manager.js.map +1 -0
  332. package/dist/src/core/cost-tracker.d.ts +108 -0
  333. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  334. package/dist/src/core/cost-tracker.js +281 -0
  335. package/dist/src/core/cost-tracker.js.map +1 -0
  336. package/dist/src/core/credentials-manager.d.ts +107 -0
  337. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  338. package/dist/src/core/credentials-manager.js +457 -0
  339. package/dist/src/core/credentials-manager.js.map +1 -0
  340. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  341. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  342. package/dist/src/core/i18n/language-detector.js +143 -0
  343. package/dist/src/core/i18n/language-detector.js.map +1 -0
  344. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  345. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  346. package/dist/src/core/i18n/language-manager.js +232 -0
  347. package/dist/src/core/i18n/language-manager.js.map +1 -0
  348. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  349. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  350. package/dist/src/core/i18n/language-registry.js +234 -0
  351. package/dist/src/core/i18n/language-registry.js.map +1 -0
  352. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  353. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  354. package/dist/src/core/i18n/locale-manager.js +137 -0
  355. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  356. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  357. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  358. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  359. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  360. package/dist/src/core/i18n/types.d.ts +151 -0
  361. package/dist/src/core/i18n/types.d.ts.map +1 -0
  362. package/dist/src/core/i18n/types.js +11 -0
  363. package/dist/src/core/i18n/types.js.map +1 -0
  364. package/dist/src/core/increment/limits.d.ts +68 -0
  365. package/dist/src/core/increment/limits.d.ts.map +1 -0
  366. package/dist/src/core/increment/limits.js +224 -0
  367. package/dist/src/core/increment/limits.js.map +1 -0
  368. package/dist/src/core/increment/metadata-manager.d.ts +114 -0
  369. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  370. package/dist/src/core/increment/metadata-manager.js +320 -0
  371. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  372. package/dist/src/core/increment/status-commands.d.ts +43 -0
  373. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  374. package/dist/src/core/increment/status-commands.js +277 -0
  375. package/dist/src/core/increment/status-commands.js.map +1 -0
  376. package/dist/src/core/increment-status.d.ts +72 -0
  377. package/dist/src/core/increment-status.d.ts.map +1 -0
  378. package/dist/src/core/increment-status.js +227 -0
  379. package/dist/src/core/increment-status.js.map +1 -0
  380. package/dist/src/core/model-selector.d.ts +57 -0
  381. package/dist/src/core/model-selector.d.ts.map +1 -0
  382. package/dist/src/core/model-selector.js +115 -0
  383. package/dist/src/core/model-selector.js.map +1 -0
  384. package/dist/src/core/phase-detector.d.ts +62 -0
  385. package/dist/src/core/phase-detector.d.ts.map +1 -0
  386. package/dist/src/core/phase-detector.js +229 -0
  387. package/dist/src/core/phase-detector.js.map +1 -0
  388. package/dist/src/core/plugin-loader.d.ts +131 -0
  389. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  390. package/dist/src/core/plugin-loader.js +421 -0
  391. package/dist/src/core/plugin-loader.js.map +1 -0
  392. package/dist/src/core/project-manager.d.ts +127 -0
  393. package/dist/src/core/project-manager.d.ts.map +1 -0
  394. package/dist/src/core/project-manager.js +524 -0
  395. package/dist/src/core/project-manager.js.map +1 -0
  396. package/dist/src/core/project-structure-detector.d.ts +92 -0
  397. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  398. package/dist/src/core/project-structure-detector.js +289 -0
  399. package/dist/src/core/project-structure-detector.js.map +1 -0
  400. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  401. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  402. package/dist/src/core/qa/qa-runner.js +404 -0
  403. package/dist/src/core/qa/qa-runner.js.map +1 -0
  404. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  405. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  406. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  407. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  408. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  409. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  410. package/dist/src/core/qa/risk-calculator.js +247 -0
  411. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  412. package/dist/src/core/qa/types.d.ts +315 -0
  413. package/dist/src/core/qa/types.d.ts.map +1 -0
  414. package/dist/src/core/qa/types.js +8 -0
  415. package/dist/src/core/qa/types.js.map +1 -0
  416. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  417. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  418. package/dist/src/core/rfc-generator-v2.js +399 -0
  419. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  420. package/dist/src/core/specs/spec-metadata-manager.d.ts +70 -0
  421. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +1 -0
  422. package/dist/src/core/specs/spec-metadata-manager.js +371 -0
  423. package/dist/src/core/specs/spec-metadata-manager.js.map +1 -0
  424. package/dist/src/core/specs/spec-parser.d.ts +66 -0
  425. package/dist/src/core/specs/spec-parser.d.ts.map +1 -0
  426. package/dist/src/core/specs/spec-parser.js +276 -0
  427. package/dist/src/core/specs/spec-parser.js.map +1 -0
  428. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  429. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  430. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  431. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  432. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  433. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  434. package/dist/src/core/sync/folder-mapper.js +168 -0
  435. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  436. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  437. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  438. package/dist/src/core/sync/profile-manager.js +338 -0
  439. package/dist/src/core/sync/profile-manager.js.map +1 -0
  440. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  441. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  442. package/dist/src/core/sync/profile-selector.js +179 -0
  443. package/dist/src/core/sync/profile-selector.js.map +1 -0
  444. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  445. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  446. package/dist/src/core/sync/profile-validator.js +225 -0
  447. package/dist/src/core/sync/profile-validator.js.map +1 -0
  448. package/dist/src/core/sync/project-context.d.ts +81 -0
  449. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  450. package/dist/src/core/sync/project-context.js +354 -0
  451. package/dist/src/core/sync/project-context.js.map +1 -0
  452. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  453. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  454. package/dist/src/core/sync/rate-limiter.js +308 -0
  455. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  456. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  457. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  458. package/dist/src/core/sync/time-range-selector.js +224 -0
  459. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  460. package/dist/src/core/types/config.d.ts +90 -0
  461. package/dist/src/core/types/config.d.ts.map +1 -0
  462. package/dist/src/core/types/config.js +44 -0
  463. package/dist/src/core/types/config.js.map +1 -0
  464. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  465. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  466. package/dist/src/core/types/increment-metadata.js +138 -0
  467. package/dist/src/core/types/increment-metadata.js.map +1 -0
  468. package/dist/src/core/types/plugin.d.ts +283 -0
  469. package/dist/src/core/types/plugin.d.ts.map +1 -0
  470. package/dist/src/core/types/plugin.js +49 -0
  471. package/dist/src/core/types/plugin.js.map +1 -0
  472. package/dist/src/core/types/spec-metadata.d.ts +229 -0
  473. package/dist/src/core/types/spec-metadata.d.ts.map +1 -0
  474. package/dist/src/core/types/spec-metadata.js +14 -0
  475. package/dist/src/core/types/spec-metadata.js.map +1 -0
  476. package/dist/src/core/types/sync-profile.d.ts +403 -0
  477. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  478. package/dist/src/core/types/sync-profile.js +55 -0
  479. package/dist/src/core/types/sync-profile.js.map +1 -0
  480. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +89 -0
  481. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  482. package/dist/src/hooks/lib/git-diff-analyzer.js +226 -0
  483. package/dist/src/hooks/lib/git-diff-analyzer.js.map +1 -0
  484. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +60 -0
  485. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  486. package/dist/src/hooks/lib/invoke-translator-skill.js +201 -0
  487. package/dist/src/hooks/lib/invoke-translator-skill.js.map +1 -0
  488. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +42 -0
  489. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  490. package/dist/src/hooks/lib/prepare-reflection-context.js +123 -0
  491. package/dist/src/hooks/lib/prepare-reflection-context.js.map +1 -0
  492. package/dist/src/hooks/lib/reflection-config-loader.d.ts +45 -0
  493. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  494. package/dist/src/hooks/lib/reflection-config-loader.js +132 -0
  495. package/dist/src/hooks/lib/reflection-config-loader.js.map +1 -0
  496. package/dist/src/hooks/lib/reflection-parser.d.ts +33 -0
  497. package/dist/src/hooks/lib/reflection-parser.d.ts.map +1 -0
  498. package/dist/src/hooks/lib/reflection-parser.js +419 -0
  499. package/dist/src/hooks/lib/reflection-parser.js.map +1 -0
  500. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  501. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  502. package/dist/src/hooks/lib/reflection-prompt-builder.js +239 -0
  503. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +1 -0
  504. package/dist/src/hooks/lib/reflection-storage.d.ts +64 -0
  505. package/dist/src/hooks/lib/reflection-storage.d.ts.map +1 -0
  506. package/dist/src/hooks/lib/reflection-storage.js +305 -0
  507. package/dist/src/hooks/lib/reflection-storage.js.map +1 -0
  508. package/dist/src/hooks/lib/run-self-reflection.d.ts +43 -0
  509. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +1 -0
  510. package/dist/src/hooks/lib/run-self-reflection.js +203 -0
  511. package/dist/src/hooks/lib/run-self-reflection.js.map +1 -0
  512. package/dist/src/hooks/lib/sync-living-docs.d.ts +27 -0
  513. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +1 -0
  514. package/dist/src/hooks/lib/sync-living-docs.js +116 -0
  515. package/dist/src/hooks/lib/sync-living-docs.js.map +1 -0
  516. package/dist/src/hooks/lib/translate-file.d.ts +59 -0
  517. package/dist/src/hooks/lib/translate-file.d.ts.map +1 -0
  518. package/dist/src/hooks/lib/translate-file.js +350 -0
  519. package/dist/src/hooks/lib/translate-file.js.map +1 -0
  520. package/dist/src/hooks/lib/translate-living-docs.d.ts +13 -0
  521. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +1 -0
  522. package/dist/src/hooks/lib/translate-living-docs.js +175 -0
  523. package/dist/src/hooks/lib/translate-living-docs.js.map +1 -0
  524. package/dist/src/hooks/lib/types/reflection-types.d.ts +164 -0
  525. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  526. package/dist/src/hooks/lib/types/reflection-types.js +73 -0
  527. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  528. package/dist/src/hooks/lib/update-tasks-md.d.ts +29 -0
  529. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +1 -0
  530. package/dist/src/hooks/lib/update-tasks-md.js +203 -0
  531. package/dist/src/hooks/lib/update-tasks-md.js.map +1 -0
  532. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  533. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  534. package/dist/src/integrations/ado/ado-client.js +416 -0
  535. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  536. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  537. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  538. package/dist/src/integrations/jira/jira-client.js +386 -0
  539. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  540. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  541. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  542. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  543. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  544. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  545. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  546. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  547. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  548. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  549. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  550. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  551. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  552. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  553. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  554. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  555. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  556. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  557. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  558. package/dist/src/metrics/calculators/lead-time.js +82 -0
  559. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  560. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  561. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  562. package/dist/src/metrics/calculators/mttr.js +60 -0
  563. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  564. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  565. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  566. package/dist/src/metrics/dora-calculator.js +117 -0
  567. package/dist/src/metrics/dora-calculator.js.map +1 -0
  568. package/dist/src/metrics/github-client.d.ts +51 -0
  569. package/dist/src/metrics/github-client.d.ts.map +1 -0
  570. package/dist/src/metrics/github-client.js +133 -0
  571. package/dist/src/metrics/github-client.js.map +1 -0
  572. package/dist/src/metrics/report-generator.d.ts +17 -0
  573. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  574. package/dist/src/metrics/report-generator.js +403 -0
  575. package/dist/src/metrics/report-generator.js.map +1 -0
  576. package/dist/src/metrics/types.d.ts +112 -0
  577. package/dist/src/metrics/types.d.ts.map +1 -0
  578. package/dist/src/metrics/types.js +10 -0
  579. package/dist/src/metrics/types.js.map +1 -0
  580. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  581. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  582. package/dist/src/metrics/utils/percentile.js +46 -0
  583. package/dist/src/metrics/utils/percentile.js.map +1 -0
  584. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  585. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  586. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  587. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  588. package/dist/src/testing/test-generator.d.ts +117 -0
  589. package/dist/src/testing/test-generator.d.ts.map +1 -0
  590. package/dist/src/testing/test-generator.js +370 -0
  591. package/dist/src/testing/test-generator.js.map +1 -0
  592. package/dist/src/types/cost-tracking.d.ts +43 -0
  593. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  594. package/dist/src/types/cost-tracking.js +8 -0
  595. package/dist/src/types/cost-tracking.js.map +1 -0
  596. package/dist/src/types/model-selection.d.ts +53 -0
  597. package/dist/src/types/model-selection.d.ts.map +1 -0
  598. package/dist/src/types/model-selection.js +12 -0
  599. package/dist/src/types/model-selection.js.map +1 -0
  600. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  601. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  602. package/dist/src/utils/agents-md-compiler.js +420 -0
  603. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  604. package/dist/src/utils/auth-helpers.d.ts +58 -0
  605. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  606. package/dist/src/utils/auth-helpers.js +108 -0
  607. package/dist/src/utils/auth-helpers.js.map +1 -0
  608. package/dist/src/utils/auto-install.d.ts +47 -0
  609. package/dist/src/utils/auto-install.d.ts.map +1 -0
  610. package/dist/src/utils/auto-install.js +211 -0
  611. package/dist/src/utils/auto-install.js.map +1 -0
  612. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  613. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  614. package/dist/src/utils/claude-cli-detector.js +285 -0
  615. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  616. package/dist/src/utils/cost-reporter.d.ts +58 -0
  617. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  618. package/dist/src/utils/cost-reporter.js +224 -0
  619. package/dist/src/utils/cost-reporter.js.map +1 -0
  620. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  621. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  622. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  623. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  624. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  625. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  626. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  627. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  628. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  629. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  630. package/dist/src/utils/docs-preview/index.js +7 -0
  631. package/dist/src/utils/docs-preview/index.js.map +1 -0
  632. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  633. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  634. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  635. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  636. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  637. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  638. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  639. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  640. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  641. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  642. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  643. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  644. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  645. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  646. package/dist/src/utils/docs-preview/types.js +2 -0
  647. package/dist/src/utils/docs-preview/types.js.map +1 -0
  648. package/dist/src/utils/env-file.d.ts +88 -0
  649. package/dist/src/utils/env-file.d.ts.map +1 -0
  650. package/dist/src/utils/env-file.js +180 -0
  651. package/dist/src/utils/env-file.js.map +1 -0
  652. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  653. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  654. package/dist/src/utils/env-multi-project-parser.js +403 -0
  655. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  656. package/dist/src/utils/esm-helpers.d.ts +50 -0
  657. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  658. package/dist/src/utils/esm-helpers.js +57 -0
  659. package/dist/src/utils/esm-helpers.js.map +1 -0
  660. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  661. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  662. package/dist/src/utils/execFileNoThrow.js +137 -0
  663. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  664. package/dist/src/utils/external-resource-validator.d.ts +102 -0
  665. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  666. package/dist/src/utils/external-resource-validator.js +442 -0
  667. package/dist/src/utils/external-resource-validator.js.map +1 -0
  668. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  669. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  670. package/dist/src/utils/generate-skills-index.js +410 -0
  671. package/dist/src/utils/generate-skills-index.js.map +1 -0
  672. package/dist/src/utils/model-selection.d.ts +75 -0
  673. package/dist/src/utils/model-selection.d.ts.map +1 -0
  674. package/dist/src/utils/model-selection.js +204 -0
  675. package/dist/src/utils/model-selection.js.map +1 -0
  676. package/dist/src/utils/plugin-validator.d.ts +161 -0
  677. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  678. package/dist/src/utils/plugin-validator.js +558 -0
  679. package/dist/src/utils/plugin-validator.js.map +1 -0
  680. package/dist/src/utils/pricing-constants.d.ts +70 -0
  681. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  682. package/dist/src/utils/pricing-constants.js +71 -0
  683. package/dist/src/utils/pricing-constants.js.map +1 -0
  684. package/dist/src/utils/project-detection.d.ts +141 -0
  685. package/dist/src/utils/project-detection.d.ts.map +1 -0
  686. package/dist/src/utils/project-detection.js +321 -0
  687. package/dist/src/utils/project-detection.js.map +1 -0
  688. package/dist/src/utils/string-utils.d.ts +40 -0
  689. package/dist/src/utils/string-utils.d.ts.map +1 -0
  690. package/dist/src/utils/string-utils.js +58 -0
  691. package/dist/src/utils/string-utils.js.map +1 -0
  692. package/dist/src/utils/translation.d.ts +187 -0
  693. package/dist/src/utils/translation.d.ts.map +1 -0
  694. package/dist/src/utils/translation.js +414 -0
  695. package/dist/src/utils/translation.js.map +1 -0
  696. package/dist/utils/external-resource-validator.js +1 -1
  697. package/dist/utils/external-resource-validator.js.map +1 -1
  698. package/package.json +4 -3
  699. package/plugins/specweave/.claude-plugin/plugin.json +2 -1
  700. package/plugins/specweave/agents/pm/AGENT.md +8 -38
  701. package/plugins/specweave/commands/specweave-increment.md +28 -48
  702. package/plugins/specweave/hooks/README.md +289 -92
  703. package/plugins/specweave/hooks/hooks.json +10 -0
  704. package/plugins/specweave/hooks/post-increment-completion.sh +83 -0
  705. package/plugins/specweave/hooks/post-increment-planning.sh +2 -2
  706. package/plugins/specweave/hooks/post-task-completion.sh +20 -141
  707. package/plugins/specweave/hooks/user-prompt-submit.sh +142 -0
  708. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js +0 -0
  709. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  710. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  711. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  712. package/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  713. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js +0 -0
  714. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  715. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  716. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  717. package/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  718. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js +0 -0
  719. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  720. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  721. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  722. package/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  723. package/plugins/specweave/lib/hooks/reflection-config-loader.d.js +0 -0
  724. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  725. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  726. package/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  727. package/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  728. package/plugins/specweave/lib/hooks/reflection-parser.d.js +0 -0
  729. package/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  730. package/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  731. package/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  732. package/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  733. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js +0 -0
  734. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  735. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  736. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  737. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  738. package/plugins/specweave/lib/hooks/reflection-storage.d.js +0 -0
  739. package/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  740. package/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  741. package/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  742. package/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  743. package/plugins/specweave/lib/hooks/run-self-reflection.d.js +0 -0
  744. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  745. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  746. package/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  747. package/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  748. package/plugins/specweave/lib/hooks/sync-living-docs.d.js +1 -0
  749. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  750. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  751. package/plugins/specweave/lib/hooks/sync-living-docs.js +144 -0
  752. package/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  753. package/plugins/specweave/lib/hooks/translate-file.d.js +0 -0
  754. package/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  755. package/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  756. package/plugins/specweave/lib/hooks/translate-file.js +350 -0
  757. package/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  758. package/plugins/specweave/lib/hooks/translate-living-docs.d.js +0 -0
  759. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  760. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  761. package/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  762. package/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  763. package/plugins/specweave/lib/hooks/types/reflection-types.d.js +0 -0
  764. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  765. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  766. package/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  767. package/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  768. package/plugins/specweave/lib/hooks/update-tasks-md.d.js +1 -0
  769. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  770. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  771. package/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  772. package/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  773. package/plugins/specweave-ado/.claude-plugin/plugin.json +2 -1
  774. package/plugins/specweave-ado/hooks/README.md +201 -0
  775. package/plugins/specweave-ado/hooks/hooks.json +15 -0
  776. package/plugins/specweave-ado/hooks/post-task-completion.sh +150 -0
  777. package/plugins/specweave-ado/lib/ado-board-resolver.d.js +0 -0
  778. package/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  779. package/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  780. package/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  781. package/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  782. package/plugins/specweave-ado/lib/ado-client-v2.d.js +0 -0
  783. package/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  784. package/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  785. package/plugins/specweave-ado/lib/ado-client-v2.js +435 -0
  786. package/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  787. package/plugins/specweave-ado/lib/ado-client-v2.ts +134 -10
  788. package/plugins/specweave-ado/lib/ado-client.d.js +4 -0
  789. package/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  790. package/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  791. package/plugins/specweave-ado/lib/ado-client.js +248 -0
  792. package/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  793. package/plugins/specweave-ado/lib/ado-client.ts +19 -3
  794. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.js +0 -0
  795. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  796. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  797. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  798. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  799. package/plugins/specweave-ado/lib/ado-spec-sync.d.js +0 -0
  800. package/plugins/specweave-ado/lib/ado-spec-sync.d.ts +100 -0
  801. package/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -0
  802. package/plugins/specweave-ado/lib/ado-spec-sync.js +471 -0
  803. package/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -0
  804. package/plugins/specweave-ado/lib/project-selector.d.js +0 -0
  805. package/plugins/specweave-github/.claude-plugin/plugin.json +2 -1
  806. package/plugins/specweave-github/hooks/README.md +280 -0
  807. package/plugins/specweave-github/hooks/hooks.json +15 -0
  808. package/plugins/specweave-github/hooks/post-task-completion.sh +241 -0
  809. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.js +1 -0
  810. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +12 -0
  811. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +1 -0
  812. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +28 -0
  813. package/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +1 -0
  814. package/plugins/specweave-github/lib/github-board-resolver.d.js +0 -0
  815. package/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  816. package/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  817. package/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  818. package/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  819. package/plugins/specweave-github/lib/github-client-v2.d.js +0 -0
  820. package/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  821. package/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  822. package/plugins/specweave-github/lib/github-client-v2.js +408 -0
  823. package/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  824. package/plugins/specweave-github/lib/github-client.d.js +0 -0
  825. package/plugins/specweave-github/lib/github-client.d.ts +96 -0
  826. package/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  827. package/plugins/specweave-github/lib/github-client.js +299 -0
  828. package/plugins/specweave-github/lib/github-client.js.map +1 -0
  829. package/plugins/specweave-github/lib/github-hierarchical-sync.d.js +0 -0
  830. package/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  831. package/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  832. package/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  833. package/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  834. package/plugins/specweave-github/lib/github-issue-updater.d.js +0 -0
  835. package/plugins/specweave-github/lib/github-issue-updater.d.ts +61 -0
  836. package/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -0
  837. package/plugins/specweave-github/lib/github-issue-updater.js +327 -0
  838. package/plugins/specweave-github/lib/github-issue-updater.js.map +1 -0
  839. package/plugins/specweave-github/lib/github-spec-sync.d.js +0 -0
  840. package/plugins/specweave-github/lib/github-spec-sync.d.ts +108 -0
  841. package/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -0
  842. package/plugins/specweave-github/lib/github-spec-sync.js +505 -0
  843. package/plugins/specweave-github/lib/github-spec-sync.js.map +1 -0
  844. package/plugins/specweave-github/lib/github-sync-bidirectional.d.js +0 -0
  845. package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +36 -0
  846. package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -0
  847. package/plugins/specweave-github/lib/github-sync-bidirectional.js +228 -0
  848. package/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -0
  849. package/plugins/specweave-github/lib/github-sync-increment-changes.d.js +0 -0
  850. package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +18 -0
  851. package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -0
  852. package/plugins/specweave-github/lib/github-sync-increment-changes.js +287 -0
  853. package/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -0
  854. package/plugins/specweave-github/lib/index.d.js +11 -0
  855. package/plugins/specweave-github/lib/index.d.ts +10 -0
  856. package/plugins/specweave-github/lib/index.d.ts.map +1 -0
  857. package/plugins/specweave-github/lib/index.js +10 -0
  858. package/plugins/specweave-github/lib/index.js.map +1 -0
  859. package/plugins/specweave-github/lib/repo-selector.d.js +0 -0
  860. package/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  861. package/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  862. package/plugins/specweave-github/lib/repo-selector.js +216 -0
  863. package/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  864. package/plugins/specweave-github/lib/subtask-sync.d.js +0 -0
  865. package/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  866. package/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  867. package/plugins/specweave-github/lib/subtask-sync.js +147 -0
  868. package/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  869. package/plugins/specweave-github/lib/task-parser.d.js +0 -0
  870. package/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  871. package/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  872. package/plugins/specweave-github/lib/task-parser.js +211 -0
  873. package/plugins/specweave-github/lib/task-parser.js.map +1 -0
  874. package/plugins/specweave-github/lib/task-sync.d.js +0 -0
  875. package/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  876. package/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  877. package/plugins/specweave-github/lib/task-sync.js +332 -0
  878. package/plugins/specweave-github/lib/task-sync.js.map +1 -0
  879. package/plugins/specweave-github/lib/types.d.js +0 -0
  880. package/plugins/specweave-github/lib/types.d.ts +80 -0
  881. package/plugins/specweave-github/lib/types.d.ts.map +1 -0
  882. package/plugins/specweave-github/lib/types.js +5 -0
  883. package/plugins/specweave-github/lib/types.js.map +1 -0
  884. package/plugins/specweave-jira/.claude-plugin/plugin.json +2 -1
  885. package/plugins/specweave-jira/hooks/README.md +201 -0
  886. package/plugins/specweave-jira/hooks/hooks.json +15 -0
  887. package/plugins/specweave-jira/hooks/post-task-completion.sh +150 -0
  888. package/plugins/specweave-jira/lib/jira-board-resolver.d.js +0 -0
  889. package/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  890. package/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  891. package/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  892. package/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  893. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.js +0 -0
  894. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  895. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  896. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  897. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  898. package/plugins/specweave-jira/lib/jira-spec-sync.d.js +0 -0
  899. package/plugins/specweave-jira/lib/jira-spec-sync.d.ts +105 -0
  900. package/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -0
  901. package/plugins/specweave-jira/lib/jira-spec-sync.js +456 -0
  902. package/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -0
  903. package/plugins/specweave-jira/lib/project-selector.d.js +0 -0
  904. package/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  905. package/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  906. package/plugins/specweave-jira/lib/project-selector.js +216 -0
  907. package/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  908. package/plugins/specweave-jira/lib/reorganization-detector.d.js +0 -0
  909. package/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  910. package/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  911. package/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  912. package/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  913. package/plugins/specweave-jira/lib/setup-wizard.d.js +4 -0
  914. package/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  915. package/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  916. package/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  917. package/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  918. package/src/templates/CLAUDE.md.template +41 -0
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Jira Project Selector with Pagination
3
+ *
4
+ * Features:
5
+ * - Fetches all Jira projects via API
6
+ * - Interactive multi-select with search
7
+ * - Manual project key entry (comma-separated)
8
+ * - Handles large project lists (50+ projects)
9
+ * - Validates project keys
10
+ */
11
+ import inquirer from 'inquirer';
12
+ // ============================================================================
13
+ // Jira Project Fetching
14
+ // ============================================================================
15
+ /**
16
+ * Fetch all Jira projects from API
17
+ */
18
+ export async function fetchAllJiraProjects(client) {
19
+ console.log('šŸ” Fetching Jira projects...');
20
+ try {
21
+ const projects = await client.getProjects();
22
+ console.log(`āœ… Found ${projects.length} Jira projects\n`);
23
+ return projects;
24
+ }
25
+ catch (error) {
26
+ console.error('āŒ Failed to fetch Jira projects:', error.message);
27
+ throw error;
28
+ }
29
+ }
30
+ // ============================================================================
31
+ // Interactive Project Selection
32
+ // ============================================================================
33
+ /**
34
+ * Interactive project selector with search and pagination
35
+ */
36
+ export async function selectJiraProjects(client, options = {}) {
37
+ const { allowManualEntry = true, allowSelectAll = true, preSelected = [], minSelection = 1, maxSelection, pageSize = 15, } = options;
38
+ // Fetch all projects
39
+ const allProjects = await fetchAllJiraProjects(client);
40
+ if (allProjects.length === 0) {
41
+ console.log('āš ļø No Jira projects found');
42
+ return {
43
+ selectedKeys: [],
44
+ method: 'interactive',
45
+ };
46
+ }
47
+ // Show project overview
48
+ console.log('šŸ“‹ Available Jira Projects:\n');
49
+ console.log(` Total: ${allProjects.length} projects\n`);
50
+ // Decide selection method
51
+ const { selectionMethod } = await inquirer.prompt([
52
+ {
53
+ type: 'list',
54
+ name: 'selectionMethod',
55
+ message: 'How would you like to select projects?',
56
+ choices: [
57
+ {
58
+ name: `šŸ“‹ Interactive (browse and select from ${allProjects.length} projects)`,
59
+ value: 'interactive',
60
+ },
61
+ {
62
+ name: 'āœļø Manual entry (type project keys)',
63
+ value: 'manual',
64
+ },
65
+ ...(allowSelectAll
66
+ ? [
67
+ {
68
+ name: `✨ Select all (${allProjects.length} projects)`,
69
+ value: 'all',
70
+ },
71
+ ]
72
+ : []),
73
+ ],
74
+ },
75
+ ]);
76
+ if (selectionMethod === 'all') {
77
+ return {
78
+ selectedKeys: allProjects.map((p) => p.key),
79
+ method: 'all',
80
+ };
81
+ }
82
+ if (selectionMethod === 'manual') {
83
+ return await manualProjectEntry(allProjects, minSelection, maxSelection);
84
+ }
85
+ // Interactive selection
86
+ return await interactiveProjectSelection(allProjects, preSelected, minSelection, maxSelection, pageSize);
87
+ }
88
+ /**
89
+ * Interactive project selection with checkbox
90
+ */
91
+ async function interactiveProjectSelection(allProjects, preSelected, minSelection, maxSelection, pageSize) {
92
+ console.log('šŸ’” Use <space> to select, <a> to toggle all, <i> to invert\n');
93
+ const choices = allProjects.map((p) => ({
94
+ name: formatProjectChoice(p),
95
+ value: p.key,
96
+ checked: preSelected.includes(p.key),
97
+ }));
98
+ // Add manual entry option at the end
99
+ choices.push(new inquirer.Separator(), {
100
+ name: 'āœļø Enter project keys manually instead',
101
+ value: '__MANUAL__',
102
+ checked: false,
103
+ });
104
+ const { selectedKeys } = await inquirer.prompt([
105
+ {
106
+ type: 'checkbox',
107
+ name: 'selectedKeys',
108
+ message: `Select Jira projects (${minSelection}${maxSelection ? `-${maxSelection}` : '+'} required):`,
109
+ choices,
110
+ pageSize,
111
+ loop: false,
112
+ validate: (selected) => {
113
+ const actualSelected = selected.filter((k) => k !== '__MANUAL__');
114
+ if (actualSelected.length < minSelection) {
115
+ return `Please select at least ${minSelection} project(s)`;
116
+ }
117
+ if (maxSelection && actualSelected.length > maxSelection) {
118
+ return `Please select at most ${maxSelection} project(s)`;
119
+ }
120
+ return true;
121
+ },
122
+ },
123
+ ]);
124
+ // Check if user chose manual entry
125
+ if (selectedKeys.includes('__MANUAL__')) {
126
+ return await manualProjectEntry(allProjects, minSelection, maxSelection);
127
+ }
128
+ console.log(`\nāœ… Selected ${selectedKeys.length} projects: ${selectedKeys.join(', ')}\n`);
129
+ return {
130
+ selectedKeys,
131
+ method: 'interactive',
132
+ };
133
+ }
134
+ /**
135
+ * Manual project key entry (comma-separated)
136
+ */
137
+ async function manualProjectEntry(allProjects, minSelection, maxSelection) {
138
+ console.log('\nšŸ“ Enter project keys manually\n');
139
+ console.log('šŸ’” Format: Comma-separated project keys (e.g., SCRUM,PROD,MOBILE)\n');
140
+ if (allProjects.length > 0) {
141
+ console.log('Available project keys:');
142
+ console.log(allProjects
143
+ .map((p) => p.key)
144
+ .join(', ')
145
+ .substring(0, 100) + (allProjects.length > 20 ? '...' : ''));
146
+ console.log('');
147
+ }
148
+ const { manualKeys } = await inquirer.prompt([
149
+ {
150
+ type: 'input',
151
+ name: 'manualKeys',
152
+ message: 'Project keys:',
153
+ validate: (input) => {
154
+ if (!input.trim()) {
155
+ return 'Please enter at least one project key';
156
+ }
157
+ const keys = input
158
+ .split(',')
159
+ .map((k) => k.trim().toUpperCase())
160
+ .filter((k) => k.length > 0);
161
+ if (keys.length < minSelection) {
162
+ return `Please enter at least ${minSelection} project key(s)`;
163
+ }
164
+ if (maxSelection && keys.length > maxSelection) {
165
+ return `Please enter at most ${maxSelection} project key(s)`;
166
+ }
167
+ // Validate format (uppercase letters/numbers only)
168
+ const invalidKeys = keys.filter((k) => !/^[A-Z0-9]+$/.test(k));
169
+ if (invalidKeys.length > 0) {
170
+ return `Invalid project key format: ${invalidKeys.join(', ')}. Use uppercase letters/numbers only.`;
171
+ }
172
+ return true;
173
+ },
174
+ },
175
+ ]);
176
+ const selectedKeys = manualKeys
177
+ .split(',')
178
+ .map((k) => k.trim().toUpperCase())
179
+ .filter((k) => k.length > 0);
180
+ // Warn about unknown projects
181
+ const knownKeys = allProjects.map((p) => p.key);
182
+ const unknownKeys = selectedKeys.filter((k) => !knownKeys.includes(k));
183
+ if (unknownKeys.length > 0) {
184
+ console.log(`\nāš ļø Unknown project keys (will be used anyway): ${unknownKeys.join(', ')}`);
185
+ console.log(' Make sure these projects exist in your Jira instance.\n');
186
+ }
187
+ console.log(`āœ… Selected ${selectedKeys.length} projects: ${selectedKeys.join(', ')}\n`);
188
+ return {
189
+ selectedKeys,
190
+ method: 'manual',
191
+ };
192
+ }
193
+ // ============================================================================
194
+ // Helpers
195
+ // ============================================================================
196
+ /**
197
+ * Format project choice for display
198
+ */
199
+ function formatProjectChoice(project) {
200
+ const type = project.projectTypeKey || 'unknown';
201
+ const lead = project.lead?.displayName || 'No lead';
202
+ return `${project.key.padEnd(10)} - ${project.name} (${type}, lead: ${lead})`;
203
+ }
204
+ /**
205
+ * Quick project selector - select single project
206
+ */
207
+ export async function selectSingleJiraProject(client, message = 'Select Jira project:') {
208
+ const result = await selectJiraProjects(client, {
209
+ allowManualEntry: true,
210
+ allowSelectAll: false,
211
+ minSelection: 1,
212
+ maxSelection: 1,
213
+ });
214
+ return result.selectedKeys[0];
215
+ }
216
+ //# sourceMappingURL=project-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-selector.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/project-selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Jira Reorganization Detector
3
+ *
4
+ * Detects when users reorganize work in Jira:
5
+ * - Moved issues (different project)
6
+ * - Split stories (one story → multiple)
7
+ * - Merged stories (multiple → one)
8
+ * - Reparented issues (changed epic)
9
+ * - Deleted issues
10
+ *
11
+ * Helps SpecWeave stay in sync with Jira-side changes
12
+ */
13
+ import { JiraClient } from '../../../src/integrations/jira/jira-client.js';
14
+ export type ReorganizationType = 'MOVED_PROJECT' | 'SPLIT' | 'MERGED' | 'REPARENTED' | 'DELETED' | 'RENAMED';
15
+ export interface ReorganizationEvent {
16
+ type: ReorganizationType;
17
+ timestamp: string;
18
+ description: string;
19
+ originalKeys: string[];
20
+ newKeys?: string[];
21
+ fromProject?: string;
22
+ toProject?: string;
23
+ fromEpic?: string;
24
+ toEpic?: string;
25
+ }
26
+ export interface ReorganizationDetectionResult {
27
+ detected: boolean;
28
+ events: ReorganizationEvent[];
29
+ summary: string;
30
+ }
31
+ export declare class JiraReorganizationDetector {
32
+ private client;
33
+ constructor(client: JiraClient);
34
+ /**
35
+ * Detect all reorganization events for tracked issues
36
+ */
37
+ detectReorganization(trackedIssueKeys: string[], lastSyncTimestamp?: string): Promise<ReorganizationDetectionResult>;
38
+ /**
39
+ * Detect if issue moved to different project
40
+ */
41
+ private detectMove;
42
+ /**
43
+ * Detect if story was split into multiple stories
44
+ */
45
+ private detectSplit;
46
+ /**
47
+ * Detect if multiple stories were merged
48
+ */
49
+ private detectMerge;
50
+ /**
51
+ * Detect if issue was moved to different epic
52
+ */
53
+ private detectReparent;
54
+ /**
55
+ * Generate human-readable summary of reorganization events
56
+ */
57
+ private generateSummary;
58
+ /**
59
+ * Get emoji icon for event type
60
+ */
61
+ private getTypeIcon;
62
+ }
63
+ /**
64
+ * Handle reorganization events by updating SpecWeave increment
65
+ */
66
+ export declare function handleReorganization(events: ReorganizationEvent[], incrementId: string, projectRoot?: string): Promise<void>;
67
+ //# sourceMappingURL=reorganization-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorganization-detector.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/reorganization-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,+CAA+C,CAAC;AAMtF,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,qBAAa,0BAA0B;IACzB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,oBAAoB,CACxB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,6BAA6B,CAAC;IA6DzC;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;YACW,WAAW;IAoCzB;;OAEG;YACW,WAAW;IAgCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,WAAW;CAkBpB;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,IAAI,CAAC,CAqCf"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Jira Reorganization Detector
3
+ *
4
+ * Detects when users reorganize work in Jira:
5
+ * - Moved issues (different project)
6
+ * - Split stories (one story → multiple)
7
+ * - Merged stories (multiple → one)
8
+ * - Reparented issues (changed epic)
9
+ * - Deleted issues
10
+ *
11
+ * Helps SpecWeave stay in sync with Jira-side changes
12
+ */
13
+ // ============================================================================
14
+ // Reorganization Detector
15
+ // ============================================================================
16
+ export class JiraReorganizationDetector {
17
+ constructor(client) {
18
+ this.client = client;
19
+ }
20
+ /**
21
+ * Detect all reorganization events for tracked issues
22
+ */
23
+ async detectReorganization(trackedIssueKeys, lastSyncTimestamp) {
24
+ console.log(`\nšŸ” Checking for reorganization (${trackedIssueKeys.length} issues)...\n`);
25
+ const events = [];
26
+ for (const key of trackedIssueKeys) {
27
+ try {
28
+ const issue = await this.client.getIssue(key);
29
+ // Check for moves
30
+ const moveEvent = this.detectMove(key, issue);
31
+ if (moveEvent) {
32
+ events.push(moveEvent);
33
+ }
34
+ // Check for splits
35
+ const splitEvents = await this.detectSplit(key, issue);
36
+ events.push(...splitEvents);
37
+ // Check for merges
38
+ const mergeEvent = await this.detectMerge(key, issue);
39
+ if (mergeEvent) {
40
+ events.push(mergeEvent);
41
+ }
42
+ // Check for reparenting
43
+ const reparentEvent = this.detectReparent(key, issue, lastSyncTimestamp);
44
+ if (reparentEvent) {
45
+ events.push(reparentEvent);
46
+ }
47
+ }
48
+ catch (error) {
49
+ // Issue might be deleted
50
+ if (error.message.includes('404') || error.message.includes('does not exist')) {
51
+ events.push({
52
+ type: 'DELETED',
53
+ timestamp: new Date().toISOString(),
54
+ description: `Issue ${key} was deleted from Jira`,
55
+ originalKeys: [key],
56
+ });
57
+ }
58
+ }
59
+ }
60
+ // Generate summary
61
+ const summary = this.generateSummary(events);
62
+ console.log(events.length > 0 ? 'āš ļø Reorganization detected!' : 'āœ… No reorganization detected');
63
+ console.log(summary);
64
+ return {
65
+ detected: events.length > 0,
66
+ events,
67
+ summary,
68
+ };
69
+ }
70
+ // ==========================================================================
71
+ // Detection Methods
72
+ // ==========================================================================
73
+ /**
74
+ * Detect if issue moved to different project
75
+ */
76
+ detectMove(originalKey, issue) {
77
+ const currentProject = issue.key.split('-')[0];
78
+ const originalProject = originalKey.split('-')[0];
79
+ if (currentProject !== originalProject) {
80
+ return {
81
+ type: 'MOVED_PROJECT',
82
+ timestamp: issue.fields.updated,
83
+ description: `Issue moved from ${originalProject} to ${currentProject}`,
84
+ originalKeys: [originalKey],
85
+ newKeys: [issue.key],
86
+ fromProject: originalProject,
87
+ toProject: currentProject,
88
+ };
89
+ }
90
+ return null;
91
+ }
92
+ /**
93
+ * Detect if story was split into multiple stories
94
+ */
95
+ async detectSplit(originalKey, issue) {
96
+ const events = [];
97
+ // Check for "split from" or "cloned from" links
98
+ const issueLinks = issue.fields.issuelinks || [];
99
+ for (const link of issueLinks) {
100
+ const linkType = link.type?.name?.toLowerCase() || '';
101
+ // Jira uses various link types for splits
102
+ if (linkType.includes('split') ||
103
+ linkType.includes('cloned') ||
104
+ linkType.includes('child')) {
105
+ const relatedIssue = link.outwardIssue || link.inwardIssue;
106
+ if (relatedIssue && relatedIssue.key !== originalKey) {
107
+ events.push({
108
+ type: 'SPLIT',
109
+ timestamp: issue.fields.updated,
110
+ description: `Story ${originalKey} was split into ${relatedIssue.key}`,
111
+ originalKeys: [originalKey],
112
+ newKeys: [relatedIssue.key],
113
+ });
114
+ }
115
+ }
116
+ }
117
+ return events;
118
+ }
119
+ /**
120
+ * Detect if multiple stories were merged
121
+ */
122
+ async detectMerge(originalKey, issue) {
123
+ const issueLinks = issue.fields.issuelinks || [];
124
+ for (const link of issueLinks) {
125
+ const linkType = link.type?.name?.toLowerCase() || '';
126
+ // Check for "duplicate of" or "merged into" links
127
+ if (linkType.includes('duplicate') ||
128
+ linkType.includes('merged') ||
129
+ linkType.includes('closed')) {
130
+ const targetIssue = link.inwardIssue;
131
+ if (targetIssue && issue.fields.status.name.toLowerCase() === 'closed') {
132
+ return {
133
+ type: 'MERGED',
134
+ timestamp: issue.fields.updated,
135
+ description: `Story ${originalKey} was merged into ${targetIssue.key}`,
136
+ originalKeys: [originalKey],
137
+ newKeys: [targetIssue.key],
138
+ };
139
+ }
140
+ }
141
+ }
142
+ return null;
143
+ }
144
+ /**
145
+ * Detect if issue was moved to different epic
146
+ */
147
+ detectReparent(originalKey, issue, lastSyncTimestamp) {
148
+ // Check if issue has parent (epic)
149
+ const currentParent = issue.fields.parent?.key;
150
+ // We need to track previous parent from metadata
151
+ // For now, just detect if parent exists and was recently updated
152
+ if (currentParent && lastSyncTimestamp) {
153
+ const updatedAt = new Date(issue.fields.updated);
154
+ const lastSync = new Date(lastSyncTimestamp);
155
+ if (updatedAt > lastSync) {
156
+ // Parent might have changed (we'd need to store previous parent to be sure)
157
+ return {
158
+ type: 'REPARENTED',
159
+ timestamp: issue.fields.updated,
160
+ description: `Issue ${originalKey} may have been reparented to ${currentParent}`,
161
+ originalKeys: [originalKey],
162
+ toEpic: currentParent,
163
+ };
164
+ }
165
+ }
166
+ return null;
167
+ }
168
+ // ==========================================================================
169
+ // Helpers
170
+ // ==========================================================================
171
+ /**
172
+ * Generate human-readable summary of reorganization events
173
+ */
174
+ generateSummary(events) {
175
+ if (events.length === 0) {
176
+ return '\n No reorganization detected\n';
177
+ }
178
+ const summary = ['\nšŸ“‹ Reorganization Summary:\n'];
179
+ const byType = events.reduce((acc, event) => {
180
+ acc[event.type] = (acc[event.type] || 0) + 1;
181
+ return acc;
182
+ }, {});
183
+ for (const [type, count] of Object.entries(byType)) {
184
+ summary.push(` ${this.getTypeIcon(type)} ${type}: ${count}`);
185
+ }
186
+ summary.push('\nšŸ“ Details:\n');
187
+ for (const event of events) {
188
+ summary.push(` ${this.getTypeIcon(event.type)} ${event.description}`);
189
+ }
190
+ summary.push('');
191
+ return summary.join('\n');
192
+ }
193
+ /**
194
+ * Get emoji icon for event type
195
+ */
196
+ getTypeIcon(type) {
197
+ switch (type) {
198
+ case 'MOVED_PROJECT':
199
+ return 'šŸ“¦';
200
+ case 'SPLIT':
201
+ return 'āœ‚ļø';
202
+ case 'MERGED':
203
+ return 'šŸ”€';
204
+ case 'REPARENTED':
205
+ return 'šŸ”—';
206
+ case 'DELETED':
207
+ return 'šŸ—‘ļø';
208
+ case 'RENAMED':
209
+ return 'āœļø';
210
+ default:
211
+ return '•';
212
+ }
213
+ }
214
+ }
215
+ // ============================================================================
216
+ // Reorganization Handler
217
+ // ============================================================================
218
+ /**
219
+ * Handle reorganization events by updating SpecWeave increment
220
+ */
221
+ export async function handleReorganization(events, incrementId, projectRoot = process.cwd()) {
222
+ if (events.length === 0) {
223
+ return;
224
+ }
225
+ console.log(`\nšŸ”§ Handling ${events.length} reorganization events...\n`);
226
+ for (const event of events) {
227
+ switch (event.type) {
228
+ case 'MOVED_PROJECT':
229
+ console.log(` āœ“ Updated project mapping: ${event.fromProject} → ${event.toProject}`);
230
+ // Update metadata with new project/key
231
+ break;
232
+ case 'SPLIT':
233
+ console.log(` āœ“ Added new story from split: ${event.newKeys?.join(', ')}`);
234
+ // Add new user story to spec.md
235
+ break;
236
+ case 'MERGED':
237
+ console.log(` āœ“ Marked story as merged: ${event.originalKeys[0]} → ${event.newKeys?.[0]}`);
238
+ // Update spec.md to mark as merged
239
+ break;
240
+ case 'REPARENTED':
241
+ console.log(` āœ“ Updated epic link: ${event.toEpic}`);
242
+ // Update metadata
243
+ break;
244
+ case 'DELETED':
245
+ console.log(` āš ļø Story deleted from Jira: ${event.originalKeys[0]}`);
246
+ // Mark as deleted in spec.md (don't remove, just mark)
247
+ break;
248
+ }
249
+ }
250
+ console.log('\nāœ… Reorganization handled\n');
251
+ }
252
+ //# sourceMappingURL=reorganization-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorganization-detector.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/reorganization-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Smart Jira Setup Wizard
3
+ *
4
+ * Intelligent credential detection and setup flow:
5
+ * 1. Check .env for credentials (uses credentialsManager)
6
+ * 2. Interactive prompt only if missing
7
+ * 3. Never ask twice for same credentials
8
+ */
9
+ import { JiraCredentials } from '../../../src/core/credentials-manager.js';
10
+ export { JiraCredentials } from '../../../src/core/credentials-manager.js';
11
+ export interface CredentialDetectionResult {
12
+ found: boolean;
13
+ credentials?: JiraCredentials;
14
+ source?: 'env' | 'interactive';
15
+ }
16
+ /**
17
+ * Smart credential detection - uses existing credentialsManager
18
+ */
19
+ export declare function detectJiraCredentials(): Promise<CredentialDetectionResult>;
20
+ /**
21
+ * Interactive Jira credential setup
22
+ * Only runs if credentials not found
23
+ */
24
+ export declare function setupJiraCredentials(): Promise<JiraCredentials>;
25
+ /**
26
+ * Get Jira credentials - smart detection with fallback to interactive setup
27
+ */
28
+ export declare function getJiraCredentials(): Promise<JiraCredentials>;
29
+ //# sourceMappingURL=setup-wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAsB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAM/F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC;CAChC;AAMD;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAiBhF;AAMD;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAsHrE;AAmED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CASnE"}