specweave 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/CLAUDE.md +229 -1817
  2. package/README.md +68 -0
  3. package/bin/specweave.js +62 -6
  4. package/dist/locales/de/.gitkeep +0 -0
  5. package/dist/locales/de/cli.json +108 -0
  6. package/dist/locales/en/cli.json +287 -0
  7. package/dist/locales/en/errors.json +7 -0
  8. package/dist/locales/en/templates.json +6 -0
  9. package/dist/locales/es/.gitkeep +0 -0
  10. package/dist/locales/es/cli.json +41 -0
  11. package/dist/locales/fr/.gitkeep +0 -0
  12. package/dist/locales/fr/cli.json +108 -0
  13. package/dist/locales/ja/.gitkeep +0 -0
  14. package/dist/locales/ja/cli.json +108 -0
  15. package/dist/locales/ko/.gitkeep +0 -0
  16. package/dist/locales/ko/cli.json +108 -0
  17. package/dist/locales/pt/.gitkeep +0 -0
  18. package/dist/locales/pt/cli.json +108 -0
  19. package/dist/locales/ru/.gitkeep +0 -0
  20. package/dist/locales/ru/cli.json +269 -0
  21. package/dist/locales/zh/.gitkeep +0 -0
  22. package/dist/locales/zh/cli.json +108 -0
  23. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
  24. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +3 -0
  25. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
  26. package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts +21 -0
  27. package/dist/plugins/specweave/lib/hooks/update-ac-status.d.ts.map +1 -0
  28. package/dist/plugins/specweave/lib/hooks/update-ac-status.js +162 -0
  29. package/dist/plugins/specweave/lib/hooks/update-ac-status.js.map +1 -0
  30. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.d.ts.map +1 -1
  31. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js +65 -6
  32. package/dist/plugins/specweave-ado/lib/ado-spec-content-sync.js.map +1 -1
  33. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts +25 -0
  34. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.d.ts.map +1 -0
  35. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js +191 -0
  36. package/dist/plugins/specweave-ado/lib/enhanced-ado-sync.js.map +1 -0
  37. package/dist/plugins/specweave-github/lib/completion-calculator.d.ts +112 -0
  38. package/dist/plugins/specweave-github/lib/completion-calculator.d.ts.map +1 -0
  39. package/dist/plugins/specweave-github/lib/completion-calculator.js +301 -0
  40. package/dist/plugins/specweave-github/lib/completion-calculator.js.map +1 -0
  41. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +3 -3
  42. package/dist/plugins/specweave-github/lib/duplicate-detector.js +3 -3
  43. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts +70 -0
  44. package/dist/plugins/specweave-github/lib/epic-content-builder.d.ts.map +1 -0
  45. package/dist/plugins/specweave-github/lib/epic-content-builder.js +258 -0
  46. package/dist/plugins/specweave-github/lib/epic-content-builder.js.map +1 -0
  47. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +14 -0
  48. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  49. package/dist/plugins/specweave-github/lib/github-client-v2.js +51 -0
  50. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  51. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +2 -2
  52. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -1
  53. package/dist/plugins/specweave-github/lib/github-epic-sync.js +20 -5
  54. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -1
  55. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +87 -0
  56. package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -0
  57. package/dist/plugins/specweave-github/lib/github-feature-sync.js +412 -0
  58. package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -0
  59. package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
  60. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +64 -13
  61. package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
  62. package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts +78 -0
  63. package/dist/plugins/specweave-github/lib/progress-comment-builder.d.ts.map +1 -0
  64. package/dist/plugins/specweave-github/lib/progress-comment-builder.js +237 -0
  65. package/dist/plugins/specweave-github/lib/progress-comment-builder.js.map +1 -0
  66. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts +97 -0
  67. package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -0
  68. package/dist/plugins/specweave-github/lib/user-story-content-builder.js +301 -0
  69. package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -0
  70. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts +83 -0
  71. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -0
  72. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +386 -0
  73. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -0
  74. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts +28 -0
  75. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.d.ts.map +1 -0
  76. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js +156 -0
  77. package/dist/plugins/specweave-jira/lib/enhanced-jira-sync.js.map +1 -0
  78. package/dist/plugins/specweave-kafka/lib/cli/kcat-wrapper.d.ts +57 -0
  79. package/dist/plugins/specweave-kafka/lib/cli/kcat-wrapper.d.ts.map +1 -0
  80. package/dist/plugins/specweave-kafka/lib/cli/kcat-wrapper.js +248 -0
  81. package/dist/plugins/specweave-kafka/lib/cli/kcat-wrapper.js.map +1 -0
  82. package/dist/plugins/specweave-kafka/lib/cli/types.d.ts +82 -0
  83. package/dist/plugins/specweave-kafka/lib/cli/types.d.ts.map +1 -0
  84. package/dist/plugins/specweave-kafka/lib/cli/types.js +13 -0
  85. package/dist/plugins/specweave-kafka/lib/cli/types.js.map +1 -0
  86. package/dist/plugins/specweave-kafka/lib/mcp/detector.d.ts +49 -0
  87. package/dist/plugins/specweave-kafka/lib/mcp/detector.d.ts.map +1 -0
  88. package/dist/plugins/specweave-kafka/lib/mcp/detector.js +316 -0
  89. package/dist/plugins/specweave-kafka/lib/mcp/detector.js.map +1 -0
  90. package/dist/plugins/specweave-kafka/lib/mcp/types.d.ts +70 -0
  91. package/dist/plugins/specweave-kafka/lib/mcp/types.d.ts.map +1 -0
  92. package/dist/plugins/specweave-kafka/lib/mcp/types.js +23 -0
  93. package/dist/plugins/specweave-kafka/lib/mcp/types.js.map +1 -0
  94. package/dist/plugins/specweave-kafka/lib/utils/partitioning.d.ts +85 -0
  95. package/dist/plugins/specweave-kafka/lib/utils/partitioning.d.ts.map +1 -0
  96. package/dist/plugins/specweave-kafka/lib/utils/partitioning.js +281 -0
  97. package/dist/plugins/specweave-kafka/lib/utils/partitioning.js.map +1 -0
  98. package/dist/plugins/specweave-kafka/lib/utils/sizing.d.ts +75 -0
  99. package/dist/plugins/specweave-kafka/lib/utils/sizing.d.ts.map +1 -0
  100. package/dist/plugins/specweave-kafka/lib/utils/sizing.js +238 -0
  101. package/dist/plugins/specweave-kafka/lib/utils/sizing.js.map +1 -0
  102. package/dist/spec-parser.js +629 -0
  103. package/dist/src/cli/commands/import-docs.js +4 -4
  104. package/dist/src/cli/commands/import-docs.js.map +1 -1
  105. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -1
  106. package/dist/src/cli/commands/init-multiproject.js +17 -18
  107. package/dist/src/cli/commands/init-multiproject.js.map +1 -1
  108. package/dist/src/cli/commands/init.d.ts.map +1 -1
  109. package/dist/src/cli/commands/init.js +107 -3
  110. package/dist/src/cli/commands/init.js.map +1 -1
  111. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -1
  112. package/dist/src/cli/commands/migrate-to-multiproject.js +8 -4
  113. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
  114. package/dist/src/cli/commands/switch-project.d.ts.map +1 -1
  115. package/dist/src/cli/commands/switch-project.js +9 -26
  116. package/dist/src/cli/commands/switch-project.js.map +1 -1
  117. package/dist/src/cli/commands/sync-spec-content.js +3 -0
  118. package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
  119. package/dist/src/core/deduplication/command-deduplicator.d.ts +166 -0
  120. package/dist/src/core/deduplication/command-deduplicator.d.ts.map +1 -0
  121. package/dist/src/core/deduplication/command-deduplicator.js +254 -0
  122. package/dist/src/core/deduplication/command-deduplicator.js.map +1 -0
  123. package/dist/src/core/increment/active-increment-manager.d.ts +42 -15
  124. package/dist/src/core/increment/active-increment-manager.d.ts.map +1 -1
  125. package/dist/src/core/increment/active-increment-manager.js +113 -46
  126. package/dist/src/core/increment/active-increment-manager.js.map +1 -1
  127. package/dist/src/core/increment/conflict-resolver.d.ts +40 -0
  128. package/dist/src/core/increment/conflict-resolver.d.ts.map +1 -0
  129. package/dist/src/core/increment/conflict-resolver.js +219 -0
  130. package/dist/src/core/increment/conflict-resolver.js.map +1 -0
  131. package/dist/src/core/increment/discipline-checker.d.ts.map +1 -1
  132. package/dist/src/core/increment/discipline-checker.js +7 -1
  133. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  134. package/dist/src/core/increment/duplicate-detector.d.ts +52 -0
  135. package/dist/src/core/increment/duplicate-detector.d.ts.map +1 -0
  136. package/dist/src/core/increment/duplicate-detector.js +276 -0
  137. package/dist/src/core/increment/duplicate-detector.js.map +1 -0
  138. package/dist/src/core/increment/increment-archiver.d.ts +90 -0
  139. package/dist/src/core/increment/increment-archiver.d.ts.map +1 -0
  140. package/dist/src/core/increment/increment-archiver.js +368 -0
  141. package/dist/src/core/increment/increment-archiver.js.map +1 -0
  142. package/dist/src/core/increment/increment-reopener.d.ts +165 -0
  143. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -0
  144. package/dist/src/core/increment/increment-reopener.js +390 -0
  145. package/dist/src/core/increment/increment-reopener.js.map +1 -0
  146. package/dist/src/core/increment/metadata-manager.d.ts +26 -1
  147. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  148. package/dist/src/core/increment/metadata-manager.js +143 -5
  149. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  150. package/dist/src/core/increment/recent-work-scanner.d.ts +121 -0
  151. package/dist/src/core/increment/recent-work-scanner.d.ts.map +1 -0
  152. package/dist/src/core/increment/recent-work-scanner.js +303 -0
  153. package/dist/src/core/increment/recent-work-scanner.js.map +1 -0
  154. package/dist/src/core/increment/types.d.ts +1 -0
  155. package/dist/src/core/increment/types.d.ts.map +1 -1
  156. package/dist/src/core/increment-utils.d.ts +112 -0
  157. package/dist/src/core/increment-utils.d.ts.map +1 -0
  158. package/dist/src/core/increment-utils.js +210 -0
  159. package/dist/src/core/increment-utils.js.map +1 -0
  160. package/dist/src/core/living-docs/ac-project-specific-generator.d.ts +65 -0
  161. package/dist/src/core/living-docs/ac-project-specific-generator.d.ts.map +1 -0
  162. package/dist/src/core/living-docs/ac-project-specific-generator.js +175 -0
  163. package/dist/src/core/living-docs/ac-project-specific-generator.js.map +1 -0
  164. package/dist/src/core/living-docs/feature-archiver.d.ts +130 -0
  165. package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -0
  166. package/dist/src/core/living-docs/feature-archiver.js +549 -0
  167. package/dist/src/core/living-docs/feature-archiver.js.map +1 -0
  168. package/dist/src/core/living-docs/feature-id-manager.d.ts +81 -0
  169. package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -0
  170. package/dist/src/core/living-docs/feature-id-manager.js +339 -0
  171. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -0
  172. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +144 -83
  173. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
  174. package/dist/src/core/living-docs/hierarchy-mapper.js +488 -270
  175. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  176. package/dist/src/core/living-docs/index.d.ts +6 -0
  177. package/dist/src/core/living-docs/index.d.ts.map +1 -1
  178. package/dist/src/core/living-docs/index.js +6 -0
  179. package/dist/src/core/living-docs/index.js.map +1 -1
  180. package/dist/src/core/living-docs/project-detector.d.ts +6 -0
  181. package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
  182. package/dist/src/core/living-docs/project-detector.js +35 -1
  183. package/dist/src/core/living-docs/project-detector.js.map +1 -1
  184. package/dist/src/core/living-docs/spec-distributor.d.ts +100 -26
  185. package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -1
  186. package/dist/src/core/living-docs/spec-distributor.js +1275 -258
  187. package/dist/src/core/living-docs/spec-distributor.js.map +1 -1
  188. package/dist/src/core/living-docs/task-project-specific-generator.d.ts +109 -0
  189. package/dist/src/core/living-docs/task-project-specific-generator.d.ts.map +1 -0
  190. package/dist/src/core/living-docs/task-project-specific-generator.js +221 -0
  191. package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -0
  192. package/dist/src/core/living-docs/types.d.ts +143 -0
  193. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  194. package/dist/src/core/project-manager.d.ts +2 -17
  195. package/dist/src/core/project-manager.d.ts.map +1 -1
  196. package/dist/src/core/project-manager.js +68 -48
  197. package/dist/src/core/project-manager.js.map +1 -1
  198. package/dist/src/core/spec-content-sync.d.ts +1 -1
  199. package/dist/src/core/spec-content-sync.d.ts.map +1 -1
  200. package/dist/src/core/sync/enhanced-content-builder.d.ts +32 -54
  201. package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -1
  202. package/dist/src/core/sync/enhanced-content-builder.js +142 -138
  203. package/dist/src/core/sync/enhanced-content-builder.js.map +1 -1
  204. package/dist/src/core/sync/performance-optimizer.d.ts +153 -0
  205. package/dist/src/core/sync/performance-optimizer.d.ts.map +1 -0
  206. package/dist/src/core/sync/performance-optimizer.js +220 -0
  207. package/dist/src/core/sync/performance-optimizer.js.map +1 -0
  208. package/dist/src/core/sync/retry-handler.d.ts +98 -0
  209. package/dist/src/core/sync/retry-handler.d.ts.map +1 -0
  210. package/dist/src/core/sync/retry-handler.js +196 -0
  211. package/dist/src/core/sync/retry-handler.js.map +1 -0
  212. package/dist/src/core/sync/spec-content-sync.d.ts +88 -0
  213. package/dist/src/core/sync/spec-content-sync.d.ts.map +1 -0
  214. package/dist/src/core/sync/spec-content-sync.js +5 -0
  215. package/dist/src/core/sync/spec-content-sync.js.map +1 -0
  216. package/dist/src/core/sync/types.d.ts +52 -0
  217. package/dist/src/core/sync/types.d.ts.map +1 -0
  218. package/dist/src/core/sync/types.js +5 -0
  219. package/dist/src/core/sync/types.js.map +1 -0
  220. package/dist/src/core/types/config.d.ts +125 -0
  221. package/dist/src/core/types/config.d.ts.map +1 -1
  222. package/dist/src/core/types/config.js +25 -0
  223. package/dist/src/core/types/config.js.map +1 -1
  224. package/dist/src/core/types/increment-metadata.d.ts +10 -0
  225. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  226. package/dist/src/core/types/increment-metadata.js +10 -1
  227. package/dist/src/core/types/increment-metadata.js.map +1 -1
  228. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
  229. package/dist/src/integrations/jira/jira-incremental-mapper.js +4 -8
  230. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
  231. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -1
  232. package/dist/src/integrations/jira/jira-mapper.js +4 -8
  233. package/dist/src/integrations/jira/jira-mapper.js.map +1 -1
  234. package/dist/tsconfig.tsbuildinfo +1 -0
  235. package/package.json +1 -1
  236. package/plugins/specweave/COMMANDS.md +13 -4
  237. package/plugins/specweave/agents/pm/AGENT.md +159 -12
  238. package/plugins/specweave/commands/specweave-abandon.md +22 -20
  239. package/plugins/specweave/commands/specweave-archive-features.md +121 -0
  240. package/plugins/specweave/commands/specweave-archive-increments.md +82 -0
  241. package/plugins/specweave/commands/specweave-archive.md +363 -0
  242. package/plugins/specweave/commands/specweave-backlog.md +211 -0
  243. package/plugins/specweave/commands/specweave-fix-duplicates.md +517 -0
  244. package/plugins/specweave/commands/specweave-increment.md +4 -3
  245. package/plugins/specweave/commands/specweave-progress.md +176 -27
  246. package/plugins/specweave/commands/specweave-reopen.md +391 -0
  247. package/plugins/specweave/commands/specweave-restore-feature.md +90 -0
  248. package/plugins/specweave/commands/specweave-restore.md +309 -0
  249. package/plugins/specweave/commands/specweave-resume.md +51 -23
  250. package/plugins/specweave/commands/specweave-status.md +41 -7
  251. package/plugins/specweave/commands/specweave-sync-specs.md +425 -0
  252. package/plugins/specweave/commands/specweave.md +70 -405
  253. package/plugins/specweave/hooks/hooks.json +4 -0
  254. package/plugins/specweave/hooks/lib/sync-spec-content.sh +2 -2
  255. package/plugins/specweave/hooks/post-increment-planning.sh +26 -2
  256. package/plugins/specweave/hooks/post-task-completion.sh +39 -0
  257. package/plugins/specweave/hooks/pre-command-deduplication.sh +83 -0
  258. package/plugins/specweave/hooks/user-prompt-submit.sh +1 -1
  259. package/plugins/specweave/lib/hooks/sync-living-docs.js +2 -0
  260. package/plugins/specweave/lib/hooks/sync-living-docs.ts +4 -0
  261. package/plugins/specweave/lib/hooks/update-ac-status.js +102 -0
  262. package/plugins/specweave/lib/hooks/update-ac-status.ts +192 -0
  263. package/plugins/specweave/skills/archive-increments/SKILL.md +198 -0
  264. package/plugins/specweave/skills/increment-planner/scripts/feature-utils.js +14 -0
  265. package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +244 -0
  266. package/plugins/specweave-ado/lib/ado-spec-content-sync.js +49 -5
  267. package/plugins/specweave-ado/lib/ado-spec-content-sync.ts +72 -6
  268. package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
  269. package/plugins/specweave-confluent/.claude-plugin/plugin.json +23 -0
  270. package/plugins/specweave-confluent/README.md +375 -0
  271. package/plugins/specweave-confluent/agents/confluent-architect/AGENT.md +306 -0
  272. package/plugins/specweave-confluent/skills/confluent-kafka-connect/SKILL.md +453 -0
  273. package/plugins/specweave-confluent/skills/confluent-ksqldb/SKILL.md +470 -0
  274. package/plugins/specweave-confluent/skills/confluent-schema-registry/SKILL.md +316 -0
  275. package/plugins/specweave-github/agents/github-task-splitter/AGENT.md +2 -2
  276. package/plugins/specweave-github/agents/user-story-updater/AGENT.md +148 -0
  277. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +1 -1
  278. package/plugins/specweave-github/commands/specweave-github-update-user-story.md +156 -0
  279. package/plugins/specweave-github/hooks/post-task-completion.sh +42 -9
  280. package/plugins/specweave-github/lib/completion-calculator.js +262 -0
  281. package/plugins/specweave-github/lib/completion-calculator.ts +434 -0
  282. package/plugins/specweave-github/lib/duplicate-detector.js +3 -3
  283. package/plugins/specweave-github/lib/duplicate-detector.ts +4 -4
  284. package/plugins/specweave-github/lib/epic-content-builder.js +265 -0
  285. package/plugins/specweave-github/lib/epic-content-builder.ts +376 -0
  286. package/plugins/specweave-github/lib/github-client-v2.js +49 -0
  287. package/plugins/specweave-github/lib/github-client-v2.ts +59 -0
  288. package/plugins/specweave-github/lib/github-epic-sync.js +23 -24
  289. package/plugins/specweave-github/lib/github-epic-sync.ts +30 -5
  290. package/plugins/specweave-github/lib/github-feature-sync.js +381 -0
  291. package/plugins/specweave-github/lib/github-feature-sync.ts +568 -0
  292. package/plugins/specweave-github/lib/github-spec-content-sync.js +40 -10
  293. package/plugins/specweave-github/lib/github-spec-content-sync.ts +82 -14
  294. package/plugins/specweave-github/lib/progress-comment-builder.js +229 -0
  295. package/plugins/specweave-github/lib/progress-comment-builder.ts +324 -0
  296. package/plugins/specweave-github/lib/user-story-content-builder.js +299 -0
  297. package/plugins/specweave-github/lib/user-story-content-builder.ts +413 -0
  298. package/plugins/specweave-github/lib/user-story-issue-builder.js +344 -0
  299. package/plugins/specweave-github/lib/user-story-issue-builder.ts +543 -0
  300. package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +189 -0
  301. package/plugins/specweave-jira/lib/enhanced-jira-sync.js +134 -0
  302. package/plugins/specweave-jira/lib/{enhanced-jira-sync.ts.disabled → enhanced-jira-sync.ts} +26 -52
  303. package/plugins/specweave-kafka/.claude-plugin/plugin.json +26 -0
  304. package/plugins/specweave-kafka/IMPLEMENTATION-COMPLETE.md +483 -0
  305. package/plugins/specweave-kafka/README.md +242 -0
  306. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +235 -0
  307. package/plugins/specweave-kafka/agents/kafka-devops/AGENT.md +209 -0
  308. package/plugins/specweave-kafka/agents/kafka-observability/AGENT.md +266 -0
  309. package/plugins/specweave-kafka/commands/deploy.md +99 -0
  310. package/plugins/specweave-kafka/commands/dev-env.md +176 -0
  311. package/plugins/specweave-kafka/commands/mcp-configure.md +101 -0
  312. package/plugins/specweave-kafka/commands/monitor-setup.md +96 -0
  313. package/plugins/specweave-kafka/docker/kafka-local/docker-compose.yml +187 -0
  314. package/plugins/specweave-kafka/docker/redpanda/docker-compose.yml +199 -0
  315. package/plugins/specweave-kafka/docker/templates/consumer-nodejs.js +225 -0
  316. package/plugins/specweave-kafka/docker/templates/consumer-python.py +220 -0
  317. package/plugins/specweave-kafka/docker/templates/producer-nodejs.js +168 -0
  318. package/plugins/specweave-kafka/docker/templates/producer-python.py +167 -0
  319. package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.js +438 -0
  320. package/plugins/specweave-kafka/lib/adapters/apache-kafka-adapter.ts +541 -0
  321. package/plugins/specweave-kafka/lib/adapters/platform-adapter.js +47 -0
  322. package/plugins/specweave-kafka/lib/adapters/platform-adapter.ts +343 -0
  323. package/plugins/specweave-kafka/lib/cli/kcat-wrapper.js +258 -0
  324. package/plugins/specweave-kafka/lib/cli/kcat-wrapper.ts +298 -0
  325. package/plugins/specweave-kafka/lib/cli/types.js +10 -0
  326. package/plugins/specweave-kafka/lib/cli/types.ts +92 -0
  327. package/plugins/specweave-kafka/lib/connectors/connector-catalog.js +305 -0
  328. package/plugins/specweave-kafka/lib/connectors/connector-catalog.ts +528 -0
  329. package/plugins/specweave-kafka/lib/documentation/diagram-generator.js +114 -0
  330. package/plugins/specweave-kafka/lib/documentation/diagram-generator.ts +195 -0
  331. package/plugins/specweave-kafka/lib/documentation/exporter.js +210 -0
  332. package/plugins/specweave-kafka/lib/documentation/exporter.ts +338 -0
  333. package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.js +60 -0
  334. package/plugins/specweave-kafka/lib/documentation/schema-catalog-generator.ts +130 -0
  335. package/plugins/specweave-kafka/lib/documentation/topology-generator.js +143 -0
  336. package/plugins/specweave-kafka/lib/documentation/topology-generator.ts +290 -0
  337. package/plugins/specweave-kafka/lib/mcp/detector.js +298 -0
  338. package/plugins/specweave-kafka/lib/mcp/detector.ts +352 -0
  339. package/plugins/specweave-kafka/lib/mcp/types.js +21 -0
  340. package/plugins/specweave-kafka/lib/mcp/types.ts +77 -0
  341. package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.js +193 -0
  342. package/plugins/specweave-kafka/lib/multi-cluster/cluster-config-manager.ts +362 -0
  343. package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.js +188 -0
  344. package/plugins/specweave-kafka/lib/multi-cluster/cluster-switcher.ts +359 -0
  345. package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.js +195 -0
  346. package/plugins/specweave-kafka/lib/multi-cluster/health-aggregator.ts +380 -0
  347. package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.js +209 -0
  348. package/plugins/specweave-kafka/lib/observability/opentelemetry-kafka.ts +358 -0
  349. package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.js +354 -0
  350. package/plugins/specweave-kafka/lib/patterns/advanced-ksqldb-patterns.ts +563 -0
  351. package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.js +259 -0
  352. package/plugins/specweave-kafka/lib/patterns/circuit-breaker-resilience.ts +516 -0
  353. package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.js +233 -0
  354. package/plugins/specweave-kafka/lib/patterns/dead-letter-queue.ts +423 -0
  355. package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.js +266 -0
  356. package/plugins/specweave-kafka/lib/patterns/exactly-once-semantics.ts +445 -0
  357. package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.js +312 -0
  358. package/plugins/specweave-kafka/lib/patterns/flink-kafka-integration.ts +561 -0
  359. package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.js +289 -0
  360. package/plugins/specweave-kafka/lib/patterns/multi-dc-replication.ts +607 -0
  361. package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.js +264 -0
  362. package/plugins/specweave-kafka/lib/patterns/rate-limiting-backpressure.ts +498 -0
  363. package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.js +263 -0
  364. package/plugins/specweave-kafka/lib/patterns/stream-processing-optimization.ts +549 -0
  365. package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.js +205 -0
  366. package/plugins/specweave-kafka/lib/patterns/tiered-storage-compaction.ts +399 -0
  367. package/plugins/specweave-kafka/lib/performance/performance-optimizer.js +249 -0
  368. package/plugins/specweave-kafka/lib/performance/performance-optimizer.ts +427 -0
  369. package/plugins/specweave-kafka/lib/security/kafka-security.js +252 -0
  370. package/plugins/specweave-kafka/lib/security/kafka-security.ts +494 -0
  371. package/plugins/specweave-kafka/lib/utils/capacity-planner.js +203 -0
  372. package/plugins/specweave-kafka/lib/utils/capacity-planner.ts +469 -0
  373. package/plugins/specweave-kafka/lib/utils/config-validator.js +419 -0
  374. package/plugins/specweave-kafka/lib/utils/config-validator.ts +564 -0
  375. package/plugins/specweave-kafka/lib/utils/partitioning.js +329 -0
  376. package/plugins/specweave-kafka/lib/utils/partitioning.ts +473 -0
  377. package/plugins/specweave-kafka/lib/utils/sizing.js +221 -0
  378. package/plugins/specweave-kafka/lib/utils/sizing.ts +374 -0
  379. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-broker-metrics.json +628 -0
  380. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-cluster-overview.json +564 -0
  381. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-consumer-lag.json +509 -0
  382. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-jvm-metrics.json +674 -0
  383. package/plugins/specweave-kafka/monitoring/grafana/dashboards/kafka-topic-metrics.json +578 -0
  384. package/plugins/specweave-kafka/monitoring/grafana/provisioning/dashboards/kafka.yml +17 -0
  385. package/plugins/specweave-kafka/monitoring/grafana/provisioning/datasources/prometheus.yml +17 -0
  386. package/plugins/specweave-kafka/monitoring/prometheus/kafka-alerts.yml +415 -0
  387. package/plugins/specweave-kafka/monitoring/prometheus/kafka-jmx-exporter.yml +256 -0
  388. package/plugins/specweave-kafka/package.json +41 -0
  389. package/plugins/specweave-kafka/skills/kafka-architecture/SKILL.md +647 -0
  390. package/plugins/specweave-kafka/skills/kafka-cli-tools/SKILL.md +433 -0
  391. package/plugins/specweave-kafka/skills/kafka-iac-deployment/SKILL.md +449 -0
  392. package/plugins/specweave-kafka/skills/kafka-kubernetes/SKILL.md +667 -0
  393. package/plugins/specweave-kafka/skills/kafka-mcp-integration/SKILL.md +273 -0
  394. package/plugins/specweave-kafka/skills/kafka-observability/SKILL.md +576 -0
  395. package/plugins/specweave-kafka/templates/config/broker-production.properties +254 -0
  396. package/plugins/specweave-kafka/templates/config/consumer-low-latency.properties +112 -0
  397. package/plugins/specweave-kafka/templates/config/producer-high-throughput.properties +120 -0
  398. package/plugins/specweave-kafka/templates/migration/mirrormaker2-config.properties +234 -0
  399. package/plugins/specweave-kafka/templates/monitoring/grafana/multi-cluster-dashboard.json +686 -0
  400. package/plugins/specweave-kafka/terraform/apache-kafka/main.tf +347 -0
  401. package/plugins/specweave-kafka/terraform/apache-kafka/outputs.tf +107 -0
  402. package/plugins/specweave-kafka/terraform/apache-kafka/templates/kafka-broker-init.sh.tpl +216 -0
  403. package/plugins/specweave-kafka/terraform/apache-kafka/variables.tf +156 -0
  404. package/plugins/specweave-kafka/terraform/aws-msk/main.tf +362 -0
  405. package/plugins/specweave-kafka/terraform/aws-msk/outputs.tf +93 -0
  406. package/plugins/specweave-kafka/terraform/aws-msk/templates/server.properties.tpl +32 -0
  407. package/plugins/specweave-kafka/terraform/aws-msk/variables.tf +235 -0
  408. package/plugins/specweave-kafka/terraform/azure-event-hubs/main.tf +281 -0
  409. package/plugins/specweave-kafka/terraform/azure-event-hubs/outputs.tf +118 -0
  410. package/plugins/specweave-kafka/terraform/azure-event-hubs/variables.tf +148 -0
  411. package/plugins/specweave-kafka/tsconfig.json +21 -0
  412. package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +23 -0
  413. package/plugins/specweave-kafka-streams/README.md +310 -0
  414. package/plugins/specweave-kafka-streams/skills/kafka-streams-topology/SKILL.md +539 -0
  415. package/plugins/specweave-n8n/.claude-plugin/plugin.json +22 -0
  416. package/plugins/specweave-n8n/README.md +354 -0
  417. package/plugins/specweave-n8n/skills/n8n-kafka-workflows/SKILL.md +504 -0
  418. package/plugins/specweave-release/commands/specweave-release-platform.md +1 -1
  419. package/plugins/specweave-release/hooks/post-task-completion.sh +2 -2
  420. package/src/templates/AGENTS.md.template +601 -7
  421. package/src/templates/CLAUDE.md.template +188 -88
  422. package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +0 -255
  423. package/plugins/specweave-github/commands/specweave-github-sync-epic.md +0 -248
  424. package/plugins/specweave-github/commands/specweave-github-sync-from.md +0 -147
  425. package/plugins/specweave-github/commands/specweave-github-sync-spec.md +0 -208
  426. package/plugins/specweave-github/commands/specweave-github-sync-tasks.md +0 -530
  427. package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +0 -267
  428. package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +0 -240
@@ -273,14 +273,10 @@ export class JiraMapper {
273
273
  }
274
274
  // ========== Helper Methods ==========
275
275
  getNextIncrementId() {
276
- const incrementsDir = path.join(this.projectRoot, '.specweave', 'increments');
277
- this.ensureDir(incrementsDir);
278
- const existing = fs.readdirSync(incrementsDir)
279
- .filter(name => /^\d{4}/.test(name))
280
- .map(name => parseInt(name.split('-')[0]))
281
- .sort((a, b) => b - a);
282
- const nextNum = existing.length > 0 ? existing[0] + 1 : 1;
283
- return String(nextNum).padStart(4, '0');
276
+ // UPDATED: Use centralized IncrementNumberManager to prevent gaps when increments are archived
277
+ // This now scans ALL directories: main, _archive, _abandoned, _paused
278
+ const { IncrementNumberManager } = require('../../core/increment-utils.js');
279
+ return IncrementNumberManager.getNextIncrementNumber(this.projectRoot, false);
284
280
  }
285
281
  ensureDir(dir) {
286
282
  if (!fs.existsSync(dir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"jira-mapper.js","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jira-mapper.js","sourceRoot":"","sources":["../../../../src/integrations/jira/jira-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"root":["../src/adapters/adapter-base.ts","../src/adapters/adapter-interface.ts","../src/adapters/adapter-loader.ts","../src/adapters/agents-md-generator.ts","../src/adapters/claude-md-generator.ts","../src/adapters/doc-generator.ts","../src/adapters/claude/adapter.ts","../src/adapters/codex/adapter.ts","../src/adapters/cursor/adapter.ts","../src/adapters/gemini/adapter.ts","../src/adapters/generic/adapter.ts","../src/cli/commands/abandon.ts","../src/cli/commands/check-discipline.ts","../src/cli/commands/cicd-monitor.ts","../src/cli/commands/detect-project.ts","../src/cli/commands/detect-specs.ts","../src/cli/commands/import-docs.ts","../src/cli/commands/init-multiproject.ts","../src/cli/commands/init.ts","../src/cli/commands/install.ts","../src/cli/commands/list.ts","../src/cli/commands/migrate-to-multiproject.ts","../src/cli/commands/migrate-to-profiles.ts","../src/cli/commands/pause.ts","../src/cli/commands/qa.ts","../src/cli/commands/resume.ts","../src/cli/commands/revert-wip-limit.ts","../src/cli/commands/status-line.ts","../src/cli/commands/status.ts","../src/cli/commands/switch-project.ts","../src/cli/commands/sync-spec-commits.ts","../src/cli/commands/sync-spec-content.ts","../src/cli/commands/validate-jira.ts","../src/cli/commands/validate-parent-repo.ts","../src/cli/commands/validate-plugins.ts","../src/cli/helpers/github/increment-profile-selector.ts","../src/cli/helpers/github/profile-manager.ts","../src/cli/helpers/issue-tracker/ado.ts","../src/cli/helpers/issue-tracker/github-multi-repo.ts","../src/cli/helpers/issue-tracker/github.ts","../src/cli/helpers/issue-tracker/index.ts","../src/cli/helpers/issue-tracker/jira.ts","../src/cli/helpers/issue-tracker/types.ts","../src/cli/helpers/issue-tracker/utils.ts","../src/core/comment-builder.ts","../src/core/config-manager.ts","../src/core/cost-tracker.ts","../src/core/credentials-manager.ts","../src/core/increment-status.ts","../src/core/plugin-loader.ts","../src/core/project-manager.ts","../src/core/project-structure-detector.ts","../src/core/rfc-generator-v2.ts","../src/core/spec-content-sync.ts","../src/core/spec-detector.ts","../src/core/spec-identifier-detector.ts","../src/core/spec-task-mapper.ts","../src/core/brownfield/analyzer.ts","../src/core/brownfield/importer.ts","../src/core/cicd/config-loader.ts","../src/core/cicd/index.ts","../src/core/cicd/monitor-service.ts","../src/core/cicd/notifier.ts","../src/core/cicd/parent-repo-validator.ts","../src/core/cicd/state-manager.ts","../src/core/cicd/types.ts","../src/core/cicd/workflow-monitor.ts","../src/core/i18n/language-detector.ts","../src/core/i18n/language-manager.ts","../src/core/i18n/language-registry.ts","../src/core/i18n/locale-manager.ts","../src/core/i18n/system-prompt-injector.ts","../src/core/i18n/types.ts","../src/core/increment/active-increment-manager.ts","../src/core/increment/discipline-checker.ts","../src/core/increment/limits.ts","../src/core/increment/metadata-manager.ts","../src/core/increment/metadata-validator.ts","../src/core/increment/status-commands.ts","../src/core/increment/types.ts","../src/core/living-docs/content-classifier.ts","../src/core/living-docs/content-distributor.ts","../src/core/living-docs/content-parser.ts","../src/core/living-docs/cross-linker.ts","../src/core/living-docs/index.ts","../src/core/living-docs/project-detector.ts","../src/core/living-docs/spec-distributor.ts","../src/core/living-docs/types.ts","../src/core/qa/qa-runner.ts","../src/core/qa/quality-gate-decider.ts","../src/core/qa/risk-calculator.ts","../src/core/qa/types.ts","../src/core/repo-structure/folder-detector.ts","../src/core/repo-structure/github-validator.ts","../src/core/repo-structure/prompt-consolidator.ts","../src/core/repo-structure/repo-id-generator.ts","../src/core/repo-structure/repo-structure-manager.ts","../src/core/repo-structure/setup-state-manager.ts","../src/core/repo-structure/setup-summary.ts","../src/core/specs/spec-metadata-manager.ts","../src/core/specs/spec-parser.ts","../src/core/status-line/status-line-manager.ts","../src/core/status-line/types.ts","../src/core/sync/bidirectional-engine.ts","../src/core/sync/conflict-resolver.ts","../src/core/sync/enhanced-content-builder.ts","../src/core/sync/folder-mapper.ts","../src/core/sync/profile-manager.ts","../src/core/sync/profile-selector.ts","../src/core/sync/profile-validator.ts","../src/core/sync/project-context.ts","../src/core/sync/rate-limiter.ts","../src/core/sync/retry-logic.ts","../src/core/sync/spec-increment-mapper.ts","../src/core/sync/status-cache.ts","../src/core/sync/status-mapper.ts","../src/core/sync/status-sync-engine.ts","../src/core/sync/sync-event-logger.ts","../src/core/sync/time-range-selector.ts","../src/core/sync/workflow-detector.ts","../src/core/types/config.ts","../src/core/types/increment-metadata.ts","../src/core/types/plugin.ts","../src/core/types/spec-identifier.ts","../src/core/types/spec-metadata.ts","../src/core/types/sync-profile.ts","../src/integrations/ado/ado-client.ts","../src/integrations/jira/jira-client.ts","../src/integrations/jira/jira-incremental-mapper.ts","../src/integrations/jira/jira-mapper.ts","../src/metrics/dora-calculator.ts","../src/metrics/github-client.ts","../src/metrics/report-generator.ts","../src/metrics/types.ts","../src/metrics/calculators/change-failure-rate.ts","../src/metrics/calculators/deployment-frequency.ts","../src/metrics/calculators/lead-time.ts","../src/metrics/calculators/mttr.ts","../src/metrics/utils/percentile.ts","../src/metrics/utils/tier-classifier.ts","../src/testing/test-generator.ts","../src/types/cost-tracking.ts","../src/types/model-selection.ts","../src/utils/agents-md-compiler.ts","../src/utils/auth-helpers.ts","../src/utils/auto-install.ts","../src/utils/claude-cli-detector.ts","../src/utils/cost-reporter.ts","../src/utils/env-file-generator.ts","../src/utils/env-file.ts","../src/utils/env-multi-project-parser.ts","../src/utils/esm-helpers.ts","../src/utils/execfilenothrow.ts","../src/utils/external-resource-validator.ts","../src/utils/generate-skills-index.ts","../src/utils/git-detector.ts","../src/utils/git-utils.ts","../src/utils/model-selection.ts","../src/utils/plugin-validator.ts","../src/utils/pricing-constants.ts","../src/utils/project-detection.ts","../src/utils/project-mapper.ts","../src/utils/project-validator.ts","../src/utils/spec-parser.ts","../src/utils/spec-splitter.ts","../src/utils/string-utils.ts","../src/utils/translation.ts","../src/utils/docs-preview/config-generator.ts","../src/utils/docs-preview/docusaurus-setup.ts","../src/utils/docs-preview/index.ts","../src/utils/docs-preview/package-installer.ts","../src/utils/docs-preview/server-manager.ts","../src/utils/docs-preview/sidebar-builder.ts","../src/utils/docs-preview/types.ts","../plugins/specweave/lib/hooks/git-diff-analyzer.ts","../plugins/specweave/lib/hooks/invoke-translator-skill.ts","../plugins/specweave/lib/hooks/prepare-reflection-context.ts","../plugins/specweave/lib/hooks/reflection-config-loader.ts","../plugins/specweave/lib/hooks/reflection-parser.ts","../plugins/specweave/lib/hooks/reflection-prompt-builder.ts","../plugins/specweave/lib/hooks/reflection-storage.ts","../plugins/specweave/lib/hooks/run-self-reflection.ts","../plugins/specweave/lib/hooks/sync-living-docs.ts","../plugins/specweave/lib/hooks/translate-file.ts","../plugins/specweave/lib/hooks/translate-living-docs.ts","../plugins/specweave/lib/hooks/update-tasks-md.ts","../plugins/specweave/lib/hooks/types/reflection-types.ts","../plugins/specweave-ado/lib/ado-board-resolver.d.ts","../plugins/specweave-ado/lib/ado-client-v2.ts","../plugins/specweave-ado/lib/ado-client.ts","../plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts","../plugins/specweave-ado/lib/ado-spec-commit-sync.ts","../plugins/specweave-ado/lib/ado-spec-content-sync.ts","../plugins/specweave-ado/lib/ado-spec-sync.ts","../plugins/specweave-ado/lib/ado-status-sync.ts","../plugins/specweave-ado/lib/enhanced-ado-sync.ts","../plugins/specweave-ado/lib/project-selector.d.ts","../plugins/specweave-github/lib/cli-sync-increment-changes.ts","../plugins/specweave-github/lib/enhanced-github-sync.ts","../plugins/specweave-github/lib/github-board-resolver.d.ts","../plugins/specweave-github/lib/github-client-v2.ts","../plugins/specweave-github/lib/github-client.ts","../plugins/specweave-github/lib/github-epic-sync.ts","../plugins/specweave-github/lib/github-hierarchical-sync.d.ts","../plugins/specweave-github/lib/github-issue-updater.ts","../plugins/specweave-github/lib/github-spec-commit-sync.ts","../plugins/specweave-github/lib/github-spec-content-sync.ts","../plugins/specweave-github/lib/github-spec-sync.ts","../plugins/specweave-github/lib/github-status-sync.ts","../plugins/specweave-github/lib/github-sync-bidirectional.ts","../plugins/specweave-github/lib/github-sync-increment-changes.ts","../plugins/specweave-github/lib/index.ts","../plugins/specweave-github/lib/repo-selector.d.ts","../plugins/specweave-github/lib/subtask-sync.ts","../plugins/specweave-github/lib/task-parser.ts","../plugins/specweave-github/lib/task-sync.ts","../plugins/specweave-github/lib/types.ts","../plugins/specweave-jira/lib/enhanced-jira-sync.ts","../plugins/specweave-jira/lib/jira-board-resolver.d.ts","../plugins/specweave-jira/lib/jira-epic-sync.ts","../plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts","../plugins/specweave-jira/lib/jira-spec-commit-sync.ts","../plugins/specweave-jira/lib/jira-spec-content-sync.ts","../plugins/specweave-jira/lib/jira-spec-sync.ts","../plugins/specweave-jira/lib/jira-status-sync.ts","../plugins/specweave-jira/lib/project-selector.d.ts","../plugins/specweave-jira/lib/reorganization-detector.ts","../plugins/specweave-jira/lib/setup-wizard.ts","../plugins/specweave-release/lib/dashboard-generator.ts","../plugins/specweave-release/lib/dora-tracker.ts"],"errors":true,"version":"5.9.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "description": "Spec-driven development framework for Claude Code. AI-native workflow with living documentation, intelligent agents, and multilingual support (9 languages). Enterprise-grade traceability with permanent specs and temporary increments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -59,17 +59,26 @@ All SpecWeave commands are namespaced for brownfield safety and follow a consist
59
59
  19. `specweave-tdd-refactor.md` - Refactor code → `/specweave:tdd-refactor`
60
60
  20. `specweave-tdd-cycle.md` - Full TDD cycle → `/specweave:tdd-cycle`
61
61
 
62
+ ### Archiving & Cleanup (6 commands)
63
+ 21. `specweave-archive.md` - Archive increments → `/specweave:archive`
64
+ 22. `specweave-restore.md` - Restore from archive → `/specweave:restore`
65
+ 23. `specweave-archive-features.md` - Archive features/epics → `/specweave:archive-features`
66
+ 24. `specweave-restore-feature.md` - Restore features/epics → `/specweave:restore-feature`
67
+ 25. `specweave-fix-duplicates.md` - Resolve duplicate increments → `/specweave:fix-duplicates`
68
+ 26. `specweave-backlog.md` - Move to backlog → `/specweave:backlog`
69
+
62
70
  ### Utilities (2 commands)
63
- 21. `specweave-translate.md` - Batch translation → `/specweave:translate`
64
- 22. `specweave.md` - Master router → `/specweave`
71
+ 27. `specweave-translate.md` - Batch translation → `/specweave:translate`
72
+ 28. `specweave.md` - Master router → `/specweave`
65
73
 
66
- **Total**: 22 commands (down from 31, removed 8 duplicates/deprecated, removed 1 redundant)
74
+ **Total**: 28 commands (6 new archiving/cleanup commands added in v0.18.3)
67
75
 
68
76
  ## Command Categories
69
77
 
70
78
  - **ESSENTIAL**: increment, do, done, next, progress, validate, sync-docs
71
79
  - **IMPORTANT**: status, qa, check-tests, update-scope, costs, translate
72
- - **STATE MANAGEMENT**: pause, resume, abandon
80
+ - **STATE MANAGEMENT**: pause, resume, abandon, backlog
81
+ - **ARCHIVING**: archive, restore, archive-features, restore-feature, fix-duplicates
73
82
  - **OPTIONAL**: TDD workflow commands, sync-tasks
74
83
 
75
84
  ## Removed/Deprecated Commands
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: pm
3
3
  description: Product Manager AI agent for product strategy, requirements gathering, user story creation, feature prioritization, and stakeholder communication. Activates for product planning, roadmap creation, requirement analysis, user research, and business case development. Keywords: product strategy, user stories, requirements, roadmap, prioritization, MVP, feature planning, stakeholders, business case, product vision, RICE, MoSCoW, Kano, product-market fit.
4
- tools: Read, Grep, Glob
4
+ tools: Read, Write, Grep, Glob
5
5
  model: claude-sonnet-4-5-20250929
6
6
  model_preference: sonnet
7
7
  cost_profile: planning
@@ -1036,7 +1036,7 @@ measurement_plan:
1036
1036
 
1037
1037
  ## āœ… Post-Creation Validation (CRITICAL - v0.14.0+)
1038
1038
 
1039
- **MANDATORY STEP**: After creating increment files, ALWAYS validate metadata.json exists.
1039
+ **MANDATORY STEP**: After creating increment files, you MUST ACTUALLY EXECUTE metadata.json validation using Read and Write tools.
1040
1040
 
1041
1041
  ### Why This Matters
1042
1042
 
@@ -1046,17 +1046,132 @@ Without metadata.json:
1046
1046
  - āŒ External sync breaks (no GitHub/JIRA/ADO links)
1047
1047
  - āŒ `/specweave:status`, `/pause`, `/resume` commands fail
1048
1048
 
1049
- ### Validation Workflow
1049
+ ### Validation Workflow (EXECUTE WITH TOOLS!)
1050
1050
 
1051
- **STEP: Validate Increment Creation** (Run after creating spec.md, plan.md, tasks.md)
1051
+ **STEP 1: Use Read Tool to Check if metadata.json Exists**
1052
1052
 
1053
- ```typescript
1054
- // After Write tool creates all files:
1055
- // 1. spec.md created āœ…
1056
- // 2. plan.md created āœ…
1057
- // 3. tasks.md created āœ…
1053
+ After creating spec.md, plan.md, tasks.md, you MUST use the Read tool to check for metadata.json:
1054
+
1055
+ ```
1056
+ Use Read tool:
1057
+ file_path: .specweave/increments/{incrementId}/metadata.json
1058
+ ```
1059
+
1060
+ If the Read tool returns "file not found", proceed to STEP 2.
1061
+ If the Read tool returns JSON content, validation passed! Report success to user.
1062
+
1063
+ **STEP 2: If Missing, Use Write Tool to Create Minimal Metadata**
1064
+
1065
+ When metadata.json is missing, you MUST use the Write tool to create it:
1066
+
1067
+ ```
1068
+ Use Write tool:
1069
+ file_path: .specweave/increments/{incrementId}/metadata.json
1070
+ content: {
1071
+ "id": "{incrementId}",
1072
+ "status": "planned",
1073
+ "type": "{type}", // Extract from spec.md frontmatter
1074
+ "priority": "{priority}", // Extract from spec.md frontmatter
1075
+ "created": "{ISO-8601-timestamp}",
1076
+ "lastActivity": "{ISO-8601-timestamp}",
1077
+ "testMode": "{testMode}", // Extract from spec.md frontmatter or use "TDD"
1078
+ "coverageTarget": {coverageTarget} // Extract from spec.md frontmatter or use 95
1079
+ }
1080
+ ```
1081
+
1082
+ **STEP 3: Report to User**
1083
+
1084
+ After creating metadata.json, output:
1085
+ ```
1086
+ āš ļø Warning: metadata.json not found for {incrementId}
1087
+ This indicates the post-increment-planning hook may have failed.
1088
+ āœ… Created minimal metadata.json
1089
+ āš ļø Note: No GitHub issue linked.
1090
+ šŸ’” Run /specweave-github:create-issue {incrementId} to create one manually.
1091
+ ```
1092
+
1093
+ ### Example Execution (ACTUAL TOOL USAGE)
1094
+
1095
+ **WRONG (Don't do this)** āŒ:
1096
+ ```markdown
1097
+ I should validate metadata.json exists...
1098
+ The code would check if the file exists...
1099
+ If missing, it would create minimal metadata...
1100
+ ```
1101
+
1102
+ **CORRECT (Do this)** āœ…:
1103
+ ```markdown
1104
+ 1. Let me check if metadata.json exists using Read tool:
1105
+ [Actually use Read tool with file_path: .specweave/increments/0032/metadata.json]
1106
+
1107
+ 2. Read tool returned "file not found"
1108
+
1109
+ 3. Creating minimal metadata.json using Write tool:
1110
+ [Actually use Write tool with proper JSON content]
1111
+
1112
+ 4. āœ… metadata.json created successfully
1113
+ āš ļø Note: No GitHub issue linked (hook may have failed)
1114
+ ```
1115
+
1116
+ ### Implementation Guide
1117
+
1118
+ **Add this validation as the FINAL STEP** in your increment creation workflow:
1058
1119
 
1059
- // STEP: Validate metadata.json exists
1120
+ 1. āœ… Create spec.md (via Write tool)
1121
+ 2. āœ… Create plan.md (via Write tool)
1122
+ 3. āœ… Create tasks.md (via Write tool or test-aware-planner agent)
1123
+ 4. āœ… **EXECUTE VALIDATION**: Use Read tool → If missing → Use Write tool
1124
+
1125
+ **Example workflow**:
1126
+
1127
+ ```markdown
1128
+ User: /specweave:increment "Add user authentication"
1129
+
1130
+ PM Agent workflow:
1131
+ 1. Validate no incomplete increments āœ…
1132
+ 2. Research & gather requirements āœ…
1133
+ 3. Generate spec.md āœ… (Write tool)
1134
+ 4. Invoke Architect for plan.md āœ… (Task tool)
1135
+ 5. Invoke test-aware-planner for tasks.md āœ… (Task tool)
1136
+ 6. **EXECUTE VALIDATION** āœ…:
1137
+ a. Use Read tool to check .specweave/increments/0023/metadata.json
1138
+ b. If "file not found" → Use Write tool to create minimal metadata
1139
+ c. Report to user (warn if GitHub issue not created)
1140
+ 7. Report completion to user āœ…
1141
+ ```
1142
+
1143
+ ### Metadata.json Template
1144
+
1145
+ When creating metadata.json, extract values from spec.md frontmatter:
1146
+
1147
+ ```json
1148
+ {
1149
+ "id": "0032-prevent-increment-gaps",
1150
+ "status": "planned",
1151
+ "type": "bug",
1152
+ "priority": "P1",
1153
+ "created": "2025-11-14T10:00:00Z",
1154
+ "lastActivity": "2025-11-14T10:00:00Z",
1155
+ "testMode": "TDD",
1156
+ "coverageTarget": 95,
1157
+ "epic": "FS-25-11-14"
1158
+ }
1159
+ ```
1160
+
1161
+ **Extract from spec.md frontmatter**:
1162
+ - `type`: Look for `type: bug|feature|hotfix|change-request|refactor|experiment`
1163
+ - `priority`: Look for `priority: P1|P2|P3`
1164
+ - `testMode`: Look for `test_mode: TDD|BDD|Standard` (default: "TDD")
1165
+ - `coverageTarget`: Look for `coverage_target: 80|85|90|95|100` (default: 95)
1166
+ - `epic`: Look for `epic: FS-YY-MM-DD` (optional)
1167
+
1168
+ **DO NOT hardcode values** - always extract from spec.md when possible!
1169
+
1170
+ ### Code Reference (TypeScript Pseudocode)
1171
+
1172
+ This is what you're executing with Read/Write tools:
1173
+
1174
+ ```typescript
1060
1175
  const incrementPath = `.specweave/increments/${incrementId}`;
1061
1176
  const metadataPath = `${incrementPath}/metadata.json`;
1062
1177
 
@@ -1066,13 +1181,45 @@ if (!fs.existsSync(metadataPath)) {
1066
1181
  console.warn(` This indicates the post-increment-planning hook may have failed.`);
1067
1182
  console.warn(` Creating minimal metadata as fallback...`);
1068
1183
 
1069
- // Create minimal metadata
1184
+ // Read global testing config (NEW - v0.18.0+)
1185
+ const configPath = path.join(process.cwd(), '.specweave', 'config.json');
1186
+ let testMode = 'TDD'; // Default if config missing
1187
+ let coverageTarget = 80; // Default if config missing
1188
+
1189
+ if (fs.existsSync(configPath)) {
1190
+ try {
1191
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
1192
+ testMode = config.testing?.defaultTestMode || 'TDD';
1193
+ coverageTarget = config.testing?.defaultCoverageTarget || 80;
1194
+ } catch (error) {
1195
+ // Config parse error - use defaults
1196
+ }
1197
+ }
1198
+
1199
+ // Check spec.md frontmatter for overrides
1200
+ const specPath = `${incrementPath}/spec.md`;
1201
+ if (fs.existsSync(specPath)) {
1202
+ const specContent = fs.readFileSync(specPath, 'utf-8');
1203
+ const frontmatterMatch = specContent.match(/^---\n([\s\S]*?)\n---/);
1204
+ if (frontmatterMatch) {
1205
+ const frontmatter = frontmatterMatch[1];
1206
+ const testModeMatch = frontmatter.match(/test_mode:\s*(.+)/);
1207
+ const coverageMatch = frontmatter.match(/coverage_target:\s*(\d+)/);
1208
+
1209
+ if (testModeMatch) testMode = testModeMatch[1].trim();
1210
+ if (coverageMatch) coverageTarget = parseInt(coverageMatch[1]);
1211
+ }
1212
+ }
1213
+
1214
+ // Create minimal metadata with testing config
1070
1215
  const metadata = {
1071
1216
  id: incrementId,
1072
1217
  status: "active",
1073
1218
  type: "feature", // or derive from spec.md frontmatter
1074
1219
  created: new Date().toISOString(),
1075
- lastActivity: new Date().toISOString()
1220
+ lastActivity: new Date().toISOString(),
1221
+ testMode, // From config or frontmatter override
1222
+ coverageTarget // From config or frontmatter override
1076
1223
  };
1077
1224
 
1078
1225
  fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2), 'utf-8');
@@ -8,7 +8,7 @@ usage: /specweave:abandon <increment-id> --reason="<reason>"
8
8
 
9
9
  **Usage**: `/specweave:abandon <increment-id> --reason="<reason>"`
10
10
 
11
- āš ļø **THIS ACTION MOVES THE INCREMENT TO `_abandoned/` FOLDER**
11
+ āš ļø **THIS ACTION MOVES THE INCREMENT TO `_archive/` FOLDER**
12
12
 
13
13
  ---
14
14
 
@@ -33,7 +33,7 @@ Abandon an increment when:
33
33
  - `abandonedAt`: Current timestamp
34
34
  5. **Moves folder**:
35
35
  - From: `.specweave/increments/{id}/`
36
- - To: `.specweave/increments/_abandoned/{id}/`
36
+ - To: `.specweave/increments/_archive/{id}/`
37
37
  6. **Displays** confirmation with preserved location
38
38
 
39
39
  ---
@@ -44,13 +44,13 @@ Abandon an increment when:
44
44
  ```bash
45
45
  /specweave:abandon 0008 --reason="Requirements changed - feature no longer needed"
46
46
 
47
- āš ļø This will move increment 0008 to _abandoned/
47
+ āš ļø This will move increment 0008 to _archive/
48
48
  Reason: Requirements changed - feature no longer needed
49
49
 
50
50
  Continue? [y/N]: y
51
51
 
52
52
  āœ… Increment 0008 abandoned
53
- šŸ“¦ Moved to: .specweave/increments/_abandoned/0008-old-feature/
53
+ šŸ“¦ Moved to: .specweave/increments/_archive/0008-old-feature/
54
54
  šŸ“ Reason: Requirements changed - feature no longer needed
55
55
  šŸ’¾ All work preserved for reference
56
56
 
@@ -70,13 +70,13 @@ Continue? [y/N]: y
70
70
 
71
71
  > 1
72
72
 
73
- āš ļø This will move increment 0009 to _abandoned/
73
+ āš ļø This will move increment 0009 to _archive/
74
74
  Reason: Requirements changed
75
75
 
76
76
  Continue? [y/N]: y
77
77
 
78
78
  āœ… Increment 0009 abandoned
79
- šŸ“¦ Moved to: .specweave/increments/_abandoned/0009-experiment/
79
+ šŸ“¦ Moved to: .specweave/increments/_archive/0009-experiment/
80
80
  ```
81
81
 
82
82
  ---
@@ -117,7 +117,7 @@ No action needed.
117
117
  ```bash
118
118
  /specweave:abandon 0008 --reason="Not needed"
119
119
 
120
- āš ļø This will move increment 0008 to _abandoned/
120
+ āš ļø This will move increment 0008 to _archive/
121
121
  Reason: Not needed
122
122
 
123
123
  Continue? [y/N]: n
@@ -155,9 +155,9 @@ if (!confirmed) {
155
155
  // Update metadata
156
156
  MetadataManager.updateStatus(incrementId, IncrementStatus.ABANDONED, reason);
157
157
 
158
- // Move to _abandoned/ folder
158
+ // Move to _archive/ folder
159
159
  const fromPath = path.join('.specweave/increments', incrementId);
160
- const toPath = path.join('.specweave/increments/_abandoned', incrementId);
160
+ const toPath = path.join('.specweave/increments/_archive', incrementId);
161
161
  fs.moveSync(fromPath, toPath);
162
162
 
163
163
  console.log(`āœ… Moved to: ${toPath}`);
@@ -179,22 +179,24 @@ completed (CANNOT abandon)
179
179
 
180
180
  ---
181
181
 
182
- ## _abandoned/ Folder Structure
182
+ ## _archive/ Folder Structure
183
183
 
184
184
  ```
185
185
  .specweave/increments/
186
- ā”œā”€ā”€ 0001-core-framework/ # Active/completed
187
- ā”œā”€ā”€ 0002-core-enhancements/ # Active/completed
188
- ā”œā”€ā”€ 0003-model-selection/ # Active/completed
189
- ā”œā”€ā”€ _abandoned/ # Abandoned increments
190
- │ ā”œā”€ā”€ 0008-old-approach/ # Abandoned
186
+ ā”œā”€ā”€ 0023-release-management/ # Active
187
+ ā”œā”€ā”€ 0024-bidirectional-spec/ # Active
188
+ ā”œā”€ā”€ 0025-per-project-config/ # Active
189
+ ā”œā”€ā”€ _archive/ # All archived/abandoned/old increments
190
+ │ ā”œā”€ā”€ 0001-core-framework/ # Completed (archived)
191
+ │ ā”œā”€ā”€ 0002-core-enhancements/ # Completed (archived)
192
+ │ ā”œā”€ā”€ 0008-old-approach/ # Abandoned
191
193
  │ │ ā”œā”€ā”€ spec.md
192
194
  │ │ ā”œā”€ā”€ plan.md
193
195
  │ │ ā”œā”€ā”€ tasks.md
194
196
  │ │ └── metadata.json (status: abandoned)
195
- │ ā”œā”€ā”€ 0009-failed-experiment/
196
- │ └── 0010-superseded-feature/
197
- └── _backlog/ # Future work
197
+ │ ā”œā”€ā”€ 0009-failed-experiment/ # Abandoned
198
+ │ └── 0029-cicd-auto-fix/ # Abandoned
199
+ └── _backlog/ # Future work
198
200
  ```
199
201
 
200
202
  ---
@@ -205,7 +207,7 @@ To un-abandon an increment:
205
207
 
206
208
  ```bash
207
209
  # 1. Move back to increments/
208
- mv .specweave/increments/_abandoned/0008-feature \
210
+ mv .specweave/increments/_archive/0008-feature \
209
211
  .specweave/increments/0008-feature
210
212
 
211
213
  # 2. Resume via command
@@ -304,7 +306,7 @@ Abandoned work is valuable!
304
306
  - **Learnings**: Failed experiments teach us what NOT to do
305
307
  - **Reference**: Abandoned specs can inform future work
306
308
 
307
- šŸ’” Periodically review `_abandoned/` folder for insights
309
+ šŸ’” Periodically review `_archive/` folder for insights
308
310
 
309
311
  ---
310
312
 
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: specweave-archive-features
3
+ description: Archive features and epics when all related increments are archived
4
+ ---
5
+
6
+ # Archive Features and Epics
7
+
8
+ Archive features and epics based on their increment archive status. Features are archived when all their increments are archived, and epics are archived when all their features are archived.
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ /specweave:archive-features [options]
14
+ ```
15
+
16
+ ## Options
17
+
18
+ - `--dry-run`: Show what would be archived without actually moving files
19
+ - `--update-links`: Update all links to archived items (default: true)
20
+ - `--preserve-active`: Don't archive features with active projects (default: true)
21
+ - `--orphaned`: Also archive orphaned features/epics with no increments/features
22
+
23
+ ## Examples
24
+
25
+ ```bash
26
+ # Preview what would be archived
27
+ /specweave:archive-features --dry-run
28
+
29
+ # Archive features and update all links
30
+ /specweave:archive-features
31
+
32
+ # Archive including orphaned features
33
+ /specweave:archive-features --orphaned
34
+ ```
35
+
36
+ ## Archive Rules
37
+
38
+ ### Features are archived when:
39
+ 1. All linked increments are in _archive folder
40
+ 2. No active projects remain (unless --preserve-active=false)
41
+ 3. Feature is orphaned (no increments) and --orphaned is set
42
+
43
+ ### Epics are archived when:
44
+ 1. All linked features are in _archive folder
45
+ 2. Epic is orphaned (no features) and --orphaned is set
46
+
47
+ ### Archive Structure:
48
+ ```
49
+ .specweave/docs/internal/specs/
50
+ ā”œā”€ā”€ _features/
51
+ │ ā”œā”€ā”€ FS-023/ # Active feature
52
+ │ └── _archive/
53
+ │ └── FS-001/ # Archived feature
54
+ ā”œā”€ā”€ _epics/
55
+ │ ā”œā”€ā”€ EPIC-2025-Q1/ # Active epic
56
+ │ └── _archive/
57
+ │ └── EPIC-2024-Q4/ # Archived epic
58
+ └── default/
59
+ ā”œā”€ā”€ FS-023/ # Active project files
60
+ └── _archive/
61
+ └── FS-001/ # Archived project files
62
+ ```
63
+
64
+ ## Important Notes
65
+
66
+ - Archives are LOCAL ONLY (not synced to GitHub/JIRA/ADO)
67
+ - All links are automatically updated to point to archive locations
68
+ - Use `/specweave:restore-feature FS-001` to restore from archive
69
+
70
+ ## Implementation
71
+
72
+ ```typescript
73
+ import { Task } from '@claude/types';
74
+
75
+ const task = new Task('feature-archiver', 'Archive features and epics');
76
+
77
+ // Main logic
78
+ task.run(async () => {
79
+ const { FeatureArchiver } = await import('../../../dist/src/core/living-docs/feature-archiver.js');
80
+ const archiver = new FeatureArchiver(process.cwd());
81
+
82
+ // Parse options
83
+ const options = {
84
+ dryRun: process.argv.includes('--dry-run'),
85
+ updateLinks: !process.argv.includes('--no-update-links'),
86
+ preserveActiveFeatures: !process.argv.includes('--no-preserve-active'),
87
+ archiveOrphanedFeatures: process.argv.includes('--orphaned'),
88
+ archiveOrphanedEpics: process.argv.includes('--orphaned')
89
+ };
90
+
91
+ // Execute archiving
92
+ const result = await archiver.archiveFeatures(options);
93
+
94
+ // Display results
95
+ console.log('\nšŸ“¦ Archive Results:');
96
+ console.log(` Features archived: ${result.archivedFeatures.length}`);
97
+ console.log(` Epics archived: ${result.archivedEpics.length}`);
98
+ console.log(` Links updated: ${result.updatedLinks.length}`);
99
+
100
+ if (result.errors.length > 0) {
101
+ console.error('\nāŒ Errors:');
102
+ result.errors.forEach(err => console.error(` - ${err}`));
103
+ }
104
+
105
+ // Show stats
106
+ const stats = await archiver.getArchiveStats();
107
+ console.log('\nšŸ“Š Archive Statistics:');
108
+ console.log(` Features: ${stats.features.active} active, ${stats.features.archived} archived`);
109
+ console.log(` Epics: ${stats.epics.active} active, ${stats.epics.archived} archived`);
110
+
111
+ // Show per-project stats
112
+ if (Object.keys(stats.projects).length > 0) {
113
+ console.log('\n Per Project:');
114
+ for (const [project, counts] of Object.entries(stats.projects)) {
115
+ console.log(` ${project}: ${counts.active} active, ${counts.archived} archived`);
116
+ }
117
+ }
118
+ });
119
+
120
+ export default task;
121
+ ```