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
@@ -0,0 +1,656 @@
1
+ /**
2
+ * GitHub Spec Sync
3
+ *
4
+ * CORRECT ARCHITECTURE:
5
+ * - Syncs .specweave/docs/internal/specs/spec-*.md ↔ GitHub Projects
6
+ * - NOT increments ↔ GitHub Issues (that was wrong!)
7
+ *
8
+ * Mapping:
9
+ * - Spec → GitHub Project
10
+ * - User Story → GitHub Project Card/Issue
11
+ * - Acceptance Criteria → Checklist in Issue
12
+ *
13
+ * @module github-spec-sync
14
+ */
15
+
16
+ import { SpecMetadataManager } from '../../../src/core/specs/spec-metadata-manager.js';
17
+ import { SpecParser } from '../../../src/core/specs/spec-parser.js';
18
+ import {
19
+ SpecContent,
20
+ UserStory,
21
+ SpecSyncResult,
22
+ SpecSyncConflict
23
+ } from '../../../src/core/types/spec-metadata.js';
24
+ import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
25
+
26
+ export interface GitHubProject {
27
+ id: number;
28
+ title: string;
29
+ number: number;
30
+ url: string;
31
+ state: 'open' | 'closed';
32
+ owner: string;
33
+ repo: string;
34
+ }
35
+
36
+ export interface GitHubProjectCard {
37
+ id: number;
38
+ note?: string;
39
+ state: string;
40
+ column_id: number;
41
+ content_url?: string; // Link to issue if card is linked
42
+ }
43
+
44
+ export interface GitHubIssue {
45
+ number: number;
46
+ title: string;
47
+ body: string;
48
+ state: 'open' | 'closed';
49
+ labels: string[];
50
+ assignees: string[];
51
+ }
52
+
53
+ export class GitHubSpecSync {
54
+ private specManager: SpecMetadataManager;
55
+
56
+ constructor(projectRoot: string = process.cwd()) {
57
+ this.specManager = new SpecMetadataManager(projectRoot);
58
+ }
59
+
60
+ /**
61
+ * Sync spec to GitHub Project (CREATE or UPDATE)
62
+ */
63
+ async syncSpecToGitHub(specId: string): Promise<SpecSyncResult> {
64
+ console.log(`\n🔄 Syncing spec ${specId} to GitHub Project...`);
65
+
66
+ try {
67
+ // 1. Load spec
68
+ const spec = await this.specManager.loadSpec(specId);
69
+ if (!spec) {
70
+ return {
71
+ success: false,
72
+ specId,
73
+ provider: 'github',
74
+ error: `Spec ${specId} not found`
75
+ };
76
+ }
77
+
78
+ // 2. Detect repository
79
+ const repoInfo = await this.detectRepo();
80
+ if (!repoInfo) {
81
+ return {
82
+ success: false,
83
+ specId,
84
+ provider: 'github',
85
+ error: 'Could not detect GitHub repository'
86
+ };
87
+ }
88
+
89
+ const { owner, repo } = repoInfo;
90
+
91
+ // 3. Check if spec already linked to GitHub Project
92
+ const existingLink = spec.metadata.externalLinks?.github;
93
+
94
+ let project: GitHubProject;
95
+
96
+ if (existingLink?.projectId) {
97
+ // UPDATE existing project
98
+ console.log(` Found existing GitHub Project #${existingLink.projectId}`);
99
+ project = await this.updateGitHubProject(
100
+ owner,
101
+ repo,
102
+ existingLink.projectId,
103
+ spec
104
+ );
105
+ } else {
106
+ // CREATE new project
107
+ console.log(' Creating new GitHub Project...');
108
+ project = await this.createGitHubProject(owner, repo, spec);
109
+
110
+ // Link spec to project
111
+ await this.specManager.linkToExternal(specId, 'github', {
112
+ id: project.id,
113
+ url: project.url,
114
+ owner,
115
+ repo
116
+ });
117
+ }
118
+
119
+ // 4. Sync user stories as issues/cards
120
+ const changes = await this.syncUserStories(owner, repo, project.number, spec);
121
+
122
+ console.log('✅ Sync complete!');
123
+
124
+ return {
125
+ success: true,
126
+ specId,
127
+ provider: 'github',
128
+ externalId: project.id.toString(),
129
+ url: project.url,
130
+ changes
131
+ };
132
+
133
+ } catch (error) {
134
+ console.error('❌ Error syncing to GitHub:', error);
135
+ return {
136
+ success: false,
137
+ specId,
138
+ provider: 'github',
139
+ error: error instanceof Error ? error.message : 'Unknown error'
140
+ };
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Sync FROM GitHub Project to spec (bidirectional)
146
+ */
147
+ async syncFromGitHub(specId: string): Promise<SpecSyncResult> {
148
+ console.log(`\n🔄 Syncing FROM GitHub to spec ${specId}...`);
149
+
150
+ try {
151
+ // 1. Load spec
152
+ const spec = await this.specManager.loadSpec(specId);
153
+ if (!spec) {
154
+ return {
155
+ success: false,
156
+ specId,
157
+ provider: 'github',
158
+ error: `Spec ${specId} not found`
159
+ };
160
+ }
161
+
162
+ // 2. Get GitHub Project link
163
+ const githubLink = spec.metadata.externalLinks?.github;
164
+ if (!githubLink?.projectId) {
165
+ return {
166
+ success: false,
167
+ specId,
168
+ provider: 'github',
169
+ error: 'Spec not linked to GitHub Project'
170
+ };
171
+ }
172
+
173
+ const { owner, repo } = await this.detectRepo() || { owner: '', repo: '' };
174
+
175
+ // 3. Fetch GitHub Project state
176
+ const project = await this.fetchGitHubProject(owner, repo, githubLink.projectId);
177
+
178
+ // 4. Detect conflicts
179
+ const conflicts = await this.detectConflicts(spec, project);
180
+
181
+ if (conflicts.length === 0) {
182
+ console.log('✅ No conflicts - spec and GitHub in sync');
183
+ return {
184
+ success: true,
185
+ specId,
186
+ provider: 'github',
187
+ externalId: project.id.toString(),
188
+ url: project.url
189
+ };
190
+ }
191
+
192
+ console.log(`⚠️ Detected ${conflicts.length} conflict(s)`);
193
+
194
+ // 5. Resolve conflicts (GitHub wins by default for now)
195
+ await this.resolveConflicts(spec, conflicts);
196
+
197
+ console.log('✅ Sync FROM GitHub complete!');
198
+
199
+ return {
200
+ success: true,
201
+ specId,
202
+ provider: 'github',
203
+ externalId: project.id.toString(),
204
+ url: project.url,
205
+ conflicts
206
+ };
207
+
208
+ } catch (error) {
209
+ console.error('❌ Error syncing FROM GitHub:', error);
210
+ return {
211
+ success: false,
212
+ specId,
213
+ provider: 'github',
214
+ error: error instanceof Error ? error.message : 'Unknown error'
215
+ };
216
+ }
217
+ }
218
+
219
+ /**
220
+ * Create new GitHub Project for spec
221
+ */
222
+ private async createGitHubProject(
223
+ owner: string,
224
+ repo: string,
225
+ spec: SpecContent
226
+ ): Promise<GitHubProject> {
227
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
228
+ const projectBody = this.generateProjectDescription(spec);
229
+
230
+ // Use GraphQL to create project
231
+ const query = `
232
+ mutation CreateProject($ownerId: ID!, $title: String!, $body: String!) {
233
+ createProjectV2(input: {
234
+ ownerId: $ownerId,
235
+ title: $title,
236
+ body: $body
237
+ }) {
238
+ projectV2 {
239
+ id
240
+ title
241
+ number
242
+ url
243
+ }
244
+ }
245
+ }
246
+ `;
247
+
248
+ // Get owner ID first
249
+ const ownerId = await this.getOwnerId(owner);
250
+
251
+ const result = await this.executeGraphQL(query, {
252
+ ownerId,
253
+ title: projectTitle,
254
+ body: projectBody
255
+ });
256
+
257
+ const project = result.data.createProjectV2.projectV2;
258
+
259
+ console.log(` ✅ Created GitHub Project #${project.number}: ${project.url}`);
260
+
261
+ return {
262
+ id: parseInt(project.id, 10),
263
+ title: project.title,
264
+ number: project.number,
265
+ url: project.url,
266
+ state: 'open',
267
+ owner,
268
+ repo
269
+ };
270
+ }
271
+
272
+ /**
273
+ * Update existing GitHub Project
274
+ */
275
+ private async updateGitHubProject(
276
+ owner: string,
277
+ repo: string,
278
+ projectId: number,
279
+ spec: SpecContent
280
+ ): Promise<GitHubProject> {
281
+ const projectTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
282
+ const projectBody = this.generateProjectDescription(spec);
283
+
284
+ // Use GraphQL to update project
285
+ const query = `
286
+ mutation UpdateProject($projectId: ID!, $title: String, $body: String) {
287
+ updateProjectV2(input: {
288
+ projectId: $projectId,
289
+ title: $title,
290
+ body: $body
291
+ }) {
292
+ projectV2 {
293
+ id
294
+ title
295
+ number
296
+ url
297
+ }
298
+ }
299
+ }
300
+ `;
301
+
302
+ const result = await this.executeGraphQL(query, {
303
+ projectId: projectId.toString(),
304
+ title: projectTitle,
305
+ body: projectBody
306
+ });
307
+
308
+ const project = result.data.updateProjectV2.projectV2;
309
+
310
+ console.log(` ✅ Updated GitHub Project #${project.number}`);
311
+
312
+ return {
313
+ id: projectId,
314
+ title: project.title,
315
+ number: project.number,
316
+ url: project.url,
317
+ state: 'open',
318
+ owner,
319
+ repo
320
+ };
321
+ }
322
+
323
+ /**
324
+ * Sync user stories as GitHub Issues
325
+ */
326
+ private async syncUserStories(
327
+ owner: string,
328
+ repo: string,
329
+ projectNumber: number,
330
+ spec: SpecContent
331
+ ): Promise<{ created: string[]; updated: string[]; deleted: string[] }> {
332
+ const created: string[] = [];
333
+ const updated: string[] = [];
334
+ const deleted: string[] = [];
335
+
336
+ if (!spec.metadata.userStories || spec.metadata.userStories.length === 0) {
337
+ console.log(' ℹ️ No user stories to sync');
338
+ return { created, updated, deleted };
339
+ }
340
+
341
+ console.log(` Syncing ${spec.metadata.userStories.length} user stories...`);
342
+
343
+ for (const us of spec.metadata.userStories) {
344
+ // Create or update issue for each user story
345
+ const issueTitle = `[${us.id}] ${us.title}`;
346
+ const issueBody = this.generateIssueBody(us);
347
+
348
+ // Check if issue already exists (by title pattern)
349
+ const existingIssue = await this.findIssueByTitle(owner, repo, us.id);
350
+
351
+ if (existingIssue) {
352
+ // UPDATE existing issue
353
+ await this.updateIssue(owner, repo, existingIssue.number, {
354
+ title: issueTitle,
355
+ body: issueBody,
356
+ state: us.status === 'done' ? 'closed' : 'open'
357
+ });
358
+
359
+ updated.push(us.id);
360
+ console.log(` ✅ Updated ${us.id}`);
361
+ } else {
362
+ // CREATE new issue
363
+ const newIssue = await this.createIssue(owner, repo, {
364
+ title: issueTitle,
365
+ body: issueBody,
366
+ labels: ['user-story', `spec:${spec.metadata.id}`, `priority:${us.priority}`]
367
+ });
368
+
369
+ created.push(us.id);
370
+ console.log(` ✅ Created ${us.id} → Issue #${newIssue.number}`);
371
+ }
372
+ }
373
+
374
+ return { created, updated, deleted };
375
+ }
376
+
377
+ /**
378
+ * Generate project description from spec
379
+ */
380
+ private generateProjectDescription(spec: SpecContent): string {
381
+ const progress = spec.metadata.progress;
382
+ const progressText = progress
383
+ ? `**Progress**: ${progress.percentComplete}% (${progress.completedUserStories}/${progress.totalUserStories} user stories)`
384
+ : '**Progress**: N/A';
385
+
386
+ return `
387
+ # ${spec.metadata.title}
388
+
389
+ **Spec ID**: ${spec.metadata.id}
390
+ **Priority**: ${spec.metadata.priority}
391
+ **Status**: ${spec.metadata.status}
392
+ ${progressText}
393
+
394
+ ---
395
+
396
+ ${SpecParser.extractOverview(spec.markdown)}
397
+
398
+ ---
399
+
400
+ ## User Stories
401
+
402
+ ${spec.metadata.userStories?.length || 0} user stories tracked in this project.
403
+
404
+ ---
405
+
406
+ 🤖 **Auto-synced from SpecWeave**
407
+ Last updated: ${new Date().toISOString()}
408
+ `.trim();
409
+ }
410
+
411
+ /**
412
+ * Generate issue body from user story
413
+ */
414
+ private generateIssueBody(us: UserStory): string {
415
+ const acList = us.acceptanceCriteria
416
+ .map(ac => `- [${ac.status === 'done' ? 'x' : ' '}] ${ac.description}`)
417
+ .join('\n');
418
+
419
+ return `
420
+ ## User Story
421
+
422
+ ${us.title}
423
+
424
+ ## Acceptance Criteria
425
+
426
+ ${acList}
427
+
428
+ ---
429
+
430
+ **Priority**: ${us.priority}
431
+ **Status**: ${us.status}
432
+
433
+ 🤖 **Auto-synced from SpecWeave**
434
+ `.trim();
435
+ }
436
+
437
+ /**
438
+ * Detect conflicts between spec and GitHub
439
+ */
440
+ private async detectConflicts(
441
+ spec: SpecContent,
442
+ project: GitHubProject
443
+ ): Promise<SpecSyncConflict[]> {
444
+ const conflicts: SpecSyncConflict[] = [];
445
+
446
+ // Compare project title
447
+ const expectedTitle = `[${spec.metadata.id.toUpperCase()}] ${spec.metadata.title}`;
448
+ if (project.title !== expectedTitle) {
449
+ conflicts.push({
450
+ type: 'metadata',
451
+ field: 'title',
452
+ localValue: spec.metadata.title,
453
+ remoteValue: project.title,
454
+ resolution: 'remote-wins',
455
+ description: 'Project title differs from spec title'
456
+ });
457
+ }
458
+
459
+ // TODO: Compare user stories and their statuses
460
+
461
+ return conflicts;
462
+ }
463
+
464
+ /**
465
+ * Resolve conflicts
466
+ */
467
+ private async resolveConflicts(
468
+ spec: SpecContent,
469
+ conflicts: SpecSyncConflict[]
470
+ ): Promise<void> {
471
+ for (const conflict of conflicts) {
472
+ if (conflict.resolution === 'remote-wins') {
473
+ console.log(` 🔄 Resolving: ${conflict.description} (GitHub wins)`);
474
+ // Update spec metadata from GitHub
475
+ if (conflict.field === 'title') {
476
+ await this.specManager.saveMetadata(spec.metadata.id, {
477
+ title: conflict.remoteValue
478
+ });
479
+ }
480
+ }
481
+ }
482
+ }
483
+
484
+ /**
485
+ * Execute GraphQL query against GitHub API
486
+ */
487
+ private async executeGraphQL(query: string, variables: any): Promise<any> {
488
+ const result = await execFileNoThrow('gh', [
489
+ 'api',
490
+ 'graphql',
491
+ '-f',
492
+ `query=${query}`,
493
+ ...Object.entries(variables).flatMap(([key, value]) => ['-F', `${key}=${value}`])
494
+ ]);
495
+
496
+ if (result.error) {
497
+ throw new Error(`GraphQL query failed: ${result.error}`);
498
+ }
499
+
500
+ return JSON.parse(result.stdout);
501
+ }
502
+
503
+ /**
504
+ * Get owner ID (user or organization)
505
+ */
506
+ private async getOwnerId(owner: string): Promise<string> {
507
+ const query = `
508
+ query GetOwner($login: String!) {
509
+ repositoryOwner(login: $login) {
510
+ id
511
+ }
512
+ }
513
+ `;
514
+
515
+ const result = await this.executeGraphQL(query, { login: owner });
516
+ return result.data.repositoryOwner.id;
517
+ }
518
+
519
+ /**
520
+ * Fetch GitHub Project details
521
+ */
522
+ private async fetchGitHubProject(
523
+ owner: string,
524
+ repo: string,
525
+ projectId: number
526
+ ): Promise<GitHubProject> {
527
+ // Placeholder - would use GraphQL to fetch project
528
+ return {
529
+ id: projectId,
530
+ title: 'Project Title',
531
+ number: 1,
532
+ url: 'https://github.com/...',
533
+ state: 'open',
534
+ owner,
535
+ repo
536
+ };
537
+ }
538
+
539
+ /**
540
+ * Find issue by title pattern
541
+ */
542
+ private async findIssueByTitle(
543
+ owner: string,
544
+ repo: string,
545
+ usId: string
546
+ ): Promise<GitHubIssue | null> {
547
+ const result = await execFileNoThrow('gh', [
548
+ 'issue',
549
+ 'list',
550
+ '--repo',
551
+ `${owner}/${repo}`,
552
+ '--search',
553
+ `"[${usId}]" in:title`,
554
+ '--json',
555
+ 'number,title,body,state,labels',
556
+ '--limit',
557
+ '1'
558
+ ]);
559
+
560
+ if (result.error || !result.stdout) {
561
+ return null;
562
+ }
563
+
564
+ const issues = JSON.parse(result.stdout);
565
+ return issues.length > 0 ? issues[0] : null;
566
+ }
567
+
568
+ /**
569
+ * Create GitHub issue
570
+ */
571
+ private async createIssue(
572
+ owner: string,
573
+ repo: string,
574
+ issue: { title: string; body: string; labels: string[] }
575
+ ): Promise<GitHubIssue> {
576
+ const result = await execFileNoThrow('gh', [
577
+ 'issue',
578
+ 'create',
579
+ '--repo',
580
+ `${owner}/${repo}`,
581
+ '--title',
582
+ issue.title,
583
+ '--body',
584
+ issue.body,
585
+ '--label',
586
+ issue.labels.join(','),
587
+ '--json',
588
+ 'number,title,body,state'
589
+ ]);
590
+
591
+ if (result.error) {
592
+ throw new Error(`Failed to create issue: ${result.error}`);
593
+ }
594
+
595
+ return JSON.parse(result.stdout);
596
+ }
597
+
598
+ /**
599
+ * Update GitHub issue
600
+ */
601
+ private async updateIssue(
602
+ owner: string,
603
+ repo: string,
604
+ issueNumber: number,
605
+ updates: { title?: string; body?: string; state?: 'open' | 'closed' }
606
+ ): Promise<void> {
607
+ const args = ['issue', 'edit', issueNumber.toString(), '--repo', `${owner}/${repo}`];
608
+
609
+ if (updates.title) {
610
+ args.push('--title', updates.title);
611
+ }
612
+
613
+ if (updates.body) {
614
+ args.push('--body', updates.body);
615
+ }
616
+
617
+ if (updates.state === 'closed') {
618
+ args.push('--state', 'closed');
619
+ } else if (updates.state === 'open') {
620
+ args.push('--state', 'open');
621
+ }
622
+
623
+ const result = await execFileNoThrow('gh', args);
624
+
625
+ if (result.error) {
626
+ throw new Error(`Failed to update issue #${issueNumber}: ${result.error}`);
627
+ }
628
+ }
629
+
630
+ /**
631
+ * Detect GitHub repository from git remote
632
+ */
633
+ private async detectRepo(): Promise<{ owner: string; repo: string } | null> {
634
+ const result = await execFileNoThrow('git', ['remote', 'get-url', 'origin']);
635
+
636
+ if (result.error || !result.stdout) {
637
+ return null;
638
+ }
639
+
640
+ const remoteUrl = result.stdout.trim();
641
+
642
+ // Parse GitHub URL
643
+ // Examples:
644
+ // - https://github.com/owner/repo.git
645
+ // - git@github.com:owner/repo.git
646
+ const httpsMatch = remoteUrl.match(/github\.com[/:]([\w-]+)\/([\w-]+?)(\.git)?$/);
647
+ if (httpsMatch) {
648
+ return {
649
+ owner: httpsMatch[1],
650
+ repo: httpsMatch[2]
651
+ };
652
+ }
653
+
654
+ return null;
655
+ }
656
+ }