specweave 0.12.6 → 0.13.0

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 (919) 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 +80 -330
  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 +130 -0
  12. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  13. package/dist/cli/helpers/issue-tracker/types.d.ts +1 -0
  14. package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  15. package/dist/cli/helpers/issue-tracker/types.js.map +1 -1
  16. package/dist/core/increment/discipline-checker.d.ts +60 -0
  17. package/dist/core/increment/discipline-checker.d.ts.map +1 -0
  18. package/dist/core/increment/discipline-checker.js +274 -0
  19. package/dist/core/increment/discipline-checker.js.map +1 -0
  20. package/dist/core/increment/metadata-validator.d.ts +33 -0
  21. package/dist/core/increment/metadata-validator.d.ts.map +1 -0
  22. package/dist/core/increment/metadata-validator.js +147 -0
  23. package/dist/core/increment/metadata-validator.js.map +1 -0
  24. package/dist/core/increment/types.d.ts +88 -0
  25. package/dist/core/increment/types.d.ts.map +1 -0
  26. package/dist/core/increment/types.js +8 -0
  27. package/dist/core/increment/types.js.map +1 -0
  28. package/dist/core/qa/qa-runner.d.ts.map +1 -1
  29. package/dist/core/qa/qa-runner.js +22 -4
  30. package/dist/core/qa/qa-runner.js.map +1 -1
  31. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  32. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  33. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  34. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  35. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  36. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  37. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  38. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  39. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  40. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  41. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  42. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  43. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  44. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  45. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  46. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  47. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  48. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  49. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  50. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  51. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  52. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  53. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  54. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  55. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  56. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  57. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  58. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  59. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  60. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  61. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  62. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  63. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  64. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  65. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +144 -0
  66. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  67. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  68. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  69. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  70. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  71. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  72. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  73. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  74. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  75. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  76. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  77. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  78. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  79. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  80. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  81. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  82. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  83. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  84. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  85. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  86. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  87. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  88. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  89. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
  90. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  91. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  92. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  93. package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
  94. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  95. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  96. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  97. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  98. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  99. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts +100 -0
  100. package/dist/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -0
  101. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js +471 -0
  102. package/dist/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -0
  103. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  104. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  105. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  106. package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
  107. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +12 -0
  108. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +1 -0
  109. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js +28 -0
  110. package/dist/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +1 -0
  111. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  112. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  113. package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  114. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  115. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  116. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  117. package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
  118. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  119. package/dist/plugins/specweave-github/lib/github-client.d.ts +96 -0
  120. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  121. package/dist/plugins/specweave-github/lib/github-client.js +299 -0
  122. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -0
  123. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  124. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  125. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  126. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  127. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts +61 -0
  128. package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -0
  129. package/dist/plugins/specweave-github/lib/github-issue-updater.js +327 -0
  130. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -0
  131. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +108 -0
  132. package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -0
  133. package/dist/plugins/specweave-github/lib/github-spec-sync.js +505 -0
  134. package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -0
  135. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +36 -0
  136. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -0
  137. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +228 -0
  138. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -0
  139. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +18 -0
  140. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -0
  141. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +287 -0
  142. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -0
  143. package/dist/plugins/specweave-github/lib/index.d.ts +10 -0
  144. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -0
  145. package/dist/plugins/specweave-github/lib/index.js +10 -0
  146. package/dist/plugins/specweave-github/lib/index.js.map +1 -0
  147. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  148. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  149. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  150. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  151. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  152. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  153. package/dist/plugins/specweave-github/lib/subtask-sync.js +147 -0
  154. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  155. package/dist/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  156. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  157. package/dist/plugins/specweave-github/lib/task-parser.js +211 -0
  158. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -0
  159. package/dist/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  160. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  161. package/dist/plugins/specweave-github/lib/task-sync.js +332 -0
  162. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -0
  163. package/dist/plugins/specweave-github/lib/types.d.ts +80 -0
  164. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -0
  165. package/dist/plugins/specweave-github/lib/types.js +5 -0
  166. package/dist/plugins/specweave-github/lib/types.js.map +1 -0
  167. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  168. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  169. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  170. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  171. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  172. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  173. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  174. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  175. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +105 -0
  176. package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -0
  177. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +456 -0
  178. package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -0
  179. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  180. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  181. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  182. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  183. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  184. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  185. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  186. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  187. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  188. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  189. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  190. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  191. package/dist/src/adapters/adapter-base.d.ts +71 -0
  192. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  193. package/dist/src/adapters/adapter-base.js +139 -0
  194. package/dist/src/adapters/adapter-base.js.map +1 -0
  195. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  196. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  197. package/dist/src/adapters/adapter-interface.js +8 -0
  198. package/dist/src/adapters/adapter-interface.js.map +1 -0
  199. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  200. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  201. package/dist/src/adapters/adapter-loader.js +238 -0
  202. package/dist/src/adapters/adapter-loader.js.map +1 -0
  203. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  204. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  205. package/dist/src/adapters/agents-md-generator.js +193 -0
  206. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  207. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  208. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  209. package/dist/src/adapters/claude/adapter.js +415 -0
  210. package/dist/src/adapters/claude/adapter.js.map +1 -0
  211. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  212. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  213. package/dist/src/adapters/claude-md-generator.js +307 -0
  214. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  215. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  216. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  217. package/dist/src/adapters/codex/adapter.js +316 -0
  218. package/dist/src/adapters/codex/adapter.js.map +1 -0
  219. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  220. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  221. package/dist/src/adapters/cursor/adapter.js +406 -0
  222. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  223. package/dist/src/adapters/doc-generator.d.ts +69 -0
  224. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  225. package/dist/src/adapters/doc-generator.js +247 -0
  226. package/dist/src/adapters/doc-generator.js.map +1 -0
  227. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  228. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  229. package/dist/src/adapters/gemini/adapter.js +281 -0
  230. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  231. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  232. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  233. package/dist/src/adapters/generic/adapter.js +338 -0
  234. package/dist/src/adapters/generic/adapter.js.map +1 -0
  235. package/dist/src/cli/commands/abandon.d.ts +13 -0
  236. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  237. package/dist/src/cli/commands/abandon.js +15 -0
  238. package/dist/src/cli/commands/abandon.js.map +1 -0
  239. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  240. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  241. package/dist/src/cli/commands/import-docs.js +146 -0
  242. package/dist/src/cli/commands/import-docs.js.map +1 -0
  243. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  244. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  245. package/dist/src/cli/commands/init-multiproject.js +202 -0
  246. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  247. package/dist/src/cli/commands/init.d.ts +9 -0
  248. package/dist/src/cli/commands/init.d.ts.map +1 -0
  249. package/dist/src/cli/commands/init.js +1444 -0
  250. package/dist/src/cli/commands/init.js.map +1 -0
  251. package/dist/src/cli/commands/install.d.ts +9 -0
  252. package/dist/src/cli/commands/install.d.ts.map +1 -0
  253. package/dist/src/cli/commands/install.js +127 -0
  254. package/dist/src/cli/commands/install.js.map +1 -0
  255. package/dist/src/cli/commands/list.d.ts +8 -0
  256. package/dist/src/cli/commands/list.d.ts.map +1 -0
  257. package/dist/src/cli/commands/list.js +119 -0
  258. package/dist/src/cli/commands/list.js.map +1 -0
  259. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  260. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  261. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  262. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  263. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  264. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  265. package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
  266. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  267. package/dist/src/cli/commands/pause.d.ts +13 -0
  268. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  269. package/dist/src/cli/commands/pause.js +15 -0
  270. package/dist/src/cli/commands/pause.js.map +1 -0
  271. package/dist/src/cli/commands/qa.d.ts +54 -0
  272. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  273. package/dist/src/cli/commands/qa.js +98 -0
  274. package/dist/src/cli/commands/qa.js.map +1 -0
  275. package/dist/src/cli/commands/resume.d.ts +12 -0
  276. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  277. package/dist/src/cli/commands/resume.js +14 -0
  278. package/dist/src/cli/commands/resume.js.map +1 -0
  279. package/dist/src/cli/commands/status.d.ts +12 -0
  280. package/dist/src/cli/commands/status.d.ts.map +1 -0
  281. package/dist/src/cli/commands/status.js +23 -0
  282. package/dist/src/cli/commands/status.js.map +1 -0
  283. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  284. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  285. package/dist/src/cli/commands/switch-project.js +91 -0
  286. package/dist/src/cli/commands/switch-project.js.map +1 -0
  287. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  288. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  289. package/dist/src/cli/commands/validate-jira.js +112 -0
  290. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  291. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  292. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  293. package/dist/src/cli/commands/validate-plugins.js +171 -0
  294. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  295. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  296. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  297. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  298. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  299. package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
  300. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  301. package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
  302. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  303. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  304. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  305. package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
  306. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  307. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  308. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  309. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  310. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  311. package/dist/src/cli/helpers/issue-tracker/types.d.ts +108 -0
  312. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  313. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  314. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  315. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
  316. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  317. package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
  318. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  319. package/dist/src/core/agent-model-manager.d.ts +52 -0
  320. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  321. package/dist/src/core/agent-model-manager.js +120 -0
  322. package/dist/src/core/agent-model-manager.js.map +1 -0
  323. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  324. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  325. package/dist/src/core/brownfield/analyzer.js +365 -0
  326. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  327. package/dist/src/core/brownfield/importer.d.ts +76 -0
  328. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  329. package/dist/src/core/brownfield/importer.js +287 -0
  330. package/dist/src/core/brownfield/importer.js.map +1 -0
  331. package/dist/src/core/config-manager.d.ts +47 -0
  332. package/dist/src/core/config-manager.d.ts.map +1 -0
  333. package/dist/src/core/config-manager.js +136 -0
  334. package/dist/src/core/config-manager.js.map +1 -0
  335. package/dist/src/core/cost-tracker.d.ts +108 -0
  336. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  337. package/dist/src/core/cost-tracker.js +281 -0
  338. package/dist/src/core/cost-tracker.js.map +1 -0
  339. package/dist/src/core/credentials-manager.d.ts +107 -0
  340. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  341. package/dist/src/core/credentials-manager.js +457 -0
  342. package/dist/src/core/credentials-manager.js.map +1 -0
  343. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  344. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  345. package/dist/src/core/i18n/language-detector.js +143 -0
  346. package/dist/src/core/i18n/language-detector.js.map +1 -0
  347. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  348. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  349. package/dist/src/core/i18n/language-manager.js +232 -0
  350. package/dist/src/core/i18n/language-manager.js.map +1 -0
  351. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  352. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  353. package/dist/src/core/i18n/language-registry.js +234 -0
  354. package/dist/src/core/i18n/language-registry.js.map +1 -0
  355. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  356. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  357. package/dist/src/core/i18n/locale-manager.js +137 -0
  358. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  359. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  360. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  361. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  362. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  363. package/dist/src/core/i18n/types.d.ts +151 -0
  364. package/dist/src/core/i18n/types.d.ts.map +1 -0
  365. package/dist/src/core/i18n/types.js +11 -0
  366. package/dist/src/core/i18n/types.js.map +1 -0
  367. package/dist/src/core/increment/limits.d.ts +68 -0
  368. package/dist/src/core/increment/limits.d.ts.map +1 -0
  369. package/dist/src/core/increment/limits.js +224 -0
  370. package/dist/src/core/increment/limits.js.map +1 -0
  371. package/dist/src/core/increment/metadata-manager.d.ts +114 -0
  372. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  373. package/dist/src/core/increment/metadata-manager.js +320 -0
  374. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  375. package/dist/src/core/increment/status-commands.d.ts +43 -0
  376. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  377. package/dist/src/core/increment/status-commands.js +277 -0
  378. package/dist/src/core/increment/status-commands.js.map +1 -0
  379. package/dist/src/core/increment-status.d.ts +72 -0
  380. package/dist/src/core/increment-status.d.ts.map +1 -0
  381. package/dist/src/core/increment-status.js +227 -0
  382. package/dist/src/core/increment-status.js.map +1 -0
  383. package/dist/src/core/model-selector.d.ts +57 -0
  384. package/dist/src/core/model-selector.d.ts.map +1 -0
  385. package/dist/src/core/model-selector.js +115 -0
  386. package/dist/src/core/model-selector.js.map +1 -0
  387. package/dist/src/core/phase-detector.d.ts +62 -0
  388. package/dist/src/core/phase-detector.d.ts.map +1 -0
  389. package/dist/src/core/phase-detector.js +229 -0
  390. package/dist/src/core/phase-detector.js.map +1 -0
  391. package/dist/src/core/plugin-loader.d.ts +131 -0
  392. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  393. package/dist/src/core/plugin-loader.js +421 -0
  394. package/dist/src/core/plugin-loader.js.map +1 -0
  395. package/dist/src/core/project-manager.d.ts +127 -0
  396. package/dist/src/core/project-manager.d.ts.map +1 -0
  397. package/dist/src/core/project-manager.js +524 -0
  398. package/dist/src/core/project-manager.js.map +1 -0
  399. package/dist/src/core/project-structure-detector.d.ts +92 -0
  400. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  401. package/dist/src/core/project-structure-detector.js +289 -0
  402. package/dist/src/core/project-structure-detector.js.map +1 -0
  403. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  404. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  405. package/dist/src/core/qa/qa-runner.js +404 -0
  406. package/dist/src/core/qa/qa-runner.js.map +1 -0
  407. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  408. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  409. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  410. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  411. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  412. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  413. package/dist/src/core/qa/risk-calculator.js +247 -0
  414. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  415. package/dist/src/core/qa/types.d.ts +315 -0
  416. package/dist/src/core/qa/types.d.ts.map +1 -0
  417. package/dist/src/core/qa/types.js +8 -0
  418. package/dist/src/core/qa/types.js.map +1 -0
  419. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  420. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  421. package/dist/src/core/rfc-generator-v2.js +399 -0
  422. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  423. package/dist/src/core/specs/spec-metadata-manager.d.ts +70 -0
  424. package/dist/src/core/specs/spec-metadata-manager.d.ts.map +1 -0
  425. package/dist/src/core/specs/spec-metadata-manager.js +371 -0
  426. package/dist/src/core/specs/spec-metadata-manager.js.map +1 -0
  427. package/dist/src/core/specs/spec-parser.d.ts +66 -0
  428. package/dist/src/core/specs/spec-parser.d.ts.map +1 -0
  429. package/dist/src/core/specs/spec-parser.js +276 -0
  430. package/dist/src/core/specs/spec-parser.js.map +1 -0
  431. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  432. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  433. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  434. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  435. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  436. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  437. package/dist/src/core/sync/folder-mapper.js +168 -0
  438. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  439. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  440. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  441. package/dist/src/core/sync/profile-manager.js +338 -0
  442. package/dist/src/core/sync/profile-manager.js.map +1 -0
  443. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  444. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  445. package/dist/src/core/sync/profile-selector.js +179 -0
  446. package/dist/src/core/sync/profile-selector.js.map +1 -0
  447. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  448. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  449. package/dist/src/core/sync/profile-validator.js +225 -0
  450. package/dist/src/core/sync/profile-validator.js.map +1 -0
  451. package/dist/src/core/sync/project-context.d.ts +81 -0
  452. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  453. package/dist/src/core/sync/project-context.js +354 -0
  454. package/dist/src/core/sync/project-context.js.map +1 -0
  455. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  456. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  457. package/dist/src/core/sync/rate-limiter.js +308 -0
  458. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  459. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  460. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  461. package/dist/src/core/sync/time-range-selector.js +224 -0
  462. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  463. package/dist/src/core/types/config.d.ts +90 -0
  464. package/dist/src/core/types/config.d.ts.map +1 -0
  465. package/dist/src/core/types/config.js +44 -0
  466. package/dist/src/core/types/config.js.map +1 -0
  467. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  468. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  469. package/dist/src/core/types/increment-metadata.js +138 -0
  470. package/dist/src/core/types/increment-metadata.js.map +1 -0
  471. package/dist/src/core/types/plugin.d.ts +283 -0
  472. package/dist/src/core/types/plugin.d.ts.map +1 -0
  473. package/dist/src/core/types/plugin.js +49 -0
  474. package/dist/src/core/types/plugin.js.map +1 -0
  475. package/dist/src/core/types/spec-metadata.d.ts +229 -0
  476. package/dist/src/core/types/spec-metadata.d.ts.map +1 -0
  477. package/dist/src/core/types/spec-metadata.js +14 -0
  478. package/dist/src/core/types/spec-metadata.js.map +1 -0
  479. package/dist/src/core/types/sync-profile.d.ts +403 -0
  480. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  481. package/dist/src/core/types/sync-profile.js +55 -0
  482. package/dist/src/core/types/sync-profile.js.map +1 -0
  483. package/dist/src/hooks/lib/git-diff-analyzer.d.ts +89 -0
  484. package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  485. package/dist/src/hooks/lib/git-diff-analyzer.js +226 -0
  486. package/dist/src/hooks/lib/git-diff-analyzer.js.map +1 -0
  487. package/dist/src/hooks/lib/invoke-translator-skill.d.ts +60 -0
  488. package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
  489. package/dist/src/hooks/lib/invoke-translator-skill.js +201 -0
  490. package/dist/src/hooks/lib/invoke-translator-skill.js.map +1 -0
  491. package/dist/src/hooks/lib/prepare-reflection-context.d.ts +42 -0
  492. package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  493. package/dist/src/hooks/lib/prepare-reflection-context.js +123 -0
  494. package/dist/src/hooks/lib/prepare-reflection-context.js.map +1 -0
  495. package/dist/src/hooks/lib/reflection-config-loader.d.ts +45 -0
  496. package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  497. package/dist/src/hooks/lib/reflection-config-loader.js +132 -0
  498. package/dist/src/hooks/lib/reflection-config-loader.js.map +1 -0
  499. package/dist/src/hooks/lib/reflection-parser.d.ts +33 -0
  500. package/dist/src/hooks/lib/reflection-parser.d.ts.map +1 -0
  501. package/dist/src/hooks/lib/reflection-parser.js +419 -0
  502. package/dist/src/hooks/lib/reflection-parser.js.map +1 -0
  503. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  504. package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  505. package/dist/src/hooks/lib/reflection-prompt-builder.js +239 -0
  506. package/dist/src/hooks/lib/reflection-prompt-builder.js.map +1 -0
  507. package/dist/src/hooks/lib/reflection-storage.d.ts +64 -0
  508. package/dist/src/hooks/lib/reflection-storage.d.ts.map +1 -0
  509. package/dist/src/hooks/lib/reflection-storage.js +305 -0
  510. package/dist/src/hooks/lib/reflection-storage.js.map +1 -0
  511. package/dist/src/hooks/lib/run-self-reflection.d.ts +43 -0
  512. package/dist/src/hooks/lib/run-self-reflection.d.ts.map +1 -0
  513. package/dist/src/hooks/lib/run-self-reflection.js +203 -0
  514. package/dist/src/hooks/lib/run-self-reflection.js.map +1 -0
  515. package/dist/src/hooks/lib/sync-living-docs.d.ts +27 -0
  516. package/dist/src/hooks/lib/sync-living-docs.d.ts.map +1 -0
  517. package/dist/src/hooks/lib/sync-living-docs.js +116 -0
  518. package/dist/src/hooks/lib/sync-living-docs.js.map +1 -0
  519. package/dist/src/hooks/lib/translate-file.d.ts +59 -0
  520. package/dist/src/hooks/lib/translate-file.d.ts.map +1 -0
  521. package/dist/src/hooks/lib/translate-file.js +350 -0
  522. package/dist/src/hooks/lib/translate-file.js.map +1 -0
  523. package/dist/src/hooks/lib/translate-living-docs.d.ts +13 -0
  524. package/dist/src/hooks/lib/translate-living-docs.d.ts.map +1 -0
  525. package/dist/src/hooks/lib/translate-living-docs.js +175 -0
  526. package/dist/src/hooks/lib/translate-living-docs.js.map +1 -0
  527. package/dist/src/hooks/lib/types/reflection-types.d.ts +164 -0
  528. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  529. package/dist/src/hooks/lib/types/reflection-types.js +73 -0
  530. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  531. package/dist/src/hooks/lib/update-tasks-md.d.ts +29 -0
  532. package/dist/src/hooks/lib/update-tasks-md.d.ts.map +1 -0
  533. package/dist/src/hooks/lib/update-tasks-md.js +203 -0
  534. package/dist/src/hooks/lib/update-tasks-md.js.map +1 -0
  535. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  536. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  537. package/dist/src/integrations/ado/ado-client.js +416 -0
  538. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  539. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  540. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  541. package/dist/src/integrations/jira/jira-client.js +386 -0
  542. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  543. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  544. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  545. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  546. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  547. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  548. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  549. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  550. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  551. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  552. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  553. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  554. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  555. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  556. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  557. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  558. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  559. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  560. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  561. package/dist/src/metrics/calculators/lead-time.js +82 -0
  562. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  563. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  564. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  565. package/dist/src/metrics/calculators/mttr.js +60 -0
  566. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  567. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  568. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  569. package/dist/src/metrics/dora-calculator.js +117 -0
  570. package/dist/src/metrics/dora-calculator.js.map +1 -0
  571. package/dist/src/metrics/github-client.d.ts +51 -0
  572. package/dist/src/metrics/github-client.d.ts.map +1 -0
  573. package/dist/src/metrics/github-client.js +133 -0
  574. package/dist/src/metrics/github-client.js.map +1 -0
  575. package/dist/src/metrics/report-generator.d.ts +17 -0
  576. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  577. package/dist/src/metrics/report-generator.js +403 -0
  578. package/dist/src/metrics/report-generator.js.map +1 -0
  579. package/dist/src/metrics/types.d.ts +112 -0
  580. package/dist/src/metrics/types.d.ts.map +1 -0
  581. package/dist/src/metrics/types.js +10 -0
  582. package/dist/src/metrics/types.js.map +1 -0
  583. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  584. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  585. package/dist/src/metrics/utils/percentile.js +46 -0
  586. package/dist/src/metrics/utils/percentile.js.map +1 -0
  587. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  588. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  589. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  590. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  591. package/dist/src/testing/test-generator.d.ts +117 -0
  592. package/dist/src/testing/test-generator.d.ts.map +1 -0
  593. package/dist/src/testing/test-generator.js +370 -0
  594. package/dist/src/testing/test-generator.js.map +1 -0
  595. package/dist/src/types/cost-tracking.d.ts +43 -0
  596. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  597. package/dist/src/types/cost-tracking.js +8 -0
  598. package/dist/src/types/cost-tracking.js.map +1 -0
  599. package/dist/src/types/model-selection.d.ts +53 -0
  600. package/dist/src/types/model-selection.d.ts.map +1 -0
  601. package/dist/src/types/model-selection.js +12 -0
  602. package/dist/src/types/model-selection.js.map +1 -0
  603. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  604. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  605. package/dist/src/utils/agents-md-compiler.js +420 -0
  606. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  607. package/dist/src/utils/auth-helpers.d.ts +58 -0
  608. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  609. package/dist/src/utils/auth-helpers.js +108 -0
  610. package/dist/src/utils/auth-helpers.js.map +1 -0
  611. package/dist/src/utils/auto-install.d.ts +47 -0
  612. package/dist/src/utils/auto-install.d.ts.map +1 -0
  613. package/dist/src/utils/auto-install.js +211 -0
  614. package/dist/src/utils/auto-install.js.map +1 -0
  615. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  616. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  617. package/dist/src/utils/claude-cli-detector.js +285 -0
  618. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  619. package/dist/src/utils/cost-reporter.d.ts +58 -0
  620. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  621. package/dist/src/utils/cost-reporter.js +224 -0
  622. package/dist/src/utils/cost-reporter.js.map +1 -0
  623. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  624. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  625. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  626. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  627. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  628. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  629. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  630. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  631. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  632. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  633. package/dist/src/utils/docs-preview/index.js +7 -0
  634. package/dist/src/utils/docs-preview/index.js.map +1 -0
  635. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  636. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  637. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  638. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  639. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  640. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  641. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  642. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  643. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  644. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  645. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  646. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  647. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  648. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  649. package/dist/src/utils/docs-preview/types.js +2 -0
  650. package/dist/src/utils/docs-preview/types.js.map +1 -0
  651. package/dist/src/utils/env-file.d.ts +88 -0
  652. package/dist/src/utils/env-file.d.ts.map +1 -0
  653. package/dist/src/utils/env-file.js +180 -0
  654. package/dist/src/utils/env-file.js.map +1 -0
  655. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  656. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  657. package/dist/src/utils/env-multi-project-parser.js +403 -0
  658. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  659. package/dist/src/utils/esm-helpers.d.ts +50 -0
  660. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  661. package/dist/src/utils/esm-helpers.js +57 -0
  662. package/dist/src/utils/esm-helpers.js.map +1 -0
  663. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  664. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  665. package/dist/src/utils/execFileNoThrow.js +137 -0
  666. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  667. package/dist/src/utils/external-resource-validator.d.ts +102 -0
  668. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  669. package/dist/src/utils/external-resource-validator.js +442 -0
  670. package/dist/src/utils/external-resource-validator.js.map +1 -0
  671. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  672. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  673. package/dist/src/utils/generate-skills-index.js +410 -0
  674. package/dist/src/utils/generate-skills-index.js.map +1 -0
  675. package/dist/src/utils/model-selection.d.ts +75 -0
  676. package/dist/src/utils/model-selection.d.ts.map +1 -0
  677. package/dist/src/utils/model-selection.js +204 -0
  678. package/dist/src/utils/model-selection.js.map +1 -0
  679. package/dist/src/utils/plugin-validator.d.ts +161 -0
  680. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  681. package/dist/src/utils/plugin-validator.js +558 -0
  682. package/dist/src/utils/plugin-validator.js.map +1 -0
  683. package/dist/src/utils/pricing-constants.d.ts +70 -0
  684. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  685. package/dist/src/utils/pricing-constants.js +71 -0
  686. package/dist/src/utils/pricing-constants.js.map +1 -0
  687. package/dist/src/utils/project-detection.d.ts +141 -0
  688. package/dist/src/utils/project-detection.d.ts.map +1 -0
  689. package/dist/src/utils/project-detection.js +321 -0
  690. package/dist/src/utils/project-detection.js.map +1 -0
  691. package/dist/src/utils/string-utils.d.ts +40 -0
  692. package/dist/src/utils/string-utils.d.ts.map +1 -0
  693. package/dist/src/utils/string-utils.js +58 -0
  694. package/dist/src/utils/string-utils.js.map +1 -0
  695. package/dist/src/utils/translation.d.ts +187 -0
  696. package/dist/src/utils/translation.d.ts.map +1 -0
  697. package/dist/src/utils/translation.js +414 -0
  698. package/dist/src/utils/translation.js.map +1 -0
  699. package/package.json +4 -3
  700. package/plugins/specweave/.claude-plugin/plugin.json +2 -1
  701. package/plugins/specweave/agents/pm/AGENT.md +8 -38
  702. package/plugins/specweave/commands/specweave-increment.md +28 -48
  703. package/plugins/specweave/hooks/README.md +289 -92
  704. package/plugins/specweave/hooks/hooks.json +10 -0
  705. package/plugins/specweave/hooks/post-increment-completion.sh +83 -0
  706. package/plugins/specweave/hooks/post-increment-planning.sh +2 -2
  707. package/plugins/specweave/hooks/post-task-completion.sh +20 -141
  708. package/plugins/specweave/hooks/user-prompt-submit.sh +142 -0
  709. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js +0 -0
  710. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  711. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  712. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  713. package/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  714. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js +0 -0
  715. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  716. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  717. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  718. package/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  719. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js +0 -0
  720. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  721. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  722. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  723. package/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  724. package/plugins/specweave/lib/hooks/reflection-config-loader.d.js +0 -0
  725. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  726. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  727. package/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  728. package/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  729. package/plugins/specweave/lib/hooks/reflection-parser.d.js +0 -0
  730. package/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  731. package/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  732. package/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  733. package/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  734. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js +0 -0
  735. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  736. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  737. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  738. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  739. package/plugins/specweave/lib/hooks/reflection-storage.d.js +0 -0
  740. package/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  741. package/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  742. package/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  743. package/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  744. package/plugins/specweave/lib/hooks/run-self-reflection.d.js +0 -0
  745. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  746. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  747. package/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  748. package/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  749. package/plugins/specweave/lib/hooks/sync-living-docs.d.js +1 -0
  750. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  751. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  752. package/plugins/specweave/lib/hooks/sync-living-docs.js +144 -0
  753. package/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  754. package/plugins/specweave/lib/hooks/translate-file.d.js +0 -0
  755. package/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  756. package/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  757. package/plugins/specweave/lib/hooks/translate-file.js +350 -0
  758. package/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  759. package/plugins/specweave/lib/hooks/translate-living-docs.d.js +0 -0
  760. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  761. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  762. package/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  763. package/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  764. package/plugins/specweave/lib/hooks/types/reflection-types.d.js +0 -0
  765. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  766. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  767. package/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  768. package/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  769. package/plugins/specweave/lib/hooks/update-tasks-md.d.js +1 -0
  770. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  771. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  772. package/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  773. package/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  774. package/plugins/specweave-ado/.claude-plugin/plugin.json +2 -1
  775. package/plugins/specweave-ado/hooks/README.md +201 -0
  776. package/plugins/specweave-ado/hooks/hooks.json +15 -0
  777. package/plugins/specweave-ado/hooks/post-task-completion.sh +150 -0
  778. package/plugins/specweave-ado/lib/ado-board-resolver.d.js +0 -0
  779. package/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  780. package/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  781. package/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  782. package/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  783. package/plugins/specweave-ado/lib/ado-client-v2.d.js +0 -0
  784. package/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  785. package/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  786. package/plugins/specweave-ado/lib/ado-client-v2.js +435 -0
  787. package/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  788. package/plugins/specweave-ado/lib/ado-client-v2.ts +134 -10
  789. package/plugins/specweave-ado/lib/ado-client.d.js +4 -0
  790. package/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  791. package/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  792. package/plugins/specweave-ado/lib/ado-client.js +248 -0
  793. package/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  794. package/plugins/specweave-ado/lib/ado-client.ts +19 -3
  795. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.js +0 -0
  796. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  797. package/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  798. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  799. package/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  800. package/plugins/specweave-ado/lib/ado-spec-sync.d.js +0 -0
  801. package/plugins/specweave-ado/lib/ado-spec-sync.d.ts +100 -0
  802. package/plugins/specweave-ado/lib/ado-spec-sync.d.ts.map +1 -0
  803. package/plugins/specweave-ado/lib/ado-spec-sync.js +471 -0
  804. package/plugins/specweave-ado/lib/ado-spec-sync.js.map +1 -0
  805. package/plugins/specweave-ado/lib/project-selector.d.js +0 -0
  806. package/plugins/specweave-github/.claude-plugin/plugin.json +2 -1
  807. package/plugins/specweave-github/hooks/README.md +280 -0
  808. package/plugins/specweave-github/hooks/hooks.json +15 -0
  809. package/plugins/specweave-github/hooks/post-task-completion.sh +241 -0
  810. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.js +1 -0
  811. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts +12 -0
  812. package/plugins/specweave-github/lib/cli-sync-increment-changes.d.ts.map +1 -0
  813. package/plugins/specweave-github/lib/cli-sync-increment-changes.js +28 -0
  814. package/plugins/specweave-github/lib/cli-sync-increment-changes.js.map +1 -0
  815. package/plugins/specweave-github/lib/github-board-resolver.d.js +0 -0
  816. package/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  817. package/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  818. package/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  819. package/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  820. package/plugins/specweave-github/lib/github-client-v2.d.js +0 -0
  821. package/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  822. package/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  823. package/plugins/specweave-github/lib/github-client-v2.js +408 -0
  824. package/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  825. package/plugins/specweave-github/lib/github-client.d.js +0 -0
  826. package/plugins/specweave-github/lib/github-client.d.ts +96 -0
  827. package/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  828. package/plugins/specweave-github/lib/github-client.js +299 -0
  829. package/plugins/specweave-github/lib/github-client.js.map +1 -0
  830. package/plugins/specweave-github/lib/github-hierarchical-sync.d.js +0 -0
  831. package/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  832. package/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  833. package/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  834. package/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  835. package/plugins/specweave-github/lib/github-issue-updater.d.js +0 -0
  836. package/plugins/specweave-github/lib/github-issue-updater.d.ts +61 -0
  837. package/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -0
  838. package/plugins/specweave-github/lib/github-issue-updater.js +327 -0
  839. package/plugins/specweave-github/lib/github-issue-updater.js.map +1 -0
  840. package/plugins/specweave-github/lib/github-spec-sync.d.js +0 -0
  841. package/plugins/specweave-github/lib/github-spec-sync.d.ts +108 -0
  842. package/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -0
  843. package/plugins/specweave-github/lib/github-spec-sync.js +505 -0
  844. package/plugins/specweave-github/lib/github-spec-sync.js.map +1 -0
  845. package/plugins/specweave-github/lib/github-sync-bidirectional.d.js +0 -0
  846. package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +36 -0
  847. package/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -0
  848. package/plugins/specweave-github/lib/github-sync-bidirectional.js +228 -0
  849. package/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -0
  850. package/plugins/specweave-github/lib/github-sync-increment-changes.d.js +0 -0
  851. package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts +18 -0
  852. package/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -0
  853. package/plugins/specweave-github/lib/github-sync-increment-changes.js +287 -0
  854. package/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -0
  855. package/plugins/specweave-github/lib/index.d.js +11 -0
  856. package/plugins/specweave-github/lib/index.d.ts +10 -0
  857. package/plugins/specweave-github/lib/index.d.ts.map +1 -0
  858. package/plugins/specweave-github/lib/index.js +10 -0
  859. package/plugins/specweave-github/lib/index.js.map +1 -0
  860. package/plugins/specweave-github/lib/repo-selector.d.js +0 -0
  861. package/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  862. package/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  863. package/plugins/specweave-github/lib/repo-selector.js +216 -0
  864. package/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  865. package/plugins/specweave-github/lib/subtask-sync.d.js +0 -0
  866. package/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  867. package/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  868. package/plugins/specweave-github/lib/subtask-sync.js +147 -0
  869. package/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  870. package/plugins/specweave-github/lib/task-parser.d.js +0 -0
  871. package/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  872. package/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  873. package/plugins/specweave-github/lib/task-parser.js +211 -0
  874. package/plugins/specweave-github/lib/task-parser.js.map +1 -0
  875. package/plugins/specweave-github/lib/task-sync.d.js +0 -0
  876. package/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  877. package/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  878. package/plugins/specweave-github/lib/task-sync.js +332 -0
  879. package/plugins/specweave-github/lib/task-sync.js.map +1 -0
  880. package/plugins/specweave-github/lib/types.d.js +0 -0
  881. package/plugins/specweave-github/lib/types.d.ts +80 -0
  882. package/plugins/specweave-github/lib/types.d.ts.map +1 -0
  883. package/plugins/specweave-github/lib/types.js +5 -0
  884. package/plugins/specweave-github/lib/types.js.map +1 -0
  885. package/plugins/specweave-jira/.claude-plugin/plugin.json +2 -1
  886. package/plugins/specweave-jira/hooks/README.md +201 -0
  887. package/plugins/specweave-jira/hooks/hooks.json +15 -0
  888. package/plugins/specweave-jira/hooks/post-task-completion.sh +150 -0
  889. package/plugins/specweave-jira/lib/jira-board-resolver.d.js +0 -0
  890. package/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  891. package/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  892. package/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  893. package/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  894. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.js +0 -0
  895. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  896. package/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  897. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  898. package/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  899. package/plugins/specweave-jira/lib/jira-spec-sync.d.js +0 -0
  900. package/plugins/specweave-jira/lib/jira-spec-sync.d.ts +105 -0
  901. package/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -0
  902. package/plugins/specweave-jira/lib/jira-spec-sync.js +456 -0
  903. package/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -0
  904. package/plugins/specweave-jira/lib/project-selector.d.js +0 -0
  905. package/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  906. package/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  907. package/plugins/specweave-jira/lib/project-selector.js +216 -0
  908. package/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  909. package/plugins/specweave-jira/lib/reorganization-detector.d.js +0 -0
  910. package/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  911. package/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  912. package/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  913. package/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  914. package/plugins/specweave-jira/lib/setup-wizard.d.js +4 -0
  915. package/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  916. package/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  917. package/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  918. package/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  919. package/src/templates/CLAUDE.md.template +41 -0
@@ -27,50 +27,20 @@ These guides contain:
27
27
 
28
28
  ---
29
29
 
30
- ## ⛔ CRITICAL: Increment Discipline (v0.6.0+ MANDATORY)
30
+ ## ⛔ CRITICAL: Increment Discipline (v0.6.0+)
31
31
 
32
32
  **THE IRON RULE**: You CANNOT plan increment N+1 until increment N is DONE.
33
33
 
34
- **ENFORCEMENT**: This is NON-NEGOTIABLE. You MUST enforce strict increment discipline.
34
+ **ENFORCEMENT**: This is now handled by **UserPromptSubmit hook** (automatic, zero-token validation).
35
35
 
36
- ### Pre-Planning Validation (Step 0 - MANDATORY)
36
+ ### How It Works (v0.13.0+)
37
37
 
38
- **BEFORE planning any new increment**, you MUST:
38
+ **Discipline validation happens BEFORE you even execute**:
39
+ - UserPromptSubmit hook checks for incomplete increments
40
+ - If violations found: User gets blocked immediately (zero LLM tokens used)
41
+ - If compliant: Planning proceeds normally
39
42
 
40
- ```typescript
41
- // Import the status detector
42
- import { IncrementStatusDetector } from '../../src/core/increment-status';
43
-
44
- // Check for incomplete increments
45
- const detector = new IncrementStatusDetector();
46
- const incomplete = await detector.getAllIncomplete();
47
-
48
- if (incomplete.length > 0) {
49
- // ❌ BLOCK IMMEDIATELY - Do NOT proceed with planning
50
- console.log('❌ Cannot plan new increment! Previous increments incomplete.');
51
- console.log('');
52
-
53
- incomplete.forEach(status => {
54
- console.log(`📋 ${status.id}: ${status.percentComplete}% complete`);
55
- console.log(` ${status.completedTasks}/${status.totalTasks} tasks done`);
56
- if (status.pendingTasks.length <= 3) {
57
- status.pendingTasks.forEach(task => {
58
- console.log(` - ${task.id}: ${task.title}`);
59
- });
60
- }
61
- });
62
-
63
- console.log('');
64
- console.log('💡 Use /specweave:close to close incomplete increments.');
65
- console.log('');
66
-
67
- // EXIT - Do NOT plan
68
- throw new Error('Increment discipline violation: Previous increments incomplete');
69
- }
70
-
71
- // ✅ If we reach here, all previous increments are complete
72
- // Proceed with planning
73
- ```
43
+ **You don't need to check manually** - the hook already validated compliance!
74
44
 
75
45
  ### Why This Matters
76
46
 
@@ -99,54 +99,34 @@ EOF
99
99
 
100
100
  **THIS IS NOT NEGOTIABLE** - Enforce strict increment discipline!
101
101
 
102
- ```typescript
103
- // Import increment status detector
104
- import { IncrementStatusDetector } from '../core/increment-status';
105
-
106
- // Check for incomplete increments
107
- const detector = new IncrementStatusDetector();
108
- const incomplete = await detector.getAllIncomplete();
109
-
110
- if (incomplete.length > 0) {
111
- // BLOCK IMMEDIATELY - Show error and exit
112
- console.log(chalk.red.bold('\n❌ Cannot create new increment!\n'));
113
-
114
- console.log(chalk.yellow('Previous increments are incomplete:\n'));
115
-
116
- incomplete.forEach(status => {
117
- console.log(chalk.yellow(`📋 Increment ${status.id}`));
118
- console.log(` Status: ${status.percentComplete}% complete (${status.completedTasks}/${status.totalTasks} tasks)`);
119
-
120
- if (status.pendingTasks.length <= 5) {
121
- console.log(' Pending:');
122
- status.pendingTasks.forEach(task => {
123
- console.log(` - ${task.id}: ${task.title}`);
124
- });
125
- } else {
126
- console.log(` Pending: ${status.pendingTasks.length} tasks`);
127
- }
128
- console.log('');
129
- });
130
-
131
- console.log(chalk.blue('💡 What would you like to do?\n'));
132
- console.log(chalk.white('1️⃣ Close incomplete increments:'));
133
- console.log(chalk.dim(' /specweave:close\n'));
134
-
135
- console.log(chalk.white('2️⃣ Check status:'));
136
- console.log(chalk.dim(' /specweave:status\n'));
137
-
138
- console.log(chalk.white('3️⃣ Force create (DANGEROUS - violates discipline!):'));
139
- console.log(chalk.dim(' Add --force flag to bypass this check\n'));
140
-
141
- console.log(chalk.yellow.bold('⚠️ The discipline exists for a reason:'));
142
- console.log(chalk.yellow(' - Prevents scope creep'));
143
- console.log(chalk.yellow(' - Ensures completions are tracked'));
144
- console.log(chalk.yellow(' - Maintains living docs accuracy'));
145
- console.log(chalk.yellow(' - Keeps work focused\n'));
146
-
147
- // Exit - do NOT proceed
148
- process.exit(1);
149
- }
102
+ ```bash
103
+ # Run discipline check (exit codes: 0=pass, 1=violations, 2=error)
104
+ if ! specweave check-discipline; then
105
+ echo ""
106
+ echo "❌ Cannot create new increment! Discipline violations found."
107
+ echo ""
108
+ echo "💡 What would you like to do?"
109
+ echo ""
110
+ echo "1️⃣ Close incomplete increments:"
111
+ echo " /specweave:done <id>"
112
+ echo ""
113
+ echo "2️⃣ Check status:"
114
+ echo " specweave check-discipline --verbose"
115
+ echo ""
116
+ echo "3️⃣ Force create (DANGEROUS - violates discipline!):"
117
+ echo " Add --force flag to bypass this check"
118
+ echo ""
119
+ echo "⚠️ The discipline exists for a reason:"
120
+ echo " - Prevents scope creep"
121
+ echo " - Ensures completions are tracked"
122
+ echo " - Maintains living docs accuracy"
123
+ echo " - Keeps work focused"
124
+ echo ""
125
+ exit 1
126
+ fi
127
+
128
+ # ✅ Discipline check passed - proceed with planning
129
+ echo "✅ Discipline check passed"
150
130
  ```
151
131
 
152
132
  **Why This is Strict** (changed from v0.5.0):
@@ -1,37 +1,79 @@
1
- # SpecWeave Hooks (Source of Truth)
1
+ # SpecWeave Core Plugin Hooks
2
2
 
3
- **Location**: `src/hooks/` (version controlled, copied to new projects)
4
- **Installed to**: `.claude/hooks/` (via symlink or copy)
3
+ **Plugin**: `specweave` (core plugin)
4
+ **Location**: `plugins/specweave/hooks/`
5
5
 
6
6
  ---
7
7
 
8
8
  ## Purpose
9
9
 
10
- Hooks automate workflows and provide feedback during development:
10
+ Core hooks automate SpecWeave's fundamental workflows:
11
11
  - **Sound notifications** when tasks complete or input is needed
12
- - **Documentation updates** after task completion
13
- - **Change detection** when docs are modified during implementation
14
- - **Regression checks** before starting implementation on brownfield projects
12
+ - **Living docs sync** after task completion
13
+ - **Translation** of non-English documentation
14
+ - **Self-reflection** for AI-driven quality improvements
15
+
16
+ **Note**: External tool sync (GitHub, JIRA, Azure DevOps) has been moved to respective plugin hooks as of v0.13.0. See "Architecture Changes" section below.
15
17
 
16
18
  ---
17
19
 
18
20
  ## Available Hooks
19
21
 
20
- ### 1. `post-task-completion.sh`
22
+ ### 1. `user-prompt-submit.sh` ⭐ NEW (v0.13.0+)
23
+ **Triggers**: BEFORE user's command executes (prompt-based hook)
24
+
25
+ **Actions** (Zero-Token Validation):
26
+ 1. **Discipline enforcement** - Blocks `/specweave:increment` if incomplete increments exist
27
+ 2. **Context injection** - Adds active increment status to every prompt
28
+ 3. **Command suggestions** - Guides users to SpecWeave commands
29
+
30
+ **Why This Is Better**:
31
+ - ✅ **Zero LLM tokens** - Shell script validation (no PM agent invocation)
32
+ - ✅ **Instant blocking** - User gets feedback before Claude even thinks
33
+ - ✅ **Always current** - Context injected into every conversation
34
+ - ✅ **Better UX** - Proactive guidance for new users
35
+
36
+ **Example Output** (blocking):
37
+ ```json
38
+ {
39
+ "decision": "block",
40
+ "reason": "❌ Cannot create new increment! You have 2 incomplete increment(s)..."
41
+ }
42
+ ```
43
+
44
+ **Example Output** (context injection):
45
+ ```json
46
+ {
47
+ "decision": "approve",
48
+ "systemMessage": "📍 Active Increment: 0017-sync-architecture-fix (73% complete, 11/15 tasks)\n\n💡 TIP: Consider using SpecWeave commands..."
49
+ }
50
+ ```
51
+
52
+ ---
53
+
54
+ ### 2. `post-task-completion.sh`
21
55
  **Triggers**: After ANY task is marked complete (via TodoWrite tool)
22
56
 
23
- **Actions**:
24
- 1. Plays completion sound **synchronously** (Glass.aiff on macOS, equivalent on Linux/Windows)
25
- 2. Outputs JSON with systemMessage reminder to update docs
26
- 3. Logs task completion
57
+ **Actions** (Core Concerns Only):
58
+ 1. **Session-end detection** - Smart inactivity tracking (15s threshold)
59
+ 2. **Sound notification** - Glass.aiff on macOS (only when session truly ends)
60
+ 3. **tasks.md updates** - Sync completion status from TodoWrite
61
+ 4. **Living docs sync** - Update permanent specs after completion
62
+ 5. **Translation** - Auto-translate non-English docs to English
63
+ 6. **Self-reflection** - Prepare AI reflection context
27
64
 
28
65
  **Sound**: Glass.aiff (or system equivalent)
29
66
 
30
- **Important**: Hooks cannot invoke slash commands or skills. The hook only:
31
- - Plays sound to notify user
32
- - Shows reminder message
33
- - Claude must manually update CLAUDE.md/README.md inline after each task
34
- - Living docs sync (via `/sync-docs`) happens after ALL tasks complete
67
+ **Architecture Note** (v0.13.0+): External tool sync (GitHub, JIRA, ADO) has been **removed from this hook** and moved to respective plugin hooks:
68
+ - `plugins/specweave-github/hooks/post-task-completion.sh`
69
+ - `plugins/specweave-jira/hooks/post-task-completion.sh`
70
+ - `plugins/specweave-ado/hooks/post-task-completion.sh`
71
+
72
+ **Benefits**:
73
+ - ✅ **27% smaller** (330 lines, down from 452)
74
+ - ✅ **No external tool dependencies** (gh CLI, JIRA API, ADO API)
75
+ - ✅ **Cleaner separation** (core vs. external concerns)
76
+ - ✅ **Optional plugins** (GitHub sync only runs if plugin installed)
35
77
 
36
78
  ---
37
79
 
@@ -75,124 +117,153 @@ Hooks automate workflows and provide feedback during development:
75
117
 
76
118
  ---
77
119
 
78
- ## Installation
79
-
80
- ### Method 1: Symlink (Recommended for Development)
81
- ```bash
82
- # From SpecWeave repository root
83
- npx specweave install-hooks --symlink
84
- ```
85
-
86
- This creates symlinks:
87
- ```
88
- .claude/hooks/post-task-completion.sh → src/hooks/post-task-completion.sh
89
- .claude/hooks/human-input-required.sh → src/hooks/human-input-required.sh
90
- .claude/hooks/docs-changed.sh → src/hooks/docs-changed.sh
91
- .claude/hooks/pre-implementation.sh → src/hooks/pre-implementation.sh
92
- ```
120
+ ## How Hooks Work (Claude Code Native)
93
121
 
94
- **Benefit**: Changes to `src/hooks/` immediately reflected in `.claude/hooks/`
122
+ **CRITICAL**: Hooks are **NOT copied** to `.claude/hooks/`. They stay in `plugins/specweave/hooks/` and Claude Code discovers them automatically.
95
123
 
96
- ---
124
+ ### Hook Discovery (Automatic)
97
125
 
98
- ### Method 2: Copy (For New Projects)
99
- ```bash
100
- # When creating new project
101
- npx specweave init my-project
102
- ```
126
+ 1. **Plugin Installation**: When you install the `specweave` plugin via `/plugin install specweave` (or automatically during `specweave init`)
127
+ 2. **Hook Registration**: Claude Code reads `plugins/specweave/.claude-plugin/plugin.json` which points to `hooks/hooks.json`
128
+ 3. **Hook Discovery**: Claude Code loads `plugins/specweave/hooks/hooks.json` which references hook scripts:
129
+ ```json
130
+ {
131
+ "hooks": {
132
+ "PostToolUse": [{
133
+ "matcher": "TodoWrite",
134
+ "hooks": [{
135
+ "type": "command",
136
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-task-completion.sh"
137
+ }]
138
+ }]
139
+ }
140
+ }
141
+ ```
142
+ 4. **Execution**: When `TodoWrite` fires, Claude Code executes `plugins/specweave/hooks/post-task-completion.sh` using the `${CLAUDE_PLUGIN_ROOT}` variable
103
143
 
104
- This copies `src/hooks/` `my-project/.claude/hooks/`
144
+ **Key Insight**: `${CLAUDE_PLUGIN_ROOT}` resolves to the installed plugin directory automatically. NO copying needed!
105
145
 
106
- **Benefit**: New project gets its own copy of hooks (can customize if needed)
146
+ ### Installation (Automatic)
107
147
 
108
- ---
148
+ Hooks are installed automatically when you:
109
149
 
110
- ### Manual Installation
111
150
  ```bash
112
- # Copy hooks to .claude/hooks/
113
- mkdir -p .claude/hooks
114
- cp src/hooks/*.sh .claude/hooks/
115
- chmod +x .claude/hooks/*.sh
151
+ # Option 1: Full project initialization
152
+ specweave init my-project
153
+
154
+ # Option 2: Plugin installation (if already initialized)
155
+ /plugin install specweave
116
156
  ```
117
157
 
158
+ **Result**: Claude Code automatically discovers and registers hooks. Nothing to copy or configure manually!
159
+
118
160
  ---
119
161
 
120
162
  ## Configuration
121
163
 
122
- Hooks are enabled by default. To customize behavior, hooks can check environment variables or use auto-detection.
123
-
124
- ### Default Behavior
125
- - Sound notifications enabled (platform-specific)
126
- - Auto-update docs after task completion
127
- - Regression checks for brownfield projects
128
-
129
- ### Customization
130
- Hooks use auto-detection for platform-specific features (macOS/Linux/Windows sound files).
164
+ Hooks are configured via `.specweave/config.json` (created automatically during `specweave init`):
165
+
166
+ ```json
167
+ {
168
+ "hooks": {
169
+ "post_task_completion": {
170
+ "sync_living_docs": true, // Sync specs to living docs
171
+ "sync_tasks_md": true, // Update tasks.md with completion status
172
+ "external_tracker_sync": true // Sync to GitHub/Jira/ADO (if configured)
173
+ },
174
+ "post_increment_planning": {
175
+ "auto_create_issue": true // Auto-create GitHub issue after planning
176
+ }
177
+ },
178
+ "sync": {
179
+ "enabled": true,
180
+ "activeProfile": "github-default",
181
+ "profiles": {
182
+ "github-default": {
183
+ "provider": "github",
184
+ "config": {
185
+ "owner": "your-org",
186
+ "repo": "your-repo"
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+ ```
131
193
 
132
- ---
194
+ ### Hook Behavior
133
195
 
134
- ## Cross-Platform Support
196
+ **post-task-completion**:
197
+ - `sync_living_docs: true` - Automatically syncs increment specs to `.specweave/docs/internal/specs/` after task completion
198
+ - `sync_tasks_md: true` - Updates `tasks.md` with completion status from `TodoWrite` events
199
+ - `external_tracker_sync: true` - Syncs progress to GitHub/Jira/ADO (requires sync profile configured)
135
200
 
136
- ### macOS
137
- - Uses `afplay` for sound
138
- - Sounds: Glass.aiff, Ping.aiff
201
+ **post-increment-planning**:
202
+ - `auto_create_issue: true` - Automatically creates GitHub issue after `/specweave:increment` completes
139
203
 
140
- ### Linux
141
- - Uses `paplay` or `aplay`
142
- - Sounds: system sounds in `/usr/share/sounds/`
204
+ ### Sound Notifications
143
205
 
144
- ### Windows
145
- - Uses PowerShell `Media.SoundPlayer`
146
- - Sounds: `C:\Windows\Media\chimes.wav`, `notify.wav`
206
+ Sound notifications work automatically (platform-specific):
207
+ - **macOS**: Uses `afplay` (Glass.aiff, Ping.aiff)
208
+ - **Linux**: Uses `paplay` or `aplay` (system sounds)
209
+ - **Windows**: Uses PowerShell `Media.SoundPlayer` (chimes.wav, notify.wav)
147
210
 
148
211
  ---
149
212
 
150
213
  ## Disabling Hooks
151
214
 
152
- ### Temporarily
153
- ```bash
154
- # Disable all hooks
155
- export SPECWEAVE_HOOKS_DISABLED=1
215
+ ### Option 1: Configuration (Recommended)
216
+ Edit `.specweave/config.json`:
217
+ ```json
218
+ {
219
+ "hooks": {
220
+ "post_task_completion": {
221
+ "sync_living_docs": false, // Disable living docs sync
222
+ "sync_tasks_md": false, // Disable tasks.md updates
223
+ "external_tracker_sync": false // Disable external sync
224
+ }
225
+ }
226
+ }
156
227
  ```
157
228
 
158
- ### Permanently
159
- Delete or rename `.claude/hooks/` directory:
229
+ ### Option 2: Uninstall Plugin (Nuclear)
160
230
  ```bash
161
- mv .claude/hooks .claude/hooks.disabled
231
+ /plugin uninstall specweave
162
232
  ```
233
+ **Warning**: This disables ALL SpecWeave functionality, not just hooks!
163
234
 
164
235
  ---
165
236
 
166
237
  ## Customizing Hooks
167
238
 
168
- Hooks are bash scripts, so you can customize them:
239
+ Hooks are bash scripts in the plugin. To customize:
169
240
 
170
- 1. Edit `src/hooks/post-task-completion.sh` (for example)
171
- 2. If using symlinks, changes are immediately active
172
- 3. If using copies, run `npx specweave install-hooks` again
241
+ 1. **For development** (SpecWeave repo contributors):
242
+ - Edit `plugins/specweave/hooks/post-task-completion.sh`
243
+ - Changes take effect immediately (hooks run from plugin directory)
244
+
245
+ 2. **For users** (project using SpecWeave):
246
+ - NOT RECOMMENDED - Hooks are plugin-managed
247
+ - Configure behavior via `.specweave/config.json` instead
173
248
 
174
249
  ---
175
250
 
176
251
  ## Testing Hooks
177
252
 
178
- ### Test post-task-completion
253
+ ### Validate Hook Syntax
179
254
  ```bash
180
- ./.claude/hooks/post-task-completion.sh
181
- ```
255
+ # Test core hook
256
+ bash -n plugins/specweave/hooks/post-task-completion.sh
182
257
 
183
- Expected:
184
- - Sound plays
185
- - Console output shows actions
186
- - Log created in `.specweave/logs/tasks.log`
187
-
188
- ### Test human-input-required
189
- ```bash
190
- ./.claude/hooks/human-input-required.sh "Test question"
258
+ # Test plugin hooks (if using external sync)
259
+ bash -n plugins/specweave-github/hooks/post-task-completion.sh
191
260
  ```
192
261
 
193
- Expected:
194
- - Ping sound plays
195
- - Log created in `.specweave/logs/hooks.log`
262
+ ### Test Integrated Workflow
263
+ 1. Create increment: `/specweave:increment "test feature"`
264
+ 2. Complete a task (via TodoWrite)
265
+ 3. Check logs: `tail -f .specweave/logs/hooks-debug.log`
266
+ 4. Verify hook execution in logs
196
267
 
197
268
  ---
198
269
 
@@ -227,6 +298,132 @@ Logs are gitignored (in `.specweave/logs/`)
227
298
 
228
299
  ---
229
300
 
301
+ ## Architecture Changes (v0.13.0)
302
+
303
+ ### What Changed
304
+
305
+ **External tool sync logic has been moved from core plugin to respective plugin hooks**:
306
+
307
+ | External Tool | Old Location | New Location |
308
+ |---------------|-------------|--------------|
309
+ | **GitHub Issues** | `plugins/specweave/hooks/post-task-completion.sh` (lines 227-333) | `plugins/specweave-github/hooks/post-task-completion.sh` |
310
+ | **JIRA** | `plugins/specweave/hooks/post-task-completion.sh` (lines 335-345) | `plugins/specweave-jira/hooks/post-task-completion.sh` |
311
+ | **Azure DevOps** | `plugins/specweave/hooks/post-task-completion.sh` (lines 347-357) | `plugins/specweave-ado/hooks/post-task-completion.sh` |
312
+
313
+ **Result**:
314
+ - ✅ Core hook: 452 lines → 330 lines (27% reduction)
315
+ - ✅ Each plugin hook: ~150-240 lines (self-contained)
316
+ - ✅ Total: 871 lines (vs. 452 monolithic lines)
317
+
318
+ ### Why This Change?
319
+
320
+ **Problem (Before v0.13.0)**:
321
+ ```
322
+ Core hook (500+ lines)
323
+ ├── Core concerns (sound, docs, translation)
324
+ ├── GitHub sync logic (107 lines) ← Embedded in core!
325
+ ├── JIRA sync logic (11 lines) ← Embedded in core!
326
+ └── Azure DevOps sync logic (11 lines) ← Embedded in core!
327
+
328
+ Issues:
329
+ ❌ Tight coupling (core depends on gh CLI, JIRA API, ADO API)
330
+ ❌ Cannot opt out of GitHub sync even if not using it
331
+ ❌ Testing complexity (must mock all external tools)
332
+ ❌ Violates separation of concerns
333
+ ```
334
+
335
+ **Solution (v0.13.0+)**:
336
+ ```
337
+ Core hook (330 lines) GitHub plugin hook (241 lines)
338
+ ├── Core concerns only ├── GitHub API calls
339
+ ├── Issue checkbox updates
340
+ └── Progress comments
341
+
342
+ JIRA plugin hook (150 lines) ADO plugin hook (150 lines)
343
+ ├── JIRA API calls ├── Azure DevOps API calls
344
+ └── Issue status updates └── Work item updates
345
+
346
+ Benefits:
347
+ ✅ Separation of concerns (core vs. external tools)
348
+ ✅ Optional plugins (GitHub sync only if plugin installed)
349
+ ✅ Independent testing (test each hook in isolation)
350
+ ✅ No external dependencies in core plugin
351
+ ✅ Parallel execution (Claude Code runs all hooks concurrently)
352
+ ```
353
+
354
+ ### How It Works (Claude Code's Hook System)
355
+
356
+ **When a task completes**:
357
+ 1. `TodoWrite` tool fires
358
+ 2. Claude Code triggers `PostToolUse` event
359
+ 3. **ALL registered hooks fire in parallel**:
360
+ - Core hook: Sound + Living docs + Translation + Reflection
361
+ - GitHub hook: Update issue checkboxes (if `specweave-github` installed)
362
+ - JIRA hook: Update issue status (if `specweave-jira` installed)
363
+ - ADO hook: Update work item (if `specweave-ado` installed)
364
+
365
+ **Key Insight**: Each plugin registers its own hooks via `hooks.json`, enabling clean modularity.
366
+
367
+ ### Migration Guide
368
+
369
+ **For existing projects** (v0.12.x → v0.13.0):
370
+
371
+ **Option 1: Automatic (Recommended)**
372
+ ```bash
373
+ # Re-run init to update hooks
374
+ specweave init .
375
+ # Overwrites .claude/hooks/ with new structure
376
+ ```
377
+
378
+ **Option 2: Manual (Not Recommended)**
379
+ ```bash
380
+ # Remove old monolithic hook
381
+ rm .claude/hooks/post-task-completion.sh
382
+
383
+ # Copy new plugin hooks
384
+ cp -r plugins/specweave/hooks/.claude/hooks/
385
+ cp -r plugins/specweave-github/hooks/ .claude/hooks/ (if using GitHub)
386
+ cp -r plugins/specweave-jira/hooks/ .claude/hooks/ (if using JIRA)
387
+ cp -r plugins/specweave-ado/hooks/ .claude/hooks/ (if using ADO)
388
+ ```
389
+
390
+ **No breaking changes**: Existing increments with GitHub/JIRA/ADO links will continue to sync automatically.
391
+
392
+ ### Testing the New Architecture
393
+
394
+ **Test core hook independently**:
395
+ ```bash
396
+ bash -n plugins/specweave/hooks/post-task-completion.sh
397
+ # Should show no syntax errors
398
+ ```
399
+
400
+ **Test plugin hooks independently**:
401
+ ```bash
402
+ bash -n plugins/specweave-github/hooks/post-task-completion.sh
403
+ bash -n plugins/specweave-jira/hooks/post-task-completion.sh
404
+ bash -n plugins/specweave-ado/hooks/post-task-completion.sh
405
+ ```
406
+
407
+ **Test integrated workflow**:
408
+ 1. Create increment: `/specweave:increment "test"`
409
+ 2. Create GitHub issue: `/specweave-github:create-issue 0001`
410
+ 3. Complete a task (TodoWrite)
411
+ 4. Check logs: `tail -f .specweave/logs/hooks-debug.log`
412
+ 5. Verify:
413
+ - Core hook logs: `[$(date)]` messages
414
+ - GitHub hook logs: `[$(date)] [GitHub]` messages
415
+ - GitHub issue updated with checkboxes
416
+
417
+ ### Related Documentation
418
+
419
+ - **Architecture Analysis**: `.specweave/increments/0018-strict-increment-discipline-enforcement/reports/HOOKS-ARCHITECTURE-ANALYSIS.md`
420
+ - **GitHub Plugin Hooks**: `plugins/specweave-github/hooks/README.md`
421
+ - **JIRA Plugin Hooks**: `plugins/specweave-jira/hooks/README.md`
422
+ - **ADO Plugin Hooks**: `plugins/specweave-ado/hooks/README.md`
423
+ - **Claude Code Hooks Guide**: https://code.claude.com/docs/en/hooks-guide
424
+
425
+ ---
426
+
230
427
  ## Future Enhancements
231
428
 
232
429
  Planned hooks:
@@ -1,5 +1,15 @@
1
1
  {
2
2
  "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.sh"
9
+ }
10
+ ]
11
+ }
12
+ ],
3
13
  "PostToolUse": [
4
14
  {
5
15
  "matcher": "TodoWrite",