specweave 1.0.593 → 2.0.3

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 (1420) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/README.md +65 -88
  3. package/bin/specweave.js +206 -263
  4. package/dist/dashboard/assets/{index-DQb8E2_E.js → index-BiJhGDZV.js} +3 -3
  5. package/dist/dashboard/assets/index-heYRtWFf.css +1 -0
  6. package/dist/dashboard/index.html +2 -2
  7. package/dist/plugins/specweave/lib/integrations/github/github-access-error.js +3 -3
  8. package/dist/plugins/specweave/lib/integrations/github/github-access-error.js.map +1 -1
  9. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts +5 -4
  10. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts.map +1 -1
  11. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js +14 -13
  12. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js.map +1 -1
  13. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js +1 -1
  14. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js.map +1 -1
  15. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js +2 -2
  16. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js.map +1 -1
  17. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +11 -9
  18. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -1
  19. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +9 -5
  20. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +70 -13
  21. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  22. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +7 -3
  23. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +16 -12
  24. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -1
  25. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.d.ts +24 -0
  26. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.js +24 -0
  27. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.js.map +1 -0
  28. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +86 -35
  29. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js +115 -47
  30. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -1
  31. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.d.ts +18 -2
  32. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js +74 -6
  33. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
  34. package/dist/plugins/specweave/lib/vendor/sync/config.js +2 -2
  35. package/dist/plugins/specweave/lib/vendor/sync/config.js.map +1 -1
  36. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  37. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  38. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +37 -16
  39. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js +88 -74
  40. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -1
  41. package/dist/src/adapters/adapter-base.d.ts +0 -4
  42. package/dist/src/adapters/adapter-base.d.ts.map +1 -1
  43. package/dist/src/adapters/adapter-base.js +2 -18
  44. package/dist/src/adapters/adapter-base.js.map +1 -1
  45. package/dist/src/adapters/antigravity/adapter.d.ts.map +1 -1
  46. package/dist/src/adapters/antigravity/adapter.js +13 -7
  47. package/dist/src/adapters/antigravity/adapter.js.map +1 -1
  48. package/dist/src/adapters/claude/adapter.d.ts.map +1 -1
  49. package/dist/src/adapters/claude/adapter.js +7 -10
  50. package/dist/src/adapters/claude/adapter.js.map +1 -1
  51. package/dist/src/adapters/codex/adapter.d.ts.map +1 -1
  52. package/dist/src/adapters/codex/adapter.js +13 -7
  53. package/dist/src/adapters/codex/adapter.js.map +1 -1
  54. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -1
  55. package/dist/src/adapters/gemini/adapter.js +13 -7
  56. package/dist/src/adapters/gemini/adapter.js.map +1 -1
  57. package/dist/src/adapters/generic/adapter.d.ts.map +1 -1
  58. package/dist/src/adapters/generic/adapter.js +7 -3
  59. package/dist/src/adapters/generic/adapter.js.map +1 -1
  60. package/dist/src/cli/commands/auto.d.ts.map +1 -1
  61. package/dist/src/cli/commands/auto.js +15 -62
  62. package/dist/src/cli/commands/auto.js.map +1 -1
  63. package/dist/src/cli/commands/check-discipline.d.ts +4 -6
  64. package/dist/src/cli/commands/check-discipline.d.ts.map +1 -1
  65. package/dist/src/cli/commands/check-discipline.js +21 -27
  66. package/dist/src/cli/commands/check-discipline.js.map +1 -1
  67. package/dist/src/cli/commands/complete.d.ts +5 -1
  68. package/dist/src/cli/commands/complete.d.ts.map +1 -1
  69. package/dist/src/cli/commands/complete.js +22 -1
  70. package/dist/src/cli/commands/complete.js.map +1 -1
  71. package/dist/src/cli/commands/create-increment.d.ts +25 -4
  72. package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
  73. package/dist/src/cli/commands/create-increment.js +45 -27
  74. package/dist/src/cli/commands/create-increment.js.map +1 -1
  75. package/dist/src/cli/commands/detect-intent.d.ts.map +1 -1
  76. package/dist/src/cli/commands/detect-intent.js +5 -12
  77. package/dist/src/cli/commands/detect-intent.js.map +1 -1
  78. package/dist/src/cli/commands/detect-project.js +3 -3
  79. package/dist/src/cli/commands/detect-project.js.map +1 -1
  80. package/dist/src/cli/commands/docs.d.ts.map +1 -1
  81. package/dist/src/cli/commands/docs.js +0 -80
  82. package/dist/src/cli/commands/docs.js.map +1 -1
  83. package/dist/src/cli/commands/doctor.d.ts +11 -0
  84. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  85. package/dist/src/cli/commands/doctor.js +28 -0
  86. package/dist/src/cli/commands/doctor.js.map +1 -1
  87. package/dist/src/cli/commands/export-skills.d.ts +45 -0
  88. package/dist/src/cli/commands/export-skills.d.ts.map +1 -1
  89. package/dist/src/cli/commands/export-skills.js +26 -6
  90. package/dist/src/cli/commands/export-skills.js.map +1 -1
  91. package/dist/src/cli/commands/gc.d.ts +13 -0
  92. package/dist/src/cli/commands/gc.d.ts.map +1 -0
  93. package/dist/src/cli/commands/gc.js +47 -0
  94. package/dist/src/cli/commands/gc.js.map +1 -0
  95. package/dist/src/cli/commands/hook.d.ts +6 -8
  96. package/dist/src/cli/commands/hook.d.ts.map +1 -1
  97. package/dist/src/cli/commands/hook.js +38 -38
  98. package/dist/src/cli/commands/hook.js.map +1 -1
  99. package/dist/src/cli/commands/hooks-cmd.d.ts +11 -15
  100. package/dist/src/cli/commands/hooks-cmd.d.ts.map +1 -1
  101. package/dist/src/cli/commands/hooks-cmd.js +37 -128
  102. package/dist/src/cli/commands/hooks-cmd.js.map +1 -1
  103. package/dist/src/cli/commands/init.d.ts.map +1 -1
  104. package/dist/src/cli/commands/init.js +12 -33
  105. package/dist/src/cli/commands/init.js.map +1 -1
  106. package/dist/src/cli/commands/interview.js +5 -5
  107. package/dist/src/cli/commands/interview.js.map +1 -1
  108. package/dist/src/cli/commands/plan/increment-detector.js +1 -1
  109. package/dist/src/cli/commands/plan/increment-detector.js.map +1 -1
  110. package/dist/src/cli/commands/plan/plan-orchestrator.js +2 -2
  111. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  112. package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
  113. package/dist/src/cli/commands/refresh-plugins.js +0 -16
  114. package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
  115. package/dist/src/cli/commands/resume.d.ts +1 -6
  116. package/dist/src/cli/commands/resume.d.ts.map +1 -1
  117. package/dist/src/cli/commands/resume.js +2 -6
  118. package/dist/src/cli/commands/resume.js.map +1 -1
  119. package/dist/src/cli/commands/session.d.ts +1 -1
  120. package/dist/src/cli/commands/session.d.ts.map +1 -1
  121. package/dist/src/cli/commands/session.js +2 -26
  122. package/dist/src/cli/commands/session.js.map +1 -1
  123. package/dist/src/cli/commands/start.d.ts +10 -0
  124. package/dist/src/cli/commands/start.d.ts.map +1 -0
  125. package/dist/src/cli/commands/start.js +13 -0
  126. package/dist/src/cli/commands/start.js.map +1 -0
  127. package/dist/src/cli/commands/sync-gaps.d.ts +2 -13
  128. package/dist/src/cli/commands/sync-gaps.d.ts.map +1 -1
  129. package/dist/src/cli/commands/sync-gaps.js +2 -51
  130. package/dist/src/cli/commands/sync-gaps.js.map +1 -1
  131. package/dist/src/cli/commands/sync-health.d.ts +5 -1
  132. package/dist/src/cli/commands/sync-health.d.ts.map +1 -1
  133. package/dist/src/cli/commands/sync-health.js +7 -5
  134. package/dist/src/cli/commands/sync-health.js.map +1 -1
  135. package/dist/src/cli/commands/sync-living-docs.js +1 -1
  136. package/dist/src/cli/commands/sync-living-docs.js.map +1 -1
  137. package/dist/src/cli/commands/sync-progress.js +5 -5
  138. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  139. package/dist/src/cli/commands/sync-setup.d.ts +2 -1
  140. package/dist/src/cli/commands/sync-setup.d.ts.map +1 -1
  141. package/dist/src/cli/commands/sync-setup.js +7 -6
  142. package/dist/src/cli/commands/sync-setup.js.map +1 -1
  143. package/dist/src/cli/commands/sync-status.js +1 -1
  144. package/dist/src/cli/commands/sync-status.js.map +1 -1
  145. package/dist/src/cli/commands/sync.d.ts +125 -0
  146. package/dist/src/cli/commands/sync.d.ts.map +1 -0
  147. package/dist/src/cli/commands/sync.js +323 -0
  148. package/dist/src/cli/commands/sync.js.map +1 -0
  149. package/dist/src/cli/commands/task.d.ts +41 -0
  150. package/dist/src/cli/commands/task.d.ts.map +1 -0
  151. package/dist/src/cli/commands/task.js +325 -0
  152. package/dist/src/cli/commands/task.js.map +1 -0
  153. package/dist/src/cli/commands/update-instructions.d.ts +4 -2
  154. package/dist/src/cli/commands/update-instructions.d.ts.map +1 -1
  155. package/dist/src/cli/commands/update-instructions.js +87 -160
  156. package/dist/src/cli/commands/update-instructions.js.map +1 -1
  157. package/dist/src/cli/commands/update.d.ts +5 -12
  158. package/dist/src/cli/commands/update.d.ts.map +1 -1
  159. package/dist/src/cli/commands/update.js +140 -174
  160. package/dist/src/cli/commands/update.js.map +1 -1
  161. package/dist/src/cli/commands/verify.d.ts +15 -0
  162. package/dist/src/cli/commands/verify.d.ts.map +1 -0
  163. package/dist/src/cli/commands/verify.js +57 -0
  164. package/dist/src/cli/commands/verify.js.map +1 -0
  165. package/dist/src/cli/helpers/get/bulk-get.d.ts +3 -3
  166. package/dist/src/cli/helpers/get/bulk-get.d.ts.map +1 -1
  167. package/dist/src/cli/helpers/get/bulk-get.js +8 -11
  168. package/dist/src/cli/helpers/get/bulk-get.js.map +1 -1
  169. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +1 -1
  170. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +1 -1
  171. package/dist/src/cli/helpers/init/directory-structure.d.ts +9 -2
  172. package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
  173. package/dist/src/cli/helpers/init/directory-structure.js +74 -156
  174. package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
  175. package/dist/src/cli/helpers/init/external-import.js +1 -1
  176. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  177. package/dist/src/cli/helpers/init/git-hooks-installer.d.ts +58 -0
  178. package/dist/src/cli/helpers/init/git-hooks-installer.d.ts.map +1 -1
  179. package/dist/src/cli/helpers/init/git-hooks-installer.js +112 -8
  180. package/dist/src/cli/helpers/init/git-hooks-installer.js.map +1 -1
  181. package/dist/src/cli/helpers/init/gitignore-generator.d.ts +13 -0
  182. package/dist/src/cli/helpers/init/gitignore-generator.d.ts.map +1 -1
  183. package/dist/src/cli/helpers/init/gitignore-generator.js +40 -0
  184. package/dist/src/cli/helpers/init/gitignore-generator.js.map +1 -1
  185. package/dist/src/cli/helpers/init/index.d.ts +1 -1
  186. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  187. package/dist/src/cli/helpers/init/index.js +1 -1
  188. package/dist/src/cli/helpers/init/index.js.map +1 -1
  189. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts +86 -7
  190. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts.map +1 -1
  191. package/dist/src/cli/helpers/init/instruction-file-merger.js +641 -202
  192. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
  193. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts +53 -0
  194. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts.map +1 -0
  195. package/dist/src/cli/helpers/init/instruction-file-writer.js +85 -0
  196. package/dist/src/cli/helpers/init/instruction-file-writer.js.map +1 -0
  197. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  198. package/dist/src/cli/helpers/init/plugin-installer.js +9 -4
  199. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  200. package/dist/src/cli/helpers/init/provider-detection.d.ts +3 -2
  201. package/dist/src/cli/helpers/init/provider-detection.d.ts.map +1 -1
  202. package/dist/src/cli/helpers/init/provider-detection.js +5 -17
  203. package/dist/src/cli/helpers/init/provider-detection.js.map +1 -1
  204. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts +21 -4
  205. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts.map +1 -1
  206. package/dist/src/cli/helpers/init/skill-creator-installer.js +30 -8
  207. package/dist/src/cli/helpers/init/skill-creator-installer.js.map +1 -1
  208. package/dist/src/cli/helpers/init/smart-defaults.d.ts +2 -3
  209. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  210. package/dist/src/cli/helpers/init/smart-defaults.js +14 -57
  211. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  212. package/dist/src/cli/helpers/init/stack-detector.d.ts +20 -0
  213. package/dist/src/cli/helpers/init/stack-detector.d.ts.map +1 -0
  214. package/dist/src/cli/helpers/init/stack-detector.js +169 -0
  215. package/dist/src/cli/helpers/init/stack-detector.js.map +1 -0
  216. package/dist/src/cli/helpers/init/summary-banner.d.ts +1 -3
  217. package/dist/src/cli/helpers/init/summary-banner.d.ts.map +1 -1
  218. package/dist/src/cli/helpers/init/summary-banner.js +9 -9
  219. package/dist/src/cli/helpers/init/summary-banner.js.map +1 -1
  220. package/dist/src/cli/helpers/init/testing-config.js +3 -3
  221. package/dist/src/cli/helpers/init/testing-config.js.map +1 -1
  222. package/dist/src/cli/helpers/init/types.d.ts +3 -3
  223. package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
  224. package/dist/src/cli/helpers/init/workspace-setup.d.ts +13 -0
  225. package/dist/src/cli/helpers/init/workspace-setup.d.ts.map +1 -1
  226. package/dist/src/cli/helpers/init/workspace-setup.js +30 -0
  227. package/dist/src/cli/helpers/init/workspace-setup.js.map +1 -1
  228. package/dist/src/cli/helpers/issue-tracker/ado.js +2 -2
  229. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  230. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
  231. package/dist/src/cli/helpers/issue-tracker/github.js +3 -4
  232. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
  233. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  234. package/dist/src/cli/helpers/issue-tracker/index.js +4 -9
  235. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  236. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
  237. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +7 -12
  238. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
  239. package/dist/src/config/types.d.ts +2 -2
  240. package/dist/src/core/config/config-manager.d.ts +8 -0
  241. package/dist/src/core/config/config-manager.d.ts.map +1 -1
  242. package/dist/src/core/config/config-manager.js +74 -1
  243. package/dist/src/core/config/config-manager.js.map +1 -1
  244. package/dist/src/core/config/index.d.ts +3 -0
  245. package/dist/src/core/config/index.d.ts.map +1 -1
  246. package/dist/src/core/config/index.js +3 -0
  247. package/dist/src/core/config/index.js.map +1 -1
  248. package/dist/src/core/config/limits-migrator.d.ts +11 -0
  249. package/dist/src/core/config/limits-migrator.d.ts.map +1 -0
  250. package/dist/src/core/config/limits-migrator.js +38 -0
  251. package/dist/src/core/config/limits-migrator.js.map +1 -0
  252. package/dist/src/core/config/migrate-config-file.d.ts +51 -0
  253. package/dist/src/core/config/migrate-config-file.d.ts.map +1 -0
  254. package/dist/src/core/config/migrate-config-file.js +95 -0
  255. package/dist/src/core/config/migrate-config-file.js.map +1 -0
  256. package/dist/src/core/config/migrate-to-2.d.ts +60 -0
  257. package/dist/src/core/config/migrate-to-2.d.ts.map +1 -0
  258. package/dist/src/core/config/migrate-to-2.js +185 -0
  259. package/dist/src/core/config/migrate-to-2.js.map +1 -0
  260. package/dist/src/core/config/schema-version.d.ts +12 -0
  261. package/dist/src/core/config/schema-version.d.ts.map +1 -0
  262. package/dist/src/core/config/schema-version.js +12 -0
  263. package/dist/src/core/config/schema-version.js.map +1 -0
  264. package/dist/src/core/config/types.d.ts +81 -422
  265. package/dist/src/core/config/types.d.ts.map +1 -1
  266. package/dist/src/core/config/types.js +31 -163
  267. package/dist/src/core/config/types.js.map +1 -1
  268. package/dist/src/core/discrepancy/increment-generator.js +1 -1
  269. package/dist/src/core/discrepancy/increment-generator.js.map +1 -1
  270. package/dist/src/core/doctor/checkers/configuration-checker.d.ts +6 -2
  271. package/dist/src/core/doctor/checkers/configuration-checker.d.ts.map +1 -1
  272. package/dist/src/core/doctor/checkers/configuration-checker.js +58 -79
  273. package/dist/src/core/doctor/checkers/configuration-checker.js.map +1 -1
  274. package/dist/src/core/doctor/checkers/environment-checker.d.ts.map +1 -1
  275. package/dist/src/core/doctor/checkers/environment-checker.js +18 -8
  276. package/dist/src/core/doctor/checkers/environment-checker.js.map +1 -1
  277. package/dist/src/core/doctor/checkers/git-checker.d.ts +7 -0
  278. package/dist/src/core/doctor/checkers/git-checker.d.ts.map +1 -1
  279. package/dist/src/core/doctor/checkers/git-checker.js +73 -0
  280. package/dist/src/core/doctor/checkers/git-checker.js.map +1 -1
  281. package/dist/src/core/doctor/checkers/hooks-checker.d.ts +13 -5
  282. package/dist/src/core/doctor/checkers/hooks-checker.d.ts.map +1 -1
  283. package/dist/src/core/doctor/checkers/hooks-checker.js +105 -129
  284. package/dist/src/core/doctor/checkers/hooks-checker.js.map +1 -1
  285. package/dist/src/core/doctor/checkers/hygiene-checker.d.ts +21 -0
  286. package/dist/src/core/doctor/checkers/hygiene-checker.d.ts.map +1 -0
  287. package/dist/src/core/doctor/checkers/hygiene-checker.js +110 -0
  288. package/dist/src/core/doctor/checkers/hygiene-checker.js.map +1 -0
  289. package/dist/src/core/doctor/checkers/increments-checker.js +1 -1
  290. package/dist/src/core/doctor/checkers/increments-checker.js.map +1 -1
  291. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts +66 -5
  292. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts.map +1 -1
  293. package/dist/src/core/doctor/checkers/installation-health-checker.js +237 -78
  294. package/dist/src/core/doctor/checkers/installation-health-checker.js.map +1 -1
  295. package/dist/src/core/doctor/checkers/instruction-files-checker.d.ts +33 -0
  296. package/dist/src/core/doctor/checkers/instruction-files-checker.d.ts.map +1 -0
  297. package/dist/src/core/doctor/checkers/instruction-files-checker.js +186 -0
  298. package/dist/src/core/doctor/checkers/instruction-files-checker.js.map +1 -0
  299. package/dist/src/core/doctor/checkers/project-structure-checker.d.ts.map +1 -1
  300. package/dist/src/core/doctor/checkers/project-structure-checker.js +6 -5
  301. package/dist/src/core/doctor/checkers/project-structure-checker.js.map +1 -1
  302. package/dist/src/core/doctor/doctor.js +5 -5
  303. package/dist/src/core/doctor/doctor.js.map +1 -1
  304. package/dist/src/core/doctor/types.d.ts +2 -0
  305. package/dist/src/core/doctor/types.d.ts.map +1 -1
  306. package/dist/src/core/doctor/types.js.map +1 -1
  307. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +3 -11
  308. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
  309. package/dist/src/core/hooks/LifecycleHookDispatcher.js +27 -82
  310. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  311. package/dist/src/core/hooks/handlers/hook-router.d.ts +10 -7
  312. package/dist/src/core/hooks/handlers/hook-router.d.ts.map +1 -1
  313. package/dist/src/core/hooks/handlers/hook-router.js +47 -93
  314. package/dist/src/core/hooks/handlers/hook-router.js.map +1 -1
  315. package/dist/src/core/hooks/handlers/index.d.ts +4 -4
  316. package/dist/src/core/hooks/handlers/index.d.ts.map +1 -1
  317. package/dist/src/core/hooks/handlers/index.js +3 -3
  318. package/dist/src/core/hooks/handlers/index.js.map +1 -1
  319. package/dist/src/core/hooks/handlers/pre-compact.d.ts +14 -24
  320. package/dist/src/core/hooks/handlers/pre-compact.d.ts.map +1 -1
  321. package/dist/src/core/hooks/handlers/pre-compact.js +58 -89
  322. package/dist/src/core/hooks/handlers/pre-compact.js.map +1 -1
  323. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts +9 -4
  324. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts.map +1 -1
  325. package/dist/src/core/hooks/handlers/pre-tool-use.js +40 -346
  326. package/dist/src/core/hooks/handlers/pre-tool-use.js.map +1 -1
  327. package/dist/src/core/hooks/handlers/session-start.d.ts +11 -3
  328. package/dist/src/core/hooks/handlers/session-start.d.ts.map +1 -1
  329. package/dist/src/core/hooks/handlers/session-start.js +131 -78
  330. package/dist/src/core/hooks/handlers/session-start.js.map +1 -1
  331. package/dist/src/core/hooks/handlers/stop.d.ts +24 -0
  332. package/dist/src/core/hooks/handlers/stop.d.ts.map +1 -0
  333. package/dist/src/core/hooks/handlers/stop.js +184 -0
  334. package/dist/src/core/hooks/handlers/stop.js.map +1 -0
  335. package/dist/src/core/hooks/handlers/types.d.ts +61 -41
  336. package/dist/src/core/hooks/handlers/types.d.ts.map +1 -1
  337. package/dist/src/core/hooks/handlers/types.js +100 -16
  338. package/dist/src/core/hooks/handlers/types.js.map +1 -1
  339. package/dist/src/core/hooks/handlers/utils.d.ts +27 -9
  340. package/dist/src/core/hooks/handlers/utils.d.ts.map +1 -1
  341. package/dist/src/core/hooks/handlers/utils.js +86 -26
  342. package/dist/src/core/hooks/handlers/utils.js.map +1 -1
  343. package/dist/src/core/increment/auto-transition-manager.d.ts.map +1 -1
  344. package/dist/src/core/increment/auto-transition-manager.js +11 -9
  345. package/dist/src/core/increment/auto-transition-manager.js.map +1 -1
  346. package/dist/src/core/increment/completion-validator.d.ts +8 -20
  347. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  348. package/dist/src/core/increment/completion-validator.js +43 -239
  349. package/dist/src/core/increment/completion-validator.js.map +1 -1
  350. package/dist/src/core/increment/discipline-checker.d.ts +17 -38
  351. package/dist/src/core/increment/discipline-checker.d.ts.map +1 -1
  352. package/dist/src/core/increment/discipline-checker.js +49 -143
  353. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  354. package/dist/src/core/increment/increment-artifacts.d.ts +38 -0
  355. package/dist/src/core/increment/increment-artifacts.d.ts.map +1 -0
  356. package/dist/src/core/increment/increment-artifacts.js +57 -0
  357. package/dist/src/core/increment/increment-artifacts.js.map +1 -0
  358. package/dist/src/core/increment/increment-reopener.d.ts +0 -27
  359. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -1
  360. package/dist/src/core/increment/increment-reopener.js +3 -55
  361. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  362. package/dist/src/core/increment/metadata-manager.d.ts +9 -5
  363. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  364. package/dist/src/core/increment/metadata-manager.js +70 -13
  365. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  366. package/dist/src/core/increment/spec-frontmatter-updater.d.ts.map +1 -1
  367. package/dist/src/core/increment/spec-frontmatter-updater.js +11 -3
  368. package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
  369. package/dist/src/core/increment/status-auto-transition.d.ts +7 -3
  370. package/dist/src/core/increment/status-auto-transition.d.ts.map +1 -1
  371. package/dist/src/core/increment/status-auto-transition.js +16 -12
  372. package/dist/src/core/increment/status-auto-transition.js.map +1 -1
  373. package/dist/src/core/increment/status-change-sync-trigger.d.ts +0 -5
  374. package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -1
  375. package/dist/src/core/increment/status-change-sync-trigger.js +42 -39
  376. package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
  377. package/dist/src/core/increment/status-commands.d.ts +21 -1
  378. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  379. package/dist/src/core/increment/status-commands.js +167 -88
  380. package/dist/src/core/increment/status-commands.js.map +1 -1
  381. package/dist/src/core/increment/template-creator.d.ts +24 -0
  382. package/dist/src/core/increment/template-creator.d.ts.map +1 -1
  383. package/dist/src/core/increment/template-creator.js +127 -175
  384. package/dist/src/core/increment/template-creator.js.map +1 -1
  385. package/dist/src/core/increment/types.d.ts +7 -21
  386. package/dist/src/core/increment/types.d.ts.map +1 -1
  387. package/dist/src/core/increment/types.js +1 -2
  388. package/dist/src/core/increment/types.js.map +1 -1
  389. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +7 -4
  390. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  391. package/dist/src/core/lazy-loading/llm-plugin-detector.js +14 -17
  392. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  393. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts +0 -6
  394. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts.map +1 -1
  395. package/dist/src/core/living-docs/intelligent-analyzer/index.js +1 -153
  396. package/dist/src/core/living-docs/intelligent-analyzer/index.js.map +1 -1
  397. package/dist/src/core/living-docs/living-docs-enabled.d.ts +21 -0
  398. package/dist/src/core/living-docs/living-docs-enabled.d.ts.map +1 -0
  399. package/dist/src/core/living-docs/living-docs-enabled.js +31 -0
  400. package/dist/src/core/living-docs/living-docs-enabled.js.map +1 -0
  401. package/dist/src/core/living-docs/living-docs-sync.d.ts +9 -11
  402. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  403. package/dist/src/core/living-docs/living-docs-sync.js +30 -49
  404. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  405. package/dist/src/core/living-docs/types.d.ts +7 -0
  406. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  407. package/dist/src/core/qa/qa-runner.d.ts.map +1 -1
  408. package/dist/src/core/qa/qa-runner.js +7 -26
  409. package/dist/src/core/qa/qa-runner.js.map +1 -1
  410. package/dist/src/core/repo-structure/setup-summary.js +1 -1
  411. package/dist/src/core/repo-structure/setup-summary.js.map +1 -1
  412. package/dist/src/core/rubric/rubric-evaluator.d.ts +2 -0
  413. package/dist/src/core/rubric/rubric-evaluator.d.ts.map +1 -1
  414. package/dist/src/core/rubric/rubric-evaluator.js +33 -0
  415. package/dist/src/core/rubric/rubric-evaluator.js.map +1 -1
  416. package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
  417. package/dist/src/core/rubric/rubric-generator.js +8 -15
  418. package/dist/src/core/rubric/rubric-generator.js.map +1 -1
  419. package/dist/src/core/rubric/rubric-parser.js +1 -1
  420. package/dist/src/core/rubric/rubric-parser.js.map +1 -1
  421. package/dist/src/core/rubric/types.d.ts +8 -2
  422. package/dist/src/core/rubric/types.d.ts.map +1 -1
  423. package/dist/src/core/rubric/types.js.map +1 -1
  424. package/dist/src/core/session/handoff-doc-format.d.ts +37 -108
  425. package/dist/src/core/session/handoff-doc-format.d.ts.map +1 -1
  426. package/dist/src/core/session/handoff-doc-format.js +84 -179
  427. package/dist/src/core/session/handoff-doc-format.js.map +1 -1
  428. package/dist/src/core/session/handoff-git-state.d.ts +3 -14
  429. package/dist/src/core/session/handoff-git-state.d.ts.map +1 -1
  430. package/dist/src/core/session/handoff-git-state.js +68 -124
  431. package/dist/src/core/session/handoff-git-state.js.map +1 -1
  432. package/dist/src/core/session/install-handoff-context.d.ts.map +1 -1
  433. package/dist/src/core/session/install-handoff-context.js +15 -24
  434. package/dist/src/core/session/install-handoff-context.js.map +1 -1
  435. package/dist/src/core/session/work-handoff.d.ts +21 -55
  436. package/dist/src/core/session/work-handoff.d.ts.map +1 -1
  437. package/dist/src/core/session/work-handoff.js +146 -261
  438. package/dist/src/core/session/work-handoff.js.map +1 -1
  439. package/dist/src/core/skill-gen/types.d.ts +23 -1
  440. package/dist/src/core/skill-gen/types.d.ts.map +1 -1
  441. package/dist/src/core/skill-gen/types.js +1 -1
  442. package/dist/src/core/skills/skill-judge.d.ts +0 -7
  443. package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
  444. package/dist/src/core/skills/skill-judge.js +10 -3
  445. package/dist/src/core/skills/skill-judge.js.map +1 -1
  446. package/dist/src/core/state/state-gc.d.ts +65 -0
  447. package/dist/src/core/state/state-gc.d.ts.map +1 -0
  448. package/dist/src/core/state/state-gc.js +234 -0
  449. package/dist/src/core/state/state-gc.js.map +1 -0
  450. package/dist/src/core/status-line/status-line-updater.d.ts.map +1 -1
  451. package/dist/src/core/status-line/status-line-updater.js +1 -0
  452. package/dist/src/core/status-line/status-line-updater.js.map +1 -1
  453. package/dist/src/core/status-line-validator.js +2 -2
  454. package/dist/src/core/status-line-validator.js.map +1 -1
  455. package/dist/src/core/tasks/closure-gate.d.ts +27 -0
  456. package/dist/src/core/tasks/closure-gate.d.ts.map +1 -0
  457. package/dist/src/core/tasks/closure-gate.js +72 -0
  458. package/dist/src/core/tasks/closure-gate.js.map +1 -0
  459. package/dist/src/core/tasks/increment-updated.d.ts +27 -0
  460. package/dist/src/core/tasks/increment-updated.d.ts.map +1 -0
  461. package/dist/src/core/tasks/increment-updated.js +47 -0
  462. package/dist/src/core/tasks/increment-updated.js.map +1 -0
  463. package/dist/src/core/tasks/ledger.d.ts +115 -0
  464. package/dist/src/core/tasks/ledger.d.ts.map +1 -0
  465. package/dist/src/core/tasks/ledger.js +250 -0
  466. package/dist/src/core/tasks/ledger.js.map +1 -0
  467. package/dist/src/core/tasks/resolve-increment.d.ts +47 -0
  468. package/dist/src/core/tasks/resolve-increment.d.ts.map +1 -0
  469. package/dist/src/core/tasks/resolve-increment.js +153 -0
  470. package/dist/src/core/tasks/resolve-increment.js.map +1 -0
  471. package/dist/src/core/tasks/run-shell.d.ts +27 -0
  472. package/dist/src/core/tasks/run-shell.d.ts.map +1 -0
  473. package/dist/src/core/tasks/run-shell.js +67 -0
  474. package/dist/src/core/tasks/run-shell.js.map +1 -0
  475. package/dist/src/core/tasks/supersede.d.ts +24 -0
  476. package/dist/src/core/tasks/supersede.d.ts.map +1 -0
  477. package/dist/src/core/tasks/supersede.js +86 -0
  478. package/dist/src/core/tasks/supersede.js.map +1 -0
  479. package/dist/src/core/tasks/task-board.d.ts +75 -0
  480. package/dist/src/core/tasks/task-board.d.ts.map +1 -0
  481. package/dist/src/core/tasks/task-board.js +259 -0
  482. package/dist/src/core/tasks/task-board.js.map +1 -0
  483. package/dist/src/core/tasks/task-id.d.ts +24 -0
  484. package/dist/src/core/tasks/task-id.d.ts.map +1 -0
  485. package/dist/src/core/tasks/task-id.js +24 -0
  486. package/dist/src/core/tasks/task-id.js.map +1 -0
  487. package/dist/src/core/tasks/verify-runner.d.ts +87 -0
  488. package/dist/src/core/tasks/verify-runner.d.ts.map +1 -0
  489. package/dist/src/core/tasks/verify-runner.js +166 -0
  490. package/dist/src/core/tasks/verify-runner.js.map +1 -0
  491. package/dist/src/core/team-lead/template-loader.js +1 -1
  492. package/dist/src/core/team-lead/template-loader.js.map +1 -1
  493. package/dist/src/core/types/increment-metadata.d.ts +86 -35
  494. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  495. package/dist/src/core/types/increment-metadata.js +115 -47
  496. package/dist/src/core/types/increment-metadata.js.map +1 -1
  497. package/dist/src/core/validation/increment-structure-validator.d.ts +2 -1
  498. package/dist/src/core/validation/increment-structure-validator.d.ts.map +1 -1
  499. package/dist/src/core/validation/increment-structure-validator.js +3 -13
  500. package/dist/src/core/validation/increment-structure-validator.js.map +1 -1
  501. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  502. package/dist/src/dashboard/server/dashboard-server.js +12 -19
  503. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  504. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +1 -1
  505. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  506. package/dist/src/generators/spec/task-parser.d.ts +18 -2
  507. package/dist/src/generators/spec/task-parser.d.ts.map +1 -1
  508. package/dist/src/generators/spec/task-parser.js +74 -6
  509. package/dist/src/generators/spec/task-parser.js.map +1 -1
  510. package/dist/src/importers/github-importer.d.ts.map +1 -1
  511. package/dist/src/importers/github-importer.js +6 -4
  512. package/dist/src/importers/github-importer.js.map +1 -1
  513. package/dist/src/importers/import-to-increment.js +2 -2
  514. package/dist/src/importers/import-to-increment.js.map +1 -1
  515. package/dist/src/init/research/types.d.ts +1 -1
  516. package/dist/src/progress/us-progress-tracker.d.ts +4 -0
  517. package/dist/src/progress/us-progress-tracker.d.ts.map +1 -1
  518. package/dist/src/progress/us-progress-tracker.js +10 -3
  519. package/dist/src/progress/us-progress-tracker.js.map +1 -1
  520. package/dist/src/sync/config.js +2 -2
  521. package/dist/src/sync/config.js.map +1 -1
  522. package/dist/src/sync/external-sync-configured.d.ts +23 -0
  523. package/dist/src/sync/external-sync-configured.d.ts.map +1 -0
  524. package/dist/src/sync/external-sync-configured.js +51 -0
  525. package/dist/src/sync/external-sync-configured.js.map +1 -0
  526. package/dist/src/sync/github-reconciler.js +2 -2
  527. package/dist/src/sync/github-reconciler.js.map +1 -1
  528. package/dist/src/sync/sync-coordinator.js +4 -4
  529. package/dist/src/sync/sync-coordinator.js.map +1 -1
  530. package/dist/src/sync/sync-target-resolver.js +1 -1
  531. package/dist/src/sync/sync-target-resolver.js.map +1 -1
  532. package/dist/src/utils/auth-helpers.d.ts +37 -16
  533. package/dist/src/utils/auth-helpers.d.ts.map +1 -1
  534. package/dist/src/utils/auth-helpers.js +88 -74
  535. package/dist/src/utils/auth-helpers.js.map +1 -1
  536. package/dist/src/utils/cost-reporter.js +1 -1
  537. package/dist/src/utils/cost-reporter.js.map +1 -1
  538. package/dist/src/utils/notification-constants.js +1 -1
  539. package/dist/src/utils/notification-constants.js.map +1 -1
  540. package/dist/src/utils/port-reachable.d.ts +3 -0
  541. package/dist/src/utils/port-reachable.d.ts.map +1 -0
  542. package/dist/src/utils/port-reachable.js +22 -0
  543. package/dist/src/utils/port-reachable.js.map +1 -0
  544. package/package.json +14 -8
  545. package/plugins/PLUGINS-INDEX.md +25 -44
  546. package/plugins/specweave/.claude-plugin/plugin.json +10 -15
  547. package/plugins/specweave/.lint/skill-lint.test.ts +93 -0
  548. package/plugins/specweave/PLUGIN.md +40 -105
  549. package/plugins/specweave/agents/sw-closer.md +16 -25
  550. package/plugins/specweave/defaults/rubric-defaults.md +11 -11
  551. package/plugins/specweave/hooks/hooks.json +13 -65
  552. package/plugins/specweave/hooks/run-worker.mjs +229 -0
  553. package/plugins/specweave/hooks/run.mjs +72 -0
  554. package/plugins/specweave/lib/external-sync/README.md +2 -3
  555. package/plugins/specweave/lib/integrations/github/github-access-error.js +2 -2
  556. package/plugins/specweave/lib/integrations/github/github-access-error.ts +3 -3
  557. package/plugins/specweave/lib/integrations/github/github-client-v2.js +19 -40
  558. package/plugins/specweave/lib/integrations/github/github-client-v2.ts +19 -40
  559. package/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js +1 -1
  560. package/plugins/specweave/lib/integrations/github/github-feature-sync-cli.ts +1 -1
  561. package/plugins/specweave/lib/integrations/github/github-feature-sync.js +2 -2
  562. package/plugins/specweave/lib/integrations/github/github-feature-sync.ts +2 -2
  563. package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +11 -9
  564. package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -1
  565. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +9 -5
  566. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +70 -13
  567. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  568. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +7 -3
  569. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +16 -12
  570. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -1
  571. package/plugins/specweave/lib/vendor/core/tasks/task-id.d.ts +24 -0
  572. package/plugins/specweave/lib/vendor/core/tasks/task-id.js +24 -0
  573. package/plugins/specweave/lib/vendor/core/tasks/task-id.js.map +1 -0
  574. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +86 -35
  575. package/plugins/specweave/lib/vendor/core/types/increment-metadata.js +115 -47
  576. package/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -1
  577. package/plugins/specweave/lib/vendor/generators/spec/task-parser.d.ts +18 -2
  578. package/plugins/specweave/lib/vendor/generators/spec/task-parser.js +74 -6
  579. package/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
  580. package/plugins/specweave/lib/vendor/sync/config.js +2 -2
  581. package/plugins/specweave/lib/vendor/sync/config.js.map +1 -1
  582. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  583. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  584. package/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +37 -16
  585. package/plugins/specweave/lib/vendor/utils/auth-helpers.js +88 -74
  586. package/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -1
  587. package/plugins/specweave/marketplace.json +99 -91
  588. package/plugins/specweave/reference/ado/ado-specweave-mapping.md +5 -6
  589. package/plugins/specweave/reference/github/github-specweave-mapping.md +3 -4
  590. package/plugins/specweave/reference/jira/jira-specweave-mapping.md +5 -5
  591. package/plugins/specweave/scripts/README.md +23 -168
  592. package/plugins/specweave/scripts/jobs.js +3 -2
  593. package/plugins/specweave/scripts/progress.js +9 -8
  594. package/plugins/specweave/scripts/status.js +7 -6
  595. package/plugins/specweave/skills/auto/SKILL.md +47 -263
  596. package/plugins/specweave/skills/brainstorm/SKILL.md +53 -559
  597. package/plugins/specweave/skills/do/SKILL.md +31 -249
  598. package/plugins/specweave/skills/done/SKILL.md +23 -264
  599. package/plugins/specweave/skills/handoff/SKILL.md +22 -40
  600. package/plugins/specweave/skills/increment/SKILL.md +81 -489
  601. package/plugins/specweave/skills/qa/SKILL.md +45 -0
  602. package/plugins/specweave/skills/review/SKILL.md +102 -0
  603. package/plugins/specweave/skills/sync/SKILL.md +63 -0
  604. package/plugins/specweave/skills/team/SKILL.md +89 -0
  605. package/plugins/specweave/skills/{team-lead → team}/agents/_protocol.md +1 -1
  606. package/plugins/specweave/skills/{team-lead → team}/agents/architect.md +4 -2
  607. package/plugins/specweave/skills/{team-lead → team}/agents/backend.md +3 -3
  608. package/plugins/specweave/skills/{team-lead → team}/agents/database.md +2 -2
  609. package/plugins/specweave/skills/{team-lead → team}/agents/frontend.md +2 -2
  610. package/plugins/specweave/skills/{team-lead → team}/agents/pm.md +3 -2
  611. package/plugins/specweave/skills/{team-lead → team}/agents/security.md +2 -2
  612. package/plugins/specweave/skills/{team-lead → team}/agents/testing.md +4 -4
  613. package/src/templates/.gitattributes.template +3 -0
  614. package/src/templates/.gitignore.template +63 -27
  615. package/src/templates/AGENTS.md.template +52 -423
  616. package/src/templates/CLAUDE.md.template +50 -290
  617. package/src/templates/README.md.template +16 -146
  618. package/src/templates/git-hooks/pre-commit.template +22 -26
  619. package/dist/dashboard/assets/index-DAfC5dt1.css +0 -1
  620. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  621. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  622. package/dist/src/adapters/agents-md-generator.js +0 -129
  623. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  624. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  625. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  626. package/dist/src/adapters/claude-md-generator.js +0 -248
  627. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  628. package/dist/src/adapters/template-utils.d.ts +0 -16
  629. package/dist/src/adapters/template-utils.d.ts.map +0 -1
  630. package/dist/src/adapters/template-utils.js +0 -61
  631. package/dist/src/adapters/template-utils.js.map +0 -1
  632. package/dist/src/cli/commands/logs.d.ts +0 -13
  633. package/dist/src/cli/commands/logs.d.ts.map +0 -1
  634. package/dist/src/cli/commands/logs.js +0 -110
  635. package/dist/src/cli/commands/logs.js.map +0 -1
  636. package/dist/src/cli/commands/reflect-stop.d.ts +0 -30
  637. package/dist/src/cli/commands/reflect-stop.d.ts.map +0 -1
  638. package/dist/src/cli/commands/reflect-stop.js +0 -63
  639. package/dist/src/cli/commands/reflect-stop.js.map +0 -1
  640. package/dist/src/cli/commands/revert-wip-limit.d.ts +0 -8
  641. package/dist/src/cli/commands/revert-wip-limit.d.ts.map +0 -1
  642. package/dist/src/cli/commands/revert-wip-limit.js +0 -65
  643. package/dist/src/cli/commands/revert-wip-limit.js.map +0 -1
  644. package/dist/src/cli/commands/set-sync-target.d.ts +0 -41
  645. package/dist/src/cli/commands/set-sync-target.d.ts.map +0 -1
  646. package/dist/src/cli/commands/set-sync-target.js +0 -126
  647. package/dist/src/cli/commands/set-sync-target.js.map +0 -1
  648. package/dist/src/cli/commands/sync-flush.d.ts +0 -31
  649. package/dist/src/cli/commands/sync-flush.d.ts.map +0 -1
  650. package/dist/src/cli/commands/sync-flush.js +0 -114
  651. package/dist/src/cli/commands/sync-flush.js.map +0 -1
  652. package/dist/src/cli/commands/sync-scheduled.d.ts +0 -38
  653. package/dist/src/cli/commands/sync-scheduled.d.ts.map +0 -1
  654. package/dist/src/cli/commands/sync-scheduled.js +0 -171
  655. package/dist/src/cli/commands/sync-scheduled.js.map +0 -1
  656. package/dist/src/cli/commands/sync-task.d.ts +0 -16
  657. package/dist/src/cli/commands/sync-task.d.ts.map +0 -1
  658. package/dist/src/cli/commands/sync-task.js +0 -42
  659. package/dist/src/cli/commands/sync-task.js.map +0 -1
  660. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  661. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  662. package/dist/src/cli/commands/validate-jira.js +0 -116
  663. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  664. package/dist/src/cli/helpers/init/claude-settings-permissions.d.ts +0 -20
  665. package/dist/src/cli/helpers/init/claude-settings-permissions.d.ts.map +0 -1
  666. package/dist/src/cli/helpers/init/claude-settings-permissions.js +0 -71
  667. package/dist/src/cli/helpers/init/claude-settings-permissions.js.map +0 -1
  668. package/dist/src/cli/helpers/init/dci-scripts-installer.d.ts +0 -21
  669. package/dist/src/cli/helpers/init/dci-scripts-installer.d.ts.map +0 -1
  670. package/dist/src/cli/helpers/init/dci-scripts-installer.js +0 -58
  671. package/dist/src/cli/helpers/init/dci-scripts-installer.js.map +0 -1
  672. package/dist/src/cli/helpers/init/deep-interview-config.d.ts +0 -35
  673. package/dist/src/cli/helpers/init/deep-interview-config.d.ts.map +0 -1
  674. package/dist/src/cli/helpers/init/deep-interview-config.js +0 -261
  675. package/dist/src/cli/helpers/init/deep-interview-config.js.map +0 -1
  676. package/dist/src/cli/helpers/init/quality-gates-config.d.ts +0 -57
  677. package/dist/src/cli/helpers/init/quality-gates-config.d.ts.map +0 -1
  678. package/dist/src/cli/helpers/init/quality-gates-config.js +0 -306
  679. package/dist/src/cli/helpers/init/quality-gates-config.js.map +0 -1
  680. package/dist/src/cli/helpers/init/translation-config.d.ts +0 -96
  681. package/dist/src/cli/helpers/init/translation-config.d.ts.map +0 -1
  682. package/dist/src/cli/helpers/init/translation-config.js +0 -472
  683. package/dist/src/cli/helpers/init/translation-config.js.map +0 -1
  684. package/dist/src/core/dashboard/dashboard-data.d.ts +0 -156
  685. package/dist/src/core/dashboard/dashboard-data.d.ts.map +0 -1
  686. package/dist/src/core/dashboard/dashboard-data.js +0 -186
  687. package/dist/src/core/dashboard/dashboard-data.js.map +0 -1
  688. package/dist/src/core/dashboard/index.d.ts +0 -9
  689. package/dist/src/core/dashboard/index.d.ts.map +0 -1
  690. package/dist/src/core/dashboard/index.js +0 -9
  691. package/dist/src/core/dashboard/index.js.map +0 -1
  692. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts +0 -26
  693. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts.map +0 -1
  694. package/dist/src/core/doctor/checkers/plugin-currency-checker.js +0 -128
  695. package/dist/src/core/doctor/checkers/plugin-currency-checker.js.map +0 -1
  696. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts +0 -25
  697. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts.map +0 -1
  698. package/dist/src/core/doctor/checkers/skill-currency-checker.js +0 -98
  699. package/dist/src/core/doctor/checkers/skill-currency-checker.js.map +0 -1
  700. package/dist/src/core/hooks/HealthReporter.d.ts +0 -57
  701. package/dist/src/core/hooks/HealthReporter.d.ts.map +0 -1
  702. package/dist/src/core/hooks/HealthReporter.js +0 -260
  703. package/dist/src/core/hooks/HealthReporter.js.map +0 -1
  704. package/dist/src/core/hooks/HookAutoFixer.d.ts +0 -44
  705. package/dist/src/core/hooks/HookAutoFixer.d.ts.map +0 -1
  706. package/dist/src/core/hooks/HookAutoFixer.js +0 -168
  707. package/dist/src/core/hooks/HookAutoFixer.js.map +0 -1
  708. package/dist/src/core/hooks/HookExecutor.d.ts +0 -57
  709. package/dist/src/core/hooks/HookExecutor.d.ts.map +0 -1
  710. package/dist/src/core/hooks/HookExecutor.js +0 -268
  711. package/dist/src/core/hooks/HookExecutor.js.map +0 -1
  712. package/dist/src/core/hooks/HookHealthChecker.d.ts +0 -52
  713. package/dist/src/core/hooks/HookHealthChecker.d.ts.map +0 -1
  714. package/dist/src/core/hooks/HookHealthChecker.js +0 -202
  715. package/dist/src/core/hooks/HookHealthChecker.js.map +0 -1
  716. package/dist/src/core/hooks/HookScanner.d.ts +0 -105
  717. package/dist/src/core/hooks/HookScanner.d.ts.map +0 -1
  718. package/dist/src/core/hooks/HookScanner.js +0 -307
  719. package/dist/src/core/hooks/HookScanner.js.map +0 -1
  720. package/dist/src/core/hooks/feature-id-resolver.d.ts +0 -16
  721. package/dist/src/core/hooks/feature-id-resolver.d.ts.map +0 -1
  722. package/dist/src/core/hooks/feature-id-resolver.js +0 -60
  723. package/dist/src/core/hooks/feature-id-resolver.js.map +0 -1
  724. package/dist/src/core/hooks/github-project-sync.d.ts +0 -16
  725. package/dist/src/core/hooks/github-project-sync.d.ts.map +0 -1
  726. package/dist/src/core/hooks/github-project-sync.js +0 -37
  727. package/dist/src/core/hooks/github-project-sync.js.map +0 -1
  728. package/dist/src/core/hooks/handlers/banner-check.d.ts +0 -42
  729. package/dist/src/core/hooks/handlers/banner-check.d.ts.map +0 -1
  730. package/dist/src/core/hooks/handlers/banner-check.js +0 -180
  731. package/dist/src/core/hooks/handlers/banner-check.js.map +0 -1
  732. package/dist/src/core/hooks/handlers/banner-state.d.ts +0 -44
  733. package/dist/src/core/hooks/handlers/banner-state.d.ts.map +0 -1
  734. package/dist/src/core/hooks/handlers/banner-state.js +0 -100
  735. package/dist/src/core/hooks/handlers/banner-state.js.map +0 -1
  736. package/dist/src/core/hooks/handlers/post-tool-use-analytics.d.ts +0 -11
  737. package/dist/src/core/hooks/handlers/post-tool-use-analytics.d.ts.map +0 -1
  738. package/dist/src/core/hooks/handlers/post-tool-use-analytics.js +0 -75
  739. package/dist/src/core/hooks/handlers/post-tool-use-analytics.js.map +0 -1
  740. package/dist/src/core/hooks/handlers/post-tool-use.d.ts +0 -11
  741. package/dist/src/core/hooks/handlers/post-tool-use.d.ts.map +0 -1
  742. package/dist/src/core/hooks/handlers/post-tool-use.js +0 -76
  743. package/dist/src/core/hooks/handlers/post-tool-use.js.map +0 -1
  744. package/dist/src/core/hooks/handlers/stop-auto.d.ts +0 -22
  745. package/dist/src/core/hooks/handlers/stop-auto.d.ts.map +0 -1
  746. package/dist/src/core/hooks/handlers/stop-auto.js +0 -227
  747. package/dist/src/core/hooks/handlers/stop-auto.js.map +0 -1
  748. package/dist/src/core/hooks/handlers/stop-reflect.d.ts +0 -14
  749. package/dist/src/core/hooks/handlers/stop-reflect.d.ts.map +0 -1
  750. package/dist/src/core/hooks/handlers/stop-reflect.js +0 -43
  751. package/dist/src/core/hooks/handlers/stop-reflect.js.map +0 -1
  752. package/dist/src/core/hooks/handlers/stop-sync.d.ts +0 -15
  753. package/dist/src/core/hooks/handlers/stop-sync.d.ts.map +0 -1
  754. package/dist/src/core/hooks/handlers/stop-sync.js +0 -68
  755. package/dist/src/core/hooks/handlers/stop-sync.js.map +0 -1
  756. package/dist/src/core/hooks/handlers/user-prompt-submit.d.ts +0 -14
  757. package/dist/src/core/hooks/handlers/user-prompt-submit.d.ts.map +0 -1
  758. package/dist/src/core/hooks/handlers/user-prompt-submit.js +0 -196
  759. package/dist/src/core/hooks/handlers/user-prompt-submit.js.map +0 -1
  760. package/dist/src/core/hooks/hook-health-tracker.d.ts +0 -54
  761. package/dist/src/core/hooks/hook-health-tracker.d.ts.map +0 -1
  762. package/dist/src/core/hooks/hook-health-tracker.js +0 -140
  763. package/dist/src/core/hooks/hook-health-tracker.js.map +0 -1
  764. package/dist/src/core/hooks/hook-logger.d.ts +0 -83
  765. package/dist/src/core/hooks/hook-logger.d.ts.map +0 -1
  766. package/dist/src/core/hooks/hook-logger.js +0 -120
  767. package/dist/src/core/hooks/hook-logger.js.map +0 -1
  768. package/dist/src/core/hooks/log-rotator.d.ts +0 -51
  769. package/dist/src/core/hooks/log-rotator.d.ts.map +0 -1
  770. package/dist/src/core/hooks/log-rotator.js +0 -85
  771. package/dist/src/core/hooks/log-rotator.js.map +0 -1
  772. package/dist/src/core/hooks/pretooluse-guard.d.ts +0 -37
  773. package/dist/src/core/hooks/pretooluse-guard.d.ts.map +0 -1
  774. package/dist/src/core/hooks/pretooluse-guard.js +0 -64
  775. package/dist/src/core/hooks/pretooluse-guard.js.map +0 -1
  776. package/dist/src/core/hooks/project-scope-guard.d.ts +0 -77
  777. package/dist/src/core/hooks/project-scope-guard.d.ts.map +0 -1
  778. package/dist/src/core/hooks/project-scope-guard.js +0 -206
  779. package/dist/src/core/hooks/project-scope-guard.js.map +0 -1
  780. package/dist/src/core/hooks/types.d.ts +0 -322
  781. package/dist/src/core/hooks/types.d.ts.map +0 -1
  782. package/dist/src/core/hooks/types.js +0 -10
  783. package/dist/src/core/hooks/types.js.map +0 -1
  784. package/dist/src/core/increment/limits.d.ts +0 -68
  785. package/dist/src/core/increment/limits.d.ts.map +0 -1
  786. package/dist/src/core/increment/limits.js +0 -227
  787. package/dist/src/core/increment/limits.js.map +0 -1
  788. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts +0 -58
  789. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts.map +0 -1
  790. package/dist/src/core/living-docs/delivery/delivery-generator.js +0 -501
  791. package/dist/src/core/living-docs/delivery/delivery-generator.js.map +0 -1
  792. package/dist/src/core/living-docs/delivery/index.d.ts +0 -8
  793. package/dist/src/core/living-docs/delivery/index.d.ts.map +0 -1
  794. package/dist/src/core/living-docs/delivery/index.js +0 -7
  795. package/dist/src/core/living-docs/delivery/index.js.map +0 -1
  796. package/dist/src/core/living-docs/diagrams/index.d.ts +0 -8
  797. package/dist/src/core/living-docs/diagrams/index.d.ts.map +0 -1
  798. package/dist/src/core/living-docs/diagrams/index.js +0 -7
  799. package/dist/src/core/living-docs/diagrams/index.js.map +0 -1
  800. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts +0 -113
  801. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts.map +0 -1
  802. package/dist/src/core/living-docs/diagrams/mermaid-generator.js +0 -533
  803. package/dist/src/core/living-docs/diagrams/mermaid-generator.js.map +0 -1
  804. package/dist/src/core/living-docs/governance/ecosystem-detector.d.ts +0 -38
  805. package/dist/src/core/living-docs/governance/ecosystem-detector.d.ts.map +0 -1
  806. package/dist/src/core/living-docs/governance/ecosystem-detector.js +0 -325
  807. package/dist/src/core/living-docs/governance/ecosystem-detector.js.map +0 -1
  808. package/dist/src/core/living-docs/governance/frontend-standards-parser.d.ts +0 -74
  809. package/dist/src/core/living-docs/governance/frontend-standards-parser.d.ts.map +0 -1
  810. package/dist/src/core/living-docs/governance/frontend-standards-parser.js +0 -366
  811. package/dist/src/core/living-docs/governance/frontend-standards-parser.js.map +0 -1
  812. package/dist/src/core/living-docs/governance/go-standards-parser.d.ts +0 -64
  813. package/dist/src/core/living-docs/governance/go-standards-parser.d.ts.map +0 -1
  814. package/dist/src/core/living-docs/governance/go-standards-parser.js +0 -229
  815. package/dist/src/core/living-docs/governance/go-standards-parser.js.map +0 -1
  816. package/dist/src/core/living-docs/governance/index.d.ts +0 -50
  817. package/dist/src/core/living-docs/governance/index.d.ts.map +0 -1
  818. package/dist/src/core/living-docs/governance/index.js +0 -56
  819. package/dist/src/core/living-docs/governance/index.js.map +0 -1
  820. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts +0 -89
  821. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts.map +0 -1
  822. package/dist/src/core/living-docs/governance/java-standards-parser.js +0 -375
  823. package/dist/src/core/living-docs/governance/java-standards-parser.js.map +0 -1
  824. package/dist/src/core/living-docs/governance/python-standards-parser.d.ts +0 -83
  825. package/dist/src/core/living-docs/governance/python-standards-parser.d.ts.map +0 -1
  826. package/dist/src/core/living-docs/governance/python-standards-parser.js +0 -347
  827. package/dist/src/core/living-docs/governance/python-standards-parser.js.map +0 -1
  828. package/dist/src/core/living-docs/governance/standards-generator.d.ts +0 -38
  829. package/dist/src/core/living-docs/governance/standards-generator.d.ts.map +0 -1
  830. package/dist/src/core/living-docs/governance/standards-generator.js +0 -476
  831. package/dist/src/core/living-docs/governance/standards-generator.js.map +0 -1
  832. package/dist/src/core/living-docs/operations/index.d.ts +0 -8
  833. package/dist/src/core/living-docs/operations/index.d.ts.map +0 -1
  834. package/dist/src/core/living-docs/operations/index.js +0 -7
  835. package/dist/src/core/living-docs/operations/index.js.map +0 -1
  836. package/dist/src/core/living-docs/operations/ops-generator.d.ts +0 -53
  837. package/dist/src/core/living-docs/operations/ops-generator.d.ts.map +0 -1
  838. package/dist/src/core/living-docs/operations/ops-generator.js +0 -462
  839. package/dist/src/core/living-docs/operations/ops-generator.js.map +0 -1
  840. package/dist/src/core/reflect-nudge/aggregator.d.ts +0 -33
  841. package/dist/src/core/reflect-nudge/aggregator.d.ts.map +0 -1
  842. package/dist/src/core/reflect-nudge/aggregator.js +0 -80
  843. package/dist/src/core/reflect-nudge/aggregator.js.map +0 -1
  844. package/dist/src/core/reflect-nudge/eligibility.d.ts +0 -27
  845. package/dist/src/core/reflect-nudge/eligibility.d.ts.map +0 -1
  846. package/dist/src/core/reflect-nudge/eligibility.js +0 -114
  847. package/dist/src/core/reflect-nudge/eligibility.js.map +0 -1
  848. package/dist/src/core/reflect-nudge/index.d.ts +0 -14
  849. package/dist/src/core/reflect-nudge/index.d.ts.map +0 -1
  850. package/dist/src/core/reflect-nudge/index.js +0 -14
  851. package/dist/src/core/reflect-nudge/index.js.map +0 -1
  852. package/dist/src/core/reflect-nudge/interactive-prompt.d.ts +0 -28
  853. package/dist/src/core/reflect-nudge/interactive-prompt.d.ts.map +0 -1
  854. package/dist/src/core/reflect-nudge/interactive-prompt.js +0 -52
  855. package/dist/src/core/reflect-nudge/interactive-prompt.js.map +0 -1
  856. package/dist/src/core/reflect-nudge/prompt-renderer.d.ts +0 -23
  857. package/dist/src/core/reflect-nudge/prompt-renderer.d.ts.map +0 -1
  858. package/dist/src/core/reflect-nudge/prompt-renderer.js +0 -26
  859. package/dist/src/core/reflect-nudge/prompt-renderer.js.map +0 -1
  860. package/dist/src/core/reflect-nudge/session-end-nudge.d.ts +0 -31
  861. package/dist/src/core/reflect-nudge/session-end-nudge.d.ts.map +0 -1
  862. package/dist/src/core/reflect-nudge/session-end-nudge.js +0 -44
  863. package/dist/src/core/reflect-nudge/session-end-nudge.js.map +0 -1
  864. package/dist/src/core/reflection/index.d.ts +0 -23
  865. package/dist/src/core/reflection/index.d.ts.map +0 -1
  866. package/dist/src/core/reflection/index.js +0 -25
  867. package/dist/src/core/reflection/index.js.map +0 -1
  868. package/dist/src/core/reflection/reflect-handler.d.ts +0 -128
  869. package/dist/src/core/reflection/reflect-handler.d.ts.map +0 -1
  870. package/dist/src/core/reflection/reflect-handler.js +0 -742
  871. package/dist/src/core/reflection/reflect-handler.js.map +0 -1
  872. package/dist/src/core/reflection/skill-memories.d.ts +0 -113
  873. package/dist/src/core/reflection/skill-memories.d.ts.map +0 -1
  874. package/dist/src/core/reflection/skill-memories.js +0 -306
  875. package/dist/src/core/reflection/skill-memories.js.map +0 -1
  876. package/dist/src/core/scheduler/index.d.ts +0 -12
  877. package/dist/src/core/scheduler/index.d.ts.map +0 -1
  878. package/dist/src/core/scheduler/index.js +0 -12
  879. package/dist/src/core/scheduler/index.js.map +0 -1
  880. package/dist/src/core/scheduler/job-scheduler.d.ts +0 -179
  881. package/dist/src/core/scheduler/job-scheduler.d.ts.map +0 -1
  882. package/dist/src/core/scheduler/job-scheduler.js +0 -282
  883. package/dist/src/core/scheduler/job-scheduler.js.map +0 -1
  884. package/dist/src/core/scheduler/schedule-persistence.d.ts +0 -84
  885. package/dist/src/core/scheduler/schedule-persistence.d.ts.map +0 -1
  886. package/dist/src/core/scheduler/schedule-persistence.js +0 -188
  887. package/dist/src/core/scheduler/schedule-persistence.js.map +0 -1
  888. package/dist/src/core/scheduler/scheduled-job.d.ts +0 -188
  889. package/dist/src/core/scheduler/scheduled-job.d.ts.map +0 -1
  890. package/dist/src/core/scheduler/scheduled-job.js +0 -182
  891. package/dist/src/core/scheduler/scheduled-job.js.map +0 -1
  892. package/dist/src/core/scheduler/session-sync-executor.d.ts +0 -141
  893. package/dist/src/core/scheduler/session-sync-executor.d.ts.map +0 -1
  894. package/dist/src/core/scheduler/session-sync-executor.js +0 -358
  895. package/dist/src/core/scheduler/session-sync-executor.js.map +0 -1
  896. package/dist/src/core/session/reflect-checker.d.ts +0 -19
  897. package/dist/src/core/session/reflect-checker.d.ts.map +0 -1
  898. package/dist/src/core/session/reflect-checker.js +0 -30
  899. package/dist/src/core/session/reflect-checker.js.map +0 -1
  900. package/dist/src/core/sync/event-queue-ops.d.ts +0 -39
  901. package/dist/src/core/sync/event-queue-ops.d.ts.map +0 -1
  902. package/dist/src/core/sync/event-queue-ops.js +0 -109
  903. package/dist/src/core/sync/event-queue-ops.js.map +0 -1
  904. package/dist/src/core/sync/event-queue.d.ts +0 -43
  905. package/dist/src/core/sync/event-queue.d.ts.map +0 -1
  906. package/dist/src/core/sync/event-queue.js +0 -62
  907. package/dist/src/core/sync/event-queue.js.map +0 -1
  908. package/dist/src/core/sync/persistent-circuit-breaker.d.ts +0 -22
  909. package/dist/src/core/sync/persistent-circuit-breaker.d.ts.map +0 -1
  910. package/dist/src/core/sync/persistent-circuit-breaker.js +0 -65
  911. package/dist/src/core/sync/persistent-circuit-breaker.js.map +0 -1
  912. package/dist/src/core/sync/sync-resilience.d.ts +0 -49
  913. package/dist/src/core/sync/sync-resilience.d.ts.map +0 -1
  914. package/dist/src/core/sync/sync-resilience.js +0 -133
  915. package/dist/src/core/sync/sync-resilience.js.map +0 -1
  916. package/dist/src/core/us-sync-throttle.d.ts +0 -113
  917. package/dist/src/core/us-sync-throttle.d.ts.map +0 -1
  918. package/dist/src/core/us-sync-throttle.js +0 -195
  919. package/dist/src/core/us-sync-throttle.js.map +0 -1
  920. package/dist/src/hooks/auto-create-external-issue.d.ts +0 -19
  921. package/dist/src/hooks/auto-create-external-issue.d.ts.map +0 -1
  922. package/dist/src/hooks/auto-create-external-issue.js +0 -85
  923. package/dist/src/hooks/auto-create-external-issue.js.map +0 -1
  924. package/dist/src/hooks/generate-settings.d.ts +0 -8
  925. package/dist/src/hooks/generate-settings.d.ts.map +0 -1
  926. package/dist/src/hooks/generate-settings.js +0 -69
  927. package/dist/src/hooks/generate-settings.js.map +0 -1
  928. package/dist/src/hooks/hooks-status.d.ts +0 -12
  929. package/dist/src/hooks/hooks-status.d.ts.map +0 -1
  930. package/dist/src/hooks/hooks-status.js +0 -101
  931. package/dist/src/hooks/hooks-status.js.map +0 -1
  932. package/dist/src/hooks/index.d.ts +0 -11
  933. package/dist/src/hooks/index.d.ts.map +0 -1
  934. package/dist/src/hooks/index.js +0 -11
  935. package/dist/src/hooks/index.js.map +0 -1
  936. package/dist/src/hooks/platform.d.ts +0 -120
  937. package/dist/src/hooks/platform.d.ts.map +0 -1
  938. package/dist/src/hooks/platform.js +0 -278
  939. package/dist/src/hooks/platform.js.map +0 -1
  940. package/dist/src/hooks/processor.d.ts +0 -27
  941. package/dist/src/hooks/processor.d.ts.map +0 -1
  942. package/dist/src/hooks/processor.js +0 -334
  943. package/dist/src/hooks/processor.js.map +0 -1
  944. package/dist/src/hooks/scheduler-startup.d.ts +0 -19
  945. package/dist/src/hooks/scheduler-startup.d.ts.map +0 -1
  946. package/dist/src/hooks/scheduler-startup.js +0 -92
  947. package/dist/src/hooks/scheduler-startup.js.map +0 -1
  948. package/dist/src/hooks/session-start.d.ts +0 -16
  949. package/dist/src/hooks/session-start.d.ts.map +0 -1
  950. package/dist/src/hooks/session-start.js +0 -142
  951. package/dist/src/hooks/session-start.js.map +0 -1
  952. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +0 -99
  953. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +0 -1
  954. package/dist/src/integrations/ado/ado-dependency-loader.js +0 -237
  955. package/dist/src/integrations/ado/ado-dependency-loader.js.map +0 -1
  956. package/dist/src/integrations/ado/area-path-mapper.d.ts +0 -137
  957. package/dist/src/integrations/ado/area-path-mapper.d.ts.map +0 -1
  958. package/dist/src/integrations/ado/area-path-mapper.js +0 -263
  959. package/dist/src/integrations/ado/area-path-mapper.js.map +0 -1
  960. package/dist/src/integrations/jira/filter-processor.d.ts +0 -126
  961. package/dist/src/integrations/jira/filter-processor.d.ts.map +0 -1
  962. package/dist/src/integrations/jira/filter-processor.js +0 -222
  963. package/dist/src/integrations/jira/filter-processor.js.map +0 -1
  964. package/dist/src/integrations/jira/jira-dependency-loader.d.ts +0 -101
  965. package/dist/src/integrations/jira/jira-dependency-loader.d.ts.map +0 -1
  966. package/dist/src/integrations/jira/jira-dependency-loader.js +0 -200
  967. package/dist/src/integrations/jira/jira-dependency-loader.js.map +0 -1
  968. package/dist/src/integrations/jira/jira-hierarchy-mapper.d.ts +0 -107
  969. package/dist/src/integrations/jira/jira-hierarchy-mapper.d.ts.map +0 -1
  970. package/dist/src/integrations/jira/jira-hierarchy-mapper.js +0 -129
  971. package/dist/src/integrations/jira/jira-hierarchy-mapper.js.map +0 -1
  972. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -97
  973. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  974. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -496
  975. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  976. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -127
  977. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  978. package/dist/src/integrations/jira/jira-mapper.js +0 -508
  979. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  980. package/dist/src/integrations/jira/jira-token-provider.d.ts +0 -93
  981. package/dist/src/integrations/jira/jira-token-provider.d.ts.map +0 -1
  982. package/dist/src/integrations/jira/jira-token-provider.js +0 -160
  983. package/dist/src/integrations/jira/jira-token-provider.js.map +0 -1
  984. package/dist/src/skills/reflect-status.d.ts +0 -23
  985. package/dist/src/skills/reflect-status.d.ts.map +0 -1
  986. package/dist/src/skills/reflect-status.js +0 -55
  987. package/dist/src/skills/reflect-status.js.map +0 -1
  988. package/dist/src/sync/ado-reconciler.d.ts +0 -97
  989. package/dist/src/sync/ado-reconciler.d.ts.map +0 -1
  990. package/dist/src/sync/ado-reconciler.js +0 -370
  991. package/dist/src/sync/ado-reconciler.js.map +0 -1
  992. package/dist/src/sync/ado-sync-wrapper.d.ts +0 -137
  993. package/dist/src/sync/ado-sync-wrapper.d.ts.map +0 -1
  994. package/dist/src/sync/ado-sync-wrapper.js +0 -148
  995. package/dist/src/sync/ado-sync-wrapper.js.map +0 -1
  996. package/dist/src/sync/base-reconciler.d.ts +0 -120
  997. package/dist/src/sync/base-reconciler.d.ts.map +0 -1
  998. package/dist/src/sync/base-reconciler.js +0 -166
  999. package/dist/src/sync/base-reconciler.js.map +0 -1
  1000. package/dist/src/sync/engine.d.ts +0 -139
  1001. package/dist/src/sync/engine.d.ts.map +0 -1
  1002. package/dist/src/sync/engine.js +0 -129
  1003. package/dist/src/sync/engine.js.map +0 -1
  1004. package/dist/src/sync/external-item-sync-service.d.ts +0 -159
  1005. package/dist/src/sync/external-item-sync-service.d.ts.map +0 -1
  1006. package/dist/src/sync/external-item-sync-service.js +0 -446
  1007. package/dist/src/sync/external-item-sync-service.js.map +0 -1
  1008. package/dist/src/sync/github-sync-wrapper.d.ts +0 -195
  1009. package/dist/src/sync/github-sync-wrapper.d.ts.map +0 -1
  1010. package/dist/src/sync/github-sync-wrapper.js +0 -220
  1011. package/dist/src/sync/github-sync-wrapper.js.map +0 -1
  1012. package/dist/src/sync/hierarchy.d.ts +0 -52
  1013. package/dist/src/sync/hierarchy.d.ts.map +0 -1
  1014. package/dist/src/sync/hierarchy.js +0 -101
  1015. package/dist/src/sync/hierarchy.js.map +0 -1
  1016. package/dist/src/sync/jira-reconciler.d.ts +0 -109
  1017. package/dist/src/sync/jira-reconciler.d.ts.map +0 -1
  1018. package/dist/src/sync/jira-reconciler.js +0 -429
  1019. package/dist/src/sync/jira-reconciler.js.map +0 -1
  1020. package/dist/src/sync/jira-sync-wrapper.d.ts +0 -155
  1021. package/dist/src/sync/jira-sync-wrapper.d.ts.map +0 -1
  1022. package/dist/src/sync/jira-sync-wrapper.js +0 -175
  1023. package/dist/src/sync/jira-sync-wrapper.js.map +0 -1
  1024. package/dist/src/sync/migration.d.ts +0 -46
  1025. package/dist/src/sync/migration.d.ts.map +0 -1
  1026. package/dist/src/sync/migration.js +0 -97
  1027. package/dist/src/sync/migration.js.map +0 -1
  1028. package/dist/src/sync/projects-v2.d.ts +0 -61
  1029. package/dist/src/sync/projects-v2.d.ts.map +0 -1
  1030. package/dist/src/sync/projects-v2.js +0 -145
  1031. package/dist/src/sync/projects-v2.js.map +0 -1
  1032. package/dist/src/sync/providers/ado.d.ts +0 -54
  1033. package/dist/src/sync/providers/ado.d.ts.map +0 -1
  1034. package/dist/src/sync/providers/ado.js +0 -388
  1035. package/dist/src/sync/providers/ado.js.map +0 -1
  1036. package/dist/src/sync/providers/github.d.ts +0 -41
  1037. package/dist/src/sync/providers/github.d.ts.map +0 -1
  1038. package/dist/src/sync/providers/github.js +0 -237
  1039. package/dist/src/sync/providers/github.js.map +0 -1
  1040. package/dist/src/sync/providers/jira.d.ts +0 -44
  1041. package/dist/src/sync/providers/jira.d.ts.map +0 -1
  1042. package/dist/src/sync/providers/jira.js +0 -310
  1043. package/dist/src/sync/providers/jira.js.map +0 -1
  1044. package/dist/src/utils/auto-install.d.ts +0 -47
  1045. package/dist/src/utils/auto-install.d.ts.map +0 -1
  1046. package/dist/src/utils/auto-install.js +0 -220
  1047. package/dist/src/utils/auto-install.js.map +0 -1
  1048. package/dist/src/utils/image-generator.d.ts +0 -315
  1049. package/dist/src/utils/image-generator.d.ts.map +0 -1
  1050. package/dist/src/utils/image-generator.js +0 -588
  1051. package/dist/src/utils/image-generator.js.map +0 -1
  1052. package/plugins/COMMANDS-VS-SKILLS-ANALYSIS.md +0 -182
  1053. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +0 -265
  1054. package/plugins/SKILLS-VS-AGENTS.md +0 -267
  1055. package/plugins/VALIDATION-REPORT.md +0 -134
  1056. package/plugins/specweave/agents/sw-architect.md +0 -22
  1057. package/plugins/specweave/agents/sw-planner.md +0 -81
  1058. package/plugins/specweave/agents/sw-pm.md +0 -23
  1059. package/plugins/specweave/commands/abandon.md +0 -320
  1060. package/plugins/specweave/commands/ado-cleanup-duplicates.md +0 -211
  1061. package/plugins/specweave/commands/ado-clone.md +0 -385
  1062. package/plugins/specweave/commands/ado-close.md +0 -238
  1063. package/plugins/specweave/commands/ado-create.md +0 -178
  1064. package/plugins/specweave/commands/ado-import-areas.md +0 -357
  1065. package/plugins/specweave/commands/ado-import-projects.md +0 -330
  1066. package/plugins/specweave/commands/ado-pull.md +0 -488
  1067. package/plugins/specweave/commands/ado-push.md +0 -388
  1068. package/plugins/specweave/commands/ado-reconcile.md +0 -119
  1069. package/plugins/specweave/commands/ado-status.md +0 -62
  1070. package/plugins/specweave/commands/ado-sync.md +0 -330
  1071. package/plugins/specweave/commands/analytics.md +0 -154
  1072. package/plugins/specweave/commands/archive.md +0 -488
  1073. package/plugins/specweave/commands/auto-status.md +0 -123
  1074. package/plugins/specweave/commands/cancel-auto.md +0 -94
  1075. package/plugins/specweave/commands/diagrams-generate.md +0 -172
  1076. package/plugins/specweave/commands/discrepancies.md +0 -142
  1077. package/plugins/specweave/commands/discrepancy-to-increment.md +0 -188
  1078. package/plugins/specweave/commands/docs-build.md +0 -159
  1079. package/plugins/specweave/commands/docs-generate.md +0 -445
  1080. package/plugins/specweave/commands/docs-health.md +0 -267
  1081. package/plugins/specweave/commands/docs-init.md +0 -338
  1082. package/plugins/specweave/commands/docs-organize.md +0 -183
  1083. package/plugins/specweave/commands/docs-validate.md +0 -249
  1084. package/plugins/specweave/commands/docs-view.md +0 -390
  1085. package/plugins/specweave/commands/docs.md +0 -215
  1086. package/plugins/specweave/commands/doctor.md +0 -68
  1087. package/plugins/specweave/commands/fix-duplicates.md +0 -517
  1088. package/plugins/specweave/commands/framework.md +0 -530
  1089. package/plugins/specweave/commands/github-cleanup-duplicates.md +0 -229
  1090. package/plugins/specweave/commands/github-clone.md +0 -634
  1091. package/plugins/specweave/commands/github-close.md +0 -440
  1092. package/plugins/specweave/commands/github-create.md +0 -330
  1093. package/plugins/specweave/commands/github-pull.md +0 -139
  1094. package/plugins/specweave/commands/github-push.md +0 -151
  1095. package/plugins/specweave/commands/github-reconcile.md +0 -111
  1096. package/plugins/specweave/commands/github-status.md +0 -532
  1097. package/plugins/specweave/commands/github-sync.md +0 -701
  1098. package/plugins/specweave/commands/github-update-user-story.md +0 -155
  1099. package/plugins/specweave/commands/handoff.md +0 -54
  1100. package/plugins/specweave/commands/import-external.md +0 -461
  1101. package/plugins/specweave/commands/jira-cleanup-duplicates.md +0 -218
  1102. package/plugins/specweave/commands/jira-close.md +0 -294
  1103. package/plugins/specweave/commands/jira-create.md +0 -195
  1104. package/plugins/specweave/commands/jira-import-boards.md +0 -330
  1105. package/plugins/specweave/commands/jira-import-projects-full.md +0 -297
  1106. package/plugins/specweave/commands/jira-import-projects.md +0 -96
  1107. package/plugins/specweave/commands/jira-pull.md +0 -161
  1108. package/plugins/specweave/commands/jira-push.md +0 -167
  1109. package/plugins/specweave/commands/jira-reconcile.md +0 -122
  1110. package/plugins/specweave/commands/jira-status.md +0 -212
  1111. package/plugins/specweave/commands/jira-sync.md +0 -254
  1112. package/plugins/specweave/commands/jobs.md +0 -52
  1113. package/plugins/specweave/commands/living-docs.md +0 -567
  1114. package/plugins/specweave/commands/lsp.md +0 -205
  1115. package/plugins/specweave/commands/next.md +0 -81
  1116. package/plugins/specweave/commands/progress.md +0 -39
  1117. package/plugins/specweave/commands/qa.md +0 -295
  1118. package/plugins/specweave/commands/reconcile.md +0 -440
  1119. package/plugins/specweave/commands/reflect.md +0 -264
  1120. package/plugins/specweave/commands/release-align.md +0 -504
  1121. package/plugins/specweave/commands/release-init.md +0 -429
  1122. package/plugins/specweave/commands/release-npm.md +0 -1084
  1123. package/plugins/specweave/commands/release-platform.md +0 -438
  1124. package/plugins/specweave/commands/release-rc.md +0 -494
  1125. package/plugins/specweave/commands/restore.md +0 -309
  1126. package/plugins/specweave/commands/save.md +0 -220
  1127. package/plugins/specweave/commands/state.md +0 -209
  1128. package/plugins/specweave/commands/sync-setup.md +0 -161
  1129. package/plugins/specweave/commands/sync-status.md +0 -356
  1130. package/plugins/specweave/commands/team-status.md +0 -70
  1131. package/plugins/specweave/commands/update-instructions.md +0 -81
  1132. package/plugins/specweave/lib/external-sync/hooks-common.sh +0 -266
  1133. package/plugins/specweave/lib/hooks/auto-transition.js +0 -50
  1134. package/plugins/specweave/lib/hooks/auto-transition.ts +0 -84
  1135. package/plugins/specweave/lib/hooks/close-github-issues-abandoned.js +0 -37
  1136. package/plugins/specweave/lib/hooks/close-github-issues-abandoned.ts +0 -59
  1137. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js +0 -0
  1138. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  1139. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  1140. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -142
  1141. package/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  1142. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +0 -269
  1143. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js +0 -0
  1144. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  1145. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  1146. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -156
  1147. package/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  1148. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +0 -265
  1149. package/plugins/specweave/lib/hooks/launch-codebase-rescan.js +0 -90
  1150. package/plugins/specweave/lib/hooks/launch-codebase-rescan.ts +0 -135
  1151. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js +0 -0
  1152. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  1153. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  1154. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -110
  1155. package/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  1156. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +0 -178
  1157. package/plugins/specweave/lib/hooks/project-bridge.js +0 -82
  1158. package/plugins/specweave/lib/hooks/reflection-config-loader.d.js +0 -0
  1159. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  1160. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  1161. package/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -92
  1162. package/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  1163. package/plugins/specweave/lib/hooks/reflection-config-loader.ts +0 -156
  1164. package/plugins/specweave/lib/hooks/reflection-parser.d.js +0 -0
  1165. package/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  1166. package/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  1167. package/plugins/specweave/lib/hooks/reflection-parser.js +0 -301
  1168. package/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  1169. package/plugins/specweave/lib/hooks/reflection-parser.ts +0 -484
  1170. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js +0 -0
  1171. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  1172. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  1173. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -182
  1174. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  1175. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +0 -306
  1176. package/plugins/specweave/lib/hooks/reflection-storage.d.js +0 -0
  1177. package/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  1178. package/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  1179. package/plugins/specweave/lib/hooks/reflection-storage.js +0 -231
  1180. package/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  1181. package/plugins/specweave/lib/hooks/reflection-storage.ts +0 -369
  1182. package/plugins/specweave/lib/hooks/reopen-github-issues.js +0 -37
  1183. package/plugins/specweave/lib/hooks/reopen-github-issues.ts +0 -59
  1184. package/plugins/specweave/lib/hooks/run-self-reflection.d.js +0 -0
  1185. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  1186. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  1187. package/plugins/specweave/lib/hooks/run-self-reflection.js +0 -132
  1188. package/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  1189. package/plugins/specweave/lib/hooks/run-self-reflection.ts +0 -258
  1190. package/plugins/specweave/lib/hooks/session-start-reconcile-worker.js +0 -36
  1191. package/plugins/specweave/lib/hooks/session-start-reconcile-worker.ts +0 -58
  1192. package/plugins/specweave/lib/hooks/sync-cache.js +0 -295
  1193. package/plugins/specweave/lib/hooks/sync-increment-closure.js +0 -66
  1194. package/plugins/specweave/lib/hooks/sync-increment-closure.ts +0 -111
  1195. package/plugins/specweave/lib/hooks/sync-living-docs.d.js +0 -1
  1196. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  1197. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  1198. package/plugins/specweave/lib/hooks/sync-living-docs.js +0 -494
  1199. package/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  1200. package/plugins/specweave/lib/hooks/sync-living-docs.ts.DISABLED +0 -482
  1201. package/plugins/specweave/lib/hooks/sync-us-tasks.js +0 -476
  1202. package/plugins/specweave/lib/hooks/translate-file.d.js +0 -0
  1203. package/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  1204. package/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  1205. package/plugins/specweave/lib/hooks/translate-file.js +0 -290
  1206. package/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  1207. package/plugins/specweave/lib/hooks/translate-file.ts +0 -429
  1208. package/plugins/specweave/lib/hooks/translate-living-docs.d.js +0 -0
  1209. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  1210. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  1211. package/plugins/specweave/lib/hooks/translate-living-docs.js +0 -120
  1212. package/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  1213. package/plugins/specweave/lib/hooks/translate-living-docs.ts +0 -225
  1214. package/plugins/specweave/lib/hooks/types/reflection-types.d.js +0 -0
  1215. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  1216. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  1217. package/plugins/specweave/lib/hooks/types/reflection-types.js +0 -58
  1218. package/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  1219. package/plugins/specweave/lib/hooks/types/reflection-types.ts +0 -193
  1220. package/plugins/specweave/lib/hooks/update-ac-status.js +0 -188
  1221. package/plugins/specweave/lib/hooks/update-ac-status.ts +0 -340
  1222. package/plugins/specweave/lib/hooks/update-tasks-md.d.js +0 -1
  1223. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  1224. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  1225. package/plugins/specweave/lib/hooks/update-tasks-md.js +0 -296
  1226. package/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  1227. package/plugins/specweave/lib/hooks/update-tasks-md.ts +0 -489
  1228. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +0 -169
  1229. package/plugins/specweave/lib/hooks/us-completion-orchestrator.ts +0 -318
  1230. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.js +0 -0
  1231. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.ts +0 -94
  1232. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.ts.map +0 -1
  1233. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.js.map +0 -1
  1234. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.js +0 -0
  1235. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts +0 -134
  1236. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts.map +0 -1
  1237. package/plugins/specweave/lib/integrations/ado/ado-client-v2.js.map +0 -1
  1238. package/plugins/specweave/lib/integrations/ado/ado-client.d.js +0 -4
  1239. package/plugins/specweave/lib/integrations/ado/ado-client.d.ts +0 -112
  1240. package/plugins/specweave/lib/integrations/ado/ado-client.d.ts.map +0 -1
  1241. package/plugins/specweave/lib/integrations/ado/ado-client.js.map +0 -1
  1242. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.js +0 -0
  1243. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.ts +0 -40
  1244. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.ts.map +0 -1
  1245. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.js.map +0 -1
  1246. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.js +0 -0
  1247. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts +0 -38
  1248. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts.map +0 -1
  1249. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.js.map +0 -1
  1250. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.js +0 -0
  1251. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts +0 -100
  1252. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts.map +0 -1
  1253. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.js.map +0 -1
  1254. package/plugins/specweave/lib/integrations/ado/project-selector.d.js +0 -0
  1255. package/plugins/specweave/lib/integrations/ado/project-selector.d.ts +0 -42
  1256. package/plugins/specweave/lib/integrations/ado/project-selector.d.ts.map +0 -1
  1257. package/plugins/specweave/lib/integrations/ado/project-selector.js.map +0 -1
  1258. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.js +0 -0
  1259. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.ts +0 -54
  1260. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.ts.map +0 -1
  1261. package/plugins/specweave/lib/integrations/github/github-board-resolver.js.map +0 -1
  1262. package/plugins/specweave/lib/integrations/github/github-client.d.js +0 -0
  1263. package/plugins/specweave/lib/integrations/github/github-client.d.ts +0 -96
  1264. package/plugins/specweave/lib/integrations/github/github-client.d.ts.map +0 -1
  1265. package/plugins/specweave/lib/integrations/github/github-client.js.map +0 -1
  1266. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.js +0 -0
  1267. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.ts +0 -29
  1268. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.ts.map +0 -1
  1269. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.js.map +0 -1
  1270. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.js +0 -0
  1271. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.ts +0 -61
  1272. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.ts.map +0 -1
  1273. package/plugins/specweave/lib/integrations/github/github-issue-updater.js.map +0 -1
  1274. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.js +0 -0
  1275. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts +0 -37
  1276. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts.map +0 -1
  1277. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.js.map +0 -1
  1278. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.js +0 -0
  1279. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts +0 -108
  1280. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts.map +0 -1
  1281. package/plugins/specweave/lib/integrations/github/github-spec-sync.js.map +0 -1
  1282. package/plugins/specweave/lib/integrations/github/index.d.js +0 -11
  1283. package/plugins/specweave/lib/integrations/github/index.d.ts +0 -10
  1284. package/plugins/specweave/lib/integrations/github/index.d.ts.map +0 -1
  1285. package/plugins/specweave/lib/integrations/github/index.js.map +0 -1
  1286. package/plugins/specweave/lib/integrations/github/repo-selector.d.js +0 -0
  1287. package/plugins/specweave/lib/integrations/github/repo-selector.d.ts +0 -49
  1288. package/plugins/specweave/lib/integrations/github/repo-selector.d.ts.map +0 -1
  1289. package/plugins/specweave/lib/integrations/github/repo-selector.js.map +0 -1
  1290. package/plugins/specweave/lib/integrations/github/types.d.js +0 -0
  1291. package/plugins/specweave/lib/integrations/github/types.d.ts +0 -80
  1292. package/plugins/specweave/lib/integrations/github/types.d.ts.map +0 -1
  1293. package/plugins/specweave/lib/integrations/github/types.js.map +0 -1
  1294. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.js +0 -0
  1295. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts +0 -50
  1296. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts.map +0 -1
  1297. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.js.map +0 -1
  1298. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.js +0 -0
  1299. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.ts +0 -33
  1300. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.ts.map +0 -1
  1301. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.js.map +0 -1
  1302. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.js +0 -0
  1303. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts +0 -43
  1304. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts.map +0 -1
  1305. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.js.map +0 -1
  1306. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.js +0 -0
  1307. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts +0 -105
  1308. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts.map +0 -1
  1309. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.js.map +0 -1
  1310. package/plugins/specweave/lib/integrations/jira/project-selector.d.js +0 -0
  1311. package/plugins/specweave/lib/integrations/jira/project-selector.d.ts +0 -42
  1312. package/plugins/specweave/lib/integrations/jira/project-selector.d.ts.map +0 -1
  1313. package/plugins/specweave/lib/integrations/jira/project-selector.js.map +0 -1
  1314. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.js +0 -0
  1315. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts +0 -67
  1316. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts.map +0 -1
  1317. package/plugins/specweave/lib/integrations/jira/reorganization-detector.js.map +0 -1
  1318. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.js +0 -4
  1319. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts +0 -29
  1320. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts.map +0 -1
  1321. package/plugins/specweave/lib/integrations/jira/setup-wizard.js.map +0 -1
  1322. package/plugins/specweave/scripts/analyze-standards.sh +0 -315
  1323. package/plugins/specweave/scripts/auto-status.sh +0 -283
  1324. package/plugins/specweave/scripts/cancel-auto.sh +0 -144
  1325. package/plugins/specweave/scripts/cleanup-legacy-state.sh +0 -80
  1326. package/plugins/specweave/scripts/cleanup-state.sh +0 -168
  1327. package/plugins/specweave/scripts/force-kill.sh +0 -133
  1328. package/plugins/specweave/scripts/heartbeat.sh +0 -134
  1329. package/plugins/specweave/scripts/hook-health.sh +0 -441
  1330. package/plugins/specweave/scripts/jira/import-projects.js +0 -181
  1331. package/plugins/specweave/scripts/jira/import-projects.ts +0 -286
  1332. package/plugins/specweave/scripts/lsp-check.sh +0 -331
  1333. package/plugins/specweave/scripts/lsp-warmup.sh +0 -144
  1334. package/plugins/specweave/scripts/read-analytics.sh +0 -286
  1335. package/plugins/specweave/scripts/read-costs.sh +0 -132
  1336. package/plugins/specweave/scripts/read-grill-context.sh +0 -149
  1337. package/plugins/specweave/scripts/read-jobs.sh +0 -371
  1338. package/plugins/specweave/scripts/read-progress.sh +0 -413
  1339. package/plugins/specweave/scripts/read-status.sh +0 -146
  1340. package/plugins/specweave/scripts/read-workflow.sh +0 -173
  1341. package/plugins/specweave/scripts/reflect-check.sh +0 -250
  1342. package/plugins/specweave/scripts/setup-auto.sh +0 -603
  1343. package/plugins/specweave/scripts/tests/test-setup-auto-selection.sh +0 -74
  1344. package/plugins/specweave/scripts/tests/test-setup-auto-usergoal.sh +0 -83
  1345. package/plugins/specweave/scripts/track-analytics.sh +0 -118
  1346. package/plugins/specweave/scripts/update-dashboard-cache.sh +0 -338
  1347. package/plugins/specweave/skills/ado-mapper/SKILL.md +0 -464
  1348. package/plugins/specweave/skills/ado-multi-project/SKILL.md +0 -550
  1349. package/plugins/specweave/skills/ado-resource-validator/SKILL.md +0 -901
  1350. package/plugins/specweave/skills/ado-sync/README.md +0 -414
  1351. package/plugins/specweave/skills/ado-sync/SKILL.md +0 -449
  1352. package/plugins/specweave/skills/analytics/SKILL.md +0 -46
  1353. package/plugins/specweave/skills/architect/SKILL.md +0 -113
  1354. package/plugins/specweave/skills/close-all/SKILL.md +0 -51
  1355. package/plugins/specweave/skills/code-reviewer/SKILL.md +0 -632
  1356. package/plugins/specweave/skills/code-reviewer/agents/reviewer-comments.md +0 -83
  1357. package/plugins/specweave/skills/code-reviewer/agents/reviewer-silent-failures.md +0 -84
  1358. package/plugins/specweave/skills/code-reviewer/agents/reviewer-spec-compliance.md +0 -102
  1359. package/plugins/specweave/skills/code-reviewer/agents/reviewer-tests.md +0 -101
  1360. package/plugins/specweave/skills/code-reviewer/agents/reviewer-types.md +0 -88
  1361. package/plugins/specweave/skills/debug/SKILL.md +0 -220
  1362. package/plugins/specweave/skills/diagrams/SKILL.md +0 -748
  1363. package/plugins/specweave/skills/e2e/SKILL.md +0 -425
  1364. package/plugins/specweave/skills/e2e/evals/evals.json +0 -122
  1365. package/plugins/specweave/skills/get/SKILL.md +0 -116
  1366. package/plugins/specweave/skills/github-issue-standard/SKILL.md +0 -13
  1367. package/plugins/specweave/skills/github-multi-project/SKILL.md +0 -258
  1368. package/plugins/specweave/skills/github-sync/SKILL.md +0 -40
  1369. package/plugins/specweave/skills/github-sync/evals/HOW-TO-RUN-EVALS.md +0 -50
  1370. package/plugins/specweave/skills/github-sync/evals/evals.json +0 -136
  1371. package/plugins/specweave/skills/grill/SKILL.md +0 -483
  1372. package/plugins/specweave/skills/help/SKILL.md +0 -179
  1373. package/plugins/specweave/skills/image/SKILL.md +0 -427
  1374. package/plugins/specweave/skills/import/SKILL.md +0 -191
  1375. package/plugins/specweave/skills/jira-mapper/SKILL.md +0 -638
  1376. package/plugins/specweave/skills/jira-resource-validator/SKILL.md +0 -743
  1377. package/plugins/specweave/skills/jira-sync/README.md +0 -291
  1378. package/plugins/specweave/skills/jira-sync/SKILL.md +0 -252
  1379. package/plugins/specweave/skills/judge-llm/SKILL.md +0 -235
  1380. package/plugins/specweave/skills/multi-project/SKILL.md +0 -371
  1381. package/plugins/specweave/skills/npm/SKILL.md +0 -1083
  1382. package/plugins/specweave/skills/plan/SKILL.md +0 -308
  1383. package/plugins/specweave/skills/pm/SKILL.md +0 -149
  1384. package/plugins/specweave/skills/pm/phases/00-deep-interview.md +0 -352
  1385. package/plugins/specweave/skills/pm/phases/01-research.md +0 -80
  1386. package/plugins/specweave/skills/pm/phases/02-spec-creation.md +0 -142
  1387. package/plugins/specweave/skills/pm/phases/03-validation.md +0 -89
  1388. package/plugins/specweave/skills/pm/templates/spec-template.md +0 -159
  1389. package/plugins/specweave/skills/pr/SKILL.md +0 -257
  1390. package/plugins/specweave/skills/pr-review/SKILL.md +0 -167
  1391. package/plugins/specweave/skills/progress-sync/SKILL.md +0 -452
  1392. package/plugins/specweave/skills/release-expert/SKILL.md +0 -502
  1393. package/plugins/specweave/skills/remotion/SKILL.md +0 -227
  1394. package/plugins/specweave/skills/skill-gen/SKILL.md +0 -186
  1395. package/plugins/specweave/skills/skill-gen/evals/evals.json +0 -79
  1396. package/plugins/specweave/skills/skill-refine/SKILL.md +0 -97
  1397. package/plugins/specweave/skills/sync-docs/SKILL.md +0 -72
  1398. package/plugins/specweave/skills/tdd-cycle/SKILL.md +0 -267
  1399. package/plugins/specweave/skills/tdd-green/SKILL.md +0 -84
  1400. package/plugins/specweave/skills/tdd-red/SKILL.md +0 -90
  1401. package/plugins/specweave/skills/tdd-refactor/SKILL.md +0 -59
  1402. package/plugins/specweave/skills/team-build/SKILL.md +0 -29
  1403. package/plugins/specweave/skills/team-lead/SKILL.md +0 -1239
  1404. package/plugins/specweave/skills/team-lead/reference/dynamic-workflows.md +0 -144
  1405. package/plugins/specweave/skills/team-merge/SKILL.md +0 -230
  1406. package/plugins/specweave/skills/umbrella/SKILL.md +0 -406
  1407. package/plugins/specweave/skills/validate/SKILL.md +0 -135
  1408. package/plugins/specweave/skills/video/SKILL.md +0 -350
  1409. package/src/templates/COMPLETION-REPORT.template.md +0 -128
  1410. package/src/templates/MEMORY-template.md +0 -9
  1411. package/src/templates/config-permissions-guide.md +0 -413
  1412. package/src/templates/config.json.template +0 -18
  1413. package/src/templates/docs/rfc-template.md +0 -229
  1414. package/src/templates/increment-metadata-template.yaml +0 -138
  1415. package/src/templates/tasks.md.template +0 -269
  1416. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-advocate.md +0 -0
  1417. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-critic.md +0 -0
  1418. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-pragmatist.md +0 -0
  1419. /package/plugins/specweave/skills/{team-lead → team}/agents/researcher.md +0 -0
  1420. /package/plugins/specweave/skills/{team-lead → team}/agents/reviewer-security.md +0 -0
@@ -2,6 +2,11 @@
2
2
  * Git Checker - validates git repository status
3
3
  */
4
4
  import { execSync } from 'child_process';
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import { installGitHooks, needsHookRefresh, readInstalledHookVersion, PRE_COMMIT_HOOK_VERSION, } from '../../../cli/helpers/init/git-hooks-installer.js';
9
+ import { findSourceDir } from '../../../cli/helpers/init/path-utils.js';
5
10
  import { calculateOverallStatus } from '../types.js';
6
11
  export class GitChecker {
7
12
  constructor() {
@@ -27,6 +32,9 @@ export class GitChecker {
27
32
  checks.push(this.checkWorkingDirectory(projectRoot));
28
33
  // Check for remote
29
34
  checks.push(this.checkRemote(projectRoot));
35
+ // Pre-commit hook freshness: a 1.x hook body blocks the 2.0 loop
36
+ // (it rejects ledger.jsonl / handoff.md at the increment root).
37
+ checks.push(this.checkPreCommitHook(projectRoot, options));
30
38
  // Skip branch checks in quick mode
31
39
  if (!options.quick) {
32
40
  checks.push(this.checkBranch(projectRoot));
@@ -50,6 +58,71 @@ export class GitChecker {
50
58
  return false;
51
59
  }
52
60
  }
61
+ /**
62
+ * A SpecWeave pre-commit hook installed by an older CLI still carries the 1.x
63
+ * "only 4 files at increment root" rule and the maxdepth-2 duplicate-ID scan,
64
+ * both of which reject a perfectly valid 2.0 increment. Detect and (with
65
+ * --fix) rewrite it.
66
+ */
67
+ checkPreCommitHook(projectRoot, options) {
68
+ const hookPath = path.join(projectRoot, '.git', 'hooks', 'pre-commit');
69
+ if (!fs.existsSync(hookPath)) {
70
+ return {
71
+ name: 'Pre-commit hook',
72
+ status: 'skip',
73
+ message: 'not installed',
74
+ };
75
+ }
76
+ let content = '';
77
+ try {
78
+ content = fs.readFileSync(hookPath, 'utf-8');
79
+ }
80
+ catch {
81
+ return { name: 'Pre-commit hook', status: 'warn', message: 'could not read hook' };
82
+ }
83
+ const installed = readInstalledHookVersion(content);
84
+ if (installed === null) {
85
+ return {
86
+ name: 'Pre-commit hook',
87
+ status: 'skip',
88
+ message: 'custom (not SpecWeave)',
89
+ };
90
+ }
91
+ if (!needsHookRefresh(content)) {
92
+ return {
93
+ name: 'Pre-commit hook',
94
+ status: 'pass',
95
+ message: `v${installed}`,
96
+ };
97
+ }
98
+ if (options.fix) {
99
+ try {
100
+ const here = path.dirname(fileURLToPath(import.meta.url));
101
+ const templatesDir = findSourceDir('templates', here);
102
+ fs.unlinkSync(hookPath);
103
+ installGitHooks(projectRoot, templatesDir);
104
+ return {
105
+ name: 'Pre-commit hook',
106
+ status: 'pass',
107
+ message: `refreshed v${installed} → v${PRE_COMMIT_HOOK_VERSION}`,
108
+ };
109
+ }
110
+ catch {
111
+ // fall through to the warning below
112
+ }
113
+ }
114
+ // FAIL, not warn: this hook rejects `ledger.jsonl` at the increment root and
115
+ // reports a false duplicate id for any increment with a `reports/` folder,
116
+ // so the user's next commit is BLOCKED. A check whose failure stops work is
117
+ // not a warning, and `doctor` must exit non-zero so CI and the upgrade path
118
+ // notice it.
119
+ return {
120
+ name: 'Pre-commit hook',
121
+ status: 'fail',
122
+ message: `stale v${installed} — blocks commits in 2.0 increments (current v${PRE_COMMIT_HOOK_VERSION})`,
123
+ fixSuggestion: 'Run: specweave doctor --fix (or specweave update)',
124
+ };
125
+ }
53
126
  checkWorkingDirectory(projectRoot) {
54
127
  try {
55
128
  const status = execSync('git status --porcelain', {
@@ -1 +1 @@
1
- {"version":3,"file":"git-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/git-checker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,UAAU;IAAvB;QACE,aAAQ,GAAG,KAAK,CAAC;IA0LnB,CAAC;IAxLC,KAAK,CAAC,KAAK,CACT,WAAmB,EACnB,OAAsB;QAEtB,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACnC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;SACpD,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM;aACP,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;QAErD,mBAAmB;QACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3C,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;YACtC,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,WAAmB;QACzC,IAAI,CAAC;YACH,QAAQ,CAAC,yBAAyB,EAAE;gBAClC,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,WAAmB;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,wBAAwB,EAAE;gBAChD,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,OAAO;oBACL,IAAI,EAAE,mBAAmB;oBACzB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAClE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAEjE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC;YAC3C,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC;YACjD,IAAI,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC;YAEpD,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aAC3B,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,wBAAwB;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,WAAmB;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE;gBACxC,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,sBAAsB;oBAC/B,aAAa,EAAE,6BAA6B;iBAC7C,CAAC;YACJ,CAAC;YAED,qBAAqB;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAE3D,6BAA6B;YAC7B,MAAM,SAAS,GAAG,MAAM;iBACrB,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;iBAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEzB,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yBAAyB;aACnC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,WAAmB;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;gBACnD,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,wBAAwB;YACxB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CACrB,yEAAyE,EACzE;oBACE,GAAG,EAAE,WAAW;oBAChB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAChC,CACF,CAAC,IAAI,EAAE,CAAC;gBAET,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAExD,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,IAAI,KAAK,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;oBAC5C,IAAI,MAAM,GAAG,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC;oBAE/C,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAC1C,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;qBACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,IAAI,eAAe;aACnC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,4BAA4B;aACtC,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"git-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/git-checker.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,21 @@
1
1
  /**
2
- * Hooks Checker - validates hook health (quick check, not full execution)
2
+ * Hooks Checker — dry-runs the SpecWeave 2.0 hook launcher for each of the
3
+ * four registered events with a sample stdin and validates the JSON output
4
+ * against the per-event Claude Code schema.
3
5
  */
4
6
  import type { HealthChecker, CategoryResult, DoctorOptions } from '../types.js';
7
+ import { HOOK_EVENTS } from '../../hooks/handlers/types.js';
8
+ /** Per-event launcher budget: a hook that needs longer than this is broken. */
9
+ export declare const DRY_RUN_TIMEOUT_MS = 10000;
10
+ /** Sample payloads that must never trigger a block or a side effect. */
11
+ export declare const SAMPLE_HOOK_INPUT: Record<(typeof HOOK_EVENTS)[number], Record<string, unknown>>;
12
+ /** The specweave package root: walk up from this file until package.json name === 'specweave'. */
13
+ export declare function packageRoot(): string;
5
14
  export declare class HooksChecker implements HealthChecker {
6
15
  category: string;
7
16
  check(projectRoot: string, options: DoctorOptions): Promise<CategoryResult>;
8
- private findHookLocations;
9
- private checkHooksInLocation;
10
- private checkHookSyntax;
11
- private testHookExecution;
17
+ /** hooks.json uses a quoted node command string (Codex ignores separate args). */
18
+ private checkHooksJson;
19
+ private dryRun;
12
20
  }
13
21
  //# sourceMappingURL=hooks-checker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-checker.d.ts","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hooks-checker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEd,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,SAAW;IAEb,KAAK,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC;IAsD1B,OAAO,CAAC,iBAAiB;YAkBX,oBAAoB;IA+ClC,OAAO,CAAC,eAAe;YAgCT,iBAAiB;CAkChC"}
1
+ {"version":3,"file":"hooks-checker.d.ts","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hooks-checker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAsB,MAAM,+BAA+B,CAAC;AAEhF,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS3F,CAAC;AAEF,kGAAkG;AAClG,wBAAgB,WAAW,IAAI,MAAM,CAcpC;AAED,qBAAa,YAAa,YAAW,aAAa;IAChD,QAAQ,SAAW;IAEb,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BjF,kFAAkF;IAClF,OAAO,CAAC,cAAc;YAwBR,MAAM;CAoDrB"}
@@ -1,167 +1,143 @@
1
1
  /**
2
- * Hooks Checker - validates hook health (quick check, not full execution)
2
+ * Hooks Checker — dry-runs the SpecWeave 2.0 hook launcher for each of the
3
+ * four registered events with a sample stdin and validates the JSON output
4
+ * against the per-event Claude Code schema.
3
5
  */
4
6
  import * as fs from 'fs';
5
7
  import * as path from 'path';
6
- import { execSync } from 'child_process';
8
+ import { execFile } from 'child_process';
9
+ import { fileURLToPath } from 'url';
7
10
  import { calculateOverallStatus } from '../types.js';
11
+ import { HOOK_EVENTS, validateHookOutput } from '../../hooks/handlers/types.js';
12
+ /** Per-event launcher budget: a hook that needs longer than this is broken. */
13
+ export const DRY_RUN_TIMEOUT_MS = 10000;
14
+ /** Sample payloads that must never trigger a block or a side effect. */
15
+ export const SAMPLE_HOOK_INPUT = {
16
+ 'session-start': { hook_event_name: 'SessionStart', source: 'startup' },
17
+ 'pre-tool-use': {
18
+ hook_event_name: 'PreToolUse',
19
+ tool_name: 'Edit',
20
+ tool_input: { file_path: 'C:\\proj\\.specweave\\increments\\0001-doctor\\tasks.md', old_string: 'a', new_string: 'b' },
21
+ },
22
+ 'stop': { hook_event_name: 'Stop', stop_hook_active: false },
23
+ 'pre-compact': { hook_event_name: 'PreCompact', trigger: 'auto' },
24
+ };
25
+ /** The specweave package root: walk up from this file until package.json name === 'specweave'. */
26
+ export function packageRoot() {
27
+ let dir = path.dirname(fileURLToPath(import.meta.url));
28
+ for (let i = 0; i < 8; i++) {
29
+ try {
30
+ const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf8'));
31
+ if (pkg.name === 'specweave')
32
+ return dir;
33
+ }
34
+ catch {
35
+ // keep walking
36
+ }
37
+ const parent = path.dirname(dir);
38
+ if (parent === dir)
39
+ break;
40
+ dir = parent;
41
+ }
42
+ return path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..', '..', '..', '..');
43
+ }
8
44
  export class HooksChecker {
9
45
  constructor() {
10
46
  this.category = 'Hooks';
11
47
  }
12
48
  async check(projectRoot, options) {
13
49
  const checks = [];
14
- // Find hooks in .claude/hooks or plugin hooks
15
- const hookLocations = this.findHookLocations(projectRoot);
16
- if (hookLocations.length === 0) {
50
+ const pluginRoot = path.join(packageRoot(), 'plugins', 'specweave');
51
+ const runner = path.join(pluginRoot, 'hooks', 'run.mjs');
52
+ const hooksJson = path.join(pluginRoot, 'hooks', 'hooks.json');
53
+ if (!fs.existsSync(runner) || !fs.existsSync(hooksJson)) {
17
54
  checks.push({
18
- name: 'Hooks',
19
- status: 'skip',
20
- message: 'no hooks configured',
21
- });
22
- return {
23
- category: this.category,
24
- status: 'skip',
25
- checks,
26
- };
27
- }
28
- // Check each hook location
29
- for (const location of hookLocations) {
30
- const hookChecks = await this.checkHooksInLocation(location, options.quick);
31
- checks.push(...hookChecks);
32
- }
33
- // Summary check
34
- const failedHooks = checks.filter((c) => c.status === 'fail').length;
35
- const totalHooks = checks.filter((c) => c.status !== 'skip').length;
36
- if (failedHooks > 0) {
37
- checks.unshift({
38
- name: 'Hooks summary',
55
+ name: 'Hook launcher',
39
56
  status: 'fail',
40
- message: `${failedHooks}/${totalHooks} hooks failing`,
41
- fixSuggestion: 'Run: specweave hooks health',
42
- });
43
- }
44
- else if (totalHooks > 0) {
45
- checks.unshift({
46
- name: 'Hooks summary',
47
- status: 'pass',
48
- message: `${totalHooks}/${totalHooks} hooks healthy`,
57
+ message: `missing ${fs.existsSync(runner) ? 'hooks.json' : 'hooks/run.mjs'} in ${pluginRoot}`,
58
+ fixSuggestion: 'Reinstall: npm i -g specweave && specweave refresh-plugins',
49
59
  });
60
+ return { category: this.category, status: 'fail', checks };
50
61
  }
51
- return {
52
- category: this.category,
53
- status: calculateOverallStatus(checks),
54
- checks,
55
- };
56
- }
57
- findHookLocations(projectRoot) {
58
- const locations = [];
59
- // Check .claude/hooks
60
- const claudeHooks = path.join(projectRoot, '.claude', 'hooks');
61
- if (fs.existsSync(claudeHooks)) {
62
- locations.push(claudeHooks);
63
- }
64
- // Check .specweave hooks (if any)
65
- const specweaveHooks = path.join(projectRoot, '.specweave', 'hooks');
66
- if (fs.existsSync(specweaveHooks)) {
67
- locations.push(specweaveHooks);
68
- }
69
- return locations;
70
- }
71
- async checkHooksInLocation(location, quickMode) {
72
- const checks = [];
73
- try {
74
- const files = fs.readdirSync(location);
75
- const hookFiles = files.filter((f) => f.endsWith('.sh') || f.endsWith('.js'));
76
- for (const hookFile of hookFiles) {
77
- const hookPath = path.join(location, hookFile);
78
- const hookName = hookFile.replace(/\.(sh|js)$/, '');
79
- // Basic syntax check
80
- const syntaxCheck = this.checkHookSyntax(hookPath, hookFile);
81
- if (syntaxCheck.status === 'fail') {
82
- checks.push(syntaxCheck);
83
- continue;
84
- }
85
- // Skip execution test in quick mode
86
- if (quickMode) {
87
- checks.push({
88
- name: hookName,
89
- status: 'skip',
90
- message: 'execution skipped (quick mode)',
91
- });
92
- continue;
93
- }
94
- // Quick execution test (with timeout)
95
- checks.push(await this.testHookExecution(hookPath, hookName));
62
+ checks.push(this.checkHooksJson(hooksJson));
63
+ if (options.quick) {
64
+ for (const event of HOOK_EVENTS) {
65
+ checks.push({ name: `${event} dry-run`, status: 'skip', message: 'skipped (quick mode)' });
96
66
  }
97
67
  }
98
- catch {
99
- checks.push({
100
- name: path.basename(location),
101
- status: 'fail',
102
- message: 'could not read hooks directory',
103
- });
68
+ else {
69
+ // The four launches are independent — run them concurrently so `doctor`
70
+ // costs one hook round-trip, not four.
71
+ checks.push(...(await Promise.all(HOOK_EVENTS.map((event) => this.dryRun(runner, event, projectRoot)))));
104
72
  }
105
- return checks;
73
+ return { category: this.category, status: calculateOverallStatus(checks), checks };
106
74
  }
107
- checkHookSyntax(hookPath, fileName) {
108
- const hookName = fileName.replace(/\.(sh|js)$/, '');
75
+ /** hooks.json uses a quoted node command string (Codex ignores separate args). */
76
+ checkHooksJson(hooksJson) {
109
77
  try {
110
- const content = fs.readFileSync(hookPath, 'utf8');
111
- if (fileName.endsWith('.sh')) {
112
- // Basic bash syntax check
113
- if (!content.includes('#!/')) {
114
- return {
115
- name: hookName,
116
- status: 'warn',
117
- message: 'missing shebang',
118
- fixSuggestion: 'Add #!/bin/bash at the start',
119
- };
78
+ const data = JSON.parse(fs.readFileSync(hooksJson, 'utf8'));
79
+ const problems = [];
80
+ for (const [event, groups] of Object.entries(data.hooks ?? {})) {
81
+ for (const group of groups) {
82
+ for (const h of group.hooks ?? []) {
83
+ if (!/^node \"\$\{CLAUDE_PLUGIN_ROOT\}\/hooks\/run\.mjs\" [a-z-]+$/.test(h.command ?? '') || h.args !== undefined) {
84
+ problems.push(`${event}: expected quoted node hook command without separate args`);
85
+ }
86
+ if (typeof h.timeout === 'number' && h.timeout > 60)
87
+ problems.push(`${event}: timeout ${h.timeout}s > 60s`);
88
+ }
120
89
  }
121
90
  }
122
- return {
123
- name: `${hookName} syntax`,
124
- status: 'pass',
125
- message: 'valid',
126
- };
91
+ return problems.length === 0
92
+ ? { name: 'hooks.json', status: 'pass', message: 'portable node launcher, timeouts <= 60s' }
93
+ : { name: 'hooks.json', status: 'fail', message: problems.join('; ') };
127
94
  }
128
- catch {
129
- return {
130
- name: `${hookName} syntax`,
131
- status: 'fail',
132
- message: 'could not read file',
133
- };
95
+ catch (err) {
96
+ return { name: 'hooks.json', status: 'fail', message: `unreadable: ${err instanceof Error ? err.message : String(err)}` };
134
97
  }
135
98
  }
136
- async testHookExecution(hookPath, hookName) {
99
+ async dryRun(runner, event, projectRoot) {
137
100
  const start = Date.now();
138
- try {
139
- // Dry-run test with minimal input
140
- execSync(`bash "${hookPath}" --help 2>/dev/null || true`, {
101
+ const name = `${event} dry-run`;
102
+ const stdout = await new Promise((resolve, reject) => {
103
+ const child = execFile(process.execPath, [runner, event], {
104
+ cwd: projectRoot,
141
105
  encoding: 'utf8',
142
- timeout: 3000,
143
- stdio: ['pipe', 'pipe', 'pipe'],
144
- env: {
145
- ...process.env,
146
- SPECWEAVE_DOCTOR_DRY_RUN: '1',
147
- },
148
- });
106
+ timeout: DRY_RUN_TIMEOUT_MS,
107
+ env: { ...process.env, SPECWEAVE_HOME: packageRoot(), SPECWEAVE_HOOK_DRY_RUN: '1' },
108
+ }, (err, out) => (err ? reject(err) : resolve(out)));
109
+ child.stdin?.end(JSON.stringify({ ...SAMPLE_HOOK_INPUT[event], cwd: projectRoot }));
110
+ }).catch((err) => (err instanceof Error ? err : new Error(String(err))));
111
+ const durationMs = Date.now() - start;
112
+ if (stdout instanceof Error) {
149
113
  return {
150
- name: `${hookName} execution`,
151
- status: 'pass',
152
- message: 'responds',
153
- durationMs: Date.now() - start,
114
+ name,
115
+ status: 'fail',
116
+ message: `launcher failed: ${stdout.message.split('\n')[0]}`,
117
+ durationMs,
118
+ fixSuggestion: `node must be on PATH; run: node <plugin>/hooks/run.mjs ${event}`,
154
119
  };
155
120
  }
121
+ let parsed;
122
+ try {
123
+ parsed = JSON.parse(stdout.trim() || '{}');
124
+ }
156
125
  catch {
126
+ return { name, status: 'fail', message: `non-JSON output: ${stdout.trim().slice(0, 80)}`, durationMs };
127
+ }
128
+ const problem = validateHookOutput(event, parsed);
129
+ if (problem)
130
+ return { name, status: 'fail', message: problem, durationMs };
131
+ if (event === 'session-start' && JSON.stringify(parsed).includes('hooks inactive')) {
157
132
  return {
158
- name: `${hookName} execution`,
133
+ name,
159
134
  status: 'warn',
160
- message: 'execution test failed',
161
- durationMs: Date.now() - start,
162
- fixSuggestion: 'Run: specweave hooks health for detailed analysis',
135
+ message: 'launcher could not locate the specweave CLI',
136
+ durationMs,
137
+ fixSuggestion: 'npm i -g specweave (or set SPECWEAVE_HOME)',
163
138
  };
164
139
  }
140
+ return { name, status: 'pass', message: `valid ${JSON.stringify(parsed).slice(0, 60)}`, durationMs };
165
141
  }
166
142
  }
167
143
  //# sourceMappingURL=hooks-checker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hooks-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hooks-checker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEhF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAExC,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAAkE;IAC9F,eAAe,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IACvE,cAAc,EAAE;QACd,eAAe,EAAE,YAAY;QAC7B,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,EAAE,SAAS,EAAE,yDAAyD,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE;KACvH;IACD,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE;IAC5D,aAAa,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE;CAClE,CAAC;AAEF,kGAAkG;AAClG,MAAM,UAAU,WAAW;IACzB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAsB,CAAC;YACrG,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,OAAO,YAAY;IAAzB;QACE,aAAQ,GAAG,OAAO,CAAC;IA8GrB,CAAC;IA5GC,KAAK,CAAC,KAAK,CAAC,WAAmB,EAAE,OAAsB;QACrD,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAE/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,OAAO,UAAU,EAAE;gBAC7F,aAAa,EAAE,4DAA4D;aAC5E,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAE5C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,uCAAuC;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IACrF,CAAC;IAED,kFAAkF;IAC1E,cAAc,CAAC,SAAiB;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAEzD,CAAC;YACF,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;wBAClC,IAAI,CAAC,8DAA8D,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAClH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,2DAA2D,CAAC,CAAC;wBACrF,CAAC;wBACD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;4BAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC;oBAC9G,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yCAAyC,EAAE;gBAC5F,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAC5H,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,MAAc,EACd,KAAmC,EACnC,WAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,KAAK,UAAU,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,QAAQ,CACpB,OAAO,CAAC,QAAQ,EAChB,CAAC,MAAM,EAAE,KAAK,CAAC,EACf;gBACE,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,kBAAkB;gBAC3B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE;aACpF,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CACjD,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACtC,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YAC5B,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,oBAAoB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5D,UAAU;gBACV,aAAa,EAAE,0DAA0D,KAAK,EAAE;aACjF,CAAC;QACJ,CAAC;QAED,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC;QACzG,CAAC;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC3E,IAAI,KAAK,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnF,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,6CAA6C;gBACtD,UAAU;gBACV,aAAa,EAAE,4CAA4C;aAC5D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC;IACvG,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Hygiene Checker — repository hygiene that has actually bitten users:
3
+ *
4
+ * 1. `.npmrc` with `ignore-scripts=true` — the confirmed supply-chain vector
5
+ * was a dependency install script running in CI (warn, never fail).
6
+ * 2. Files under `.specweave/state/` tracked by git — machine-local state that
7
+ * produces endless merge conflicts once committed.
8
+ * 3. Tracked files larger than 5 MB under `.specweave/increments/` — binary
9
+ * evidence belongs in `reports/artifacts/` (gitignored).
10
+ */
11
+ import type { HealthChecker, CategoryResult, DoctorOptions } from '../types.js';
12
+ /** Tracked increment files above this size are flagged. */
13
+ export declare const MAX_TRACKED_FILE_BYTES: number;
14
+ export declare class HygieneChecker implements HealthChecker {
15
+ category: string;
16
+ check(projectRoot: string, _options: DoctorOptions): Promise<CategoryResult>;
17
+ private checkNpmrc;
18
+ private checkTrackedState;
19
+ private checkLargeIncrementFiles;
20
+ }
21
+ //# sourceMappingURL=hygiene-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hygiene-checker.d.ts","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hygiene-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7F,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAiBtD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,SAAa;IAEf,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IASlF,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,wBAAwB;CA2BjC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Hygiene Checker — repository hygiene that has actually bitten users:
3
+ *
4
+ * 1. `.npmrc` with `ignore-scripts=true` — the confirmed supply-chain vector
5
+ * was a dependency install script running in CI (warn, never fail).
6
+ * 2. Files under `.specweave/state/` tracked by git — machine-local state that
7
+ * produces endless merge conflicts once committed.
8
+ * 3. Tracked files larger than 5 MB under `.specweave/increments/` — binary
9
+ * evidence belongs in `reports/artifacts/` (gitignored).
10
+ */
11
+ import * as fs from 'fs';
12
+ import * as path from 'path';
13
+ import { execFileSync } from 'child_process';
14
+ import { calculateOverallStatus } from '../types.js';
15
+ /** Tracked increment files above this size are flagged. */
16
+ export const MAX_TRACKED_FILE_BYTES = 5 * 1024 * 1024;
17
+ /** `git ls-files -z` under one pathspec, or null when git is unavailable. */
18
+ function trackedFiles(projectRoot, pathspec) {
19
+ try {
20
+ const out = execFileSync('git', ['ls-files', '-z', '--', pathspec], {
21
+ cwd: projectRoot,
22
+ encoding: 'utf8',
23
+ stdio: ['pipe', 'pipe', 'pipe'],
24
+ timeout: 15000,
25
+ });
26
+ return out.split('\0').filter(Boolean);
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ export class HygieneChecker {
33
+ constructor() {
34
+ this.category = 'Hygiene';
35
+ }
36
+ async check(projectRoot, _options) {
37
+ const checks = [
38
+ this.checkNpmrc(projectRoot),
39
+ this.checkTrackedState(projectRoot),
40
+ this.checkLargeIncrementFiles(projectRoot),
41
+ ];
42
+ return { category: this.category, status: calculateOverallStatus(checks), checks };
43
+ }
44
+ checkNpmrc(projectRoot) {
45
+ const npmrc = path.join(projectRoot, '.npmrc');
46
+ if (!fs.existsSync(npmrc)) {
47
+ return {
48
+ name: '.npmrc ignore-scripts',
49
+ status: 'warn',
50
+ message: 'no .npmrc in the repo',
51
+ fixSuggestion: "Add a committed .npmrc with 'ignore-scripts=true'",
52
+ };
53
+ }
54
+ const content = fs.readFileSync(npmrc, 'utf8');
55
+ const enabled = /^\s*ignore-scripts\s*=\s*true\s*$/m.test(content);
56
+ return enabled
57
+ ? { name: '.npmrc ignore-scripts', status: 'pass', message: 'ignore-scripts=true' }
58
+ : {
59
+ name: '.npmrc ignore-scripts',
60
+ status: 'warn',
61
+ message: 'ignore-scripts is not set to true',
62
+ fixSuggestion: "Add 'ignore-scripts=true' to .npmrc (dependency install scripts are a supply-chain vector)",
63
+ };
64
+ }
65
+ checkTrackedState(projectRoot) {
66
+ const files = trackedFiles(projectRoot, '.specweave/state');
67
+ if (files === null) {
68
+ return { name: 'Tracked state files', status: 'skip', message: 'not a git repository' };
69
+ }
70
+ if (files.length === 0) {
71
+ return { name: 'Tracked state files', status: 'pass', message: '.specweave/state is untracked' };
72
+ }
73
+ return {
74
+ name: 'Tracked state files',
75
+ status: 'warn',
76
+ message: `${files.length} file(s) under .specweave/state are tracked by git`,
77
+ details: files.slice(0, 5),
78
+ fixSuggestion: 'Run: git rm -r --cached .specweave/state (and keep it in .gitignore)',
79
+ };
80
+ }
81
+ checkLargeIncrementFiles(projectRoot) {
82
+ const files = trackedFiles(projectRoot, '.specweave/increments');
83
+ if (files === null) {
84
+ return { name: 'Large increment files', status: 'skip', message: 'not a git repository' };
85
+ }
86
+ const big = [];
87
+ for (const rel of files) {
88
+ try {
89
+ const { size } = fs.statSync(path.join(projectRoot, rel));
90
+ if (size > MAX_TRACKED_FILE_BYTES) {
91
+ big.push(`${rel} (${(size / 1024 / 1024).toFixed(1)} MB)`);
92
+ }
93
+ }
94
+ catch {
95
+ // deleted-but-still-tracked file — nothing to measure
96
+ }
97
+ }
98
+ if (big.length === 0) {
99
+ return { name: 'Large increment files', status: 'pass', message: 'no tracked file over 5 MB' };
100
+ }
101
+ return {
102
+ name: 'Large increment files',
103
+ status: 'warn',
104
+ message: `${big.length} tracked file(s) over 5 MB under .specweave/increments`,
105
+ details: big.slice(0, 5),
106
+ fixSuggestion: 'Move binaries to <increment>/reports/artifacts/ (gitignored) and git rm --cached them',
107
+ };
108
+ }
109
+ }
110
+ //# sourceMappingURL=hygiene-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hygiene-checker.js","sourceRoot":"","sources":["../../../../../src/core/doctor/checkers/hygiene-checker.ts"],"names":[],"mappings":"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"}
@@ -188,7 +188,7 @@ export class IncrementsChecker {
188
188
  status: 'warn',
189
189
  message: `${issues.length} desync(s)`,
190
190
  details: issues.slice(0, 3),
191
- fixSuggestion: 'Run: specweave repair-status-desync',
191
+ fixSuggestion: 'Run: specweave doctor --fix-status',
192
192
  };
193
193
  }
194
194
  }