specweave 0.11.0 → 0.12.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 (641) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CLAUDE.md +131 -144
  3. package/README.md +48 -21
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +21 -70
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/hooks/lib/git-diff-analyzer.d.ts +89 -0
  8. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  9. package/dist/hooks/lib/git-diff-analyzer.js +226 -0
  10. package/dist/hooks/lib/git-diff-analyzer.js.map +1 -0
  11. package/dist/hooks/lib/prepare-reflection-context.d.ts +42 -0
  12. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  13. package/dist/hooks/lib/prepare-reflection-context.js +123 -0
  14. package/dist/hooks/lib/prepare-reflection-context.js.map +1 -0
  15. package/dist/hooks/lib/reflection-config-loader.d.ts +45 -0
  16. package/dist/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  17. package/dist/hooks/lib/reflection-config-loader.js +132 -0
  18. package/dist/hooks/lib/reflection-config-loader.js.map +1 -0
  19. package/dist/hooks/lib/reflection-parser.d.ts +33 -0
  20. package/dist/hooks/lib/reflection-parser.d.ts.map +1 -0
  21. package/dist/hooks/lib/reflection-parser.js +419 -0
  22. package/dist/hooks/lib/reflection-parser.js.map +1 -0
  23. package/dist/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  24. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  25. package/dist/hooks/lib/reflection-prompt-builder.js +239 -0
  26. package/dist/hooks/lib/reflection-prompt-builder.js.map +1 -0
  27. package/dist/hooks/lib/reflection-storage.d.ts +64 -0
  28. package/dist/hooks/lib/reflection-storage.d.ts.map +1 -0
  29. package/dist/hooks/lib/reflection-storage.js +305 -0
  30. package/dist/hooks/lib/reflection-storage.js.map +1 -0
  31. package/dist/hooks/lib/run-self-reflection.d.ts +43 -0
  32. package/dist/hooks/lib/run-self-reflection.d.ts.map +1 -0
  33. package/dist/hooks/lib/run-self-reflection.js +203 -0
  34. package/dist/hooks/lib/run-self-reflection.js.map +1 -0
  35. package/dist/hooks/lib/types/reflection-types.d.ts +164 -0
  36. package/dist/hooks/lib/types/reflection-types.d.ts.map +1 -0
  37. package/dist/hooks/lib/types/reflection-types.js +73 -0
  38. package/dist/hooks/lib/types/reflection-types.js.map +1 -0
  39. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  40. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  41. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  42. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  43. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  44. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  45. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  46. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  47. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  48. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  49. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  50. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  51. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  52. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  53. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  54. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  55. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  56. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  57. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  58. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  59. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  60. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  61. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  62. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  63. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  64. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  65. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  66. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  67. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  68. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  69. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  70. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  71. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  72. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  73. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +116 -0
  74. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  75. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  76. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  77. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  78. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  79. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  80. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  81. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  82. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  83. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  84. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  85. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  86. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  87. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  88. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  89. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  90. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  91. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  92. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  93. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  94. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  95. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  96. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  97. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
  98. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  99. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  100. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  101. package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
  102. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  103. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  104. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  105. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  106. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  107. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  108. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  109. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  110. package/dist/plugins/specweave-ado/lib/project-selector.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 +10 -0
  120. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
  121. package/dist/plugins/specweave-github/lib/github-client.js +24 -0
  122. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
  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/index.d.ts.map +1 -1
  128. package/dist/plugins/specweave-github/lib/index.js.map +1 -1
  129. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  130. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  131. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  132. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  133. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -1
  134. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -1
  135. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -1
  136. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -1
  137. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
  138. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
  139. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
  140. package/dist/plugins/specweave-github/lib/types.js.map +1 -1
  141. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  142. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  143. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  144. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  145. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  146. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  147. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  148. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  149. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  150. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  151. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  152. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  153. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  154. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  155. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  156. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  157. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  158. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  159. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  160. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  161. package/dist/src/adapters/adapter-base.d.ts +71 -0
  162. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  163. package/dist/src/adapters/adapter-base.js +139 -0
  164. package/dist/src/adapters/adapter-base.js.map +1 -0
  165. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  166. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  167. package/dist/src/adapters/adapter-interface.js +8 -0
  168. package/dist/src/adapters/adapter-interface.js.map +1 -0
  169. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  170. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  171. package/dist/src/adapters/adapter-loader.js +238 -0
  172. package/dist/src/adapters/adapter-loader.js.map +1 -0
  173. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  174. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  175. package/dist/src/adapters/agents-md-generator.js +193 -0
  176. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  177. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  178. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  179. package/dist/src/adapters/claude/adapter.js +415 -0
  180. package/dist/src/adapters/claude/adapter.js.map +1 -0
  181. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  182. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  183. package/dist/src/adapters/claude-md-generator.js +307 -0
  184. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  185. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  186. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  187. package/dist/src/adapters/codex/adapter.js +316 -0
  188. package/dist/src/adapters/codex/adapter.js.map +1 -0
  189. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  190. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  191. package/dist/src/adapters/cursor/adapter.js +406 -0
  192. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  193. package/dist/src/adapters/doc-generator.d.ts +69 -0
  194. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  195. package/dist/src/adapters/doc-generator.js +247 -0
  196. package/dist/src/adapters/doc-generator.js.map +1 -0
  197. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  198. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  199. package/dist/src/adapters/gemini/adapter.js +281 -0
  200. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  201. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  202. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  203. package/dist/src/adapters/generic/adapter.js +338 -0
  204. package/dist/src/adapters/generic/adapter.js.map +1 -0
  205. package/dist/src/cli/commands/abandon.d.ts +13 -0
  206. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  207. package/dist/src/cli/commands/abandon.js +15 -0
  208. package/dist/src/cli/commands/abandon.js.map +1 -0
  209. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  210. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  211. package/dist/src/cli/commands/import-docs.js +146 -0
  212. package/dist/src/cli/commands/import-docs.js.map +1 -0
  213. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  214. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  215. package/dist/src/cli/commands/init-multiproject.js +202 -0
  216. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  217. package/dist/src/cli/commands/init.d.ts +9 -0
  218. package/dist/src/cli/commands/init.d.ts.map +1 -0
  219. package/dist/src/cli/commands/init.js +1205 -0
  220. package/dist/src/cli/commands/init.js.map +1 -0
  221. package/dist/src/cli/commands/install.d.ts +9 -0
  222. package/dist/src/cli/commands/install.d.ts.map +1 -0
  223. package/dist/src/cli/commands/install.js +127 -0
  224. package/dist/src/cli/commands/install.js.map +1 -0
  225. package/dist/src/cli/commands/list.d.ts +8 -0
  226. package/dist/src/cli/commands/list.d.ts.map +1 -0
  227. package/dist/src/cli/commands/list.js +119 -0
  228. package/dist/src/cli/commands/list.js.map +1 -0
  229. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  230. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  231. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  232. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  233. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  234. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  235. package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
  236. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  237. package/dist/src/cli/commands/pause.d.ts +13 -0
  238. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  239. package/dist/src/cli/commands/pause.js +15 -0
  240. package/dist/src/cli/commands/pause.js.map +1 -0
  241. package/dist/src/cli/commands/qa.d.ts +54 -0
  242. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  243. package/dist/src/cli/commands/qa.js +98 -0
  244. package/dist/src/cli/commands/qa.js.map +1 -0
  245. package/dist/src/cli/commands/resume.d.ts +12 -0
  246. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  247. package/dist/src/cli/commands/resume.js +14 -0
  248. package/dist/src/cli/commands/resume.js.map +1 -0
  249. package/dist/src/cli/commands/status.d.ts +12 -0
  250. package/dist/src/cli/commands/status.d.ts.map +1 -0
  251. package/dist/src/cli/commands/status.js +23 -0
  252. package/dist/src/cli/commands/status.js.map +1 -0
  253. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  254. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  255. package/dist/src/cli/commands/switch-project.js +91 -0
  256. package/dist/src/cli/commands/switch-project.js.map +1 -0
  257. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  258. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  259. package/dist/src/cli/commands/validate-jira.js +112 -0
  260. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  261. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  262. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  263. package/dist/src/cli/commands/validate-plugins.js +171 -0
  264. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  265. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  266. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  267. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  268. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  269. package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
  270. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  271. package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
  272. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  273. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  274. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  275. package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
  276. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  277. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  278. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  279. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  280. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  281. package/dist/src/cli/helpers/issue-tracker/types.d.ts +107 -0
  282. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  283. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  284. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  285. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
  286. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  287. package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
  288. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  289. package/dist/src/core/agent-model-manager.d.ts +52 -0
  290. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  291. package/dist/src/core/agent-model-manager.js +120 -0
  292. package/dist/src/core/agent-model-manager.js.map +1 -0
  293. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  294. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  295. package/dist/src/core/brownfield/analyzer.js +365 -0
  296. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  297. package/dist/src/core/brownfield/importer.d.ts +76 -0
  298. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  299. package/dist/src/core/brownfield/importer.js +287 -0
  300. package/dist/src/core/brownfield/importer.js.map +1 -0
  301. package/dist/src/core/config-manager.d.ts +47 -0
  302. package/dist/src/core/config-manager.d.ts.map +1 -0
  303. package/dist/src/core/config-manager.js +136 -0
  304. package/dist/src/core/config-manager.js.map +1 -0
  305. package/dist/src/core/cost-tracker.d.ts +108 -0
  306. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  307. package/dist/src/core/cost-tracker.js +281 -0
  308. package/dist/src/core/cost-tracker.js.map +1 -0
  309. package/dist/src/core/credentials-manager.d.ts +107 -0
  310. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  311. package/dist/src/core/credentials-manager.js +457 -0
  312. package/dist/src/core/credentials-manager.js.map +1 -0
  313. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  314. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  315. package/dist/src/core/i18n/language-detector.js +143 -0
  316. package/dist/src/core/i18n/language-detector.js.map +1 -0
  317. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  318. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  319. package/dist/src/core/i18n/language-manager.js +232 -0
  320. package/dist/src/core/i18n/language-manager.js.map +1 -0
  321. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  322. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  323. package/dist/src/core/i18n/language-registry.js +234 -0
  324. package/dist/src/core/i18n/language-registry.js.map +1 -0
  325. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  326. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  327. package/dist/src/core/i18n/locale-manager.js +137 -0
  328. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  329. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  330. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  331. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  332. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  333. package/dist/src/core/i18n/types.d.ts +151 -0
  334. package/dist/src/core/i18n/types.d.ts.map +1 -0
  335. package/dist/src/core/i18n/types.js +11 -0
  336. package/dist/src/core/i18n/types.js.map +1 -0
  337. package/dist/src/core/increment/limits.d.ts +68 -0
  338. package/dist/src/core/increment/limits.d.ts.map +1 -0
  339. package/dist/src/core/increment/limits.js +224 -0
  340. package/dist/src/core/increment/limits.js.map +1 -0
  341. package/dist/src/core/increment/metadata-manager.d.ts +114 -0
  342. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  343. package/dist/src/core/increment/metadata-manager.js +320 -0
  344. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  345. package/dist/src/core/increment/status-commands.d.ts +43 -0
  346. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  347. package/dist/src/core/increment/status-commands.js +277 -0
  348. package/dist/src/core/increment/status-commands.js.map +1 -0
  349. package/dist/src/core/increment-status.d.ts +72 -0
  350. package/dist/src/core/increment-status.d.ts.map +1 -0
  351. package/dist/src/core/increment-status.js +227 -0
  352. package/dist/src/core/increment-status.js.map +1 -0
  353. package/dist/src/core/model-selector.d.ts +57 -0
  354. package/dist/src/core/model-selector.d.ts.map +1 -0
  355. package/dist/src/core/model-selector.js +115 -0
  356. package/dist/src/core/model-selector.js.map +1 -0
  357. package/dist/src/core/phase-detector.d.ts +62 -0
  358. package/dist/src/core/phase-detector.d.ts.map +1 -0
  359. package/dist/src/core/phase-detector.js +229 -0
  360. package/dist/src/core/phase-detector.js.map +1 -0
  361. package/dist/src/core/plugin-loader.d.ts +131 -0
  362. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  363. package/dist/src/core/plugin-loader.js +421 -0
  364. package/dist/src/core/plugin-loader.js.map +1 -0
  365. package/dist/src/core/project-manager.d.ts +127 -0
  366. package/dist/src/core/project-manager.d.ts.map +1 -0
  367. package/dist/src/core/project-manager.js +524 -0
  368. package/dist/src/core/project-manager.js.map +1 -0
  369. package/dist/src/core/project-structure-detector.d.ts +92 -0
  370. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  371. package/dist/src/core/project-structure-detector.js +289 -0
  372. package/dist/src/core/project-structure-detector.js.map +1 -0
  373. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  374. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  375. package/dist/src/core/qa/qa-runner.js +404 -0
  376. package/dist/src/core/qa/qa-runner.js.map +1 -0
  377. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  378. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  379. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  380. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  381. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  382. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  383. package/dist/src/core/qa/risk-calculator.js +247 -0
  384. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  385. package/dist/src/core/qa/types.d.ts +315 -0
  386. package/dist/src/core/qa/types.d.ts.map +1 -0
  387. package/dist/src/core/qa/types.js +8 -0
  388. package/dist/src/core/qa/types.js.map +1 -0
  389. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  390. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  391. package/dist/src/core/rfc-generator-v2.js +399 -0
  392. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  393. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  394. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  395. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  396. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  397. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  398. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  399. package/dist/src/core/sync/folder-mapper.js +168 -0
  400. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  401. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  402. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  403. package/dist/src/core/sync/profile-manager.js +338 -0
  404. package/dist/src/core/sync/profile-manager.js.map +1 -0
  405. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  406. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  407. package/dist/src/core/sync/profile-selector.js +179 -0
  408. package/dist/src/core/sync/profile-selector.js.map +1 -0
  409. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  410. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  411. package/dist/src/core/sync/profile-validator.js +225 -0
  412. package/dist/src/core/sync/profile-validator.js.map +1 -0
  413. package/dist/src/core/sync/project-context.d.ts +81 -0
  414. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  415. package/dist/src/core/sync/project-context.js +354 -0
  416. package/dist/src/core/sync/project-context.js.map +1 -0
  417. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  418. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  419. package/dist/src/core/sync/rate-limiter.js +308 -0
  420. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  421. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  422. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  423. package/dist/src/core/sync/time-range-selector.js +224 -0
  424. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  425. package/dist/src/core/types/config.d.ts +90 -0
  426. package/dist/src/core/types/config.d.ts.map +1 -0
  427. package/dist/src/core/types/config.js +37 -0
  428. package/dist/src/core/types/config.js.map +1 -0
  429. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  430. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  431. package/dist/src/core/types/increment-metadata.js +138 -0
  432. package/dist/src/core/types/increment-metadata.js.map +1 -0
  433. package/dist/src/core/types/plugin.d.ts +283 -0
  434. package/dist/src/core/types/plugin.d.ts.map +1 -0
  435. package/dist/src/core/types/plugin.js +49 -0
  436. package/dist/src/core/types/plugin.js.map +1 -0
  437. package/dist/src/core/types/sync-profile.d.ts +403 -0
  438. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  439. package/dist/src/core/types/sync-profile.js +55 -0
  440. package/dist/src/core/types/sync-profile.js.map +1 -0
  441. package/dist/src/hooks/lib/types/reflection-types.d.ts +125 -0
  442. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  443. package/dist/src/hooks/lib/types/reflection-types.js +54 -0
  444. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  445. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  446. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  447. package/dist/src/integrations/ado/ado-client.js +416 -0
  448. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  449. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  450. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  451. package/dist/src/integrations/jira/jira-client.js +386 -0
  452. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  453. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  454. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  455. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  456. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  457. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  458. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  459. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  460. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  461. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  462. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  463. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  464. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  465. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  466. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  467. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  468. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  469. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  470. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  471. package/dist/src/metrics/calculators/lead-time.js +82 -0
  472. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  473. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  474. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  475. package/dist/src/metrics/calculators/mttr.js +60 -0
  476. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  477. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  478. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  479. package/dist/src/metrics/dora-calculator.js +117 -0
  480. package/dist/src/metrics/dora-calculator.js.map +1 -0
  481. package/dist/src/metrics/github-client.d.ts +51 -0
  482. package/dist/src/metrics/github-client.d.ts.map +1 -0
  483. package/dist/src/metrics/github-client.js +133 -0
  484. package/dist/src/metrics/github-client.js.map +1 -0
  485. package/dist/src/metrics/report-generator.d.ts +17 -0
  486. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  487. package/dist/src/metrics/report-generator.js +403 -0
  488. package/dist/src/metrics/report-generator.js.map +1 -0
  489. package/dist/src/metrics/types.d.ts +112 -0
  490. package/dist/src/metrics/types.d.ts.map +1 -0
  491. package/dist/src/metrics/types.js +10 -0
  492. package/dist/src/metrics/types.js.map +1 -0
  493. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  494. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  495. package/dist/src/metrics/utils/percentile.js +46 -0
  496. package/dist/src/metrics/utils/percentile.js.map +1 -0
  497. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  498. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  499. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  500. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  501. package/dist/src/testing/test-generator.d.ts +117 -0
  502. package/dist/src/testing/test-generator.d.ts.map +1 -0
  503. package/dist/src/testing/test-generator.js +370 -0
  504. package/dist/src/testing/test-generator.js.map +1 -0
  505. package/dist/src/types/cost-tracking.d.ts +43 -0
  506. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  507. package/dist/src/types/cost-tracking.js +8 -0
  508. package/dist/src/types/cost-tracking.js.map +1 -0
  509. package/dist/src/types/model-selection.d.ts +53 -0
  510. package/dist/src/types/model-selection.d.ts.map +1 -0
  511. package/dist/src/types/model-selection.js +12 -0
  512. package/dist/src/types/model-selection.js.map +1 -0
  513. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  514. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  515. package/dist/src/utils/agents-md-compiler.js +420 -0
  516. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  517. package/dist/src/utils/auth-helpers.d.ts +58 -0
  518. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  519. package/dist/src/utils/auth-helpers.js +108 -0
  520. package/dist/src/utils/auth-helpers.js.map +1 -0
  521. package/dist/src/utils/auto-install.d.ts +47 -0
  522. package/dist/src/utils/auto-install.d.ts.map +1 -0
  523. package/dist/src/utils/auto-install.js +211 -0
  524. package/dist/src/utils/auto-install.js.map +1 -0
  525. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  526. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  527. package/dist/src/utils/claude-cli-detector.js +285 -0
  528. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  529. package/dist/src/utils/cost-reporter.d.ts +58 -0
  530. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  531. package/dist/src/utils/cost-reporter.js +224 -0
  532. package/dist/src/utils/cost-reporter.js.map +1 -0
  533. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  534. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  535. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  536. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  537. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  538. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  539. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  540. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  541. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  542. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  543. package/dist/src/utils/docs-preview/index.js +7 -0
  544. package/dist/src/utils/docs-preview/index.js.map +1 -0
  545. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  546. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  547. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  548. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  549. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  550. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  551. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  552. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  553. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  554. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  555. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  556. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  557. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  558. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  559. package/dist/src/utils/docs-preview/types.js +2 -0
  560. package/dist/src/utils/docs-preview/types.js.map +1 -0
  561. package/dist/src/utils/env-file.d.ts +88 -0
  562. package/dist/src/utils/env-file.d.ts.map +1 -0
  563. package/dist/src/utils/env-file.js +180 -0
  564. package/dist/src/utils/env-file.js.map +1 -0
  565. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  566. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  567. package/dist/src/utils/env-multi-project-parser.js +403 -0
  568. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  569. package/dist/src/utils/esm-helpers.d.ts +50 -0
  570. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  571. package/dist/src/utils/esm-helpers.js +57 -0
  572. package/dist/src/utils/esm-helpers.js.map +1 -0
  573. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  574. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  575. package/dist/src/utils/execFileNoThrow.js +137 -0
  576. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  577. package/dist/src/utils/external-resource-validator.d.ts +102 -0
  578. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  579. package/dist/src/utils/external-resource-validator.js +400 -0
  580. package/dist/src/utils/external-resource-validator.js.map +1 -0
  581. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  582. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  583. package/dist/src/utils/generate-skills-index.js +410 -0
  584. package/dist/src/utils/generate-skills-index.js.map +1 -0
  585. package/dist/src/utils/model-selection.d.ts +75 -0
  586. package/dist/src/utils/model-selection.d.ts.map +1 -0
  587. package/dist/src/utils/model-selection.js +204 -0
  588. package/dist/src/utils/model-selection.js.map +1 -0
  589. package/dist/src/utils/plugin-validator.d.ts +161 -0
  590. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  591. package/dist/src/utils/plugin-validator.js +558 -0
  592. package/dist/src/utils/plugin-validator.js.map +1 -0
  593. package/dist/src/utils/pricing-constants.d.ts +70 -0
  594. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  595. package/dist/src/utils/pricing-constants.js +71 -0
  596. package/dist/src/utils/pricing-constants.js.map +1 -0
  597. package/dist/src/utils/project-detection.d.ts +141 -0
  598. package/dist/src/utils/project-detection.d.ts.map +1 -0
  599. package/dist/src/utils/project-detection.js +321 -0
  600. package/dist/src/utils/project-detection.js.map +1 -0
  601. package/dist/src/utils/string-utils.d.ts +40 -0
  602. package/dist/src/utils/string-utils.d.ts.map +1 -0
  603. package/dist/src/utils/string-utils.js +58 -0
  604. package/dist/src/utils/string-utils.js.map +1 -0
  605. package/dist/src/utils/translation.d.ts +187 -0
  606. package/dist/src/utils/translation.d.ts.map +1 -0
  607. package/dist/src/utils/translation.js +414 -0
  608. package/dist/src/utils/translation.js.map +1 -0
  609. package/dist/utils/plugin-validator.d.ts.map +1 -1
  610. package/dist/utils/plugin-validator.js +0 -7
  611. package/dist/utils/plugin-validator.js.map +1 -1
  612. package/package.json +3 -2
  613. package/plugins/specweave/agents/reflective-reviewer/AGENT.md +535 -0
  614. package/plugins/specweave/hooks/post-first-increment.sh +10 -28
  615. package/plugins/specweave/hooks/post-increment-planning.sh +261 -1
  616. package/plugins/specweave/hooks/post-task-completion.sh +26 -0
  617. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +269 -0
  618. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +264 -0
  619. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +178 -0
  620. package/plugins/specweave/lib/hooks/reflection-config-loader.ts +156 -0
  621. package/plugins/specweave/lib/hooks/reflection-parser.ts +484 -0
  622. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +306 -0
  623. package/plugins/specweave/lib/hooks/reflection-storage.ts +369 -0
  624. package/plugins/specweave/lib/hooks/run-self-reflection.ts +258 -0
  625. package/plugins/specweave/lib/hooks/sync-living-docs.ts +147 -0
  626. package/plugins/specweave/lib/hooks/translate-file.ts +428 -0
  627. package/plugins/specweave/lib/hooks/translate-living-docs.ts +224 -0
  628. package/plugins/specweave/lib/hooks/types/reflection-types.ts +193 -0
  629. package/plugins/specweave/lib/hooks/update-tasks-md.ts +256 -0
  630. package/plugins/specweave/skills/SKILLS-INDEX.md +2 -2
  631. package/plugins/specweave/skills/increment-planner/SKILL.md +8 -0
  632. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -4
  633. package/plugins/specweave/skills/plugin-installer/SKILL.md +19 -21
  634. package/plugins/specweave/skills/plugin-validator/SKILL.md +0 -1
  635. package/plugins/specweave/skills/project-kickstarter/SKILL.md +3 -3
  636. package/plugins/specweave/skills/spec-generator/SKILL.md +3 -3
  637. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +21 -0
  638. package/plugins/specweave-docs-preview/commands/build.md +489 -0
  639. package/plugins/specweave-docs-preview/commands/preview.md +330 -0
  640. package/plugins/specweave-docs-preview/skills/docs-preview/SKILL.md +386 -0
  641. package/plugins/specweave/skills/translator/SKILL.md.bak +0 -172
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Core Reflection Engine
3
+ *
4
+ * Orchestrates the self-reflection process:
5
+ * 1. Load configuration
6
+ * 2. Get modified files
7
+ * 3. Build prompt
8
+ * 4. Invoke reflective-reviewer agent
9
+ * 5. Parse response
10
+ * 6. Store reflection
11
+ *
12
+ * @module run-self-reflection
13
+ */
14
+
15
+ import { loadAndValidateReflectionConfig } from './reflection-config-loader';
16
+ import { getModifiedFiles, getModifiedFilesSummary } from './git-diff-analyzer';
17
+ import { buildReflectionPrompt, estimatePromptTokens } from './reflection-prompt-builder';
18
+ import { parseReflectionMarkdown, validateReflectionResult } from './reflection-parser';
19
+ import { saveReflection } from './reflection-storage';
20
+ import {
21
+ ReflectionContext,
22
+ ReflectionExecutionResult,
23
+ ReflectionMode,
24
+ ReflectionModel
25
+ } from './types/reflection-types';
26
+
27
+ /**
28
+ * Check if reflection should run for the current context
29
+ *
30
+ * @param context Reflection context with config and modified files
31
+ * @returns True if reflection should run
32
+ */
33
+ function shouldRunReflection(context: ReflectionContext): boolean {
34
+ const { config, modifiedFiles } = context;
35
+
36
+ // Check if reflection is enabled
37
+ if (!config.enabled) {
38
+ return false;
39
+ }
40
+
41
+ // Check mode
42
+ if (config.mode === ReflectionMode.DISABLED) {
43
+ return false;
44
+ }
45
+
46
+ if (config.mode === ReflectionMode.MANUAL) {
47
+ // Manual mode requires explicit invocation
48
+ // This function is only called in auto mode, so skip
49
+ return false;
50
+ }
51
+
52
+ // Check if there are modified files to analyze
53
+ if (modifiedFiles.length === 0) {
54
+ return false;
55
+ }
56
+
57
+ return true;
58
+ }
59
+
60
+ /**
61
+ * Estimate reflection cost based on model and prompt size
62
+ *
63
+ * @param model Reflection model (haiku, sonnet, opus)
64
+ * @param promptTokens Estimated prompt token count
65
+ * @param responseTokens Estimated response token count (default: 2000)
66
+ * @returns Estimated cost in USD
67
+ */
68
+ function estimateReflectionCost(
69
+ model: ReflectionModel,
70
+ promptTokens: number,
71
+ responseTokens: number = 2000
72
+ ): number {
73
+ // Pricing per 1M tokens (as of Nov 2025)
74
+ const pricing = {
75
+ [ReflectionModel.HAIKU]: { input: 0.80, output: 4.00 },
76
+ [ReflectionModel.SONNET]: { input: 3.00, output: 15.00 },
77
+ [ReflectionModel.OPUS]: { input: 15.00, output: 75.00 }
78
+ };
79
+
80
+ const modelPricing = pricing[model];
81
+ const inputCost = (promptTokens / 1_000_000) * modelPricing.input;
82
+ const outputCost = (responseTokens / 1_000_000) * modelPricing.output;
83
+
84
+ return inputCost + outputCost;
85
+ }
86
+
87
+ /**
88
+ * Invoke reflective-reviewer agent to analyze code
89
+ *
90
+ * @param prompt Reflection prompt
91
+ * @param model Model to use (haiku, sonnet, opus)
92
+ * @returns Agent response (markdown reflection)
93
+ */
94
+ async function invokeReflectiveReviewerAgent(
95
+ prompt: string,
96
+ model: ReflectionModel
97
+ ): Promise<string> {
98
+ // NOTE: This is a placeholder for agent invocation
99
+ // In the real implementation, this would use Claude Code's Task tool
100
+ // to invoke the specweave:reflective-reviewer:reflective-reviewer agent
101
+ //
102
+ // For now, we'll return a mock response to enable testing
103
+ // The actual implementation will be in the hook integration (T-008)
104
+
105
+ throw new Error(
106
+ 'Agent invocation not implemented yet. ' +
107
+ 'This function will be implemented in hook integration (T-008). ' +
108
+ 'Call this from the post-task-completion hook using the Task tool.'
109
+ );
110
+ }
111
+
112
+ /**
113
+ * Run self-reflection analysis
114
+ * Main entry point for the reflection system
115
+ *
116
+ * @param context Reflection context with increment, task, and files
117
+ * @returns Reflection execution result (success or error)
118
+ */
119
+ export async function runSelfReflection(
120
+ context: ReflectionContext
121
+ ): Promise<ReflectionExecutionResult> {
122
+ const { incrementId, taskId, modifiedFiles, config } = context;
123
+ const startTime = Date.now();
124
+
125
+ try {
126
+ // Step 1: Check if reflection should run
127
+ if (!shouldRunReflection(context)) {
128
+ return {
129
+ success: true,
130
+ result: undefined,
131
+ error: undefined
132
+ };
133
+ }
134
+
135
+ // Step 2: Build reflection prompt
136
+ const prompt = buildReflectionPrompt({
137
+ taskId,
138
+ taskName: `Task ${taskId}`, // Will be enhanced with actual task name in hook
139
+ modifiedFiles,
140
+ config,
141
+ incrementId,
142
+ includeFullDiff: false // Use simplified prompt for token efficiency
143
+ });
144
+
145
+ // Step 3: Estimate cost
146
+ const promptTokens = estimatePromptTokens(prompt);
147
+ const estimatedCost = estimateReflectionCost(config.model, promptTokens);
148
+
149
+ // Step 4: Invoke reflective-reviewer agent
150
+ const agentResponse = await invokeReflectiveReviewerAgent(prompt, config.model);
151
+
152
+ // Step 5: Parse response
153
+ const endTime = Date.now();
154
+ const reflectionTime = Math.round((endTime - startTime) / 1000); // seconds
155
+
156
+ const reflectionResult = parseReflectionMarkdown(
157
+ agentResponse,
158
+ `Task ${taskId}`,
159
+ config.model,
160
+ reflectionTime,
161
+ estimatedCost
162
+ );
163
+
164
+ // Step 6: Add file modification stats
165
+ const fileStats = getModifiedFilesSummary(modifiedFiles);
166
+ reflectionResult.filesModified = {
167
+ count: fileStats.count,
168
+ linesAdded: fileStats.linesAdded,
169
+ linesRemoved: fileStats.linesRemoved
170
+ };
171
+
172
+ // Step 7: Validate reflection result
173
+ const validation = validateReflectionResult(reflectionResult);
174
+ if (!validation.valid) {
175
+ return {
176
+ success: false,
177
+ error: {
178
+ message: 'Reflection validation failed',
179
+ code: 'VALIDATION_ERROR',
180
+ details: validation.errors
181
+ }
182
+ };
183
+ }
184
+
185
+ // Step 8: Store reflection (if enabled)
186
+ if (config.storeReflections) {
187
+ try {
188
+ saveReflection(reflectionResult, incrementId, taskId);
189
+ } catch (storageError: any) {
190
+ // Storage failure shouldn't fail the entire reflection
191
+ console.warn(`Failed to store reflection: ${storageError.message}`);
192
+ }
193
+ }
194
+
195
+ // Step 9: Return success
196
+ return {
197
+ success: true,
198
+ result: reflectionResult
199
+ };
200
+
201
+ } catch (error: any) {
202
+ // Graceful degradation: Return error but don't throw
203
+ return {
204
+ success: false,
205
+ error: {
206
+ message: error.message || 'Unknown error during reflection',
207
+ code: 'REFLECTION_ERROR',
208
+ details: error.stack
209
+ }
210
+ };
211
+ }
212
+ }
213
+
214
+ /**
215
+ * Create reflection context from hook environment
216
+ * Helper function for hook integration
217
+ *
218
+ * @param incrementId Increment identifier
219
+ * @param taskId Task identifier
220
+ * @param projectRoot Project root directory (optional, auto-detected)
221
+ * @returns Reflection context ready for runSelfReflection
222
+ */
223
+ export function createReflectionContext(
224
+ incrementId: string,
225
+ taskId: string,
226
+ projectRoot?: string
227
+ ): ReflectionContext {
228
+ // Load and validate configuration
229
+ const config = loadAndValidateReflectionConfig(projectRoot);
230
+
231
+ // Get modified files from git
232
+ const modifiedFiles = getModifiedFiles(projectRoot);
233
+
234
+ return {
235
+ incrementId,
236
+ taskId,
237
+ modifiedFiles,
238
+ config
239
+ };
240
+ }
241
+
242
+ /**
243
+ * Run reflection with automatic context creation
244
+ * Convenience function for hook integration
245
+ *
246
+ * @param incrementId Increment identifier
247
+ * @param taskId Task identifier
248
+ * @param projectRoot Project root directory (optional)
249
+ * @returns Reflection execution result
250
+ */
251
+ export async function runReflectionAuto(
252
+ incrementId: string,
253
+ taskId: string,
254
+ projectRoot?: string
255
+ ): Promise<ReflectionExecutionResult> {
256
+ const context = createReflectionContext(incrementId, taskId, projectRoot);
257
+ return runSelfReflection(context);
258
+ }
@@ -0,0 +1,147 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * SpecWeave Living Docs Auto-Sync
5
+ *
6
+ * Automatically syncs living documentation after task completion.
7
+ *
8
+ * Usage:
9
+ * node dist/hooks/lib/sync-living-docs.js <incrementId>
10
+ *
11
+ * Example:
12
+ * node dist/hooks/lib/sync-living-docs.js 0006-llm-native-i18n
13
+ *
14
+ * What it does:
15
+ * 1. Checks if sync_living_docs enabled in config
16
+ * 2. Detects changed docs via git diff
17
+ * 3. Invokes /sync-docs update command (future implementation)
18
+ * 4. Logs sync actions
19
+ *
20
+ * @author SpecWeave Team
21
+ * @version 1.0.0
22
+ */
23
+
24
+ import fs from 'fs-extra';
25
+ import path from 'path';
26
+ import { execSync } from 'child_process';
27
+
28
+ interface Config {
29
+ hooks?: {
30
+ post_task_completion?: {
31
+ sync_living_docs?: boolean;
32
+ };
33
+ };
34
+ }
35
+
36
+ /**
37
+ * Main function - sync living docs for given increment
38
+ */
39
+ async function syncLivingDocs(incrementId: string): Promise<void> {
40
+ try {
41
+ console.log(`\nšŸ“š Checking living docs sync for increment: ${incrementId}`);
42
+
43
+ // 1. Load config
44
+ const configPath = path.join(process.cwd(), '.specweave', 'config.json');
45
+ let config: Config = {};
46
+
47
+ if (fs.existsSync(configPath)) {
48
+ config = JSON.parse(await fs.readFile(configPath, 'utf-8'));
49
+ }
50
+
51
+ // 2. Check if sync enabled
52
+ const syncEnabled = config.hooks?.post_task_completion?.sync_living_docs ?? false;
53
+
54
+ if (!syncEnabled) {
55
+ console.log('ā„¹ļø Living docs sync disabled in config');
56
+ console.log(' To enable: Set hooks.post_task_completion.sync_living_docs = true');
57
+ return;
58
+ }
59
+
60
+ console.log('āœ… Living docs sync enabled');
61
+
62
+ // 3. Detect changed docs via git diff
63
+ const changedDocs = detectChangedDocs();
64
+
65
+ if (changedDocs.length === 0) {
66
+ console.log('ā„¹ļø No living docs changed (no git diff in .specweave/docs/)');
67
+ return;
68
+ }
69
+
70
+ console.log(`šŸ“„ Detected ${changedDocs.length} changed doc(s):`);
71
+ changedDocs.forEach((doc) => console.log(` - ${doc}`));
72
+
73
+ // 4. Invoke /sync-docs update command
74
+ // TODO: Implement actual sync command invocation
75
+ // For now, just log what would happen
76
+
77
+ console.log('\nšŸ”„ Syncing living docs...');
78
+ console.log(' (Actual sync command invocation to be implemented in future version)');
79
+ console.log(' Would invoke: /sync-docs update');
80
+
81
+ // Future implementation:
82
+ // await invokeSyncDocsCommand(incrementId);
83
+
84
+ console.log('āœ… Living docs sync check complete\n');
85
+
86
+ } catch (error) {
87
+ console.error('āŒ Error syncing living docs:', error);
88
+ // Don't exit with error - this is best-effort
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Detect changed documentation files via git diff
94
+ */
95
+ function detectChangedDocs(): string[] {
96
+ try {
97
+ // Get changed files in .specweave/docs/
98
+ const output = execSync('git diff --name-only .specweave/docs/ 2>/dev/null || true', {
99
+ encoding: 'utf-8',
100
+ cwd: process.cwd(),
101
+ }).trim();
102
+
103
+ if (!output) {
104
+ return [];
105
+ }
106
+
107
+ // Filter to only .md files
108
+ const files = output
109
+ .split('\n')
110
+ .filter((f) => f.endsWith('.md'))
111
+ .filter((f) => f.length > 0);
112
+
113
+ return files;
114
+ } catch (error) {
115
+ console.warn('āš ļø Could not detect git changes:', error);
116
+ return [];
117
+ }
118
+ }
119
+
120
+ /**
121
+ * Invoke /sync-docs update command
122
+ * TODO: Implement actual command invocation
123
+ */
124
+ async function invokeSyncDocsCommand(incrementId: string): Promise<void> {
125
+ // This will be implemented in future version when /sync-docs command is ready
126
+ console.log(` Invoking /sync-docs update for ${incrementId}`);
127
+ }
128
+
129
+ // CLI entry point
130
+ const isMainModule = import.meta.url === `file://${process.argv[1]}`;
131
+
132
+ if (isMainModule) {
133
+ const incrementId = process.argv[2];
134
+
135
+ if (!incrementId) {
136
+ console.error('āŒ Usage: sync-living-docs <incrementId>');
137
+ console.error(' Example: sync-living-docs 0006-llm-native-i18n');
138
+ process.exit(1);
139
+ }
140
+
141
+ syncLivingDocs(incrementId).catch((error) => {
142
+ console.error('āŒ Fatal error:', error);
143
+ // Don't exit with error code - best-effort sync
144
+ });
145
+ }
146
+
147
+ export { syncLivingDocs };