specweave 0.12.1 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (662) 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 +85 -28
  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/package.json +10 -3
  23. package/plugins/specweave/agents/pm/AGENT.md +183 -0
  24. package/plugins/specweave/hooks/post-spec-update.sh +158 -0
  25. package/plugins/specweave/hooks/post-user-story-complete.sh +179 -0
  26. package/plugins/specweave/skills/increment-planner/SKILL.md +17 -0
  27. package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +255 -0
  28. package/plugins/specweave-ado/lib/ado-spec-sync.ts +593 -0
  29. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +12 -6
  30. package/plugins/specweave-github/commands/specweave-github-sync-spec.md +208 -0
  31. package/plugins/specweave-github/lib/github-spec-sync.ts +656 -0
  32. package/plugins/specweave-github/skills/github-sync/SKILL.md +16 -8
  33. package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +240 -0
  34. package/plugins/specweave-jira/lib/jira-spec-sync.ts +582 -0
  35. package/plugins/specweave-jira/skills/jira-sync/SKILL.md +20 -5
  36. package/dist/cli/commands/docs-build.d.ts +0 -7
  37. package/dist/cli/commands/docs-build.d.ts.map +0 -1
  38. package/dist/cli/commands/docs-build.js +0 -31
  39. package/dist/cli/commands/docs-build.js.map +0 -1
  40. package/dist/cli/commands/docs-preview.d.ts +0 -7
  41. package/dist/cli/commands/docs-preview.d.ts.map +0 -1
  42. package/dist/cli/commands/docs-preview.js +0 -50
  43. package/dist/cli/commands/docs-preview.js.map +0 -1
  44. package/dist/cli/commands/docs-setup.d.ts +0 -7
  45. package/dist/cli/commands/docs-setup.d.ts.map +0 -1
  46. package/dist/cli/commands/docs-setup.js +0 -31
  47. package/dist/cli/commands/docs-setup.js.map +0 -1
  48. package/dist/cli/commands/plugin.d.ts +0 -54
  49. package/dist/cli/commands/plugin.d.ts.map +0 -1
  50. package/dist/core/rfc-generator.d.ts +0 -147
  51. package/dist/core/rfc-generator.d.ts.map +0 -1
  52. package/dist/core/rfc-generator.js +0 -434
  53. package/dist/core/rfc-generator.js.map +0 -1
  54. package/dist/core/schemas/plugin-manifest.schema.json +0 -253
  55. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  56. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  57. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
  58. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  59. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  60. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  61. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
  62. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  63. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  64. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  65. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
  66. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  67. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  68. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  69. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
  70. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  71. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  72. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  73. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
  74. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  75. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  76. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  77. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
  78. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  79. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  80. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  81. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
  82. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  83. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  84. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  85. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
  86. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  87. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  88. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  89. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -116
  90. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  91. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  92. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  93. package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
  94. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  95. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  96. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  97. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
  98. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  99. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  100. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  101. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
  102. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  103. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  104. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  105. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
  106. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  107. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
  108. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
  109. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
  110. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
  111. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +0 -124
  112. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
  113. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
  114. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
  115. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
  116. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
  117. package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
  118. package/dist/plugins/specweave-ado/lib/ado-client.js.map +0 -1
  119. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
  120. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
  121. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
  122. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
  123. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
  124. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
  125. package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
  126. package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
  127. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
  128. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
  129. package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
  130. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
  131. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +0 -104
  132. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
  133. package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
  134. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
  135. package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
  136. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
  137. package/dist/plugins/specweave-github/lib/github-client.js +0 -299
  138. package/dist/plugins/specweave-github/lib/github-client.js.map +0 -1
  139. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
  140. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
  141. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
  142. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
  143. package/dist/plugins/specweave-github/lib/index.d.ts +0 -10
  144. package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
  145. package/dist/plugins/specweave-github/lib/index.js +0 -10
  146. package/dist/plugins/specweave-github/lib/index.js.map +0 -1
  147. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
  148. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
  149. package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
  150. package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
  151. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +0 -51
  152. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
  153. package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
  154. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
  155. package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
  156. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
  157. package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
  158. package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
  159. package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
  160. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
  161. package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
  162. package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
  163. package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
  164. package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
  165. package/dist/plugins/specweave-github/lib/types.js +0 -5
  166. package/dist/plugins/specweave-github/lib/types.js.map +0 -1
  167. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
  168. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
  169. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
  170. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
  171. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
  172. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
  173. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
  174. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
  175. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
  176. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
  177. package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
  178. package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
  179. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
  180. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
  181. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
  182. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
  183. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
  184. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
  185. package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
  186. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
  187. package/dist/src/adapters/adapter-base.d.ts +0 -71
  188. package/dist/src/adapters/adapter-base.d.ts.map +0 -1
  189. package/dist/src/adapters/adapter-base.js +0 -139
  190. package/dist/src/adapters/adapter-base.js.map +0 -1
  191. package/dist/src/adapters/adapter-interface.d.ts +0 -149
  192. package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
  193. package/dist/src/adapters/adapter-interface.js +0 -8
  194. package/dist/src/adapters/adapter-interface.js.map +0 -1
  195. package/dist/src/adapters/adapter-loader.d.ts +0 -91
  196. package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
  197. package/dist/src/adapters/adapter-loader.js +0 -238
  198. package/dist/src/adapters/adapter-loader.js.map +0 -1
  199. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  200. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  201. package/dist/src/adapters/agents-md-generator.js +0 -193
  202. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  203. package/dist/src/adapters/claude/adapter.d.ts +0 -128
  204. package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
  205. package/dist/src/adapters/claude/adapter.js +0 -415
  206. package/dist/src/adapters/claude/adapter.js.map +0 -1
  207. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  208. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  209. package/dist/src/adapters/claude-md-generator.js +0 -307
  210. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  211. package/dist/src/adapters/codex/adapter.d.ts +0 -50
  212. package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
  213. package/dist/src/adapters/codex/adapter.js +0 -316
  214. package/dist/src/adapters/codex/adapter.js.map +0 -1
  215. package/dist/src/adapters/cursor/adapter.d.ts +0 -98
  216. package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
  217. package/dist/src/adapters/cursor/adapter.js +0 -406
  218. package/dist/src/adapters/cursor/adapter.js.map +0 -1
  219. package/dist/src/adapters/doc-generator.d.ts +0 -69
  220. package/dist/src/adapters/doc-generator.d.ts.map +0 -1
  221. package/dist/src/adapters/doc-generator.js +0 -247
  222. package/dist/src/adapters/doc-generator.js.map +0 -1
  223. package/dist/src/adapters/gemini/adapter.d.ts +0 -50
  224. package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
  225. package/dist/src/adapters/gemini/adapter.js +0 -281
  226. package/dist/src/adapters/gemini/adapter.js.map +0 -1
  227. package/dist/src/adapters/generic/adapter.d.ts +0 -86
  228. package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
  229. package/dist/src/adapters/generic/adapter.js +0 -338
  230. package/dist/src/adapters/generic/adapter.js.map +0 -1
  231. package/dist/src/cli/commands/abandon.d.ts +0 -13
  232. package/dist/src/cli/commands/abandon.d.ts.map +0 -1
  233. package/dist/src/cli/commands/abandon.js +0 -15
  234. package/dist/src/cli/commands/abandon.js.map +0 -1
  235. package/dist/src/cli/commands/import-docs.d.ts +0 -21
  236. package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
  237. package/dist/src/cli/commands/import-docs.js +0 -146
  238. package/dist/src/cli/commands/import-docs.js.map +0 -1
  239. package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
  240. package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
  241. package/dist/src/cli/commands/init-multiproject.js +0 -202
  242. package/dist/src/cli/commands/init-multiproject.js.map +0 -1
  243. package/dist/src/cli/commands/init.d.ts +0 -9
  244. package/dist/src/cli/commands/init.d.ts.map +0 -1
  245. package/dist/src/cli/commands/init.js +0 -1205
  246. package/dist/src/cli/commands/init.js.map +0 -1
  247. package/dist/src/cli/commands/install.d.ts +0 -9
  248. package/dist/src/cli/commands/install.d.ts.map +0 -1
  249. package/dist/src/cli/commands/install.js +0 -127
  250. package/dist/src/cli/commands/install.js.map +0 -1
  251. package/dist/src/cli/commands/list.d.ts +0 -8
  252. package/dist/src/cli/commands/list.d.ts.map +0 -1
  253. package/dist/src/cli/commands/list.js +0 -119
  254. package/dist/src/cli/commands/list.js.map +0 -1
  255. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
  256. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
  257. package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
  258. package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
  259. package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
  260. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
  261. package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
  262. package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
  263. package/dist/src/cli/commands/pause.d.ts +0 -13
  264. package/dist/src/cli/commands/pause.d.ts.map +0 -1
  265. package/dist/src/cli/commands/pause.js +0 -15
  266. package/dist/src/cli/commands/pause.js.map +0 -1
  267. package/dist/src/cli/commands/qa.d.ts +0 -54
  268. package/dist/src/cli/commands/qa.d.ts.map +0 -1
  269. package/dist/src/cli/commands/qa.js +0 -98
  270. package/dist/src/cli/commands/qa.js.map +0 -1
  271. package/dist/src/cli/commands/resume.d.ts +0 -12
  272. package/dist/src/cli/commands/resume.d.ts.map +0 -1
  273. package/dist/src/cli/commands/resume.js +0 -14
  274. package/dist/src/cli/commands/resume.js.map +0 -1
  275. package/dist/src/cli/commands/status.d.ts +0 -12
  276. package/dist/src/cli/commands/status.d.ts.map +0 -1
  277. package/dist/src/cli/commands/status.js +0 -23
  278. package/dist/src/cli/commands/status.js.map +0 -1
  279. package/dist/src/cli/commands/switch-project.d.ts +0 -13
  280. package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
  281. package/dist/src/cli/commands/switch-project.js +0 -91
  282. package/dist/src/cli/commands/switch-project.js.map +0 -1
  283. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  284. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  285. package/dist/src/cli/commands/validate-jira.js +0 -112
  286. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  287. package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
  288. package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
  289. package/dist/src/cli/commands/validate-plugins.js +0 -171
  290. package/dist/src/cli/commands/validate-plugins.js.map +0 -1
  291. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
  292. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
  293. package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
  294. package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
  295. package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
  296. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
  297. package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
  298. package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
  299. package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
  300. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
  301. package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
  302. package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
  303. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
  304. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
  305. package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
  306. package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
  307. package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -107
  308. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
  309. package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
  310. package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
  311. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
  312. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
  313. package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
  314. package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
  315. package/dist/src/core/agent-model-manager.d.ts +0 -52
  316. package/dist/src/core/agent-model-manager.d.ts.map +0 -1
  317. package/dist/src/core/agent-model-manager.js +0 -120
  318. package/dist/src/core/agent-model-manager.js.map +0 -1
  319. package/dist/src/core/brownfield/analyzer.d.ts +0 -86
  320. package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
  321. package/dist/src/core/brownfield/analyzer.js +0 -365
  322. package/dist/src/core/brownfield/analyzer.js.map +0 -1
  323. package/dist/src/core/brownfield/importer.d.ts +0 -76
  324. package/dist/src/core/brownfield/importer.d.ts.map +0 -1
  325. package/dist/src/core/brownfield/importer.js +0 -287
  326. package/dist/src/core/brownfield/importer.js.map +0 -1
  327. package/dist/src/core/config-manager.d.ts +0 -47
  328. package/dist/src/core/config-manager.d.ts.map +0 -1
  329. package/dist/src/core/config-manager.js +0 -136
  330. package/dist/src/core/config-manager.js.map +0 -1
  331. package/dist/src/core/cost-tracker.d.ts +0 -108
  332. package/dist/src/core/cost-tracker.d.ts.map +0 -1
  333. package/dist/src/core/cost-tracker.js +0 -281
  334. package/dist/src/core/cost-tracker.js.map +0 -1
  335. package/dist/src/core/credentials-manager.d.ts +0 -107
  336. package/dist/src/core/credentials-manager.d.ts.map +0 -1
  337. package/dist/src/core/credentials-manager.js +0 -457
  338. package/dist/src/core/credentials-manager.js.map +0 -1
  339. package/dist/src/core/i18n/language-detector.d.ts +0 -29
  340. package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
  341. package/dist/src/core/i18n/language-detector.js +0 -143
  342. package/dist/src/core/i18n/language-detector.js.map +0 -1
  343. package/dist/src/core/i18n/language-manager.d.ts +0 -101
  344. package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
  345. package/dist/src/core/i18n/language-manager.js +0 -232
  346. package/dist/src/core/i18n/language-manager.js.map +0 -1
  347. package/dist/src/core/i18n/language-registry.d.ts +0 -44
  348. package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
  349. package/dist/src/core/i18n/language-registry.js +0 -234
  350. package/dist/src/core/i18n/language-registry.js.map +0 -1
  351. package/dist/src/core/i18n/locale-manager.d.ts +0 -62
  352. package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
  353. package/dist/src/core/i18n/locale-manager.js +0 -137
  354. package/dist/src/core/i18n/locale-manager.js.map +0 -1
  355. package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
  356. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
  357. package/dist/src/core/i18n/system-prompt-injector.js +0 -131
  358. package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
  359. package/dist/src/core/i18n/types.d.ts +0 -151
  360. package/dist/src/core/i18n/types.d.ts.map +0 -1
  361. package/dist/src/core/i18n/types.js +0 -11
  362. package/dist/src/core/i18n/types.js.map +0 -1
  363. package/dist/src/core/increment/limits.d.ts +0 -68
  364. package/dist/src/core/increment/limits.d.ts.map +0 -1
  365. package/dist/src/core/increment/limits.js +0 -224
  366. package/dist/src/core/increment/limits.js.map +0 -1
  367. package/dist/src/core/increment/metadata-manager.d.ts +0 -114
  368. package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
  369. package/dist/src/core/increment/metadata-manager.js +0 -320
  370. package/dist/src/core/increment/metadata-manager.js.map +0 -1
  371. package/dist/src/core/increment/status-commands.d.ts +0 -43
  372. package/dist/src/core/increment/status-commands.d.ts.map +0 -1
  373. package/dist/src/core/increment/status-commands.js +0 -277
  374. package/dist/src/core/increment/status-commands.js.map +0 -1
  375. package/dist/src/core/increment-status.d.ts +0 -72
  376. package/dist/src/core/increment-status.d.ts.map +0 -1
  377. package/dist/src/core/increment-status.js +0 -227
  378. package/dist/src/core/increment-status.js.map +0 -1
  379. package/dist/src/core/model-selector.d.ts +0 -57
  380. package/dist/src/core/model-selector.d.ts.map +0 -1
  381. package/dist/src/core/model-selector.js +0 -115
  382. package/dist/src/core/model-selector.js.map +0 -1
  383. package/dist/src/core/phase-detector.d.ts +0 -62
  384. package/dist/src/core/phase-detector.d.ts.map +0 -1
  385. package/dist/src/core/phase-detector.js +0 -229
  386. package/dist/src/core/phase-detector.js.map +0 -1
  387. package/dist/src/core/plugin-loader.d.ts +0 -131
  388. package/dist/src/core/plugin-loader.d.ts.map +0 -1
  389. package/dist/src/core/plugin-loader.js +0 -421
  390. package/dist/src/core/plugin-loader.js.map +0 -1
  391. package/dist/src/core/project-manager.d.ts +0 -127
  392. package/dist/src/core/project-manager.d.ts.map +0 -1
  393. package/dist/src/core/project-manager.js +0 -524
  394. package/dist/src/core/project-manager.js.map +0 -1
  395. package/dist/src/core/project-structure-detector.d.ts +0 -92
  396. package/dist/src/core/project-structure-detector.d.ts.map +0 -1
  397. package/dist/src/core/project-structure-detector.js +0 -289
  398. package/dist/src/core/project-structure-detector.js.map +0 -1
  399. package/dist/src/core/qa/qa-runner.d.ts +0 -16
  400. package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
  401. package/dist/src/core/qa/qa-runner.js +0 -404
  402. package/dist/src/core/qa/qa-runner.js.map +0 -1
  403. package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
  404. package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
  405. package/dist/src/core/qa/quality-gate-decider.js +0 -268
  406. package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
  407. package/dist/src/core/qa/risk-calculator.d.ts +0 -126
  408. package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
  409. package/dist/src/core/qa/risk-calculator.js +0 -247
  410. package/dist/src/core/qa/risk-calculator.js.map +0 -1
  411. package/dist/src/core/qa/types.d.ts +0 -315
  412. package/dist/src/core/qa/types.d.ts.map +0 -1
  413. package/dist/src/core/qa/types.js +0 -8
  414. package/dist/src/core/qa/types.js.map +0 -1
  415. package/dist/src/core/rfc-generator-v2.d.ts +0 -149
  416. package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
  417. package/dist/src/core/rfc-generator-v2.js +0 -399
  418. package/dist/src/core/rfc-generator-v2.js.map +0 -1
  419. package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
  420. package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
  421. package/dist/src/core/sync/bidirectional-engine.js +0 -356
  422. package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
  423. package/dist/src/core/sync/folder-mapper.d.ts +0 -71
  424. package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
  425. package/dist/src/core/sync/folder-mapper.js +0 -168
  426. package/dist/src/core/sync/folder-mapper.js.map +0 -1
  427. package/dist/src/core/sync/profile-manager.d.ts +0 -72
  428. package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
  429. package/dist/src/core/sync/profile-manager.js +0 -338
  430. package/dist/src/core/sync/profile-manager.js.map +0 -1
  431. package/dist/src/core/sync/profile-selector.d.ts +0 -52
  432. package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
  433. package/dist/src/core/sync/profile-selector.js +0 -179
  434. package/dist/src/core/sync/profile-selector.js.map +0 -1
  435. package/dist/src/core/sync/profile-validator.d.ts +0 -52
  436. package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
  437. package/dist/src/core/sync/profile-validator.js +0 -225
  438. package/dist/src/core/sync/profile-validator.js.map +0 -1
  439. package/dist/src/core/sync/project-context.d.ts +0 -81
  440. package/dist/src/core/sync/project-context.d.ts.map +0 -1
  441. package/dist/src/core/sync/project-context.js +0 -354
  442. package/dist/src/core/sync/project-context.js.map +0 -1
  443. package/dist/src/core/sync/rate-limiter.d.ts +0 -116
  444. package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
  445. package/dist/src/core/sync/rate-limiter.js +0 -308
  446. package/dist/src/core/sync/rate-limiter.js.map +0 -1
  447. package/dist/src/core/sync/time-range-selector.d.ts +0 -48
  448. package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
  449. package/dist/src/core/sync/time-range-selector.js +0 -224
  450. package/dist/src/core/sync/time-range-selector.js.map +0 -1
  451. package/dist/src/core/types/config.d.ts +0 -90
  452. package/dist/src/core/types/config.d.ts.map +0 -1
  453. package/dist/src/core/types/config.js +0 -37
  454. package/dist/src/core/types/config.js.map +0 -1
  455. package/dist/src/core/types/increment-metadata.d.ts +0 -120
  456. package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
  457. package/dist/src/core/types/increment-metadata.js +0 -138
  458. package/dist/src/core/types/increment-metadata.js.map +0 -1
  459. package/dist/src/core/types/plugin.d.ts +0 -283
  460. package/dist/src/core/types/plugin.d.ts.map +0 -1
  461. package/dist/src/core/types/plugin.js +0 -49
  462. package/dist/src/core/types/plugin.js.map +0 -1
  463. package/dist/src/core/types/sync-profile.d.ts +0 -403
  464. package/dist/src/core/types/sync-profile.d.ts.map +0 -1
  465. package/dist/src/core/types/sync-profile.js +0 -55
  466. package/dist/src/core/types/sync-profile.js.map +0 -1
  467. package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -125
  468. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
  469. package/dist/src/hooks/lib/types/reflection-types.js +0 -54
  470. package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
  471. package/dist/src/integrations/ado/ado-client.d.ts +0 -127
  472. package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
  473. package/dist/src/integrations/ado/ado-client.js +0 -416
  474. package/dist/src/integrations/ado/ado-client.js.map +0 -1
  475. package/dist/src/integrations/jira/jira-client.d.ts +0 -139
  476. package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
  477. package/dist/src/integrations/jira/jira-client.js +0 -386
  478. package/dist/src/integrations/jira/jira-client.js.map +0 -1
  479. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
  480. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  481. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
  482. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  483. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
  484. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  485. package/dist/src/integrations/jira/jira-mapper.js +0 -494
  486. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  487. package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
  488. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
  489. package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
  490. package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
  491. package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
  492. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
  493. package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
  494. package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
  495. package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
  496. package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
  497. package/dist/src/metrics/calculators/lead-time.js +0 -82
  498. package/dist/src/metrics/calculators/lead-time.js.map +0 -1
  499. package/dist/src/metrics/calculators/mttr.d.ts +0 -21
  500. package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
  501. package/dist/src/metrics/calculators/mttr.js +0 -60
  502. package/dist/src/metrics/calculators/mttr.js.map +0 -1
  503. package/dist/src/metrics/dora-calculator.d.ts +0 -28
  504. package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
  505. package/dist/src/metrics/dora-calculator.js +0 -117
  506. package/dist/src/metrics/dora-calculator.js.map +0 -1
  507. package/dist/src/metrics/github-client.d.ts +0 -51
  508. package/dist/src/metrics/github-client.d.ts.map +0 -1
  509. package/dist/src/metrics/github-client.js +0 -133
  510. package/dist/src/metrics/github-client.js.map +0 -1
  511. package/dist/src/metrics/report-generator.d.ts +0 -17
  512. package/dist/src/metrics/report-generator.d.ts.map +0 -1
  513. package/dist/src/metrics/report-generator.js +0 -403
  514. package/dist/src/metrics/report-generator.js.map +0 -1
  515. package/dist/src/metrics/types.d.ts +0 -112
  516. package/dist/src/metrics/types.d.ts.map +0 -1
  517. package/dist/src/metrics/types.js +0 -10
  518. package/dist/src/metrics/types.js.map +0 -1
  519. package/dist/src/metrics/utils/percentile.d.ts +0 -25
  520. package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
  521. package/dist/src/metrics/utils/percentile.js +0 -46
  522. package/dist/src/metrics/utils/percentile.js.map +0 -1
  523. package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
  524. package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
  525. package/dist/src/metrics/utils/tier-classifier.js +0 -100
  526. package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
  527. package/dist/src/testing/test-generator.d.ts +0 -117
  528. package/dist/src/testing/test-generator.d.ts.map +0 -1
  529. package/dist/src/testing/test-generator.js +0 -370
  530. package/dist/src/testing/test-generator.js.map +0 -1
  531. package/dist/src/types/cost-tracking.d.ts +0 -43
  532. package/dist/src/types/cost-tracking.d.ts.map +0 -1
  533. package/dist/src/types/cost-tracking.js +0 -8
  534. package/dist/src/types/cost-tracking.js.map +0 -1
  535. package/dist/src/types/model-selection.d.ts +0 -53
  536. package/dist/src/types/model-selection.d.ts.map +0 -1
  537. package/dist/src/types/model-selection.js +0 -12
  538. package/dist/src/types/model-selection.js.map +0 -1
  539. package/dist/src/utils/agents-md-compiler.d.ts +0 -68
  540. package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
  541. package/dist/src/utils/agents-md-compiler.js +0 -420
  542. package/dist/src/utils/agents-md-compiler.js.map +0 -1
  543. package/dist/src/utils/auth-helpers.d.ts +0 -58
  544. package/dist/src/utils/auth-helpers.d.ts.map +0 -1
  545. package/dist/src/utils/auth-helpers.js +0 -108
  546. package/dist/src/utils/auth-helpers.js.map +0 -1
  547. package/dist/src/utils/auto-install.d.ts +0 -47
  548. package/dist/src/utils/auto-install.d.ts.map +0 -1
  549. package/dist/src/utils/auto-install.js +0 -211
  550. package/dist/src/utils/auto-install.js.map +0 -1
  551. package/dist/src/utils/claude-cli-detector.d.ts +0 -75
  552. package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
  553. package/dist/src/utils/claude-cli-detector.js +0 -285
  554. package/dist/src/utils/claude-cli-detector.js.map +0 -1
  555. package/dist/src/utils/cost-reporter.d.ts +0 -58
  556. package/dist/src/utils/cost-reporter.d.ts.map +0 -1
  557. package/dist/src/utils/cost-reporter.js +0 -224
  558. package/dist/src/utils/cost-reporter.js.map +0 -1
  559. package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
  560. package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
  561. package/dist/src/utils/docs-preview/config-generator.js +0 -377
  562. package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
  563. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
  564. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
  565. package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
  566. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
  567. package/dist/src/utils/docs-preview/index.d.ts +0 -7
  568. package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
  569. package/dist/src/utils/docs-preview/index.js +0 -7
  570. package/dist/src/utils/docs-preview/index.js.map +0 -1
  571. package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
  572. package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
  573. package/dist/src/utils/docs-preview/package-installer.js +0 -182
  574. package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
  575. package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
  576. package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
  577. package/dist/src/utils/docs-preview/server-manager.js +0 -212
  578. package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
  579. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
  580. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
  581. package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
  582. package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
  583. package/dist/src/utils/docs-preview/types.d.ts +0 -57
  584. package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
  585. package/dist/src/utils/docs-preview/types.js +0 -2
  586. package/dist/src/utils/docs-preview/types.js.map +0 -1
  587. package/dist/src/utils/env-file.d.ts +0 -88
  588. package/dist/src/utils/env-file.d.ts.map +0 -1
  589. package/dist/src/utils/env-file.js +0 -180
  590. package/dist/src/utils/env-file.js.map +0 -1
  591. package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
  592. package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
  593. package/dist/src/utils/env-multi-project-parser.js +0 -403
  594. package/dist/src/utils/env-multi-project-parser.js.map +0 -1
  595. package/dist/src/utils/esm-helpers.d.ts +0 -50
  596. package/dist/src/utils/esm-helpers.d.ts.map +0 -1
  597. package/dist/src/utils/esm-helpers.js +0 -57
  598. package/dist/src/utils/esm-helpers.js.map +0 -1
  599. package/dist/src/utils/execFileNoThrow.d.ts +0 -99
  600. package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
  601. package/dist/src/utils/execFileNoThrow.js +0 -137
  602. package/dist/src/utils/execFileNoThrow.js.map +0 -1
  603. package/dist/src/utils/external-resource-validator.d.ts +0 -102
  604. package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
  605. package/dist/src/utils/external-resource-validator.js +0 -400
  606. package/dist/src/utils/external-resource-validator.js.map +0 -1
  607. package/dist/src/utils/generate-skills-index.d.ts +0 -24
  608. package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
  609. package/dist/src/utils/generate-skills-index.js +0 -410
  610. package/dist/src/utils/generate-skills-index.js.map +0 -1
  611. package/dist/src/utils/model-selection.d.ts +0 -75
  612. package/dist/src/utils/model-selection.d.ts.map +0 -1
  613. package/dist/src/utils/model-selection.js +0 -204
  614. package/dist/src/utils/model-selection.js.map +0 -1
  615. package/dist/src/utils/plugin-validator.d.ts +0 -161
  616. package/dist/src/utils/plugin-validator.d.ts.map +0 -1
  617. package/dist/src/utils/plugin-validator.js +0 -558
  618. package/dist/src/utils/plugin-validator.js.map +0 -1
  619. package/dist/src/utils/pricing-constants.d.ts +0 -70
  620. package/dist/src/utils/pricing-constants.d.ts.map +0 -1
  621. package/dist/src/utils/pricing-constants.js +0 -71
  622. package/dist/src/utils/pricing-constants.js.map +0 -1
  623. package/dist/src/utils/project-detection.d.ts +0 -141
  624. package/dist/src/utils/project-detection.d.ts.map +0 -1
  625. package/dist/src/utils/project-detection.js +0 -321
  626. package/dist/src/utils/project-detection.js.map +0 -1
  627. package/dist/src/utils/string-utils.d.ts +0 -40
  628. package/dist/src/utils/string-utils.d.ts.map +0 -1
  629. package/dist/src/utils/string-utils.js +0 -58
  630. package/dist/src/utils/string-utils.js.map +0 -1
  631. package/dist/src/utils/translation.d.ts +0 -187
  632. package/dist/src/utils/translation.d.ts.map +0 -1
  633. package/dist/src/utils/translation.js +0 -414
  634. package/dist/src/utils/translation.js.map +0 -1
  635. package/dist/utils/docs-preview.bak/config-generator.d.ts +0 -46
  636. package/dist/utils/docs-preview.bak/config-generator.d.ts.map +0 -1
  637. package/dist/utils/docs-preview.bak/config-generator.js +0 -377
  638. package/dist/utils/docs-preview.bak/config-generator.js.map +0 -1
  639. package/dist/utils/docs-preview.bak/package-installer.d.ts +0 -42
  640. package/dist/utils/docs-preview.bak/package-installer.d.ts.map +0 -1
  641. package/dist/utils/docs-preview.bak/package-installer.js +0 -182
  642. package/dist/utils/docs-preview.bak/package-installer.js.map +0 -1
  643. package/dist/utils/docs-preview.bak/server-manager.d.ts +0 -30
  644. package/dist/utils/docs-preview.bak/server-manager.d.ts.map +0 -1
  645. package/dist/utils/docs-preview.bak/server-manager.js +0 -207
  646. package/dist/utils/docs-preview.bak/server-manager.js.map +0 -1
  647. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts +0 -31
  648. package/dist/utils/docs-preview.bak/sidebar-builder.d.ts.map +0 -1
  649. package/dist/utils/docs-preview.bak/sidebar-builder.js +0 -202
  650. package/dist/utils/docs-preview.bak/sidebar-builder.js.map +0 -1
  651. package/dist/utils/docs-preview.bak/types.d.ts +0 -60
  652. package/dist/utils/docs-preview.bak/types.d.ts.map +0 -1
  653. package/dist/utils/docs-preview.bak/types.js +0 -5
  654. package/dist/utils/docs-preview.bak/types.js.map +0 -1
  655. package/dist/utils/plugin-detection.d.ts +0 -50
  656. package/dist/utils/plugin-detection.d.ts.map +0 -1
  657. package/dist/utils/secrets-loader.d.ts +0 -88
  658. package/dist/utils/secrets-loader.d.ts.map +0 -1
  659. package/dist/utils/secrets-loader.js +0 -271
  660. package/dist/utils/secrets-loader.js.map +0 -1
  661. package/src/templates/environments/minimal/.env.production +0 -16
  662. package/src/templates/environments/standard/.env.production +0 -30
@@ -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,158 @@
1
+ #!/bin/bash
2
+
3
+ ###############################################################################
4
+ # SpecWeave Post-Spec-Update Hook
5
+ #
6
+ # CRITICAL ARCHITECTURE:
7
+ # - Fires when .specweave/docs/internal/specs/spec-*.md is updated
8
+ # - Auto-syncs to linked external tool (GitHub Project/Jira Epic/ADO Feature)
9
+ # - Replaces increment-based sync (which was wrong!)
10
+ #
11
+ # Trigger Points:
12
+ # 1. After /specweave:sync-docs update (spec updated from increment)
13
+ # 2. After manual spec.md edits (user updates living docs directly)
14
+ # 3. After bidirectional sync from external tool
15
+ #
16
+ # What It Does:
17
+ # - Detects which spec was updated
18
+ # - Checks if spec is linked to external tool (frontmatter: externalLinks)
19
+ # - Syncs changes to GitHub Project / Jira Epic / ADO Feature
20
+ # - Updates user stories, acceptance criteria, progress
21
+ #
22
+ # Usage:
23
+ # post-spec-update.sh <spec-file-path>
24
+ #
25
+ # Example:
26
+ # post-spec-update.sh .specweave/docs/internal/specs/spec-001-core-framework.md
27
+ #
28
+ ###############################################################################
29
+
30
+ set -euo pipefail
31
+
32
+ # Arguments
33
+ SPEC_FILE_PATH="${1:-}"
34
+
35
+ # Validate arguments
36
+ if [[ -z "$SPEC_FILE_PATH" ]]; then
37
+ echo "❌ Error: Spec file path required"
38
+ echo "Usage: post-spec-update.sh <spec-file-path>"
39
+ exit 1
40
+ fi
41
+
42
+ # Check if spec file exists
43
+ if [[ ! -f "$SPEC_FILE_PATH" ]]; then
44
+ echo "❌ Error: Spec file not found: $SPEC_FILE_PATH"
45
+ exit 1
46
+ fi
47
+
48
+ # Extract spec ID from file path
49
+ # Example: .specweave/docs/internal/specs/spec-001-core-framework.md → spec-001
50
+ SPEC_ID=$(basename "$SPEC_FILE_PATH" .md)
51
+
52
+ echo ""
53
+ echo "🔗 Post-Spec-Update Hook"
54
+ echo " Spec: $SPEC_ID"
55
+ echo " File: $SPEC_FILE_PATH"
56
+
57
+ # Load config to check if auto-sync is enabled
58
+ CONFIG_FILE=".specweave/config.json"
59
+ if [[ ! -f "$CONFIG_FILE" ]]; then
60
+ echo " ℹ️ No config file found, skipping auto-sync"
61
+ exit 0
62
+ fi
63
+
64
+ # Check if auto-sync is enabled
65
+ AUTO_SYNC=$(jq -r '.hooks.post_spec_update.auto_sync // true' "$CONFIG_FILE")
66
+
67
+ if [[ "$AUTO_SYNC" != "true" ]]; then
68
+ echo " ℹ️ Auto-sync disabled in config, skipping"
69
+ exit 0
70
+ fi
71
+
72
+ # Parse spec frontmatter to detect external links
73
+ # Use gray-matter or similar to extract YAML frontmatter
74
+ # For now, use simple grep/sed approach
75
+
76
+ # Check if GitHub link exists
77
+ GITHUB_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE_PATH" | grep -A 5 "github:" | grep "projectId:" | sed 's/.*projectId: *//; s/ *$//' || echo "")
78
+
79
+ # Check if Jira link exists
80
+ JIRA_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE_PATH" | grep -A 5 "jira:" | grep "epicKey:" | sed 's/.*epicKey: *//; s/ *$//' || echo "")
81
+
82
+ # Check if ADO link exists
83
+ ADO_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE_PATH" | grep -A 5 "ado:" | grep "featureId:" | sed 's/.*featureId: *//; s/ *$//' || echo "")
84
+
85
+ # Determine which provider to sync
86
+ PROVIDER=""
87
+ if [[ -n "$GITHUB_LINK" ]]; then
88
+ PROVIDER="github"
89
+ EXTERNAL_ID="$GITHUB_LINK"
90
+ elif [[ -n "$JIRA_LINK" ]]; then
91
+ PROVIDER="jira"
92
+ EXTERNAL_ID="$JIRA_LINK"
93
+ elif [[ -n "$ADO_LINK" ]]; then
94
+ PROVIDER="ado"
95
+ EXTERNAL_ID="$ADO_LINK"
96
+ fi
97
+
98
+ # No external link found - skip sync
99
+ if [[ -z "$PROVIDER" ]]; then
100
+ echo " ℹ️ Spec not linked to external tool, skipping sync"
101
+ echo " Hint: Use /specweave-github:sync-spec or /specweave-jira:sync-spec to link"
102
+ exit 0
103
+ fi
104
+
105
+ echo " 🔗 Detected external link: $PROVIDER (ID: $EXTERNAL_ID)"
106
+
107
+ # Sync to external tool based on provider
108
+ case "$PROVIDER" in
109
+ github)
110
+ echo " 🔄 Syncing to GitHub Project..."
111
+
112
+ # Check if GitHub CLI is available
113
+ if ! command -v gh &> /dev/null; then
114
+ echo " ⚠️ GitHub CLI (gh) not found, skipping sync"
115
+ exit 0
116
+ fi
117
+
118
+ # TODO: Call GitHub spec sync
119
+ # For now, just log the action
120
+ echo " ✅ GitHub sync queued (implementation pending)"
121
+ ;;
122
+
123
+ jira)
124
+ echo " 🔄 Syncing to Jira Epic..."
125
+
126
+ # Check if Jira config exists
127
+ if [[ -z "${JIRA_DOMAIN:-}" ]]; then
128
+ echo " ⚠️ Jira not configured (.env), skipping sync"
129
+ exit 0
130
+ fi
131
+
132
+ # TODO: Call Jira spec sync
133
+ echo " ✅ Jira sync queued (implementation pending)"
134
+ ;;
135
+
136
+ ado)
137
+ echo " 🔄 Syncing to Azure DevOps Feature..."
138
+
139
+ # Check if ADO config exists
140
+ if [[ -z "${ADO_ORGANIZATION:-}" ]]; then
141
+ echo " ⚠️ ADO not configured (.env), skipping sync"
142
+ exit 0
143
+ fi
144
+
145
+ # TODO: Call ADO spec sync
146
+ echo " ✅ ADO sync queued (implementation pending)"
147
+ ;;
148
+
149
+ *)
150
+ echo " ⚠️ Unknown provider: $PROVIDER"
151
+ exit 0
152
+ ;;
153
+ esac
154
+
155
+ echo " ✅ Post-spec-update hook complete"
156
+ echo ""
157
+
158
+ exit 0
@@ -0,0 +1,179 @@
1
+ #!/bin/bash
2
+
3
+ ###############################################################################
4
+ # SpecWeave Post-User-Story-Complete Hook
5
+ #
6
+ # CRITICAL ARCHITECTURE:
7
+ # - Fires when user story marked complete in spec.md (AC checkbox checked)
8
+ # - Updates external PM tool (GitHub Issue/Jira Story/ADO User Story)
9
+ # - Moves GitHub card to "Done" / Closes Jira story / Completes ADO story
10
+ #
11
+ # Trigger Points:
12
+ # 1. After user manually checks AC checkbox in spec.md
13
+ # 2. After bidirectional sync updates AC status
14
+ # 3. After increment completion syncs to spec
15
+ #
16
+ # What It Does:
17
+ # - Detects which user story was completed (all AC checkboxes checked)
18
+ # - Finds corresponding external item (GitHub Issue/Jira Story/ADO User Story)
19
+ # - Updates item status to "Done" / "Closed"
20
+ # - Adds completion comment with timestamp
21
+ #
22
+ # Usage:
23
+ # post-user-story-complete.sh <spec-id> <user-story-id>
24
+ #
25
+ # Example:
26
+ # post-user-story-complete.sh spec-001 US-001
27
+ #
28
+ ###############################################################################
29
+
30
+ set -euo pipefail
31
+
32
+ # Arguments
33
+ SPEC_ID="${1:-}"
34
+ USER_STORY_ID="${2:-}"
35
+
36
+ # Validate arguments
37
+ if [[ -z "$SPEC_ID" || -z "$USER_STORY_ID" ]]; then
38
+ echo "❌ Error: Spec ID and User Story ID required"
39
+ echo "Usage: post-user-story-complete.sh <spec-id> <user-story-id>"
40
+ exit 1
41
+ fi
42
+
43
+ echo ""
44
+ echo "🎉 Post-User-Story-Complete Hook"
45
+ echo " Spec: $SPEC_ID"
46
+ echo " User Story: $USER_STORY_ID"
47
+
48
+ # Find spec file
49
+ SPEC_FILE=""
50
+ if [[ -f ".specweave/docs/internal/specs/$SPEC_ID.md" ]]; then
51
+ SPEC_FILE=".specweave/docs/internal/specs/$SPEC_ID.md"
52
+ elif [[ -f ".specweave/docs/internal/projects/default/specs/$SPEC_ID.md" ]]; then
53
+ SPEC_FILE=".specweave/docs/internal/projects/default/specs/$SPEC_ID.md"
54
+ else
55
+ echo "❌ Error: Spec file not found for $SPEC_ID"
56
+ exit 1
57
+ fi
58
+
59
+ # Load config to check if auto-sync is enabled
60
+ CONFIG_FILE=".specweave/config.json"
61
+ if [[ ! -f "$CONFIG_FILE" ]]; then
62
+ echo " ℹ️ No config file found, skipping auto-sync"
63
+ exit 0
64
+ fi
65
+
66
+ # Check if auto-sync is enabled
67
+ AUTO_SYNC=$(jq -r '.hooks.post_user_story_complete.auto_sync // true' "$CONFIG_FILE")
68
+
69
+ if [[ "$AUTO_SYNC" != "true" ]]; then
70
+ echo " ℹ️ Auto-sync disabled in config, skipping"
71
+ exit 0
72
+ fi
73
+
74
+ # Parse spec frontmatter to detect external links
75
+ # Check if GitHub link exists
76
+ GITHUB_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE" | grep -A 5 "github:" | grep "projectId:" | sed 's/.*projectId: *//; s/ *$//' || echo "")
77
+
78
+ # Check if Jira link exists
79
+ JIRA_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE" | grep -A 5 "jira:" | grep "epicKey:" | sed 's/.*epicKey: *//; s/ *$//' || echo "")
80
+
81
+ # Check if ADO link exists
82
+ ADO_LINK=$(grep -A 10 "^externalLinks:" "$SPEC_FILE" | grep -A 5 "ado:" | grep "featureId:" | sed 's/.*featureId: *//; s/ *$//' || echo "")
83
+
84
+ # Determine which provider to sync
85
+ PROVIDER=""
86
+ if [[ -n "$GITHUB_LINK" ]]; then
87
+ PROVIDER="github"
88
+ EXTERNAL_ID="$GITHUB_LINK"
89
+ elif [[ -n "$JIRA_LINK" ]]; then
90
+ PROVIDER="jira"
91
+ EXTERNAL_ID="$JIRA_LINK"
92
+ elif [[ -n "$ADO_LINK" ]]; then
93
+ PROVIDER="ado"
94
+ EXTERNAL_ID="$ADO_LINK"
95
+ fi
96
+
97
+ # No external link found - skip sync
98
+ if [[ -z "$PROVIDER" ]]; then
99
+ echo " ℹ️ Spec not linked to external tool, skipping sync"
100
+ exit 0
101
+ fi
102
+
103
+ echo " 🔗 Detected external link: $PROVIDER"
104
+
105
+ # Update external tool based on provider
106
+ case "$PROVIDER" in
107
+ github)
108
+ echo " 🔄 Updating GitHub Issue for $USER_STORY_ID..."
109
+
110
+ # Check if GitHub CLI is available
111
+ if ! command -v gh &> /dev/null; then
112
+ echo " ⚠️ GitHub CLI (gh) not found, skipping sync"
113
+ exit 0
114
+ fi
115
+
116
+ # Find GitHub Issue for this user story
117
+ # Search for issue with title pattern "[USER_STORY_ID]"
118
+ REPO=$(git remote get-url origin | sed -E 's/.*github\.com[:/]([^/]+\/[^/]+)(\.git)?$/\1/')
119
+
120
+ # Search for issue
121
+ ISSUE_NUMBER=$(gh issue list --repo "$REPO" --search "\"[$USER_STORY_ID]\" in:title" --json number --jq '.[0].number' 2>/dev/null || echo "")
122
+
123
+ if [[ -z "$ISSUE_NUMBER" ]]; then
124
+ echo " ⚠️ GitHub Issue not found for $USER_STORY_ID"
125
+ exit 0
126
+ fi
127
+
128
+ echo " 📝 Found GitHub Issue #$ISSUE_NUMBER"
129
+
130
+ # Close issue
131
+ gh issue close "$ISSUE_NUMBER" --repo "$REPO" --comment "✅ User story completed
132
+
133
+ 🤖 Auto-closed by SpecWeave hook
134
+ Completed at: $(date -u +%Y-%m-%dT%H:%M:%SZ)" 2>/dev/null || {
135
+ echo " ⚠️ Failed to close issue"
136
+ exit 0
137
+ }
138
+
139
+ echo " ✅ GitHub Issue #$ISSUE_NUMBER closed"
140
+ ;;
141
+
142
+ jira)
143
+ echo " 🔄 Updating Jira Story for $USER_STORY_ID..."
144
+
145
+ # Check if Jira config exists
146
+ if [[ -z "${JIRA_DOMAIN:-}" ]]; then
147
+ echo " ⚠️ Jira not configured (.env), skipping sync"
148
+ exit 0
149
+ fi
150
+
151
+ # TODO: Find Jira Story by title pattern
152
+ # TODO: Transition story to "Done" status
153
+ echo " ✅ Jira story transition queued (implementation pending)"
154
+ ;;
155
+
156
+ ado)
157
+ echo " 🔄 Updating ADO User Story for $USER_STORY_ID..."
158
+
159
+ # Check if ADO config exists
160
+ if [[ -z "${ADO_ORGANIZATION:-}" ]]; then
161
+ echo " ⚠️ ADO not configured (.env), skipping sync"
162
+ exit 0
163
+ fi
164
+
165
+ # TODO: Find ADO User Story by title pattern
166
+ # TODO: Update state to "Closed"
167
+ echo " ✅ ADO user story update queued (implementation pending)"
168
+ ;;
169
+
170
+ *)
171
+ echo " ⚠️ Unknown provider: $PROVIDER"
172
+ exit 0
173
+ ;;
174
+ esac
175
+
176
+ echo " ✅ Post-user-story-complete hook complete"
177
+ echo ""
178
+
179
+ exit 0
@@ -80,6 +80,23 @@ Do NOT activate if:
80
80
  - ❌ User is already in an active increment planning workflow
81
81
  - ❌ Increment files (spec.md, plan.md, tasks.md) are currently being created
82
82
 
83
+ ## 🔗 External Sync Architecture (CRITICAL)
84
+
85
+ **Source of Truth**: `.specweave/docs/specs/` (LOCAL) is the permanent source of truth. External tools (GitHub, Jira, ADO) are **MIRRORS**.
86
+
87
+ **Correct sync direction**:
88
+ ```
89
+ ✅ CORRECT:
90
+ .specweave/ ↔ GitHub Issues (Local ↔ External)
91
+ .specweave/ ↔ Jira Epics (Local ↔ External)
92
+ .specweave/ ↔ ADO Work Items (Local ↔ External)
93
+
94
+ ❌ WRONG:
95
+ GitHub ↔ Jira (External ↔ External - NO!)
96
+ ```
97
+
98
+ **When invoking PM agent**: Ensure it understands sync is **Local ↔ External**, not External ↔ External!
99
+
83
100
  ## Activation Triggers
84
101
 
85
102
  This skill activates automatically when users say: