specweave 0.10.1 → 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 (656) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CLAUDE.md +184 -288
  3. package/README.md +48 -21
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +75 -113
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  8. package/dist/cli/helpers/issue-tracker/index.js +39 -0
  9. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  10. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  11. package/dist/cli/helpers/issue-tracker/jira.js +2 -9
  12. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -1
  13. package/dist/hooks/lib/git-diff-analyzer.d.ts +89 -0
  14. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  15. package/dist/hooks/lib/git-diff-analyzer.js +226 -0
  16. package/dist/hooks/lib/git-diff-analyzer.js.map +1 -0
  17. package/dist/hooks/lib/prepare-reflection-context.d.ts +42 -0
  18. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  19. package/dist/hooks/lib/prepare-reflection-context.js +123 -0
  20. package/dist/hooks/lib/prepare-reflection-context.js.map +1 -0
  21. package/dist/hooks/lib/reflection-config-loader.d.ts +45 -0
  22. package/dist/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  23. package/dist/hooks/lib/reflection-config-loader.js +132 -0
  24. package/dist/hooks/lib/reflection-config-loader.js.map +1 -0
  25. package/dist/hooks/lib/reflection-parser.d.ts +33 -0
  26. package/dist/hooks/lib/reflection-parser.d.ts.map +1 -0
  27. package/dist/hooks/lib/reflection-parser.js +419 -0
  28. package/dist/hooks/lib/reflection-parser.js.map +1 -0
  29. package/dist/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  30. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  31. package/dist/hooks/lib/reflection-prompt-builder.js +239 -0
  32. package/dist/hooks/lib/reflection-prompt-builder.js.map +1 -0
  33. package/dist/hooks/lib/reflection-storage.d.ts +64 -0
  34. package/dist/hooks/lib/reflection-storage.d.ts.map +1 -0
  35. package/dist/hooks/lib/reflection-storage.js +305 -0
  36. package/dist/hooks/lib/reflection-storage.js.map +1 -0
  37. package/dist/hooks/lib/run-self-reflection.d.ts +43 -0
  38. package/dist/hooks/lib/run-self-reflection.d.ts.map +1 -0
  39. package/dist/hooks/lib/run-self-reflection.js +203 -0
  40. package/dist/hooks/lib/run-self-reflection.js.map +1 -0
  41. package/dist/hooks/lib/types/reflection-types.d.ts +164 -0
  42. package/dist/hooks/lib/types/reflection-types.d.ts.map +1 -0
  43. package/dist/hooks/lib/types/reflection-types.js +73 -0
  44. package/dist/hooks/lib/types/reflection-types.js.map +1 -0
  45. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  46. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  47. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  48. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  49. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  50. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  51. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  52. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  53. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  54. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  55. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  56. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  57. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  58. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  59. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  60. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  61. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  62. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  63. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  64. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  65. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  66. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  67. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  68. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  69. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  70. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  71. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  72. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  73. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  74. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  75. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  76. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  77. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  78. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  79. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +116 -0
  80. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  81. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  82. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  83. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  84. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  85. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  86. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  87. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  88. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  89. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  90. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  91. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  92. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  93. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  94. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  95. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  96. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  97. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  98. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  99. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  100. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  101. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  102. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  103. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
  104. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  105. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  106. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  107. package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
  108. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  109. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  110. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  111. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  112. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  113. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  114. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  115. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  116. package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
  117. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  118. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  119. package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  120. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  121. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  122. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  123. package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
  124. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  125. package/dist/plugins/specweave-github/lib/github-client.d.ts +10 -0
  126. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
  127. package/dist/plugins/specweave-github/lib/github-client.js +24 -0
  128. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
  129. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  130. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  131. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  132. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  133. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -1
  134. package/dist/plugins/specweave-github/lib/index.js.map +1 -1
  135. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  136. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  137. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  138. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  139. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -1
  140. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -1
  141. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -1
  142. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -1
  143. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
  144. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
  145. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
  146. package/dist/plugins/specweave-github/lib/types.js.map +1 -1
  147. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  148. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  149. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  150. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  151. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  152. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  153. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  154. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  155. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  156. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  157. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  158. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  159. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  160. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  161. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  162. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  163. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  164. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  165. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  166. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  167. package/dist/src/adapters/adapter-base.d.ts +71 -0
  168. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  169. package/dist/src/adapters/adapter-base.js +139 -0
  170. package/dist/src/adapters/adapter-base.js.map +1 -0
  171. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  172. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  173. package/dist/src/adapters/adapter-interface.js +8 -0
  174. package/dist/src/adapters/adapter-interface.js.map +1 -0
  175. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  176. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  177. package/dist/src/adapters/adapter-loader.js +238 -0
  178. package/dist/src/adapters/adapter-loader.js.map +1 -0
  179. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  180. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  181. package/dist/src/adapters/agents-md-generator.js +193 -0
  182. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  183. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  184. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  185. package/dist/src/adapters/claude/adapter.js +415 -0
  186. package/dist/src/adapters/claude/adapter.js.map +1 -0
  187. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  188. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  189. package/dist/src/adapters/claude-md-generator.js +307 -0
  190. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  191. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  192. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  193. package/dist/src/adapters/codex/adapter.js +316 -0
  194. package/dist/src/adapters/codex/adapter.js.map +1 -0
  195. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  196. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  197. package/dist/src/adapters/cursor/adapter.js +406 -0
  198. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  199. package/dist/src/adapters/doc-generator.d.ts +69 -0
  200. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  201. package/dist/src/adapters/doc-generator.js +247 -0
  202. package/dist/src/adapters/doc-generator.js.map +1 -0
  203. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  204. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  205. package/dist/src/adapters/gemini/adapter.js +281 -0
  206. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  207. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  208. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  209. package/dist/src/adapters/generic/adapter.js +338 -0
  210. package/dist/src/adapters/generic/adapter.js.map +1 -0
  211. package/dist/src/cli/commands/abandon.d.ts +13 -0
  212. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  213. package/dist/src/cli/commands/abandon.js +15 -0
  214. package/dist/src/cli/commands/abandon.js.map +1 -0
  215. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  216. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  217. package/dist/src/cli/commands/import-docs.js +146 -0
  218. package/dist/src/cli/commands/import-docs.js.map +1 -0
  219. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  220. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  221. package/dist/src/cli/commands/init-multiproject.js +202 -0
  222. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  223. package/dist/src/cli/commands/init.d.ts +9 -0
  224. package/dist/src/cli/commands/init.d.ts.map +1 -0
  225. package/dist/src/cli/commands/init.js +1205 -0
  226. package/dist/src/cli/commands/init.js.map +1 -0
  227. package/dist/src/cli/commands/install.d.ts +9 -0
  228. package/dist/src/cli/commands/install.d.ts.map +1 -0
  229. package/dist/src/cli/commands/install.js +127 -0
  230. package/dist/src/cli/commands/install.js.map +1 -0
  231. package/dist/src/cli/commands/list.d.ts +8 -0
  232. package/dist/src/cli/commands/list.d.ts.map +1 -0
  233. package/dist/src/cli/commands/list.js +119 -0
  234. package/dist/src/cli/commands/list.js.map +1 -0
  235. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  236. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  237. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  238. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  239. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  240. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  241. package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
  242. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  243. package/dist/src/cli/commands/pause.d.ts +13 -0
  244. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  245. package/dist/src/cli/commands/pause.js +15 -0
  246. package/dist/src/cli/commands/pause.js.map +1 -0
  247. package/dist/src/cli/commands/qa.d.ts +54 -0
  248. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  249. package/dist/src/cli/commands/qa.js +98 -0
  250. package/dist/src/cli/commands/qa.js.map +1 -0
  251. package/dist/src/cli/commands/resume.d.ts +12 -0
  252. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  253. package/dist/src/cli/commands/resume.js +14 -0
  254. package/dist/src/cli/commands/resume.js.map +1 -0
  255. package/dist/src/cli/commands/status.d.ts +12 -0
  256. package/dist/src/cli/commands/status.d.ts.map +1 -0
  257. package/dist/src/cli/commands/status.js +23 -0
  258. package/dist/src/cli/commands/status.js.map +1 -0
  259. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  260. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  261. package/dist/src/cli/commands/switch-project.js +91 -0
  262. package/dist/src/cli/commands/switch-project.js.map +1 -0
  263. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  264. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  265. package/dist/src/cli/commands/validate-jira.js +112 -0
  266. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  267. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  268. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  269. package/dist/src/cli/commands/validate-plugins.js +171 -0
  270. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  271. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  272. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  273. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  274. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  275. package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
  276. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  277. package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
  278. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  279. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  280. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  281. package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
  282. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  283. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  284. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  285. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  286. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  287. package/dist/src/cli/helpers/issue-tracker/types.d.ts +107 -0
  288. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  289. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  290. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  291. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
  292. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  293. package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
  294. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  295. package/dist/src/core/agent-model-manager.d.ts +52 -0
  296. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  297. package/dist/src/core/agent-model-manager.js +120 -0
  298. package/dist/src/core/agent-model-manager.js.map +1 -0
  299. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  300. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  301. package/dist/src/core/brownfield/analyzer.js +365 -0
  302. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  303. package/dist/src/core/brownfield/importer.d.ts +76 -0
  304. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  305. package/dist/src/core/brownfield/importer.js +287 -0
  306. package/dist/src/core/brownfield/importer.js.map +1 -0
  307. package/dist/src/core/config-manager.d.ts +47 -0
  308. package/dist/src/core/config-manager.d.ts.map +1 -0
  309. package/dist/src/core/config-manager.js +136 -0
  310. package/dist/src/core/config-manager.js.map +1 -0
  311. package/dist/src/core/cost-tracker.d.ts +108 -0
  312. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  313. package/dist/src/core/cost-tracker.js +281 -0
  314. package/dist/src/core/cost-tracker.js.map +1 -0
  315. package/dist/src/core/credentials-manager.d.ts +107 -0
  316. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  317. package/dist/src/core/credentials-manager.js +457 -0
  318. package/dist/src/core/credentials-manager.js.map +1 -0
  319. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  320. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  321. package/dist/src/core/i18n/language-detector.js +143 -0
  322. package/dist/src/core/i18n/language-detector.js.map +1 -0
  323. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  324. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  325. package/dist/src/core/i18n/language-manager.js +232 -0
  326. package/dist/src/core/i18n/language-manager.js.map +1 -0
  327. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  328. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  329. package/dist/src/core/i18n/language-registry.js +234 -0
  330. package/dist/src/core/i18n/language-registry.js.map +1 -0
  331. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  332. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  333. package/dist/src/core/i18n/locale-manager.js +137 -0
  334. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  335. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  336. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  337. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  338. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  339. package/dist/src/core/i18n/types.d.ts +151 -0
  340. package/dist/src/core/i18n/types.d.ts.map +1 -0
  341. package/dist/src/core/i18n/types.js +11 -0
  342. package/dist/src/core/i18n/types.js.map +1 -0
  343. package/dist/src/core/increment/limits.d.ts +68 -0
  344. package/dist/src/core/increment/limits.d.ts.map +1 -0
  345. package/dist/src/core/increment/limits.js +224 -0
  346. package/dist/src/core/increment/limits.js.map +1 -0
  347. package/dist/src/core/increment/metadata-manager.d.ts +114 -0
  348. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  349. package/dist/src/core/increment/metadata-manager.js +320 -0
  350. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  351. package/dist/src/core/increment/status-commands.d.ts +43 -0
  352. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  353. package/dist/src/core/increment/status-commands.js +277 -0
  354. package/dist/src/core/increment/status-commands.js.map +1 -0
  355. package/dist/src/core/increment-status.d.ts +72 -0
  356. package/dist/src/core/increment-status.d.ts.map +1 -0
  357. package/dist/src/core/increment-status.js +227 -0
  358. package/dist/src/core/increment-status.js.map +1 -0
  359. package/dist/src/core/model-selector.d.ts +57 -0
  360. package/dist/src/core/model-selector.d.ts.map +1 -0
  361. package/dist/src/core/model-selector.js +115 -0
  362. package/dist/src/core/model-selector.js.map +1 -0
  363. package/dist/src/core/phase-detector.d.ts +62 -0
  364. package/dist/src/core/phase-detector.d.ts.map +1 -0
  365. package/dist/src/core/phase-detector.js +229 -0
  366. package/dist/src/core/phase-detector.js.map +1 -0
  367. package/dist/src/core/plugin-loader.d.ts +131 -0
  368. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  369. package/dist/src/core/plugin-loader.js +421 -0
  370. package/dist/src/core/plugin-loader.js.map +1 -0
  371. package/dist/src/core/project-manager.d.ts +127 -0
  372. package/dist/src/core/project-manager.d.ts.map +1 -0
  373. package/dist/src/core/project-manager.js +524 -0
  374. package/dist/src/core/project-manager.js.map +1 -0
  375. package/dist/src/core/project-structure-detector.d.ts +92 -0
  376. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  377. package/dist/src/core/project-structure-detector.js +289 -0
  378. package/dist/src/core/project-structure-detector.js.map +1 -0
  379. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  380. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  381. package/dist/src/core/qa/qa-runner.js +404 -0
  382. package/dist/src/core/qa/qa-runner.js.map +1 -0
  383. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  384. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  385. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  386. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  387. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  388. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  389. package/dist/src/core/qa/risk-calculator.js +247 -0
  390. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  391. package/dist/src/core/qa/types.d.ts +315 -0
  392. package/dist/src/core/qa/types.d.ts.map +1 -0
  393. package/dist/src/core/qa/types.js +8 -0
  394. package/dist/src/core/qa/types.js.map +1 -0
  395. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  396. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  397. package/dist/src/core/rfc-generator-v2.js +399 -0
  398. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  399. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  400. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  401. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  402. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  403. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  404. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  405. package/dist/src/core/sync/folder-mapper.js +168 -0
  406. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  407. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  408. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  409. package/dist/src/core/sync/profile-manager.js +338 -0
  410. package/dist/src/core/sync/profile-manager.js.map +1 -0
  411. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  412. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  413. package/dist/src/core/sync/profile-selector.js +179 -0
  414. package/dist/src/core/sync/profile-selector.js.map +1 -0
  415. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  416. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  417. package/dist/src/core/sync/profile-validator.js +225 -0
  418. package/dist/src/core/sync/profile-validator.js.map +1 -0
  419. package/dist/src/core/sync/project-context.d.ts +81 -0
  420. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  421. package/dist/src/core/sync/project-context.js +354 -0
  422. package/dist/src/core/sync/project-context.js.map +1 -0
  423. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  424. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  425. package/dist/src/core/sync/rate-limiter.js +308 -0
  426. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  427. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  428. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  429. package/dist/src/core/sync/time-range-selector.js +224 -0
  430. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  431. package/dist/src/core/types/config.d.ts +90 -0
  432. package/dist/src/core/types/config.d.ts.map +1 -0
  433. package/dist/src/core/types/config.js +37 -0
  434. package/dist/src/core/types/config.js.map +1 -0
  435. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  436. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  437. package/dist/src/core/types/increment-metadata.js +138 -0
  438. package/dist/src/core/types/increment-metadata.js.map +1 -0
  439. package/dist/src/core/types/plugin.d.ts +283 -0
  440. package/dist/src/core/types/plugin.d.ts.map +1 -0
  441. package/dist/src/core/types/plugin.js +49 -0
  442. package/dist/src/core/types/plugin.js.map +1 -0
  443. package/dist/src/core/types/sync-profile.d.ts +403 -0
  444. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  445. package/dist/src/core/types/sync-profile.js +55 -0
  446. package/dist/src/core/types/sync-profile.js.map +1 -0
  447. package/dist/src/hooks/lib/types/reflection-types.d.ts +125 -0
  448. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  449. package/dist/src/hooks/lib/types/reflection-types.js +54 -0
  450. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  451. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  452. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  453. package/dist/src/integrations/ado/ado-client.js +416 -0
  454. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  455. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  456. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  457. package/dist/src/integrations/jira/jira-client.js +386 -0
  458. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  459. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  460. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  461. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  462. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  463. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  464. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  465. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  466. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  467. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  468. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  469. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  470. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  471. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  472. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  473. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  474. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  475. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  476. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  477. package/dist/src/metrics/calculators/lead-time.js +82 -0
  478. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  479. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  480. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  481. package/dist/src/metrics/calculators/mttr.js +60 -0
  482. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  483. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  484. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  485. package/dist/src/metrics/dora-calculator.js +117 -0
  486. package/dist/src/metrics/dora-calculator.js.map +1 -0
  487. package/dist/src/metrics/github-client.d.ts +51 -0
  488. package/dist/src/metrics/github-client.d.ts.map +1 -0
  489. package/dist/src/metrics/github-client.js +133 -0
  490. package/dist/src/metrics/github-client.js.map +1 -0
  491. package/dist/src/metrics/report-generator.d.ts +17 -0
  492. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  493. package/dist/src/metrics/report-generator.js +403 -0
  494. package/dist/src/metrics/report-generator.js.map +1 -0
  495. package/dist/src/metrics/types.d.ts +112 -0
  496. package/dist/src/metrics/types.d.ts.map +1 -0
  497. package/dist/src/metrics/types.js +10 -0
  498. package/dist/src/metrics/types.js.map +1 -0
  499. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  500. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  501. package/dist/src/metrics/utils/percentile.js +46 -0
  502. package/dist/src/metrics/utils/percentile.js.map +1 -0
  503. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  504. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  505. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  506. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  507. package/dist/src/testing/test-generator.d.ts +117 -0
  508. package/dist/src/testing/test-generator.d.ts.map +1 -0
  509. package/dist/src/testing/test-generator.js +370 -0
  510. package/dist/src/testing/test-generator.js.map +1 -0
  511. package/dist/src/types/cost-tracking.d.ts +43 -0
  512. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  513. package/dist/src/types/cost-tracking.js +8 -0
  514. package/dist/src/types/cost-tracking.js.map +1 -0
  515. package/dist/src/types/model-selection.d.ts +53 -0
  516. package/dist/src/types/model-selection.d.ts.map +1 -0
  517. package/dist/src/types/model-selection.js +12 -0
  518. package/dist/src/types/model-selection.js.map +1 -0
  519. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  520. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  521. package/dist/src/utils/agents-md-compiler.js +420 -0
  522. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  523. package/dist/src/utils/auth-helpers.d.ts +58 -0
  524. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  525. package/dist/src/utils/auth-helpers.js +108 -0
  526. package/dist/src/utils/auth-helpers.js.map +1 -0
  527. package/dist/src/utils/auto-install.d.ts +47 -0
  528. package/dist/src/utils/auto-install.d.ts.map +1 -0
  529. package/dist/src/utils/auto-install.js +211 -0
  530. package/dist/src/utils/auto-install.js.map +1 -0
  531. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  532. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  533. package/dist/src/utils/claude-cli-detector.js +285 -0
  534. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  535. package/dist/src/utils/cost-reporter.d.ts +58 -0
  536. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  537. package/dist/src/utils/cost-reporter.js +224 -0
  538. package/dist/src/utils/cost-reporter.js.map +1 -0
  539. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  540. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  541. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  542. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  543. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  544. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  545. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  546. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  547. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  548. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  549. package/dist/src/utils/docs-preview/index.js +7 -0
  550. package/dist/src/utils/docs-preview/index.js.map +1 -0
  551. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  552. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  553. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  554. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  555. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  556. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  557. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  558. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  559. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  560. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  561. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  562. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  563. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  564. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  565. package/dist/src/utils/docs-preview/types.js +2 -0
  566. package/dist/src/utils/docs-preview/types.js.map +1 -0
  567. package/dist/src/utils/env-file.d.ts +88 -0
  568. package/dist/src/utils/env-file.d.ts.map +1 -0
  569. package/dist/src/utils/env-file.js +180 -0
  570. package/dist/src/utils/env-file.js.map +1 -0
  571. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  572. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  573. package/dist/src/utils/env-multi-project-parser.js +403 -0
  574. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  575. package/dist/src/utils/esm-helpers.d.ts +50 -0
  576. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  577. package/dist/src/utils/esm-helpers.js +57 -0
  578. package/dist/src/utils/esm-helpers.js.map +1 -0
  579. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  580. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  581. package/dist/src/utils/execFileNoThrow.js +137 -0
  582. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  583. package/dist/src/utils/external-resource-validator.d.ts +102 -0
  584. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  585. package/dist/src/utils/external-resource-validator.js +400 -0
  586. package/dist/src/utils/external-resource-validator.js.map +1 -0
  587. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  588. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  589. package/dist/src/utils/generate-skills-index.js +410 -0
  590. package/dist/src/utils/generate-skills-index.js.map +1 -0
  591. package/dist/src/utils/model-selection.d.ts +75 -0
  592. package/dist/src/utils/model-selection.d.ts.map +1 -0
  593. package/dist/src/utils/model-selection.js +204 -0
  594. package/dist/src/utils/model-selection.js.map +1 -0
  595. package/dist/src/utils/plugin-validator.d.ts +161 -0
  596. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  597. package/dist/src/utils/plugin-validator.js +558 -0
  598. package/dist/src/utils/plugin-validator.js.map +1 -0
  599. package/dist/src/utils/pricing-constants.d.ts +70 -0
  600. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  601. package/dist/src/utils/pricing-constants.js +71 -0
  602. package/dist/src/utils/pricing-constants.js.map +1 -0
  603. package/dist/src/utils/project-detection.d.ts +141 -0
  604. package/dist/src/utils/project-detection.d.ts.map +1 -0
  605. package/dist/src/utils/project-detection.js +321 -0
  606. package/dist/src/utils/project-detection.js.map +1 -0
  607. package/dist/src/utils/string-utils.d.ts +40 -0
  608. package/dist/src/utils/string-utils.d.ts.map +1 -0
  609. package/dist/src/utils/string-utils.js +58 -0
  610. package/dist/src/utils/string-utils.js.map +1 -0
  611. package/dist/src/utils/translation.d.ts +187 -0
  612. package/dist/src/utils/translation.d.ts.map +1 -0
  613. package/dist/src/utils/translation.js +414 -0
  614. package/dist/src/utils/translation.js.map +1 -0
  615. package/dist/utils/plugin-validator.d.ts.map +1 -1
  616. package/dist/utils/plugin-validator.js +0 -7
  617. package/dist/utils/plugin-validator.js.map +1 -1
  618. package/package.json +3 -2
  619. package/plugins/specweave/agents/reflective-reviewer/AGENT.md +535 -0
  620. package/plugins/specweave/hooks/post-first-increment.sh +10 -28
  621. package/plugins/specweave/hooks/post-increment-planning.sh +261 -1
  622. package/plugins/specweave/hooks/post-task-completion.sh +26 -0
  623. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +269 -0
  624. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +264 -0
  625. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +178 -0
  626. package/plugins/specweave/lib/hooks/reflection-config-loader.ts +156 -0
  627. package/plugins/specweave/lib/hooks/reflection-parser.ts +484 -0
  628. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +306 -0
  629. package/plugins/specweave/lib/hooks/reflection-storage.ts +369 -0
  630. package/plugins/specweave/lib/hooks/run-self-reflection.ts +258 -0
  631. package/plugins/specweave/lib/hooks/sync-living-docs.ts +147 -0
  632. package/plugins/specweave/lib/hooks/translate-file.ts +428 -0
  633. package/plugins/specweave/lib/hooks/translate-living-docs.ts +224 -0
  634. package/plugins/specweave/lib/hooks/types/reflection-types.ts +193 -0
  635. package/plugins/specweave/lib/hooks/update-tasks-md.ts +256 -0
  636. package/plugins/specweave/skills/SKILLS-INDEX.md +2 -2
  637. package/plugins/specweave/skills/increment-planner/SKILL.md +21 -92
  638. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -4
  639. package/plugins/specweave/skills/plugin-installer/SKILL.md +41 -28
  640. package/plugins/specweave/skills/plugin-validator/SKILL.md +0 -1
  641. package/plugins/specweave/skills/project-kickstarter/SKILL.md +3 -3
  642. package/plugins/specweave/skills/spec-generator/SKILL.md +3 -3
  643. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +2 -0
  644. package/plugins/specweave-ado/commands/specweave-ado-sync.md +102 -9
  645. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +7 -3
  646. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +21 -0
  647. package/plugins/specweave-docs-preview/commands/build.md +489 -0
  648. package/plugins/specweave-docs-preview/commands/preview.md +330 -0
  649. package/plugins/specweave-docs-preview/skills/docs-preview/SKILL.md +386 -0
  650. package/plugins/specweave-github/agents/github-manager/AGENT.md +14 -4
  651. package/plugins/specweave-github/commands/specweave-github-sync.md +60 -11
  652. package/plugins/specweave-github/skills/github-sync/SKILL.md +3 -1
  653. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +18 -8
  654. package/plugins/specweave-jira/commands/specweave-jira-sync.md +62 -19
  655. package/plugins/specweave-jira/skills/jira-sync/SKILL.md +5 -3
  656. package/plugins/specweave/skills/translator/SKILL.md.bak +0 -172
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Type definitions for AI Self-Reflection System
3
+ * @module reflection-types
4
+ */
5
+
6
+ /**
7
+ * Severity levels for identified issues
8
+ */
9
+ export enum IssueSeverity {
10
+ CRITICAL = 'CRITICAL',
11
+ HIGH = 'HIGH',
12
+ MEDIUM = 'MEDIUM',
13
+ LOW = 'LOW'
14
+ }
15
+
16
+ /**
17
+ * Issue categories
18
+ */
19
+ export enum IssueCategory {
20
+ SECURITY = 'SECURITY',
21
+ QUALITY = 'QUALITY',
22
+ TESTING = 'TESTING',
23
+ PERFORMANCE = 'PERFORMANCE',
24
+ TECHNICAL_DEBT = 'TECHNICAL_DEBT'
25
+ }
26
+
27
+ /**
28
+ * Reflection depth modes
29
+ */
30
+ export enum ReflectionDepth {
31
+ QUICK = 'quick', // <15s, critical issues only
32
+ STANDARD = 'standard', // <30s, full analysis (default)
33
+ DEEP = 'deep' // <60s, detailed + architectural
34
+ }
35
+
36
+ /**
37
+ * AI model selection for reflection
38
+ */
39
+ export enum ReflectionModel {
40
+ HAIKU = 'haiku', // Fast, cheap (~$0.01/task)
41
+ SONNET = 'sonnet', // Balanced (~$0.05/task)
42
+ OPUS = 'opus' // Deep analysis (~$0.15/task)
43
+ }
44
+
45
+ /**
46
+ * Reflection execution mode
47
+ */
48
+ export enum ReflectionMode {
49
+ AUTO = 'auto', // Automatic after task completion
50
+ MANUAL = 'manual', // User-triggered only
51
+ DISABLED = 'disabled' // Reflection disabled
52
+ }
53
+
54
+ /**
55
+ * Issue identified during reflection
56
+ */
57
+ export interface ReflectionIssue {
58
+ severity: IssueSeverity;
59
+ category: IssueCategory;
60
+ description: string;
61
+ impact: string;
62
+ recommendation: string;
63
+ location?: {
64
+ file: string;
65
+ line?: number;
66
+ snippet?: string;
67
+ };
68
+ }
69
+
70
+ /**
71
+ * Lesson learned from task execution
72
+ */
73
+ export interface LessonLearned {
74
+ whatWentWell: string[];
75
+ whatCouldImprove: string[];
76
+ forNextTime: string[];
77
+ }
78
+
79
+ /**
80
+ * Quality metrics from reflection
81
+ */
82
+ export interface ReflectionMetrics {
83
+ codeQuality: number; // 1-10 rating
84
+ security: number; // 1-10 rating
85
+ testCoverage?: number; // Percentage or null
86
+ technicalDebt: 'LOW' | 'MEDIUM' | 'HIGH';
87
+ performance: 'GOOD' | 'ACCEPTABLE' | 'NEEDS_WORK';
88
+ }
89
+
90
+ /**
91
+ * Complete reflection result
92
+ */
93
+ export interface ReflectionResult {
94
+ taskName: string;
95
+ completed: string; // ISO timestamp
96
+ duration?: string;
97
+ filesModified: {
98
+ count: number;
99
+ linesAdded: number;
100
+ linesRemoved: number;
101
+ };
102
+ accomplishments: string[];
103
+ strengths: string[];
104
+ issues: ReflectionIssue[];
105
+ recommendedActions: {
106
+ priority1: string[]; // MUST FIX
107
+ priority2: string[]; // SHOULD FIX
108
+ priority3: string[]; // NICE TO HAVE
109
+ };
110
+ lessonsLearned: LessonLearned;
111
+ metrics: ReflectionMetrics;
112
+ relatedTasks?: string[];
113
+ metadata: {
114
+ model: ReflectionModel;
115
+ reflectionTime: number; // seconds
116
+ estimatedCost: number; // USD
117
+ };
118
+ }
119
+
120
+ /**
121
+ * Configuration for reflection system
122
+ */
123
+ export interface ReflectionConfig {
124
+ enabled: boolean;
125
+ mode: ReflectionMode;
126
+ depth: ReflectionDepth;
127
+ model: ReflectionModel;
128
+ categories: {
129
+ security: boolean;
130
+ quality: boolean;
131
+ testing: boolean;
132
+ performance: boolean;
133
+ technicalDebt: boolean;
134
+ };
135
+ criticalThreshold: IssueSeverity;
136
+ storeReflections: boolean;
137
+ autoCreateFollowUpTasks: boolean;
138
+ soundNotifications?: boolean;
139
+ }
140
+
141
+ /**
142
+ * Git diff information for modified files
143
+ */
144
+ export interface GitDiffInfo {
145
+ file: string;
146
+ linesAdded: number;
147
+ linesRemoved: number;
148
+ content: string;
149
+ }
150
+
151
+ /**
152
+ * Context for reflection execution
153
+ */
154
+ export interface ReflectionContext {
155
+ incrementId: string;
156
+ taskId: string;
157
+ modifiedFiles: GitDiffInfo[];
158
+ config: ReflectionConfig;
159
+ }
160
+
161
+ /**
162
+ * Reflection execution result (success or failure)
163
+ */
164
+ export interface ReflectionExecutionResult {
165
+ success: boolean;
166
+ result?: ReflectionResult;
167
+ error?: {
168
+ message: string;
169
+ code: string;
170
+ details?: any;
171
+ };
172
+ }
173
+
174
+ /**
175
+ * Default reflection configuration
176
+ */
177
+ export const DEFAULT_REFLECTION_CONFIG: ReflectionConfig = {
178
+ enabled: true,
179
+ mode: ReflectionMode.AUTO,
180
+ depth: ReflectionDepth.STANDARD,
181
+ model: ReflectionModel.HAIKU,
182
+ categories: {
183
+ security: true,
184
+ quality: true,
185
+ testing: true,
186
+ performance: true,
187
+ technicalDebt: true
188
+ },
189
+ criticalThreshold: IssueSeverity.MEDIUM,
190
+ storeReflections: true,
191
+ autoCreateFollowUpTasks: false,
192
+ soundNotifications: false
193
+ };
@@ -0,0 +1,256 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * SpecWeave Tasks.md Auto-Updater
5
+ *
6
+ * Automatically updates tasks.md completion status after TodoWrite completes tasks.
7
+ *
8
+ * Usage:
9
+ * node dist/hooks/lib/update-tasks-md.js <incrementId>
10
+ *
11
+ * Example:
12
+ * node dist/hooks/lib/update-tasks-md.js 0006-llm-native-i18n
13
+ *
14
+ * What it does:
15
+ * 1. Reads tasks.md for the given increment
16
+ * 2. Finds recently completed tasks from TodoWrite
17
+ * 3. Updates "[ ]" to "[x]" for completed tasks
18
+ * 4. Updates "Status: ⏳ Pending" to "Status: [x] Completed"
19
+ * 5. Recalculates progress percentage
20
+ * 6. Writes back to tasks.md
21
+ *
22
+ * @author SpecWeave Team
23
+ * @version 1.0.0
24
+ */
25
+
26
+ import fs from 'fs-extra';
27
+ import path from 'path';
28
+
29
+ interface TaskMatch {
30
+ taskId: string;
31
+ lineNumber: number;
32
+ currentStatus: 'pending' | 'in_progress' | 'completed';
33
+ }
34
+
35
+ /**
36
+ * Main function - update tasks.md for given increment
37
+ */
38
+ async function updateTasksMd(incrementId: string): Promise<void> {
39
+ try {
40
+ console.log(`\n🔄 Updating tasks.md for increment: ${incrementId}`);
41
+
42
+ // 1. Validate increment exists
43
+ const incrementDir = path.join(process.cwd(), '.specweave', 'increments', incrementId);
44
+ if (!fs.existsSync(incrementDir)) {
45
+ console.error(`❌ Increment directory not found: ${incrementDir}`);
46
+ process.exit(1);
47
+ }
48
+
49
+ const tasksPath = path.join(incrementDir, 'tasks.md');
50
+ if (!fs.existsSync(tasksPath)) {
51
+ console.error(`❌ tasks.md not found: ${tasksPath}`);
52
+ process.exit(1);
53
+ }
54
+
55
+ // 2. Read tasks.md
56
+ const originalContent = await fs.readFile(tasksPath, 'utf-8');
57
+ const lines = originalContent.split('\n');
58
+
59
+ console.log(`📖 Read tasks.md (${lines.length} lines)`);
60
+
61
+ // 3. Parse task completion status
62
+ const tasks = parseTaskStatus(lines);
63
+ console.log(`📋 Found ${tasks.length} tasks`);
64
+
65
+ // 4. Get recently completed tasks from environment (passed by hook)
66
+ // For now, we'll mark tasks as complete if they match a heuristic
67
+ // TODO: In future, hook will pass completed task IDs via env var
68
+ const completedTasks = detectCompletedTasks(lines);
69
+
70
+ if (completedTasks.length === 0) {
71
+ console.log('✅ No new task completions detected');
72
+ return;
73
+ }
74
+
75
+ console.log(`🎯 Detected ${completedTasks.length} completed task(s):`, completedTasks);
76
+
77
+ // 5. Update task status in content
78
+ let updatedContent = originalContent;
79
+
80
+ for (const taskId of completedTasks) {
81
+ updatedContent = markTaskComplete(updatedContent, taskId);
82
+ }
83
+
84
+ // 6. Recalculate progress
85
+ const updatedLines = updatedContent.split('\n');
86
+ const totalTasks = countTotalTasks(updatedLines);
87
+ const completedCount = countCompletedTasks(updatedLines);
88
+ const progress = Math.round((completedCount / totalTasks) * 100);
89
+
90
+ console.log(`📊 Progress: ${completedCount}/${totalTasks} (${progress}%)`);
91
+
92
+ // 7. Update header with new progress
93
+ updatedContent = updateProgressHeader(updatedContent, completedCount, totalTasks, progress);
94
+
95
+ // 8. Write back to tasks.md
96
+ await fs.writeFile(tasksPath, updatedContent, 'utf-8');
97
+
98
+ console.log(`✅ Updated ${tasksPath}`);
99
+ console.log(` Completed: ${completedCount}/${totalTasks}`);
100
+ console.log(` Progress: ${progress}%\n`);
101
+
102
+ } catch (error) {
103
+ console.error('❌ Error updating tasks.md:', error);
104
+ process.exit(1);
105
+ }
106
+ }
107
+
108
+ /**
109
+ * Parse task status from lines
110
+ */
111
+ function parseTaskStatus(lines: string[]): TaskMatch[] {
112
+ const tasks: TaskMatch[] = [];
113
+ const taskPattern = /^###\s+(T-?\d+[-A-Z]*):?\s+(.+)/; // Matches "### T-001: Task Name" or "### T-001-DISCIPLINE:"
114
+
115
+ lines.forEach((line, index) => {
116
+ const match = line.match(taskPattern);
117
+ if (match) {
118
+ const taskId = match[1];
119
+
120
+ // Look ahead for status line
121
+ let status: 'pending' | 'in_progress' | 'completed' = 'pending';
122
+
123
+ for (let i = index + 1; i < Math.min(index + 5, lines.length); i++) {
124
+ const nextLine = lines[i];
125
+ if (nextLine.includes('**Status**:')) {
126
+ if (nextLine.includes('[x] Completed')) {
127
+ status = 'completed';
128
+ } else if (nextLine.includes('⏳ Pending') || nextLine.includes('[ ] Pending')) {
129
+ status = 'pending';
130
+ } else if (nextLine.includes('🔄 In Progress') || nextLine.includes('in_progress')) {
131
+ status = 'in_progress';
132
+ }
133
+ break;
134
+ }
135
+ }
136
+
137
+ tasks.push({
138
+ taskId,
139
+ lineNumber: index,
140
+ currentStatus: status,
141
+ });
142
+ }
143
+ });
144
+
145
+ return tasks;
146
+ }
147
+
148
+ /**
149
+ * Detect which tasks are completed (heuristic-based for now)
150
+ * TODO: In future, hook will pass completed task IDs via env var
151
+ */
152
+ function detectCompletedTasks(lines: string[]): string[] {
153
+ // For now, this is a placeholder - we'll mark tasks as complete
154
+ // if they have implementation sections or "COMPLETE" markers
155
+ const completedTasks: string[] = [];
156
+
157
+ // This function will be enhanced in future versions
158
+ // For MVP, we'll rely on manual marking in tasks.md
159
+
160
+ return completedTasks;
161
+ }
162
+
163
+ /**
164
+ * Mark a specific task as complete
165
+ */
166
+ function markTaskComplete(content: string, taskId: string): string {
167
+ let updated = content;
168
+
169
+ // Pattern: "**Status**: [ ] Pending" or "**Status**: ⏳ Pending"
170
+ const statusPattern = new RegExp(
171
+ `(###\\s+${taskId.replace(/[-]/g, '\\-')}[^\\n]*[\\s\\S]*?\\*\\*Status\\*\\*:)\\s*\\[?\\s*\\]?\\s*⏳?\\s*Pending`,
172
+ 'i'
173
+ );
174
+
175
+ updated = updated.replace(statusPattern, '$1 [x] Completed');
176
+
177
+ return updated;
178
+ }
179
+
180
+ /**
181
+ * Count total tasks
182
+ */
183
+ function countTotalTasks(lines: string[]): number {
184
+ let count = 0;
185
+ const taskPattern = /^###\s+(T-?\d+[-A-Z]*):?\s+/;
186
+
187
+ for (const line of lines) {
188
+ if (taskPattern.test(line)) {
189
+ count++;
190
+ }
191
+ }
192
+
193
+ return count;
194
+ }
195
+
196
+ /**
197
+ * Count completed tasks
198
+ */
199
+ function countCompletedTasks(lines: string[]): number {
200
+ let count = 0;
201
+ const taskPattern = /^###\s+(T-?\d+[-A-Z]*):?\s+/;
202
+
203
+ for (let i = 0; i < lines.length; i++) {
204
+ const line = lines[i];
205
+ if (taskPattern.test(line)) {
206
+ // Look ahead for status line
207
+ for (let j = i + 1; j < Math.min(i + 5, lines.length); j++) {
208
+ const nextLine = lines[j];
209
+ if (nextLine.includes('**Status**:') && nextLine.includes('[x] Completed')) {
210
+ count++;
211
+ break;
212
+ }
213
+ }
214
+ }
215
+ }
216
+
217
+ return count;
218
+ }
219
+
220
+ /**
221
+ * Update progress header
222
+ */
223
+ function updateProgressHeader(content: string, completed: number, total: number, progress: number): string {
224
+ let updated = content;
225
+
226
+ // Update "**Completed**: X"
227
+ updated = updated.replace(/\*\*Completed\*\*:\s*\d+/, `**Completed**: ${completed}`);
228
+
229
+ // Update "**Progress**: X%"
230
+ updated = updated.replace(/\*\*Progress\*\*:\s*\d+%/, `**Progress**: ${progress}%`);
231
+
232
+ // Update "**Total Tasks**: X"
233
+ updated = updated.replace(/\*\*Total Tasks\*\*:\s*\d+/, `**Total Tasks**: ${total}`);
234
+
235
+ return updated;
236
+ }
237
+
238
+ // CLI entry point
239
+ const isMainModule = import.meta.url === `file://${process.argv[1]}`;
240
+
241
+ if (isMainModule) {
242
+ const incrementId = process.argv[2];
243
+
244
+ if (!incrementId) {
245
+ console.error('❌ Usage: update-tasks-md <incrementId>');
246
+ console.error(' Example: update-tasks-md 0006-llm-native-i18n');
247
+ process.exit(1);
248
+ }
249
+
250
+ updateTasksMd(incrementId).catch((error) => {
251
+ console.error('❌ Fatal error:', error);
252
+ process.exit(1);
253
+ });
254
+ }
255
+
256
+ export { updateTasksMd };
@@ -39,9 +39,9 @@ Step 4: Execute → Follow the increment planning workflow
39
39
 
40
40
  #### plugin-installer
41
41
 
42
- **Description**: Proactive just-in-time plugin installation. Auto-detects when specialized plugins are needed (docs-preview, frontend, kubernetes, ML, payments, testing, etc.) and installs them automatically before use. Activates for preview docs, Docusaurus, React, Next.js, K8s, Kubernetes, Helm, TensorFlow, PyTorch, ML model, Stripe, billing, payment, Playwright, E2E testing, Figma, design system, ADO, Azure DevOps, infrastructure, Prometheus, Grafana, monitoring, Node.js, Python backend, REST API, cloud deployment, diagram, Mermaid, C4, architecture diagram.
42
+ **Description**: Proactive just-in-time plugin installation. Auto-detects when specialized plugins are needed (frontend, kubernetes, ML, payments, testing, etc.) and installs them automatically before use. Activates for React, Next.js, K8s, Kubernetes, Helm, TensorFlow, PyTorch, ML model, Stripe, billing, payment, Playwright, E2E testing, Figma, design system, ADO, Azure DevOps, infrastructure, Prometheus, Grafana, monitoring, Node.js, Python backend, REST API, cloud deployment, diagram, Mermaid, C4, architecture diagram.
43
43
 
44
- **Activates for**: preview docs, documentation UI, Docusaurus, React, Next.js, frontend, UI component, K8s, Kubernetes, deploy, TensorFlow, ML model, Stripe, billing, E2E testing, Figma, diagram, architecture diagram
44
+ **Activates for**: React, Next.js, frontend, UI component, K8s, Kubernetes, deploy, TensorFlow, ML model, Stripe, billing, E2E testing, Figma, diagram, architecture diagram
45
45
 
46
46
  **Location**: `.claude/skills/plugin-installer/SKILL.md`
47
47
 
@@ -72,6 +72,14 @@ Use this skill when:
72
72
  - **Experiments**: Structuring POCs and technical spikes
73
73
  - **Brownfield**: Structuring modifications to existing codebases
74
74
 
75
+ ## When NOT to Use This Skill
76
+
77
+ Do NOT activate if:
78
+ - ❌ User is asking general questions about SpecWeave (use documentation instead)
79
+ - ❌ Another skill (e.g., `project-kickstarter`) is already handling the request
80
+ - ❌ User is already in an active increment planning workflow
81
+ - ❌ Increment files (spec.md, plan.md, tasks.md) are currently being created
82
+
75
83
  ## Activation Triggers
76
84
 
77
85
  This skill activates automatically when users say:
@@ -522,99 +530,24 @@ created: YYYY-MM-DD
522
530
  - Measurable acceptance criteria
523
531
  - Prioritized user stories (P1/P2/P3)
524
532
 
525
- ### Step 6: Detect Required Plugins & Check PM Tool (INTELLIGENT AUTO-LOADING + PM SYNC)
526
-
527
- **Purpose**: Analyze spec content to identify required SpecWeave plugins AND check if external PM tool sync is configured.
528
-
529
- **⚠️ CRITICAL**: For ALL plugin installations, consult the `plugin-expert` skill for correct syntax. NEVER use `@marketplace` suffix!
530
-
531
- **Why This Matters**:
532
- 1. SpecWeave's plugin system enables context efficiency (70%+ reduction) by loading only relevant capabilities
533
- 2. PM tool integration enables automatic sync of increment progress to external systems (GitHub Issues, Jira, Azure DevOps)
534
-
535
- **Detection Algorithm**:
536
-
537
- 1. **Scan spec.md for keywords**:
538
- ```
539
- Keywords → Plugin Mapping:
540
- - "GitHub", "issue", "pull request", "PR" → specweave-github
541
- - "Jira", "ticket", "epic" → specweave-jira
542
- - "Azure DevOps", "ADO", "work item" → specweave-ado
543
- - "Kubernetes", "K8s", "Helm", "kubectl" → specweave-kubernetes
544
- - "Figma", "design system", "design tokens" → specweave-figma
545
- - "Stripe", "PayPal", "billing", "subscriptions" → specweave-payments
546
- - "React", "Next.js", "Vue", "Angular" → specweave-frontend
547
- - "Express", "Fastify", "NestJS", "FastAPI" → specweave-backend
548
- - "TensorFlow", "PyTorch", "ML", "training" → specweave-ml
549
- - "Prometheus", "Grafana", "monitoring" → specweave-infrastructure
550
- - "Playwright", "E2E", "browser tests" → specweave-testing
551
- - "Mermaid", "C4", "diagrams", "architecture diagrams" → specweave-diagrams
552
- ```
553
-
554
- 2. **Check External PM Tool Configuration** (NEW v0.8.0):
555
- - Read `.specweave/config.json`
556
- - If `externalPM.enabled = true` and `externalPM.tool` is set:
557
- - Check if corresponding plugin installed (specweave-github, specweave-jira, or specweave-ado)
558
- - Prepare to auto-create external issue/work item after increment creation
559
- - If `externalPM.enabled = false` or not configured:
560
- - Skip PM tool sync (local-only mode)
561
-
562
- 3. **Check if plugins are already installed**:
563
- - For Claude Code: Check if plugin available via `/plugin list --installed`
564
- - Skip already-installed plugins
565
-
566
- 4. **🚨 AUTOMATIC PLUGIN INSTALLATION** (if plugins detected):
567
-
568
- **IMPORTANT**: When you detect required plugins, you MUST:
569
- - ✅ Proactively offer to install them (not just suggest)
570
- - ✅ Explain WHY each plugin is needed (based on detected keywords)
571
- - ✅ Show clear install commands
572
- - ✅ Remind user that plugins provide expert AI agents and capabilities
533
+ ### Step 6: Check PM Tool Configuration (PM SYNC)
573
534
 
574
- **Output Format**:
575
- ```
576
- 🔌 Detected plugin requirements from spec content:
535
+ **Purpose**: Check if external PM tool sync is configured for automatic increment tracking.
577
536
 
578
- REQUIRED (will significantly improve implementation):
579
- • specweave-github - GitHub Issues integration
580
- Detected: "sync tasks to GitHub issues", "create pull requests"
581
- Provides: GitHub sync, PR automation, issue tracking
582
- → Without this: Manual GitHub sync required
537
+ **Why This Matters**: PM tool integration enables automatic sync of increment progress to external systems (GitHub Issues, Jira, Azure DevOps).
583
538
 
584
- specweave-kubernetes - Kubernetes deployment
585
- Detected: "deploy to production cluster", "kubectl apply"
586
- Provides: K8s expert agent, Helm chart generation, deployment validation
587
- → Without this: Manual K8s configuration, no validation
539
+ **⚠️ NOTE**: All SpecWeave plugins (19+) are already installed during `specweave init`. No plugin detection or installation needed!
588
540
 
589
- OPTIONAL (helpful but not critical):
590
- • specweave-diagrams - Architecture diagrams
591
- Detected: "system architecture", "component diagram"
592
- Provides: Mermaid + C4 diagram generation
593
- → Without this: Manual diagram creation
541
+ **Check External PM Tool Configuration**:
594
542
 
595
- 📦 Install recommended plugins:
596
- /plugin install specweave-github
597
- /plugin install specweave-kubernetes
598
-
599
- 📦 Install optional plugins:
600
- /plugin install specweave-diagrams
601
-
602
- 💡 Benefits:
603
- • Plugins provide specialized AI agents (GitHub expert, K8s expert, etc.)
604
- • Skills auto-activate based on context (zero manual invocation)
605
- • 70%+ context reduction (only load what you need)
606
- • Best practices built-in (from real-world experience)
607
-
608
- Would you like me to wait while you install these plugins? (Recommended)
609
- Or shall I continue without them? (Limited capabilities)
610
- ```
611
-
612
- **User Decision Points**:
613
- - If user installs plugins → continue with full capabilities
614
- - If user skips → continue but remind about limitations later
615
- - NEVER block increment creation (plugins are enhancements, not requirements)
543
+ 1. **Read `.specweave/config.json`**:
544
+ - If `externalPM.enabled = true` and `externalPM.tool` is set:
545
+ - Corresponding plugin is already installed (specweave-github, specweave-jira, or specweave-ado)
546
+ - Prepare to auto-create external issue/work item after increment creation
547
+ - If `externalPM.enabled = false` or not configured:
548
+ - Skip PM tool sync (local-only mode)
616
549
 
617
- 5. **Auto-Sync to PM Tool** (v0.8.0+):
550
+ 2. **Auto-Sync to PM Tool** (v0.8.0+):
618
551
 
619
552
  **🚨 CRITICAL: SpecWeave Repo Dog-Food Requirement**:
620
553
  - IF repo = "anton-abyzov/specweave"
@@ -683,10 +616,6 @@ Files:
683
616
  • plan.md (technical architecture)
684
617
  • tasks.md (implementation steps with embedded tests)
685
618
 
686
- 🔌 Plugin Detection:
687
- Detected: "user authentication", "JWT tokens", "session management"
688
- → No additional plugins required
689
-
690
619
  🔗 External PM Tool Sync:
691
620
  Tool: GitHub Issues
692
621
  Plugin: specweave-github ✅ Installed
@@ -706,7 +635,7 @@ Next steps:
706
635
  ```
707
636
 
708
637
  **Integration with Existing Workflow**:
709
- - Plugin detection is a **suggestion step** (not blocking)
638
+ - All plugins are already installed during `specweave init` (no detection needed)
710
639
  - PM tool sync is **automatic** if configured (zero manual intervention)
711
640
  - Increment creation continues regardless of PM tool status
712
641
  - This implements the "seamless integration" philosophy
@@ -178,10 +178,6 @@ For contributors working on SpecWeave itself:
178
178
  - Install: `/plugin install specweave-diagrams`
179
179
  - Provides: Architecture diagram generation, C4 model support
180
180
 
181
- - **specweave-docs-preview** - Docusaurus documentation preview
182
- - Install: `/plugin install specweave-docs-preview`
183
- - Provides: Beautiful docs UI, hot reload, Mermaid rendering
184
-
185
181
  ---
186
182
 
187
183
  ## Common Mistakes to Avoid