specweave 0.12.0 → 0.12.2

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 (674) hide show
  1. package/CLAUDE.md +22 -0
  2. package/dist/cli/commands/init.d.ts.map +1 -1
  3. package/dist/cli/commands/init.js +44 -12
  4. package/dist/cli/commands/init.js.map +1 -1
  5. package/dist/core/specs/spec-metadata-manager.d.ts +70 -0
  6. package/dist/core/specs/spec-metadata-manager.d.ts.map +1 -0
  7. package/dist/core/specs/spec-metadata-manager.js +371 -0
  8. package/dist/core/specs/spec-metadata-manager.js.map +1 -0
  9. package/dist/core/specs/spec-parser.d.ts +66 -0
  10. package/dist/core/specs/spec-parser.d.ts.map +1 -0
  11. package/dist/core/specs/spec-parser.js +276 -0
  12. package/dist/core/specs/spec-parser.js.map +1 -0
  13. package/dist/core/types/config.d.ts.map +1 -1
  14. package/dist/core/types/config.js +7 -0
  15. package/dist/core/types/config.js.map +1 -1
  16. package/dist/core/types/spec-metadata.d.ts +229 -0
  17. package/dist/core/types/spec-metadata.d.ts.map +1 -0
  18. package/dist/core/types/spec-metadata.js +14 -0
  19. package/dist/core/types/spec-metadata.js.map +1 -0
  20. package/dist/hooks/lib/prepare-reflection-context.js +1 -1
  21. package/dist/hooks/lib/prepare-reflection-context.js.map +1 -1
  22. package/dist/utils/external-resource-validator.d.ts.map +1 -1
  23. package/dist/utils/external-resource-validator.js +101 -59
  24. package/dist/utils/external-resource-validator.js.map +1 -1
  25. package/package.json +10 -3
  26. package/plugins/specweave/agents/pm/AGENT.md +183 -0
  27. package/plugins/specweave/hooks/post-increment-change.sh +94 -0
  28. package/plugins/specweave/hooks/post-increment-status-change.sh +143 -0
  29. package/plugins/specweave/hooks/post-spec-update.sh +158 -0
  30. package/plugins/specweave/hooks/post-user-story-complete.sh +179 -0
  31. package/plugins/specweave/lib/hooks/sync-living-docs.ts +57 -16
  32. package/plugins/specweave/skills/increment-planner/SKILL.md +17 -0
  33. package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +255 -0
  34. package/plugins/specweave-ado/lib/ado-spec-sync.ts +593 -0
  35. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +12 -6
  36. package/plugins/specweave-github/commands/specweave-github-sync-from.md +147 -0
  37. package/plugins/specweave-github/commands/specweave-github-sync-spec.md +208 -0
  38. package/plugins/specweave-github/lib/cli-sync-increment-changes.ts +33 -0
  39. package/plugins/specweave-github/lib/github-issue-updater.ts +449 -0
  40. package/plugins/specweave-github/lib/github-spec-sync.ts +656 -0
  41. package/plugins/specweave-github/lib/github-sync-bidirectional.ts +342 -0
  42. package/plugins/specweave-github/lib/github-sync-increment-changes.ts +380 -0
  43. package/plugins/specweave-github/skills/github-sync/SKILL.md +16 -8
  44. package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +240 -0
  45. package/plugins/specweave-jira/lib/jira-spec-sync.ts +582 -0
  46. package/plugins/specweave-jira/skills/jira-sync/SKILL.md +20 -5
  47. package/src/templates/AGENTS.md.template +55 -9
  48. package/dist/cli/commands/docs-build.d.ts +0 -7
  49. package/dist/cli/commands/docs-build.d.ts.map +0 -1
  50. package/dist/cli/commands/docs-build.js +0 -31
  51. package/dist/cli/commands/docs-build.js.map +0 -1
  52. package/dist/cli/commands/docs-preview.d.ts +0 -7
  53. package/dist/cli/commands/docs-preview.d.ts.map +0 -1
  54. package/dist/cli/commands/docs-preview.js +0 -50
  55. package/dist/cli/commands/docs-preview.js.map +0 -1
  56. package/dist/cli/commands/docs-setup.d.ts +0 -7
  57. package/dist/cli/commands/docs-setup.d.ts.map +0 -1
  58. package/dist/cli/commands/docs-setup.js +0 -31
  59. package/dist/cli/commands/docs-setup.js.map +0 -1
  60. package/dist/cli/commands/plugin.d.ts +0 -54
  61. package/dist/cli/commands/plugin.d.ts.map +0 -1
  62. package/dist/core/rfc-generator.d.ts +0 -147
  63. package/dist/core/rfc-generator.d.ts.map +0 -1
  64. package/dist/core/rfc-generator.js +0 -434
  65. package/dist/core/rfc-generator.js.map +0 -1
  66. package/dist/core/schemas/plugin-manifest.schema.json +0 -253
  67. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  68. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  69. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  70. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  71. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  72. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  73. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  74. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  75. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  76. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  77. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  78. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  79. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  80. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  81. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  82. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  83. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  84. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  85. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  86. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  87. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  88. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  89. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  90. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  91. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  92. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  93. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  94. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  95. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  96. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  97. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  98. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  99. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  100. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  101. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -116
  102. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  103. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  104. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  105. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  106. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  107. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  108. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  109. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  110. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  111. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  112. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  113. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  114. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  115. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  116. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  117. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  118. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  119. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  120. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  121. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  122. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  123. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  124. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  125. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  126. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  127. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  128. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  129. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  130. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  131. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  132. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  133. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  134. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  135. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  136. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  137. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  138. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  139. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  140. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  141. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  142. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  143. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  144. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  145. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  146. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  147. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  148. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  149. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  150. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  151. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  152. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  153. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  154. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  155. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  156. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  157. package/dist/plugins/specweave-github/lib/index.js +0 -10
  158. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  159. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  160. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  161. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  162. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  163. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  164. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  165. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  166. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  167. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  168. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  169. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  170. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  171. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  172. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  173. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  174. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  175. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  176. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  177. package/dist/plugins/specweave-github/lib/types.js +0 -5
  178. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  179. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  180. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  181. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  182. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  183. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  184. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  185. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  186. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  187. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  188. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  189. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  190. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  191. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  192. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  193. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  194. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  195. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  196. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  197. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  198. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  199. package/dist/src/adapters/adapter-base.d.ts +0 -71
  200. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  201. package/dist/src/adapters/adapter-base.js +0 -139
  202. package/dist/src/adapters/adapter-base.js.map +0 -1
  203. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  204. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  205. package/dist/src/adapters/adapter-interface.js +0 -8
  206. package/dist/src/adapters/adapter-interface.js.map +0 -1
  207. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  208. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  209. package/dist/src/adapters/adapter-loader.js +0 -238
  210. package/dist/src/adapters/adapter-loader.js.map +0 -1
  211. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  212. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  213. package/dist/src/adapters/agents-md-generator.js +0 -193
  214. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  215. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  216. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  217. package/dist/src/adapters/claude/adapter.js +0 -415
  218. package/dist/src/adapters/claude/adapter.js.map +0 -1
  219. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  220. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  221. package/dist/src/adapters/claude-md-generator.js +0 -307
  222. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  223. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  224. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  225. package/dist/src/adapters/codex/adapter.js +0 -316
  226. package/dist/src/adapters/codex/adapter.js.map +0 -1
  227. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  228. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  229. package/dist/src/adapters/cursor/adapter.js +0 -406
  230. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  231. package/dist/src/adapters/doc-generator.d.ts +0 -69
  232. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  233. package/dist/src/adapters/doc-generator.js +0 -247
  234. package/dist/src/adapters/doc-generator.js.map +0 -1
  235. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  236. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  237. package/dist/src/adapters/gemini/adapter.js +0 -281
  238. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  239. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  240. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  241. package/dist/src/adapters/generic/adapter.js +0 -338
  242. package/dist/src/adapters/generic/adapter.js.map +0 -1
  243. package/dist/src/cli/commands/abandon.d.ts +0 -13
  244. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  245. package/dist/src/cli/commands/abandon.js +0 -15
  246. package/dist/src/cli/commands/abandon.js.map +0 -1
  247. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  248. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  249. package/dist/src/cli/commands/import-docs.js +0 -146
  250. package/dist/src/cli/commands/import-docs.js.map +0 -1
  251. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  252. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  253. package/dist/src/cli/commands/init-multiproject.js +0 -202
  254. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  255. package/dist/src/cli/commands/init.d.ts +0 -9
  256. package/dist/src/cli/commands/init.d.ts.map +0 -1
  257. package/dist/src/cli/commands/init.js +0 -1205
  258. package/dist/src/cli/commands/init.js.map +0 -1
  259. package/dist/src/cli/commands/install.d.ts +0 -9
  260. package/dist/src/cli/commands/install.d.ts.map +0 -1
  261. package/dist/src/cli/commands/install.js +0 -127
  262. package/dist/src/cli/commands/install.js.map +0 -1
  263. package/dist/src/cli/commands/list.d.ts +0 -8
  264. package/dist/src/cli/commands/list.d.ts.map +0 -1
  265. package/dist/src/cli/commands/list.js +0 -119
  266. package/dist/src/cli/commands/list.js.map +0 -1
  267. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  268. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  269. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  270. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  271. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  272. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  273. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  274. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  275. package/dist/src/cli/commands/pause.d.ts +0 -13
  276. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  277. package/dist/src/cli/commands/pause.js +0 -15
  278. package/dist/src/cli/commands/pause.js.map +0 -1
  279. package/dist/src/cli/commands/qa.d.ts +0 -54
  280. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  281. package/dist/src/cli/commands/qa.js +0 -98
  282. package/dist/src/cli/commands/qa.js.map +0 -1
  283. package/dist/src/cli/commands/resume.d.ts +0 -12
  284. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  285. package/dist/src/cli/commands/resume.js +0 -14
  286. package/dist/src/cli/commands/resume.js.map +0 -1
  287. package/dist/src/cli/commands/status.d.ts +0 -12
  288. package/dist/src/cli/commands/status.d.ts.map +0 -1
  289. package/dist/src/cli/commands/status.js +0 -23
  290. package/dist/src/cli/commands/status.js.map +0 -1
  291. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  292. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  293. package/dist/src/cli/commands/switch-project.js +0 -91
  294. package/dist/src/cli/commands/switch-project.js.map +0 -1
  295. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  296. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  297. package/dist/src/cli/commands/validate-jira.js +0 -112
  298. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  299. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  300. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  301. package/dist/src/cli/commands/validate-plugins.js +0 -171
  302. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  303. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  304. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  305. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  306. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  307. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  308. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  309. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  310. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  311. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  312. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  313. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  314. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  315. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  316. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  317. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  318. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  319. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -107
  320. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  321. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  322. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  323. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  324. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  325. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  326. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  327. package/dist/src/core/agent-model-manager.d.ts +0 -52
  328. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  329. package/dist/src/core/agent-model-manager.js +0 -120
  330. package/dist/src/core/agent-model-manager.js.map +0 -1
  331. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  332. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  333. package/dist/src/core/brownfield/analyzer.js +0 -365
  334. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  335. package/dist/src/core/brownfield/importer.d.ts +0 -76
  336. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  337. package/dist/src/core/brownfield/importer.js +0 -287
  338. package/dist/src/core/brownfield/importer.js.map +0 -1
  339. package/dist/src/core/config-manager.d.ts +0 -47
  340. package/dist/src/core/config-manager.d.ts.map +0 -1
  341. package/dist/src/core/config-manager.js +0 -136
  342. package/dist/src/core/config-manager.js.map +0 -1
  343. package/dist/src/core/cost-tracker.d.ts +0 -108
  344. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  345. package/dist/src/core/cost-tracker.js +0 -281
  346. package/dist/src/core/cost-tracker.js.map +0 -1
  347. package/dist/src/core/credentials-manager.d.ts +0 -107
  348. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  349. package/dist/src/core/credentials-manager.js +0 -457
  350. package/dist/src/core/credentials-manager.js.map +0 -1
  351. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  352. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  353. package/dist/src/core/i18n/language-detector.js +0 -143
  354. package/dist/src/core/i18n/language-detector.js.map +0 -1
  355. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  356. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  357. package/dist/src/core/i18n/language-manager.js +0 -232
  358. package/dist/src/core/i18n/language-manager.js.map +0 -1
  359. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  360. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  361. package/dist/src/core/i18n/language-registry.js +0 -234
  362. package/dist/src/core/i18n/language-registry.js.map +0 -1
  363. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  364. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  365. package/dist/src/core/i18n/locale-manager.js +0 -137
  366. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  367. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  368. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  369. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  370. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  371. package/dist/src/core/i18n/types.d.ts +0 -151
  372. package/dist/src/core/i18n/types.d.ts.map +0 -1
  373. package/dist/src/core/i18n/types.js +0 -11
  374. package/dist/src/core/i18n/types.js.map +0 -1
  375. package/dist/src/core/increment/limits.d.ts +0 -68
  376. package/dist/src/core/increment/limits.d.ts.map +0 -1
  377. package/dist/src/core/increment/limits.js +0 -224
  378. package/dist/src/core/increment/limits.js.map +0 -1
  379. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  380. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  381. package/dist/src/core/increment/metadata-manager.js +0 -320
  382. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  383. package/dist/src/core/increment/status-commands.d.ts +0 -43
  384. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  385. package/dist/src/core/increment/status-commands.js +0 -277
  386. package/dist/src/core/increment/status-commands.js.map +0 -1
  387. package/dist/src/core/increment-status.d.ts +0 -72
  388. package/dist/src/core/increment-status.d.ts.map +0 -1
  389. package/dist/src/core/increment-status.js +0 -227
  390. package/dist/src/core/increment-status.js.map +0 -1
  391. package/dist/src/core/model-selector.d.ts +0 -57
  392. package/dist/src/core/model-selector.d.ts.map +0 -1
  393. package/dist/src/core/model-selector.js +0 -115
  394. package/dist/src/core/model-selector.js.map +0 -1
  395. package/dist/src/core/phase-detector.d.ts +0 -62
  396. package/dist/src/core/phase-detector.d.ts.map +0 -1
  397. package/dist/src/core/phase-detector.js +0 -229
  398. package/dist/src/core/phase-detector.js.map +0 -1
  399. package/dist/src/core/plugin-loader.d.ts +0 -131
  400. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  401. package/dist/src/core/plugin-loader.js +0 -421
  402. package/dist/src/core/plugin-loader.js.map +0 -1
  403. package/dist/src/core/project-manager.d.ts +0 -127
  404. package/dist/src/core/project-manager.d.ts.map +0 -1
  405. package/dist/src/core/project-manager.js +0 -524
  406. package/dist/src/core/project-manager.js.map +0 -1
  407. package/dist/src/core/project-structure-detector.d.ts +0 -92
  408. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  409. package/dist/src/core/project-structure-detector.js +0 -289
  410. package/dist/src/core/project-structure-detector.js.map +0 -1
  411. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  412. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  413. package/dist/src/core/qa/qa-runner.js +0 -404
  414. package/dist/src/core/qa/qa-runner.js.map +0 -1
  415. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  416. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  417. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  418. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  419. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  420. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  421. package/dist/src/core/qa/risk-calculator.js +0 -247
  422. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  423. package/dist/src/core/qa/types.d.ts +0 -315
  424. package/dist/src/core/qa/types.d.ts.map +0 -1
  425. package/dist/src/core/qa/types.js +0 -8
  426. package/dist/src/core/qa/types.js.map +0 -1
  427. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  428. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  429. package/dist/src/core/rfc-generator-v2.js +0 -399
  430. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  431. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  432. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  433. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  434. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  435. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  436. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  437. package/dist/src/core/sync/folder-mapper.js +0 -168
  438. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  439. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  440. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  441. package/dist/src/core/sync/profile-manager.js +0 -338
  442. package/dist/src/core/sync/profile-manager.js.map +0 -1
  443. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  444. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  445. package/dist/src/core/sync/profile-selector.js +0 -179
  446. package/dist/src/core/sync/profile-selector.js.map +0 -1
  447. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  448. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  449. package/dist/src/core/sync/profile-validator.js +0 -225
  450. package/dist/src/core/sync/profile-validator.js.map +0 -1
  451. package/dist/src/core/sync/project-context.d.ts +0 -81
  452. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  453. package/dist/src/core/sync/project-context.js +0 -354
  454. package/dist/src/core/sync/project-context.js.map +0 -1
  455. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  456. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  457. package/dist/src/core/sync/rate-limiter.js +0 -308
  458. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  459. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  460. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  461. package/dist/src/core/sync/time-range-selector.js +0 -224
  462. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  463. package/dist/src/core/types/config.d.ts +0 -90
  464. package/dist/src/core/types/config.d.ts.map +0 -1
  465. package/dist/src/core/types/config.js +0 -37
  466. package/dist/src/core/types/config.js.map +0 -1
  467. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  468. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  469. package/dist/src/core/types/increment-metadata.js +0 -138
  470. package/dist/src/core/types/increment-metadata.js.map +0 -1
  471. package/dist/src/core/types/plugin.d.ts +0 -283
  472. package/dist/src/core/types/plugin.d.ts.map +0 -1
  473. package/dist/src/core/types/plugin.js +0 -49
  474. package/dist/src/core/types/plugin.js.map +0 -1
  475. package/dist/src/core/types/sync-profile.d.ts +0 -403
  476. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  477. package/dist/src/core/types/sync-profile.js +0 -55
  478. package/dist/src/core/types/sync-profile.js.map +0 -1
  479. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -125
  480. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  481. package/dist/src/hooks/lib/types/reflection-types.js +0 -54
  482. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  483. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  484. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  485. package/dist/src/integrations/ado/ado-client.js +0 -416
  486. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  487. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  488. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  489. package/dist/src/integrations/jira/jira-client.js +0 -386
  490. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  491. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  492. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  493. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  494. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  495. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  496. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  497. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  498. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  499. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  500. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  501. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  502. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  503. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  504. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  505. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  506. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  507. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  508. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  509. package/dist/src/metrics/calculators/lead-time.js +0 -82
  510. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  511. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  512. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  513. package/dist/src/metrics/calculators/mttr.js +0 -60
  514. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  515. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  516. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  517. package/dist/src/metrics/dora-calculator.js +0 -117
  518. package/dist/src/metrics/dora-calculator.js.map +0 -1
  519. package/dist/src/metrics/github-client.d.ts +0 -51
  520. package/dist/src/metrics/github-client.d.ts.map +0 -1
  521. package/dist/src/metrics/github-client.js +0 -133
  522. package/dist/src/metrics/github-client.js.map +0 -1
  523. package/dist/src/metrics/report-generator.d.ts +0 -17
  524. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  525. package/dist/src/metrics/report-generator.js +0 -403
  526. package/dist/src/metrics/report-generator.js.map +0 -1
  527. package/dist/src/metrics/types.d.ts +0 -112
  528. package/dist/src/metrics/types.d.ts.map +0 -1
  529. package/dist/src/metrics/types.js +0 -10
  530. package/dist/src/metrics/types.js.map +0 -1
  531. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  532. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  533. package/dist/src/metrics/utils/percentile.js +0 -46
  534. package/dist/src/metrics/utils/percentile.js.map +0 -1
  535. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  536. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  537. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  538. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  539. package/dist/src/testing/test-generator.d.ts +0 -117
  540. package/dist/src/testing/test-generator.d.ts.map +0 -1
  541. package/dist/src/testing/test-generator.js +0 -370
  542. package/dist/src/testing/test-generator.js.map +0 -1
  543. package/dist/src/types/cost-tracking.d.ts +0 -43
  544. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  545. package/dist/src/types/cost-tracking.js +0 -8
  546. package/dist/src/types/cost-tracking.js.map +0 -1
  547. package/dist/src/types/model-selection.d.ts +0 -53
  548. package/dist/src/types/model-selection.d.ts.map +0 -1
  549. package/dist/src/types/model-selection.js +0 -12
  550. package/dist/src/types/model-selection.js.map +0 -1
  551. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  552. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  553. package/dist/src/utils/agents-md-compiler.js +0 -420
  554. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  555. package/dist/src/utils/auth-helpers.d.ts +0 -58
  556. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  557. package/dist/src/utils/auth-helpers.js +0 -108
  558. package/dist/src/utils/auth-helpers.js.map +0 -1
  559. package/dist/src/utils/auto-install.d.ts +0 -47
  560. package/dist/src/utils/auto-install.d.ts.map +0 -1
  561. package/dist/src/utils/auto-install.js +0 -211
  562. package/dist/src/utils/auto-install.js.map +0 -1
  563. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  564. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  565. package/dist/src/utils/claude-cli-detector.js +0 -285
  566. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  567. package/dist/src/utils/cost-reporter.d.ts +0 -58
  568. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  569. package/dist/src/utils/cost-reporter.js +0 -224
  570. package/dist/src/utils/cost-reporter.js.map +0 -1
  571. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  572. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  573. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  574. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  575. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  576. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  577. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  578. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  579. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  580. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  581. package/dist/src/utils/docs-preview/index.js +0 -7
  582. package/dist/src/utils/docs-preview/index.js.map +0 -1
  583. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  584. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  585. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  586. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  587. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  588. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  589. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  590. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  591. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  592. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  593. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  594. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  595. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  596. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  597. package/dist/src/utils/docs-preview/types.js +0 -2
  598. package/dist/src/utils/docs-preview/types.js.map +0 -1
  599. package/dist/src/utils/env-file.d.ts +0 -88
  600. package/dist/src/utils/env-file.d.ts.map +0 -1
  601. package/dist/src/utils/env-file.js +0 -180
  602. package/dist/src/utils/env-file.js.map +0 -1
  603. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  604. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  605. package/dist/src/utils/env-multi-project-parser.js +0 -403
  606. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  607. package/dist/src/utils/esm-helpers.d.ts +0 -50
  608. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  609. package/dist/src/utils/esm-helpers.js +0 -57
  610. package/dist/src/utils/esm-helpers.js.map +0 -1
  611. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  612. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  613. package/dist/src/utils/execFileNoThrow.js +0 -137
  614. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  615. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  616. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  617. package/dist/src/utils/external-resource-validator.js +0 -400
  618. package/dist/src/utils/external-resource-validator.js.map +0 -1
  619. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  620. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  621. package/dist/src/utils/generate-skills-index.js +0 -410
  622. package/dist/src/utils/generate-skills-index.js.map +0 -1
  623. package/dist/src/utils/model-selection.d.ts +0 -75
  624. package/dist/src/utils/model-selection.d.ts.map +0 -1
  625. package/dist/src/utils/model-selection.js +0 -204
  626. package/dist/src/utils/model-selection.js.map +0 -1
  627. package/dist/src/utils/plugin-validator.d.ts +0 -161
  628. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  629. package/dist/src/utils/plugin-validator.js +0 -558
  630. package/dist/src/utils/plugin-validator.js.map +0 -1
  631. package/dist/src/utils/pricing-constants.d.ts +0 -70
  632. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  633. package/dist/src/utils/pricing-constants.js +0 -71
  634. package/dist/src/utils/pricing-constants.js.map +0 -1
  635. package/dist/src/utils/project-detection.d.ts +0 -141
  636. package/dist/src/utils/project-detection.d.ts.map +0 -1
  637. package/dist/src/utils/project-detection.js +0 -321
  638. package/dist/src/utils/project-detection.js.map +0 -1
  639. package/dist/src/utils/string-utils.d.ts +0 -40
  640. package/dist/src/utils/string-utils.d.ts.map +0 -1
  641. package/dist/src/utils/string-utils.js +0 -58
  642. package/dist/src/utils/string-utils.js.map +0 -1
  643. package/dist/src/utils/translation.d.ts +0 -187
  644. package/dist/src/utils/translation.d.ts.map +0 -1
  645. package/dist/src/utils/translation.js +0 -414
  646. package/dist/src/utils/translation.js.map +0 -1
  647. package/dist/utils/docs-preview.bak/config-generator.d.ts +0 -46
  648. package/dist/utils/docs-preview.bak/config-generator.d.ts.map +0 -1
  649. package/dist/utils/docs-preview.bak/config-generator.js +0 -377
  650. package/dist/utils/docs-preview.bak/config-generator.js.map +0 -1
  651. package/dist/utils/docs-preview.bak/package-installer.d.ts +0 -42
  652. package/dist/utils/docs-preview.bak/package-installer.d.ts.map +0 -1
  653. package/dist/utils/docs-preview.bak/package-installer.js +0 -182
  654. package/dist/utils/docs-preview.bak/package-installer.js.map +0 -1
  655. package/dist/utils/docs-preview.bak/server-manager.d.ts +0 -30
  656. package/dist/utils/docs-preview.bak/server-manager.d.ts.map +0 -1
  657. package/dist/utils/docs-preview.bak/server-manager.js +0 -207
  658. package/dist/utils/docs-preview.bak/server-manager.js.map +0 -1
  659. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts +0 -31
  660. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts.map +0 -1
  661. package/dist/utils/docs-preview.bak/sidebar-builder.js +0 -202
  662. package/dist/utils/docs-preview.bak/sidebar-builder.js.map +0 -1
  663. package/dist/utils/docs-preview.bak/types.d.ts +0 -60
  664. package/dist/utils/docs-preview.bak/types.d.ts.map +0 -1
  665. package/dist/utils/docs-preview.bak/types.js +0 -5
  666. package/dist/utils/docs-preview.bak/types.js.map +0 -1
  667. package/dist/utils/plugin-detection.d.ts +0 -50
  668. package/dist/utils/plugin-detection.d.ts.map +0 -1
  669. package/dist/utils/secrets-loader.d.ts +0 -88
  670. package/dist/utils/secrets-loader.d.ts.map +0 -1
  671. package/dist/utils/secrets-loader.js +0 -271
  672. package/dist/utils/secrets-loader.js.map +0 -1
  673. package/src/templates/environments/minimal/.env.production +0 -16
  674. package/src/templates/environments/standard/.env.production +0 -30
@@ -259,79 +259,121 @@ export class JiraResourceValidator {
259
259
  envUpdated: false,
260
260
  };
261
261
  const env = this.loadEnv();
262
- const projectKey = env.JIRA_PROJECT;
263
- const boardsConfig = env.JIRA_BOARDS || '';
264
- // 1. Validate project
265
- console.log(chalk.gray(`Checking project: ${projectKey}...`));
266
- const project = await this.checkProject(projectKey);
267
- if (!project) {
268
- console.log(chalk.yellow(`⚠️ Project "${projectKey}" not found\n`));
269
- // Fetch existing projects
270
- const existingProjects = await this.fetchProjects();
271
- // Prompt user
272
- const { action } = await inquirer.prompt([
273
- {
274
- type: 'list',
275
- name: 'action',
276
- message: 'What would you like to do?',
277
- choices: [
278
- { name: 'Select an existing project', value: 'select' },
279
- { name: 'Create a new project', value: 'create' },
280
- { name: 'Cancel', value: 'cancel' },
281
- ],
282
- },
283
- ]);
284
- if (action === 'cancel') {
262
+ const strategy = env.JIRA_STRATEGY || 'project-per-team';
263
+ // Determine project key(s) based on strategy
264
+ let projectKeys = [];
265
+ if (strategy === 'project-per-team') {
266
+ // Multiple projects (JIRA_PROJECTS is comma-separated)
267
+ const projectsEnv = env.JIRA_PROJECTS || '';
268
+ if (!projectsEnv) {
269
+ console.log(chalk.red('❌ JIRA_PROJECTS not found in .env'));
285
270
  result.valid = false;
286
271
  return result;
287
272
  }
288
- if (action === 'select') {
289
- const { selectedProject } = await inquirer.prompt([
273
+ projectKeys = projectsEnv.split(',').map(p => p.trim()).filter(p => p);
274
+ }
275
+ else {
276
+ // Single project (component-based or board-based)
277
+ const projectKey = env.JIRA_PROJECT;
278
+ if (!projectKey) {
279
+ console.log(chalk.red('❌ JIRA_PROJECT not found in .env'));
280
+ result.valid = false;
281
+ return result;
282
+ }
283
+ projectKeys = [projectKey];
284
+ }
285
+ // 1. Validate project(s)
286
+ console.log(chalk.gray(`Strategy: ${strategy}`));
287
+ console.log(chalk.gray(`Checking project(s): ${projectKeys.join(', ')}...\n`));
288
+ for (const projectKey of projectKeys) {
289
+ const project = await this.checkProject(projectKey);
290
+ if (!project) {
291
+ console.log(chalk.yellow(`⚠️ Project "${projectKey}" not found\n`));
292
+ // Fetch existing projects
293
+ const existingProjects = await this.fetchProjects();
294
+ // Prompt user
295
+ const { action } = await inquirer.prompt([
290
296
  {
291
297
  type: 'list',
292
- name: 'selectedProject',
293
- message: 'Select a project:',
294
- choices: existingProjects.map((p) => ({
295
- name: `${p.key} - ${p.name}`,
296
- value: p.key,
297
- })),
298
+ name: 'action',
299
+ message: `What would you like to do for project "${projectKey}"?`,
300
+ choices: [
301
+ { name: 'Select an existing project', value: 'select' },
302
+ { name: 'Create a new project', value: 'create' },
303
+ { name: 'Skip this project', value: 'skip' },
304
+ { name: 'Cancel validation', value: 'cancel' },
305
+ ],
298
306
  },
299
307
  ]);
300
- // Update .env
301
- await this.updateEnv({ JIRA_PROJECT: selectedProject });
302
- result.project = { exists: true, key: selectedProject };
303
- result.envUpdated = true;
308
+ if (action === 'cancel') {
309
+ result.valid = false;
310
+ return result;
311
+ }
312
+ if (action === 'skip') {
313
+ console.log(chalk.yellow(`⏭️ Skipped project "${projectKey}"\n`));
314
+ continue;
315
+ }
316
+ if (action === 'select') {
317
+ const { selectedProject } = await inquirer.prompt([
318
+ {
319
+ type: 'list',
320
+ name: 'selectedProject',
321
+ message: 'Select a project:',
322
+ choices: existingProjects.map((p) => ({
323
+ name: `${p.key} - ${p.name}`,
324
+ value: p.key,
325
+ })),
326
+ },
327
+ ]);
328
+ // Update .env (handle both single and multiple projects)
329
+ if (strategy === 'project-per-team') {
330
+ // Replace this project key in JIRA_PROJECTS
331
+ const updatedKeys = projectKeys.map(k => k === projectKey ? selectedProject : k);
332
+ await this.updateEnv({ JIRA_PROJECTS: updatedKeys.join(',') });
333
+ }
334
+ else {
335
+ await this.updateEnv({ JIRA_PROJECT: selectedProject });
336
+ }
337
+ result.project = { exists: true, key: selectedProject };
338
+ result.envUpdated = true;
339
+ console.log(chalk.green(`✅ Project "${selectedProject}" selected\n`));
340
+ }
341
+ else if (action === 'create') {
342
+ const { projectName } = await inquirer.prompt([
343
+ {
344
+ type: 'input',
345
+ name: 'projectName',
346
+ message: 'Enter project name:',
347
+ default: projectKey,
348
+ },
349
+ ]);
350
+ const newProject = await this.createProject(projectKey, projectName);
351
+ result.project = {
352
+ exists: true,
353
+ key: newProject.key,
354
+ id: newProject.id,
355
+ name: newProject.name,
356
+ };
357
+ }
304
358
  }
305
- else if (action === 'create') {
306
- const { projectName } = await inquirer.prompt([
307
- {
308
- type: 'input',
309
- name: 'projectName',
310
- message: 'Enter project name:',
311
- default: projectKey,
312
- },
313
- ]);
314
- const newProject = await this.createProject(projectKey, projectName);
359
+ else {
360
+ console.log(chalk.green(`✅ Project "${projectKey}" exists`));
315
361
  result.project = {
316
362
  exists: true,
317
- key: newProject.key,
318
- id: newProject.id,
319
- name: newProject.name,
363
+ key: project.key,
364
+ id: project.id,
365
+ name: project.name,
320
366
  };
321
367
  }
322
368
  }
323
- else {
324
- console.log(chalk.green(`✅ Project "${projectKey}" exists\n`));
325
- result.project = {
326
- exists: true,
327
- key: project.key,
328
- id: project.id,
329
- name: project.name,
330
- };
331
- }
369
+ console.log(); // Empty line after project validation
332
370
  // 2. Validate boards (smart per-board detection)
333
- if (boardsConfig) {
371
+ // Boards only apply to board-based strategy
372
+ const boardsConfig = env.JIRA_BOARDS || '';
373
+ if (boardsConfig && strategy === 'board-based') {
334
374
  console.log(chalk.gray(`Checking boards: ${boardsConfig}...`));
375
+ // For board-based strategy, use the single project key
376
+ const projectKeyForBoards = projectKeys[0];
335
377
  const boardEntries = boardsConfig.split(',').map((b) => b.trim());
336
378
  const finalBoardIds = [];
337
379
  for (const entry of boardEntries) {
@@ -355,7 +397,7 @@ export class JiraResourceValidator {
355
397
  // Entry is a board name - create it
356
398
  console.log(chalk.blue(` 📦 Creating board: ${entry}...`));
357
399
  try {
358
- const board = await this.createBoard(entry, projectKey);
400
+ const board = await this.createBoard(entry, projectKeyForBoards);
359
401
  console.log(chalk.green(` ✅ Created: ${entry} (ID: ${board.id})`));
360
402
  result.boards.created.push({ name: entry, id: board.id });
361
403
  finalBoardIds.push(board.id);
@@ -1 +1 @@
1
- {"version":3,"file":"external-resource-validator.js","sourceRoot":"","sources":["../../src/utils/external-resource-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-resource-validator.js","sourceRoot":"","sources":["../../src/utils/external-resource-validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
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",
@@ -13,10 +13,14 @@
13
13
  "dev": "tsc --watch",
14
14
  "prepare": "npm run build",
15
15
  "prepublishOnly": "npm run build",
16
+ "test:unit": "jest tests/unit --coverage",
17
+ "test:integration": "jest tests/integration --coverage",
16
18
  "test:smoke": "bash tests/smoke/smoke-test.sh",
17
19
  "test:e2e": "playwright test tests/e2e/ --grep-invert=\"(should default to claude adapter|should use claude adapter when explicitly requested|should use generic adapter|should create .claude|should initialize project with specweave init|should create correct directory structure|should handle non-interactive mode correctly|should validate config.json structure|should create .specweave directory structure|should create CLAUDE.md and AGENTS.md|should initialize git repository|should install SpecWeave|should scaffold SaaS|should create proper directory|should create required configuration|should install core skills|should install core agents|should have deployment|should have Stripe|ADO Sync)\"",
18
- "test:integration": "echo 'Integration tests are temporarily disabled (excluded in jest.config.cjs line 31)' && exit 0",
20
+ "test:all": "npm run test:unit && npm run test:integration && npm run test:e2e",
21
+ "test:coverage": "jest --coverage --coverageReporters=text --coverageReporters=lcov",
19
22
  "test": "npm run test:smoke && npm run test:e2e",
23
+ "benchmark": "ts-node tests/performance/run-all-benchmarks.ts",
20
24
  "validate:plugins": "node scripts/validate-plugin-manifests.cjs",
21
25
  "metrics:dora": "node dist/metrics/dora-calculator.js",
22
26
  "generate:diagrams": "bash scripts/generate-diagram-svgs.sh",
@@ -72,7 +76,6 @@
72
76
  "chalk": "^5.3.0",
73
77
  "commander": "^14.0.2",
74
78
  "fs-extra": "^11.2.0",
75
- "gray-matter": "^4.0.3",
76
79
  "inquirer": "^12.10.0",
77
80
  "js-yaml": "^4.1.0",
78
81
  "open": "^10.2.0",
@@ -84,9 +87,13 @@
84
87
  "@playwright/test": "^1.48.0",
85
88
  "@types/fs-extra": "^11.0.4",
86
89
  "@types/inquirer": "^9.0.7",
90
+ "@types/jest": "^30.0.0",
87
91
  "@types/js-yaml": "^4.0.9",
88
92
  "@types/node": "^24.10.0",
89
93
  "dotenv": "^17.2.3",
94
+ "gray-matter": "^4.0.3",
95
+ "jest": "^30.2.0",
96
+ "ts-jest": "^29.4.5",
90
97
  "typescript": "^5.3.0"
91
98
  }
92
99
  }
@@ -107,6 +107,189 @@ As PM Agent, you are the **gatekeeper**. You MUST:
107
107
 
108
108
  ---
109
109
 
110
+ ## 🔗 External Sync Architecture (CRITICAL UNDERSTANDING)
111
+
112
+ **SpecWeave's Source of Truth**: `.specweave/docs/specs/` is the **permanent, local source of truth**. External tools (GitHub, Jira, ADO) are **MIRRORS** of this truth.
113
+
114
+ ### Correct Sync Direction
115
+
116
+ ```
117
+ ✅ CORRECT Architecture:
118
+ .specweave/docs/specs/ ↔ GitHub Issues
119
+ .specweave/docs/specs/ ↔ Jira Epics
120
+ .specweave/docs/specs/ ↔ Azure DevOps Work Items
121
+
122
+ ❌ WRONG (External-to-External):
123
+ GitHub PRs ↔ Jira
124
+ GitHub Issues ↔ Jira Epics
125
+ ```
126
+
127
+ **The Hub is LOCAL**, not external!
128
+
129
+ ### Sync Direction Options
130
+
131
+ When asking users about sync behavior, use these terms:
132
+
133
+ | Option | Direction | Description |
134
+ |--------|-----------|-------------|
135
+ | **Bidirectional** | Local ↔ External | Changes sync **both ways** (Local ↔ GitHub/Jira/ADO) |
136
+ | **Export only** | Local → External | Push changes **from Local to External** |
137
+ | **Import only** | External → Local | Pull changes **from External to Local** |
138
+
139
+ **Default recommendation**: **Bidirectional** (most useful for teams)
140
+
141
+ ### When Setting Up Sync (Interactive Wizard)
142
+
143
+ **Step 1: GitHub/Jira/ADO Authentication**
144
+ - Ask: "Do you want to sync increments to GitHub/Jira/ADO?"
145
+ - If yes → Set up authentication
146
+ - If no → Skip sync setup
147
+
148
+ **Step 2: Sync Direction** (ONLY ask about enabled providers!)
149
+ ```
150
+ Question: "What should be the sync behavior between local increments (.specweave/) and GitHub Issues?"
151
+
152
+ Options:
153
+ 1. Bidirectional sync (Recommended)
154
+ Local increments ↔ GitHub Issues
155
+ - Changes sync both ways automatically (on task completion)
156
+ - Conflicts: You will be prompted to resolve when both sides change
157
+ - Scope: Active increments only (completed/abandoned not auto-synced)
158
+ - Example: Complete task in SpecWeave → GitHub issue updates with progress
159
+
160
+ 2. Export only (Local → GitHub)
161
+ Local increments → GitHub Issues
162
+ - SpecWeave is source of truth, GitHub is read-only mirror
163
+ - Changes push from local to GitHub only
164
+ - GitHub changes are ignored (must update locally)
165
+ - Example: Create increment in SpecWeave → GitHub issue created automatically
166
+
167
+ 3. Import only (GitHub → Local)
168
+ GitHub Issues → Local increments
169
+ - GitHub is source of truth, local workspace mirrors it
170
+ - Changes pull from GitHub to local only
171
+ - Good for: Onboarding existing GitHub projects
172
+ - Example: Close GitHub issue → Local increment status updates
173
+
174
+ 4. Manual sync only
175
+ Use /specweave-github:sync command when needed
176
+ - No automatic sync via hooks
177
+ - Full control over when sync happens
178
+ - Good for: Testing, one-off syncs, experimental increments
179
+ ```
180
+
181
+ **CRITICAL**: The prompt MUST say "between local increments and [External Tool]", NOT "between [Tool A] and [Tool B]"!
182
+
183
+ **Visual Aid** (include in prompt):
184
+ ```
185
+ ✅ CORRECT Architecture:
186
+ Local (.specweave/) ↔ GitHub Issues
187
+
188
+ ❌ WRONG:
189
+ GitHub ↔ Jira
190
+ ```
191
+
192
+ **Step 3: Auto-Create Issues**
193
+ ```
194
+ Question: "Should SpecWeave auto-create GitHub issues when planning increments?"
195
+
196
+ Options:
197
+ 1. Yes, auto-create (Recommended)
198
+ Every /specweave:increment creates a GitHub issue automatically
199
+ - Immediate team visibility
200
+ - Bidirectional sync works from day 1
201
+ - Zero manual work
202
+ - Links: spec.md, plan.md, tasks.md included in issue
203
+
204
+ 2. No, manual creation
205
+ Use /specweave-github:create-issue manually when needed
206
+ - Create issues only for important increments
207
+ - More control over what goes to GitHub
208
+ - Good for: Experimental/internal increments
209
+ ```
210
+
211
+ ---
212
+
213
+ ### Jira Sync Prompts (if enabled)
214
+
215
+ **Step 2: Sync Direction**
216
+ ```
217
+ Question: "What should be the sync behavior between local increments (.specweave/) and Jira Epics?"
218
+
219
+ Options:
220
+ 1. Bidirectional sync (Recommended)
221
+ Local increments ↔ Jira Epics
222
+ - Changes sync both ways automatically (on task completion)
223
+ - Conflicts: You will be prompted to resolve when both sides change
224
+ - Scope: Active increments only
225
+ - Example: Complete task in SpecWeave → Jira epic status updates
226
+
227
+ 2. Export only (Local → Jira)
228
+ Local increments → Jira Epics
229
+ - SpecWeave is source of truth, Jira is read-only mirror
230
+ - Changes push from local to Jira only
231
+ - Jira changes are ignored (must update locally)
232
+ - Example: Create increment in SpecWeave → Jira epic created automatically
233
+
234
+ 3. Import only (Jira → Local)
235
+ Jira Epics → Local increments
236
+ - Jira is source of truth, local workspace mirrors it
237
+ - Changes pull from Jira to local only
238
+ - Good for: Onboarding existing Jira projects
239
+ - Example: Update Jira epic → Local increment syncs
240
+
241
+ 4. Manual sync only
242
+ Use /specweave-jira:sync command when needed
243
+ - No automatic sync via hooks
244
+ - Full control over when sync happens
245
+ ```
246
+
247
+ ---
248
+
249
+ ### Azure DevOps Sync Prompts (if enabled)
250
+
251
+ **Step 2: Sync Direction**
252
+ ```
253
+ Question: "What should be the sync behavior between local increments (.specweave/) and Azure DevOps work items?"
254
+
255
+ Options:
256
+ 1. Bidirectional sync (Recommended)
257
+ Local increments ↔ ADO Work Items
258
+ - Changes sync both ways automatically (on task completion)
259
+ - Conflicts: You will be prompted to resolve when both sides change
260
+ - Scope: Active increments only
261
+ - Example: Complete task in SpecWeave → ADO work item updates
262
+
263
+ 2. Export only (Local → ADO)
264
+ Local increments → ADO Work Items
265
+ - SpecWeave is source of truth, ADO is read-only mirror
266
+ - Changes push from local to ADO only
267
+ - ADO changes are ignored (must update locally)
268
+ - Example: Create increment in SpecWeave → ADO work item created automatically
269
+
270
+ 3. Import only (ADO → Local)
271
+ ADO Work Items → Local increments
272
+ - ADO is source of truth, local workspace mirrors it
273
+ - Changes pull from ADO to local only
274
+ - Good for: Onboarding existing ADO projects
275
+ - Example: Update ADO work item → Local increment syncs
276
+
277
+ 4. Manual sync only
278
+ Use /specweave-ado:sync command when needed
279
+ - No automatic sync via hooks
280
+ - Full control over when sync happens
281
+ ```
282
+
283
+ ### Implementation Notes
284
+
285
+ When generating the increment planning wizard:
286
+ 1. ✅ Check `config.plugins.enabled` array
287
+ 2. ✅ ONLY ask about enabled plugins (GitHub/Jira/ADO)
288
+ 3. ✅ For each enabled plugin, ask: "Local ↔ [Provider]" sync direction
289
+ 4. ❌ NEVER ask about external-to-external sync (e.g., "GitHub ↔ Jira")
290
+
291
+ ---
292
+
110
293
  ## 📊 Living Docs Spec Detection (Step 0B - Validation)
111
294
 
112
295
  **AFTER** validating increment discipline, you SHOULD suggest living docs specs for large features.
@@ -0,0 +1,94 @@
1
+ #!/bin/bash
2
+
3
+ # SpecWeave Post-Increment-Change Hook
4
+ # Runs automatically after increment files (spec.md, plan.md, tasks.md) are modified
5
+ #
6
+ # Trigger: File watcher or git hook (pre-commit/post-commit)
7
+ # Purpose: Sync increment file changes to GitHub issues
8
+ #
9
+ # What it does:
10
+ # 1. Detects which file changed (spec.md, plan.md, tasks.md)
11
+ # 2. Invokes GitHub sync for increment changes
12
+ # 3. Updates GitHub issue with scope/plan/task changes
13
+ #
14
+ # Usage:
15
+ # ./post-increment-change.sh <incrementId> <changedFile>
16
+ #
17
+ # Example:
18
+ # ./post-increment-change.sh 0015-hierarchical-sync spec.md
19
+
20
+ set -e
21
+
22
+ # Find project root
23
+ find_project_root() {
24
+ local dir="$1"
25
+ while [ "$dir" != "/" ]; do
26
+ if [ -d "$dir/.specweave" ]; then
27
+ echo "$dir"
28
+ return 0
29
+ fi
30
+ dir="$(dirname "$dir")"
31
+ done
32
+ pwd
33
+ }
34
+
35
+ PROJECT_ROOT="$(find_project_root "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)")"
36
+ cd "$PROJECT_ROOT" 2>/dev/null || true
37
+
38
+ # Configuration
39
+ LOGS_DIR=".specweave/logs"
40
+ DEBUG_LOG="$LOGS_DIR/hooks-debug.log"
41
+
42
+ mkdir -p "$LOGS_DIR" 2>/dev/null || true
43
+
44
+ # Arguments
45
+ INCREMENT_ID="$1"
46
+ CHANGED_FILE="$2"
47
+
48
+ if [ -z "$INCREMENT_ID" ] || [ -z "$CHANGED_FILE" ]; then
49
+ echo "Usage: $0 <incrementId> <changedFile>" >&2
50
+ echo "Example: $0 0015-hierarchical-sync spec.md" >&2
51
+ exit 1
52
+ fi
53
+
54
+ echo "[$(date)] 📝 Increment file changed: $CHANGED_FILE" >> "$DEBUG_LOG" 2>/dev/null || true
55
+
56
+ # Validate changed file
57
+ case "$CHANGED_FILE" in
58
+ spec.md|plan.md|tasks.md)
59
+ ;;
60
+ *)
61
+ echo "[$(date)] ⚠️ Unknown file type: $CHANGED_FILE (skipping sync)" >> "$DEBUG_LOG" 2>/dev/null || true
62
+ exit 0
63
+ ;;
64
+ esac
65
+
66
+ # Check if Node.js available
67
+ if ! command -v node &> /dev/null; then
68
+ echo "[$(date)] ⚠️ Node.js not found, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
69
+ exit 0
70
+ fi
71
+
72
+ # Check if GitHub CLI available
73
+ if ! command -v gh &> /dev/null; then
74
+ echo "[$(date)] ℹ️ GitHub CLI not found, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
75
+ exit 0
76
+ fi
77
+
78
+ # Check if authenticated
79
+ if ! gh auth status &> /dev/null; then
80
+ echo "[$(date)] ℹ️ GitHub CLI not authenticated, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
81
+ exit 0
82
+ fi
83
+
84
+ # Sync to GitHub
85
+ echo "[$(date)] 🔄 Syncing $CHANGED_FILE changes to GitHub..." >> "$DEBUG_LOG" 2>/dev/null || true
86
+
87
+ node dist/plugins/specweave-github/lib/github-sync-increment-changes.js "$INCREMENT_ID" "$CHANGED_FILE" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
88
+ echo "[$(date)] ⚠️ Failed to sync increment changes (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
89
+ }
90
+
91
+ echo "[$(date)] ✅ Post-increment-change hook complete" >> "$DEBUG_LOG" 2>/dev/null || true
92
+
93
+ # Return success (non-blocking)
94
+ exit 0