specweave 0.10.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CLAUDE.md +184 -288
  3. package/README.md +48 -21
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +75 -113
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  8. package/dist/cli/helpers/issue-tracker/index.js +39 -0
  9. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  10. package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -1
  11. package/dist/cli/helpers/issue-tracker/jira.js +2 -9
  12. package/dist/cli/helpers/issue-tracker/jira.js.map +1 -1
  13. package/dist/hooks/lib/git-diff-analyzer.d.ts +89 -0
  14. package/dist/hooks/lib/git-diff-analyzer.d.ts.map +1 -0
  15. package/dist/hooks/lib/git-diff-analyzer.js +226 -0
  16. package/dist/hooks/lib/git-diff-analyzer.js.map +1 -0
  17. package/dist/hooks/lib/prepare-reflection-context.d.ts +42 -0
  18. package/dist/hooks/lib/prepare-reflection-context.d.ts.map +1 -0
  19. package/dist/hooks/lib/prepare-reflection-context.js +123 -0
  20. package/dist/hooks/lib/prepare-reflection-context.js.map +1 -0
  21. package/dist/hooks/lib/reflection-config-loader.d.ts +45 -0
  22. package/dist/hooks/lib/reflection-config-loader.d.ts.map +1 -0
  23. package/dist/hooks/lib/reflection-config-loader.js +132 -0
  24. package/dist/hooks/lib/reflection-config-loader.js.map +1 -0
  25. package/dist/hooks/lib/reflection-parser.d.ts +33 -0
  26. package/dist/hooks/lib/reflection-parser.d.ts.map +1 -0
  27. package/dist/hooks/lib/reflection-parser.js +419 -0
  28. package/dist/hooks/lib/reflection-parser.js.map +1 -0
  29. package/dist/hooks/lib/reflection-prompt-builder.d.ts +56 -0
  30. package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +1 -0
  31. package/dist/hooks/lib/reflection-prompt-builder.js +239 -0
  32. package/dist/hooks/lib/reflection-prompt-builder.js.map +1 -0
  33. package/dist/hooks/lib/reflection-storage.d.ts +64 -0
  34. package/dist/hooks/lib/reflection-storage.d.ts.map +1 -0
  35. package/dist/hooks/lib/reflection-storage.js +305 -0
  36. package/dist/hooks/lib/reflection-storage.js.map +1 -0
  37. package/dist/hooks/lib/run-self-reflection.d.ts +43 -0
  38. package/dist/hooks/lib/run-self-reflection.d.ts.map +1 -0
  39. package/dist/hooks/lib/run-self-reflection.js +203 -0
  40. package/dist/hooks/lib/run-self-reflection.js.map +1 -0
  41. package/dist/hooks/lib/types/reflection-types.d.ts +164 -0
  42. package/dist/hooks/lib/types/reflection-types.d.ts.map +1 -0
  43. package/dist/hooks/lib/types/reflection-types.js +73 -0
  44. package/dist/hooks/lib/types/reflection-types.js.map +1 -0
  45. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +89 -0
  46. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +1 -0
  47. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +226 -0
  48. package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +1 -0
  49. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +60 -0
  50. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +1 -0
  51. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +201 -0
  52. package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +1 -0
  53. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +42 -0
  54. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +1 -0
  55. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +123 -0
  56. package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +1 -0
  57. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +45 -0
  58. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +1 -0
  59. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +132 -0
  60. package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +1 -0
  61. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +33 -0
  62. package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +1 -0
  63. package/dist/plugins/specweave/lib/hooks/reflection-parser.js +419 -0
  64. package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +1 -0
  65. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +56 -0
  66. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +1 -0
  67. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +239 -0
  68. package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +1 -0
  69. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +64 -0
  70. package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +1 -0
  71. package/dist/plugins/specweave/lib/hooks/reflection-storage.js +305 -0
  72. package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +1 -0
  73. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +43 -0
  74. package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +1 -0
  75. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +203 -0
  76. package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +1 -0
  77. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +27 -0
  78. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -0
  79. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +116 -0
  80. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -0
  81. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +59 -0
  82. package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +1 -0
  83. package/dist/plugins/specweave/lib/hooks/translate-file.js +350 -0
  84. package/dist/plugins/specweave/lib/hooks/translate-file.js.map +1 -0
  85. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +13 -0
  86. package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +1 -0
  87. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +175 -0
  88. package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +1 -0
  89. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +164 -0
  90. package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +1 -0
  91. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +73 -0
  92. package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +1 -0
  93. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +29 -0
  94. package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +1 -0
  95. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +203 -0
  96. package/dist/plugins/specweave/lib/hooks/update-tasks-md.js.map +1 -0
  97. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +94 -0
  98. package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +1 -0
  99. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +219 -0
  100. package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +1 -0
  101. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts +124 -0
  102. package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +1 -0
  103. package/dist/plugins/specweave-ado/lib/ado-client-v2.js +382 -0
  104. package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +1 -0
  105. package/dist/plugins/specweave-ado/lib/ado-client.d.ts +112 -0
  106. package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +1 -0
  107. package/dist/plugins/specweave-ado/lib/ado-client.js +257 -0
  108. package/dist/plugins/specweave-ado/lib/ado-client.js.map +1 -0
  109. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +40 -0
  110. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +1 -0
  111. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +370 -0
  112. package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +1 -0
  113. package/dist/plugins/specweave-ado/lib/project-selector.d.ts +42 -0
  114. package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +1 -0
  115. package/dist/plugins/specweave-ado/lib/project-selector.js +211 -0
  116. package/dist/plugins/specweave-ado/lib/project-selector.js.map +1 -0
  117. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +54 -0
  118. package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +1 -0
  119. package/dist/plugins/specweave-github/lib/github-board-resolver.js +122 -0
  120. package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +1 -0
  121. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +104 -0
  122. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -0
  123. package/dist/plugins/specweave-github/lib/github-client-v2.js +408 -0
  124. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -0
  125. package/dist/plugins/specweave-github/lib/github-client.d.ts +10 -0
  126. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
  127. package/dist/plugins/specweave-github/lib/github-client.js +24 -0
  128. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
  129. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +29 -0
  130. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +1 -0
  131. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +268 -0
  132. package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +1 -0
  133. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -1
  134. package/dist/plugins/specweave-github/lib/index.js.map +1 -1
  135. package/dist/plugins/specweave-github/lib/repo-selector.d.ts +49 -0
  136. package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +1 -0
  137. package/dist/plugins/specweave-github/lib/repo-selector.js +216 -0
  138. package/dist/plugins/specweave-github/lib/repo-selector.js.map +1 -0
  139. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -1
  140. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -1
  141. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -1
  142. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -1
  143. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
  144. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
  145. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
  146. package/dist/plugins/specweave-github/lib/types.js.map +1 -1
  147. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +50 -0
  148. package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +1 -0
  149. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +84 -0
  150. package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +1 -0
  151. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +33 -0
  152. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +1 -0
  153. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +206 -0
  154. package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +1 -0
  155. package/dist/plugins/specweave-jira/lib/project-selector.d.ts +42 -0
  156. package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +1 -0
  157. package/dist/plugins/specweave-jira/lib/project-selector.js +216 -0
  158. package/dist/plugins/specweave-jira/lib/project-selector.js.map +1 -0
  159. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts +67 -0
  160. package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +1 -0
  161. package/dist/plugins/specweave-jira/lib/reorganization-detector.js +252 -0
  162. package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +1 -0
  163. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +29 -0
  164. package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +1 -0
  165. package/dist/plugins/specweave-jira/lib/setup-wizard.js +219 -0
  166. package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +1 -0
  167. package/dist/src/adapters/adapter-base.d.ts +71 -0
  168. package/dist/src/adapters/adapter-base.d.ts.map +1 -0
  169. package/dist/src/adapters/adapter-base.js +139 -0
  170. package/dist/src/adapters/adapter-base.js.map +1 -0
  171. package/dist/src/adapters/adapter-interface.d.ts +149 -0
  172. package/dist/src/adapters/adapter-interface.d.ts.map +1 -0
  173. package/dist/src/adapters/adapter-interface.js +8 -0
  174. package/dist/src/adapters/adapter-interface.js.map +1 -0
  175. package/dist/src/adapters/adapter-loader.d.ts +91 -0
  176. package/dist/src/adapters/adapter-loader.d.ts.map +1 -0
  177. package/dist/src/adapters/adapter-loader.js +238 -0
  178. package/dist/src/adapters/adapter-loader.js.map +1 -0
  179. package/dist/src/adapters/agents-md-generator.d.ts +48 -0
  180. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -0
  181. package/dist/src/adapters/agents-md-generator.js +193 -0
  182. package/dist/src/adapters/agents-md-generator.js.map +1 -0
  183. package/dist/src/adapters/claude/adapter.d.ts +128 -0
  184. package/dist/src/adapters/claude/adapter.d.ts.map +1 -0
  185. package/dist/src/adapters/claude/adapter.js +415 -0
  186. package/dist/src/adapters/claude/adapter.js.map +1 -0
  187. package/dist/src/adapters/claude-md-generator.d.ts +78 -0
  188. package/dist/src/adapters/claude-md-generator.d.ts.map +1 -0
  189. package/dist/src/adapters/claude-md-generator.js +307 -0
  190. package/dist/src/adapters/claude-md-generator.js.map +1 -0
  191. package/dist/src/adapters/codex/adapter.d.ts +50 -0
  192. package/dist/src/adapters/codex/adapter.d.ts.map +1 -0
  193. package/dist/src/adapters/codex/adapter.js +316 -0
  194. package/dist/src/adapters/codex/adapter.js.map +1 -0
  195. package/dist/src/adapters/cursor/adapter.d.ts +98 -0
  196. package/dist/src/adapters/cursor/adapter.d.ts.map +1 -0
  197. package/dist/src/adapters/cursor/adapter.js +406 -0
  198. package/dist/src/adapters/cursor/adapter.js.map +1 -0
  199. package/dist/src/adapters/doc-generator.d.ts +69 -0
  200. package/dist/src/adapters/doc-generator.d.ts.map +1 -0
  201. package/dist/src/adapters/doc-generator.js +247 -0
  202. package/dist/src/adapters/doc-generator.js.map +1 -0
  203. package/dist/src/adapters/gemini/adapter.d.ts +50 -0
  204. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -0
  205. package/dist/src/adapters/gemini/adapter.js +281 -0
  206. package/dist/src/adapters/gemini/adapter.js.map +1 -0
  207. package/dist/src/adapters/generic/adapter.d.ts +86 -0
  208. package/dist/src/adapters/generic/adapter.d.ts.map +1 -0
  209. package/dist/src/adapters/generic/adapter.js +338 -0
  210. package/dist/src/adapters/generic/adapter.js.map +1 -0
  211. package/dist/src/cli/commands/abandon.d.ts +13 -0
  212. package/dist/src/cli/commands/abandon.d.ts.map +1 -0
  213. package/dist/src/cli/commands/abandon.js +15 -0
  214. package/dist/src/cli/commands/abandon.js.map +1 -0
  215. package/dist/src/cli/commands/import-docs.d.ts +21 -0
  216. package/dist/src/cli/commands/import-docs.d.ts.map +1 -0
  217. package/dist/src/cli/commands/import-docs.js +146 -0
  218. package/dist/src/cli/commands/import-docs.js.map +1 -0
  219. package/dist/src/cli/commands/init-multiproject.d.ts +11 -0
  220. package/dist/src/cli/commands/init-multiproject.d.ts.map +1 -0
  221. package/dist/src/cli/commands/init-multiproject.js +202 -0
  222. package/dist/src/cli/commands/init-multiproject.js.map +1 -0
  223. package/dist/src/cli/commands/init.d.ts +9 -0
  224. package/dist/src/cli/commands/init.d.ts.map +1 -0
  225. package/dist/src/cli/commands/init.js +1205 -0
  226. package/dist/src/cli/commands/init.js.map +1 -0
  227. package/dist/src/cli/commands/install.d.ts +9 -0
  228. package/dist/src/cli/commands/install.d.ts.map +1 -0
  229. package/dist/src/cli/commands/install.js +127 -0
  230. package/dist/src/cli/commands/install.js.map +1 -0
  231. package/dist/src/cli/commands/list.d.ts +8 -0
  232. package/dist/src/cli/commands/list.d.ts.map +1 -0
  233. package/dist/src/cli/commands/list.js +119 -0
  234. package/dist/src/cli/commands/list.js.map +1 -0
  235. package/dist/src/cli/commands/migrate-to-multiproject.d.ts +37 -0
  236. package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  237. package/dist/src/cli/commands/migrate-to-multiproject.js +189 -0
  238. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -0
  239. package/dist/src/cli/commands/migrate-to-profiles.d.ts +25 -0
  240. package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  241. package/dist/src/cli/commands/migrate-to-profiles.js +350 -0
  242. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -0
  243. package/dist/src/cli/commands/pause.d.ts +13 -0
  244. package/dist/src/cli/commands/pause.d.ts.map +1 -0
  245. package/dist/src/cli/commands/pause.js +15 -0
  246. package/dist/src/cli/commands/pause.js.map +1 -0
  247. package/dist/src/cli/commands/qa.d.ts +54 -0
  248. package/dist/src/cli/commands/qa.d.ts.map +1 -0
  249. package/dist/src/cli/commands/qa.js +98 -0
  250. package/dist/src/cli/commands/qa.js.map +1 -0
  251. package/dist/src/cli/commands/resume.d.ts +12 -0
  252. package/dist/src/cli/commands/resume.d.ts.map +1 -0
  253. package/dist/src/cli/commands/resume.js +14 -0
  254. package/dist/src/cli/commands/resume.js.map +1 -0
  255. package/dist/src/cli/commands/status.d.ts +12 -0
  256. package/dist/src/cli/commands/status.d.ts.map +1 -0
  257. package/dist/src/cli/commands/status.js +23 -0
  258. package/dist/src/cli/commands/status.js.map +1 -0
  259. package/dist/src/cli/commands/switch-project.d.ts +13 -0
  260. package/dist/src/cli/commands/switch-project.d.ts.map +1 -0
  261. package/dist/src/cli/commands/switch-project.js +91 -0
  262. package/dist/src/cli/commands/switch-project.js.map +1 -0
  263. package/dist/src/cli/commands/validate-jira.d.ts +35 -0
  264. package/dist/src/cli/commands/validate-jira.d.ts.map +1 -0
  265. package/dist/src/cli/commands/validate-jira.js +112 -0
  266. package/dist/src/cli/commands/validate-jira.js.map +1 -0
  267. package/dist/src/cli/commands/validate-plugins.d.ts +41 -0
  268. package/dist/src/cli/commands/validate-plugins.d.ts.map +1 -0
  269. package/dist/src/cli/commands/validate-plugins.js +171 -0
  270. package/dist/src/cli/commands/validate-plugins.js.map +1 -0
  271. package/dist/src/cli/helpers/issue-tracker/ado.d.ts +57 -0
  272. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
  273. package/dist/src/cli/helpers/issue-tracker/ado.js +243 -0
  274. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -0
  275. package/dist/src/cli/helpers/issue-tracker/github.d.ts +65 -0
  276. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -0
  277. package/dist/src/cli/helpers/issue-tracker/github.js +426 -0
  278. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -0
  279. package/dist/src/cli/helpers/issue-tracker/index.d.ts +22 -0
  280. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -0
  281. package/dist/src/cli/helpers/issue-tracker/index.js +314 -0
  282. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -0
  283. package/dist/src/cli/helpers/issue-tracker/jira.d.ts +61 -0
  284. package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
  285. package/dist/src/cli/helpers/issue-tracker/jira.js +404 -0
  286. package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -0
  287. package/dist/src/cli/helpers/issue-tracker/types.d.ts +107 -0
  288. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -0
  289. package/dist/src/cli/helpers/issue-tracker/types.js +16 -0
  290. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -0
  291. package/dist/src/cli/helpers/issue-tracker/utils.d.ts +112 -0
  292. package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
  293. package/dist/src/cli/helpers/issue-tracker/utils.js +247 -0
  294. package/dist/src/cli/helpers/issue-tracker/utils.js.map +1 -0
  295. package/dist/src/core/agent-model-manager.d.ts +52 -0
  296. package/dist/src/core/agent-model-manager.d.ts.map +1 -0
  297. package/dist/src/core/agent-model-manager.js +120 -0
  298. package/dist/src/core/agent-model-manager.js.map +1 -0
  299. package/dist/src/core/brownfield/analyzer.d.ts +86 -0
  300. package/dist/src/core/brownfield/analyzer.d.ts.map +1 -0
  301. package/dist/src/core/brownfield/analyzer.js +365 -0
  302. package/dist/src/core/brownfield/analyzer.js.map +1 -0
  303. package/dist/src/core/brownfield/importer.d.ts +76 -0
  304. package/dist/src/core/brownfield/importer.d.ts.map +1 -0
  305. package/dist/src/core/brownfield/importer.js +287 -0
  306. package/dist/src/core/brownfield/importer.js.map +1 -0
  307. package/dist/src/core/config-manager.d.ts +47 -0
  308. package/dist/src/core/config-manager.d.ts.map +1 -0
  309. package/dist/src/core/config-manager.js +136 -0
  310. package/dist/src/core/config-manager.js.map +1 -0
  311. package/dist/src/core/cost-tracker.d.ts +108 -0
  312. package/dist/src/core/cost-tracker.d.ts.map +1 -0
  313. package/dist/src/core/cost-tracker.js +281 -0
  314. package/dist/src/core/cost-tracker.js.map +1 -0
  315. package/dist/src/core/credentials-manager.d.ts +107 -0
  316. package/dist/src/core/credentials-manager.d.ts.map +1 -0
  317. package/dist/src/core/credentials-manager.js +457 -0
  318. package/dist/src/core/credentials-manager.js.map +1 -0
  319. package/dist/src/core/i18n/language-detector.d.ts +29 -0
  320. package/dist/src/core/i18n/language-detector.d.ts.map +1 -0
  321. package/dist/src/core/i18n/language-detector.js +143 -0
  322. package/dist/src/core/i18n/language-detector.js.map +1 -0
  323. package/dist/src/core/i18n/language-manager.d.ts +101 -0
  324. package/dist/src/core/i18n/language-manager.d.ts.map +1 -0
  325. package/dist/src/core/i18n/language-manager.js +232 -0
  326. package/dist/src/core/i18n/language-manager.js.map +1 -0
  327. package/dist/src/core/i18n/language-registry.d.ts +44 -0
  328. package/dist/src/core/i18n/language-registry.d.ts.map +1 -0
  329. package/dist/src/core/i18n/language-registry.js +234 -0
  330. package/dist/src/core/i18n/language-registry.js.map +1 -0
  331. package/dist/src/core/i18n/locale-manager.d.ts +62 -0
  332. package/dist/src/core/i18n/locale-manager.d.ts.map +1 -0
  333. package/dist/src/core/i18n/locale-manager.js +137 -0
  334. package/dist/src/core/i18n/locale-manager.js.map +1 -0
  335. package/dist/src/core/i18n/system-prompt-injector.d.ts +33 -0
  336. package/dist/src/core/i18n/system-prompt-injector.d.ts.map +1 -0
  337. package/dist/src/core/i18n/system-prompt-injector.js +131 -0
  338. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -0
  339. package/dist/src/core/i18n/types.d.ts +151 -0
  340. package/dist/src/core/i18n/types.d.ts.map +1 -0
  341. package/dist/src/core/i18n/types.js +11 -0
  342. package/dist/src/core/i18n/types.js.map +1 -0
  343. package/dist/src/core/increment/limits.d.ts +68 -0
  344. package/dist/src/core/increment/limits.d.ts.map +1 -0
  345. package/dist/src/core/increment/limits.js +224 -0
  346. package/dist/src/core/increment/limits.js.map +1 -0
  347. package/dist/src/core/increment/metadata-manager.d.ts +114 -0
  348. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -0
  349. package/dist/src/core/increment/metadata-manager.js +320 -0
  350. package/dist/src/core/increment/metadata-manager.js.map +1 -0
  351. package/dist/src/core/increment/status-commands.d.ts +43 -0
  352. package/dist/src/core/increment/status-commands.d.ts.map +1 -0
  353. package/dist/src/core/increment/status-commands.js +277 -0
  354. package/dist/src/core/increment/status-commands.js.map +1 -0
  355. package/dist/src/core/increment-status.d.ts +72 -0
  356. package/dist/src/core/increment-status.d.ts.map +1 -0
  357. package/dist/src/core/increment-status.js +227 -0
  358. package/dist/src/core/increment-status.js.map +1 -0
  359. package/dist/src/core/model-selector.d.ts +57 -0
  360. package/dist/src/core/model-selector.d.ts.map +1 -0
  361. package/dist/src/core/model-selector.js +115 -0
  362. package/dist/src/core/model-selector.js.map +1 -0
  363. package/dist/src/core/phase-detector.d.ts +62 -0
  364. package/dist/src/core/phase-detector.d.ts.map +1 -0
  365. package/dist/src/core/phase-detector.js +229 -0
  366. package/dist/src/core/phase-detector.js.map +1 -0
  367. package/dist/src/core/plugin-loader.d.ts +131 -0
  368. package/dist/src/core/plugin-loader.d.ts.map +1 -0
  369. package/dist/src/core/plugin-loader.js +421 -0
  370. package/dist/src/core/plugin-loader.js.map +1 -0
  371. package/dist/src/core/project-manager.d.ts +127 -0
  372. package/dist/src/core/project-manager.d.ts.map +1 -0
  373. package/dist/src/core/project-manager.js +524 -0
  374. package/dist/src/core/project-manager.js.map +1 -0
  375. package/dist/src/core/project-structure-detector.d.ts +92 -0
  376. package/dist/src/core/project-structure-detector.d.ts.map +1 -0
  377. package/dist/src/core/project-structure-detector.js +289 -0
  378. package/dist/src/core/project-structure-detector.js.map +1 -0
  379. package/dist/src/core/qa/qa-runner.d.ts +16 -0
  380. package/dist/src/core/qa/qa-runner.d.ts.map +1 -0
  381. package/dist/src/core/qa/qa-runner.js +404 -0
  382. package/dist/src/core/qa/qa-runner.js.map +1 -0
  383. package/dist/src/core/qa/quality-gate-decider.d.ts +53 -0
  384. package/dist/src/core/qa/quality-gate-decider.d.ts.map +1 -0
  385. package/dist/src/core/qa/quality-gate-decider.js +268 -0
  386. package/dist/src/core/qa/quality-gate-decider.js.map +1 -0
  387. package/dist/src/core/qa/risk-calculator.d.ts +126 -0
  388. package/dist/src/core/qa/risk-calculator.d.ts.map +1 -0
  389. package/dist/src/core/qa/risk-calculator.js +247 -0
  390. package/dist/src/core/qa/risk-calculator.js.map +1 -0
  391. package/dist/src/core/qa/types.d.ts +315 -0
  392. package/dist/src/core/qa/types.d.ts.map +1 -0
  393. package/dist/src/core/qa/types.js +8 -0
  394. package/dist/src/core/qa/types.js.map +1 -0
  395. package/dist/src/core/rfc-generator-v2.d.ts +149 -0
  396. package/dist/src/core/rfc-generator-v2.d.ts.map +1 -0
  397. package/dist/src/core/rfc-generator-v2.js +399 -0
  398. package/dist/src/core/rfc-generator-v2.js.map +1 -0
  399. package/dist/src/core/sync/bidirectional-engine.d.ts +110 -0
  400. package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -0
  401. package/dist/src/core/sync/bidirectional-engine.js +356 -0
  402. package/dist/src/core/sync/bidirectional-engine.js.map +1 -0
  403. package/dist/src/core/sync/folder-mapper.d.ts +71 -0
  404. package/dist/src/core/sync/folder-mapper.d.ts.map +1 -0
  405. package/dist/src/core/sync/folder-mapper.js +168 -0
  406. package/dist/src/core/sync/folder-mapper.js.map +1 -0
  407. package/dist/src/core/sync/profile-manager.d.ts +72 -0
  408. package/dist/src/core/sync/profile-manager.d.ts.map +1 -0
  409. package/dist/src/core/sync/profile-manager.js +338 -0
  410. package/dist/src/core/sync/profile-manager.js.map +1 -0
  411. package/dist/src/core/sync/profile-selector.d.ts +52 -0
  412. package/dist/src/core/sync/profile-selector.d.ts.map +1 -0
  413. package/dist/src/core/sync/profile-selector.js +179 -0
  414. package/dist/src/core/sync/profile-selector.js.map +1 -0
  415. package/dist/src/core/sync/profile-validator.d.ts +52 -0
  416. package/dist/src/core/sync/profile-validator.d.ts.map +1 -0
  417. package/dist/src/core/sync/profile-validator.js +225 -0
  418. package/dist/src/core/sync/profile-validator.js.map +1 -0
  419. package/dist/src/core/sync/project-context.d.ts +81 -0
  420. package/dist/src/core/sync/project-context.d.ts.map +1 -0
  421. package/dist/src/core/sync/project-context.js +354 -0
  422. package/dist/src/core/sync/project-context.js.map +1 -0
  423. package/dist/src/core/sync/rate-limiter.d.ts +116 -0
  424. package/dist/src/core/sync/rate-limiter.d.ts.map +1 -0
  425. package/dist/src/core/sync/rate-limiter.js +308 -0
  426. package/dist/src/core/sync/rate-limiter.js.map +1 -0
  427. package/dist/src/core/sync/time-range-selector.d.ts +48 -0
  428. package/dist/src/core/sync/time-range-selector.d.ts.map +1 -0
  429. package/dist/src/core/sync/time-range-selector.js +224 -0
  430. package/dist/src/core/sync/time-range-selector.js.map +1 -0
  431. package/dist/src/core/types/config.d.ts +90 -0
  432. package/dist/src/core/types/config.d.ts.map +1 -0
  433. package/dist/src/core/types/config.js +37 -0
  434. package/dist/src/core/types/config.js.map +1 -0
  435. package/dist/src/core/types/increment-metadata.d.ts +120 -0
  436. package/dist/src/core/types/increment-metadata.d.ts.map +1 -0
  437. package/dist/src/core/types/increment-metadata.js +138 -0
  438. package/dist/src/core/types/increment-metadata.js.map +1 -0
  439. package/dist/src/core/types/plugin.d.ts +283 -0
  440. package/dist/src/core/types/plugin.d.ts.map +1 -0
  441. package/dist/src/core/types/plugin.js +49 -0
  442. package/dist/src/core/types/plugin.js.map +1 -0
  443. package/dist/src/core/types/sync-profile.d.ts +403 -0
  444. package/dist/src/core/types/sync-profile.d.ts.map +1 -0
  445. package/dist/src/core/types/sync-profile.js +55 -0
  446. package/dist/src/core/types/sync-profile.js.map +1 -0
  447. package/dist/src/hooks/lib/types/reflection-types.d.ts +125 -0
  448. package/dist/src/hooks/lib/types/reflection-types.d.ts.map +1 -0
  449. package/dist/src/hooks/lib/types/reflection-types.js +54 -0
  450. package/dist/src/hooks/lib/types/reflection-types.js.map +1 -0
  451. package/dist/src/integrations/ado/ado-client.d.ts +127 -0
  452. package/dist/src/integrations/ado/ado-client.d.ts.map +1 -0
  453. package/dist/src/integrations/ado/ado-client.js +416 -0
  454. package/dist/src/integrations/ado/ado-client.js.map +1 -0
  455. package/dist/src/integrations/jira/jira-client.d.ts +139 -0
  456. package/dist/src/integrations/jira/jira-client.d.ts.map +1 -0
  457. package/dist/src/integrations/jira/jira-client.js +386 -0
  458. package/dist/src/integrations/jira/jira-client.js.map +1 -0
  459. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  460. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  461. package/dist/src/integrations/jira/jira-incremental-mapper.js +474 -0
  462. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -0
  463. package/dist/src/integrations/jira/jira-mapper.d.ts +105 -0
  464. package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -0
  465. package/dist/src/integrations/jira/jira-mapper.js +494 -0
  466. package/dist/src/integrations/jira/jira-mapper.js.map +1 -0
  467. package/dist/src/metrics/calculators/change-failure-rate.d.ts +22 -0
  468. package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +1 -0
  469. package/dist/src/metrics/calculators/change-failure-rate.js +70 -0
  470. package/dist/src/metrics/calculators/change-failure-rate.js.map +1 -0
  471. package/dist/src/metrics/calculators/deployment-frequency.d.ts +20 -0
  472. package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +1 -0
  473. package/dist/src/metrics/calculators/deployment-frequency.js +61 -0
  474. package/dist/src/metrics/calculators/deployment-frequency.js.map +1 -0
  475. package/dist/src/metrics/calculators/lead-time.d.ts +22 -0
  476. package/dist/src/metrics/calculators/lead-time.d.ts.map +1 -0
  477. package/dist/src/metrics/calculators/lead-time.js +82 -0
  478. package/dist/src/metrics/calculators/lead-time.js.map +1 -0
  479. package/dist/src/metrics/calculators/mttr.d.ts +21 -0
  480. package/dist/src/metrics/calculators/mttr.d.ts.map +1 -0
  481. package/dist/src/metrics/calculators/mttr.js +60 -0
  482. package/dist/src/metrics/calculators/mttr.js.map +1 -0
  483. package/dist/src/metrics/dora-calculator.d.ts +28 -0
  484. package/dist/src/metrics/dora-calculator.d.ts.map +1 -0
  485. package/dist/src/metrics/dora-calculator.js +117 -0
  486. package/dist/src/metrics/dora-calculator.js.map +1 -0
  487. package/dist/src/metrics/github-client.d.ts +51 -0
  488. package/dist/src/metrics/github-client.d.ts.map +1 -0
  489. package/dist/src/metrics/github-client.js +133 -0
  490. package/dist/src/metrics/github-client.js.map +1 -0
  491. package/dist/src/metrics/report-generator.d.ts +17 -0
  492. package/dist/src/metrics/report-generator.d.ts.map +1 -0
  493. package/dist/src/metrics/report-generator.js +403 -0
  494. package/dist/src/metrics/report-generator.js.map +1 -0
  495. package/dist/src/metrics/types.d.ts +112 -0
  496. package/dist/src/metrics/types.d.ts.map +1 -0
  497. package/dist/src/metrics/types.js +10 -0
  498. package/dist/src/metrics/types.js.map +1 -0
  499. package/dist/src/metrics/utils/percentile.d.ts +25 -0
  500. package/dist/src/metrics/utils/percentile.d.ts.map +1 -0
  501. package/dist/src/metrics/utils/percentile.js +46 -0
  502. package/dist/src/metrics/utils/percentile.js.map +1 -0
  503. package/dist/src/metrics/utils/tier-classifier.d.ts +61 -0
  504. package/dist/src/metrics/utils/tier-classifier.d.ts.map +1 -0
  505. package/dist/src/metrics/utils/tier-classifier.js +100 -0
  506. package/dist/src/metrics/utils/tier-classifier.js.map +1 -0
  507. package/dist/src/testing/test-generator.d.ts +117 -0
  508. package/dist/src/testing/test-generator.d.ts.map +1 -0
  509. package/dist/src/testing/test-generator.js +370 -0
  510. package/dist/src/testing/test-generator.js.map +1 -0
  511. package/dist/src/types/cost-tracking.d.ts +43 -0
  512. package/dist/src/types/cost-tracking.d.ts.map +1 -0
  513. package/dist/src/types/cost-tracking.js +8 -0
  514. package/dist/src/types/cost-tracking.js.map +1 -0
  515. package/dist/src/types/model-selection.d.ts +53 -0
  516. package/dist/src/types/model-selection.d.ts.map +1 -0
  517. package/dist/src/types/model-selection.js +12 -0
  518. package/dist/src/types/model-selection.js.map +1 -0
  519. package/dist/src/utils/agents-md-compiler.d.ts +68 -0
  520. package/dist/src/utils/agents-md-compiler.d.ts.map +1 -0
  521. package/dist/src/utils/agents-md-compiler.js +420 -0
  522. package/dist/src/utils/agents-md-compiler.js.map +1 -0
  523. package/dist/src/utils/auth-helpers.d.ts +58 -0
  524. package/dist/src/utils/auth-helpers.d.ts.map +1 -0
  525. package/dist/src/utils/auth-helpers.js +108 -0
  526. package/dist/src/utils/auth-helpers.js.map +1 -0
  527. package/dist/src/utils/auto-install.d.ts +47 -0
  528. package/dist/src/utils/auto-install.d.ts.map +1 -0
  529. package/dist/src/utils/auto-install.js +211 -0
  530. package/dist/src/utils/auto-install.js.map +1 -0
  531. package/dist/src/utils/claude-cli-detector.d.ts +75 -0
  532. package/dist/src/utils/claude-cli-detector.d.ts.map +1 -0
  533. package/dist/src/utils/claude-cli-detector.js +285 -0
  534. package/dist/src/utils/claude-cli-detector.js.map +1 -0
  535. package/dist/src/utils/cost-reporter.d.ts +58 -0
  536. package/dist/src/utils/cost-reporter.d.ts.map +1 -0
  537. package/dist/src/utils/cost-reporter.js +224 -0
  538. package/dist/src/utils/cost-reporter.js.map +1 -0
  539. package/dist/src/utils/docs-preview/config-generator.d.ts +46 -0
  540. package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -0
  541. package/dist/src/utils/docs-preview/config-generator.js +377 -0
  542. package/dist/src/utils/docs-preview/config-generator.js.map +1 -0
  543. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +38 -0
  544. package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +1 -0
  545. package/dist/src/utils/docs-preview/docusaurus-setup.js +177 -0
  546. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -0
  547. package/dist/src/utils/docs-preview/index.d.ts +7 -0
  548. package/dist/src/utils/docs-preview/index.d.ts.map +1 -0
  549. package/dist/src/utils/docs-preview/index.js +7 -0
  550. package/dist/src/utils/docs-preview/index.js.map +1 -0
  551. package/dist/src/utils/docs-preview/package-installer.d.ts +42 -0
  552. package/dist/src/utils/docs-preview/package-installer.d.ts.map +1 -0
  553. package/dist/src/utils/docs-preview/package-installer.js +182 -0
  554. package/dist/src/utils/docs-preview/package-installer.js.map +1 -0
  555. package/dist/src/utils/docs-preview/server-manager.d.ts +30 -0
  556. package/dist/src/utils/docs-preview/server-manager.d.ts.map +1 -0
  557. package/dist/src/utils/docs-preview/server-manager.js +212 -0
  558. package/dist/src/utils/docs-preview/server-manager.js.map +1 -0
  559. package/dist/src/utils/docs-preview/sidebar-builder.d.ts +32 -0
  560. package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +1 -0
  561. package/dist/src/utils/docs-preview/sidebar-builder.js +202 -0
  562. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -0
  563. package/dist/src/utils/docs-preview/types.d.ts +57 -0
  564. package/dist/src/utils/docs-preview/types.d.ts.map +1 -0
  565. package/dist/src/utils/docs-preview/types.js +2 -0
  566. package/dist/src/utils/docs-preview/types.js.map +1 -0
  567. package/dist/src/utils/env-file.d.ts +88 -0
  568. package/dist/src/utils/env-file.d.ts.map +1 -0
  569. package/dist/src/utils/env-file.js +180 -0
  570. package/dist/src/utils/env-file.js.map +1 -0
  571. package/dist/src/utils/env-multi-project-parser.d.ts +220 -0
  572. package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -0
  573. package/dist/src/utils/env-multi-project-parser.js +403 -0
  574. package/dist/src/utils/env-multi-project-parser.js.map +1 -0
  575. package/dist/src/utils/esm-helpers.d.ts +50 -0
  576. package/dist/src/utils/esm-helpers.d.ts.map +1 -0
  577. package/dist/src/utils/esm-helpers.js +57 -0
  578. package/dist/src/utils/esm-helpers.js.map +1 -0
  579. package/dist/src/utils/execFileNoThrow.d.ts +99 -0
  580. package/dist/src/utils/execFileNoThrow.d.ts.map +1 -0
  581. package/dist/src/utils/execFileNoThrow.js +137 -0
  582. package/dist/src/utils/execFileNoThrow.js.map +1 -0
  583. package/dist/src/utils/external-resource-validator.d.ts +102 -0
  584. package/dist/src/utils/external-resource-validator.d.ts.map +1 -0
  585. package/dist/src/utils/external-resource-validator.js +400 -0
  586. package/dist/src/utils/external-resource-validator.js.map +1 -0
  587. package/dist/src/utils/generate-skills-index.d.ts +24 -0
  588. package/dist/src/utils/generate-skills-index.d.ts.map +1 -0
  589. package/dist/src/utils/generate-skills-index.js +410 -0
  590. package/dist/src/utils/generate-skills-index.js.map +1 -0
  591. package/dist/src/utils/model-selection.d.ts +75 -0
  592. package/dist/src/utils/model-selection.d.ts.map +1 -0
  593. package/dist/src/utils/model-selection.js +204 -0
  594. package/dist/src/utils/model-selection.js.map +1 -0
  595. package/dist/src/utils/plugin-validator.d.ts +161 -0
  596. package/dist/src/utils/plugin-validator.d.ts.map +1 -0
  597. package/dist/src/utils/plugin-validator.js +558 -0
  598. package/dist/src/utils/plugin-validator.js.map +1 -0
  599. package/dist/src/utils/pricing-constants.d.ts +70 -0
  600. package/dist/src/utils/pricing-constants.d.ts.map +1 -0
  601. package/dist/src/utils/pricing-constants.js +71 -0
  602. package/dist/src/utils/pricing-constants.js.map +1 -0
  603. package/dist/src/utils/project-detection.d.ts +141 -0
  604. package/dist/src/utils/project-detection.d.ts.map +1 -0
  605. package/dist/src/utils/project-detection.js +321 -0
  606. package/dist/src/utils/project-detection.js.map +1 -0
  607. package/dist/src/utils/string-utils.d.ts +40 -0
  608. package/dist/src/utils/string-utils.d.ts.map +1 -0
  609. package/dist/src/utils/string-utils.js +58 -0
  610. package/dist/src/utils/string-utils.js.map +1 -0
  611. package/dist/src/utils/translation.d.ts +187 -0
  612. package/dist/src/utils/translation.d.ts.map +1 -0
  613. package/dist/src/utils/translation.js +414 -0
  614. package/dist/src/utils/translation.js.map +1 -0
  615. package/dist/utils/plugin-validator.d.ts.map +1 -1
  616. package/dist/utils/plugin-validator.js +0 -7
  617. package/dist/utils/plugin-validator.js.map +1 -1
  618. package/package.json +3 -2
  619. package/plugins/specweave/agents/reflective-reviewer/AGENT.md +535 -0
  620. package/plugins/specweave/hooks/post-first-increment.sh +10 -28
  621. package/plugins/specweave/hooks/post-increment-planning.sh +261 -1
  622. package/plugins/specweave/hooks/post-task-completion.sh +26 -0
  623. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +269 -0
  624. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +264 -0
  625. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +178 -0
  626. package/plugins/specweave/lib/hooks/reflection-config-loader.ts +156 -0
  627. package/plugins/specweave/lib/hooks/reflection-parser.ts +484 -0
  628. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +306 -0
  629. package/plugins/specweave/lib/hooks/reflection-storage.ts +369 -0
  630. package/plugins/specweave/lib/hooks/run-self-reflection.ts +258 -0
  631. package/plugins/specweave/lib/hooks/sync-living-docs.ts +147 -0
  632. package/plugins/specweave/lib/hooks/translate-file.ts +428 -0
  633. package/plugins/specweave/lib/hooks/translate-living-docs.ts +224 -0
  634. package/plugins/specweave/lib/hooks/types/reflection-types.ts +193 -0
  635. package/plugins/specweave/lib/hooks/update-tasks-md.ts +256 -0
  636. package/plugins/specweave/skills/SKILLS-INDEX.md +2 -2
  637. package/plugins/specweave/skills/increment-planner/SKILL.md +21 -92
  638. package/plugins/specweave/skills/plugin-expert/SKILL.md +0 -4
  639. package/plugins/specweave/skills/plugin-installer/SKILL.md +41 -28
  640. package/plugins/specweave/skills/plugin-validator/SKILL.md +0 -1
  641. package/plugins/specweave/skills/project-kickstarter/SKILL.md +3 -3
  642. package/plugins/specweave/skills/spec-generator/SKILL.md +3 -3
  643. package/plugins/specweave-ado/agents/ado-manager/AGENT.md +2 -0
  644. package/plugins/specweave-ado/commands/specweave-ado-sync.md +102 -9
  645. package/plugins/specweave-ado/skills/ado-sync/SKILL.md +7 -3
  646. package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +21 -0
  647. package/plugins/specweave-docs-preview/commands/build.md +489 -0
  648. package/plugins/specweave-docs-preview/commands/preview.md +330 -0
  649. package/plugins/specweave-docs-preview/skills/docs-preview/SKILL.md +386 -0
  650. package/plugins/specweave-github/agents/github-manager/AGENT.md +14 -4
  651. package/plugins/specweave-github/commands/specweave-github-sync.md +60 -11
  652. package/plugins/specweave-github/skills/github-sync/SKILL.md +3 -1
  653. package/plugins/specweave-jira/agents/jira-manager/AGENT.md +18 -8
  654. package/plugins/specweave-jira/commands/specweave-jira-sync.md +62 -19
  655. package/plugins/specweave-jira/skills/jira-sync/SKILL.md +5 -3
  656. package/plugins/specweave/skills/translator/SKILL.md.bak +0 -172
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Documentation Generator for Adapters
3
+ *
4
+ * Generates markdown documentation from actual skills/agents/commands
5
+ * for use in adapter instruction files (.cursorrules, instructions.md, etc.)
6
+ */
7
+ import fs from 'fs-extra';
8
+ import * as path from 'path';
9
+ import * as YAML from 'yaml';
10
+ import { getDirname } from '../utils/esm-helpers.js';
11
+ const __dirname = getDirname(import.meta.url);
12
+ /**
13
+ * Documentation Generator
14
+ */
15
+ export class DocGenerator {
16
+ constructor(skillsDir = path.join(__dirname, '../skills'), agentsDir = path.join(__dirname, '../agents'), commandsDir = path.join(__dirname, '../commands')) {
17
+ this.skillsDir = skillsDir;
18
+ this.agentsDir = agentsDir;
19
+ this.commandsDir = commandsDir;
20
+ }
21
+ /**
22
+ * Extract skills metadata from SKILL.md files
23
+ */
24
+ async extractSkills() {
25
+ const skills = [];
26
+ if (!await fs.pathExists(this.skillsDir)) {
27
+ return skills;
28
+ }
29
+ const skillFolders = await fs.readdir(this.skillsDir);
30
+ for (const folder of skillFolders) {
31
+ const skillPath = path.join(this.skillsDir, folder);
32
+ const skillFile = path.join(skillPath, 'SKILL.md');
33
+ if (await fs.pathExists(skillFile)) {
34
+ const content = await fs.readFile(skillFile, 'utf-8');
35
+ const metadata = this.extractYAMLFrontmatter(content);
36
+ if (metadata && metadata.name && metadata.description) {
37
+ skills.push({
38
+ name: metadata.name,
39
+ description: metadata.description,
40
+ location: `.claude/skills/${folder}/SKILL.md`
41
+ });
42
+ }
43
+ }
44
+ }
45
+ return skills.sort((a, b) => a.name.localeCompare(b.name));
46
+ }
47
+ /**
48
+ * Extract agents metadata from AGENT.md files
49
+ */
50
+ async extractAgents() {
51
+ const agents = [];
52
+ if (!await fs.pathExists(this.agentsDir)) {
53
+ return agents;
54
+ }
55
+ const agentFolders = await fs.readdir(this.agentsDir);
56
+ for (const folder of agentFolders) {
57
+ const agentPath = path.join(this.agentsDir, folder);
58
+ const agentFile = path.join(agentPath, 'AGENT.md');
59
+ if (await fs.pathExists(agentFile)) {
60
+ const content = await fs.readFile(agentFile, 'utf-8');
61
+ // Extract role from content (look for "# [Role]" heading)
62
+ const roleMatch = content.match(/^#\s+(.+?)$/m);
63
+ const role = roleMatch ? roleMatch[1].trim() : folder;
64
+ // Extract description (first paragraph after frontmatter)
65
+ const descriptionMatch = content.match(/---\n[\s\S]*?---\n\n(.+?)(?:\n\n|$)/);
66
+ const description = descriptionMatch ? descriptionMatch[1].trim() : `${role} agent`;
67
+ agents.push({
68
+ name: folder,
69
+ role: role,
70
+ description: description,
71
+ location: `.claude/agents/${folder}/AGENT.md`
72
+ });
73
+ }
74
+ }
75
+ return agents.sort((a, b) => a.name.localeCompare(b.name));
76
+ }
77
+ /**
78
+ * Extract commands metadata from .md files
79
+ */
80
+ async extractCommands() {
81
+ const commands = [];
82
+ if (!await fs.pathExists(this.commandsDir)) {
83
+ return commands;
84
+ }
85
+ const commandFiles = await fs.readdir(this.commandsDir);
86
+ for (const file of commandFiles) {
87
+ if (file.endsWith('.md') && file !== 'README.md') {
88
+ const commandPath = path.join(this.commandsDir, file);
89
+ const content = await fs.readFile(commandPath, 'utf-8');
90
+ // Extract description from first paragraph
91
+ const descriptionMatch = content.match(/^(.+?)(?:\n\n|$)/);
92
+ const description = descriptionMatch ? descriptionMatch[1].trim() : '';
93
+ const commandName = file.replace('.md', '');
94
+ commands.push({
95
+ name: commandName,
96
+ description: description,
97
+ location: `.claude/commands/${file}`
98
+ });
99
+ }
100
+ }
101
+ return commands.sort((a, b) => a.name.localeCompare(b.name));
102
+ }
103
+ /**
104
+ * Generate skills documentation for Cursor .cursorrules
105
+ */
106
+ async generateSkillsDocForCursor() {
107
+ const skills = await this.extractSkills();
108
+ let doc = '## Available Skills (Read SKILL.md when task matches)\n\n';
109
+ doc += 'SpecWeave skills are specialized capabilities. In Claude Code, they auto-activate.\n';
110
+ doc += 'In Cursor, you simulate by reading the skill file and following its workflow.\n\n';
111
+ for (const skill of skills) {
112
+ doc += `### ${skill.name}\n`;
113
+ doc += `**File**: \`${skill.location}\`\n`;
114
+ doc += `**Description**: ${skill.description}\n`;
115
+ doc += `**How to use**: Read the SKILL.md file and follow the workflow described\n\n`;
116
+ }
117
+ return doc;
118
+ }
119
+ /**
120
+ * Generate agents documentation for Cursor .cursorrules
121
+ */
122
+ async generateAgentsDocForCursor() {
123
+ const agents = await this.extractAgents();
124
+ let doc = '## Agent Roles (Adopt role when specialized expertise needed)\n\n';
125
+ doc += 'SpecWeave agents are specialized roles. In Claude Code, they have separate contexts.\n';
126
+ doc += 'In Cursor, you adopt the role\'s perspective and responsibilities.\n\n';
127
+ for (const agent of agents) {
128
+ doc += `### ${agent.role}\n`;
129
+ doc += `**File**: \`${agent.location}\`\n`;
130
+ doc += `**Description**: ${agent.description}\n`;
131
+ doc += `**When to adopt**: Say "Adopting ${agent.role} role..." and follow AGENT.md guidance\n\n`;
132
+ }
133
+ return doc;
134
+ }
135
+ /**
136
+ * Generate skills documentation for Copilot instructions.md
137
+ */
138
+ async generateSkillsDocForCopilot() {
139
+ const skills = await this.extractSkills();
140
+ let doc = '## Available Capabilities (SpecWeave Skills)\n\n';
141
+ doc += 'The project uses these specialized capabilities:\n\n';
142
+ for (const skill of skills) {
143
+ doc += `- **${skill.name}**: ${skill.description}\n`;
144
+ }
145
+ doc += '\n_Note: These are defined in `.claude/skills/` but work as documentation for code suggestions._\n\n';
146
+ return doc;
147
+ }
148
+ /**
149
+ * Generate agents documentation for Copilot instructions.md
150
+ */
151
+ async generateAgentsDocForCopilot() {
152
+ const agents = await this.extractAgents();
153
+ let doc = '## Project Roles (SpecWeave Agents)\n\n';
154
+ doc += 'Code in this project follows these role-based patterns:\n\n';
155
+ for (const agent of agents) {
156
+ doc += `- **${agent.role}**: ${agent.description}\n`;
157
+ }
158
+ doc += '\n_Note: These are defined in `.claude/agents/` but inform code patterns and suggestions._\n\n';
159
+ return doc;
160
+ }
161
+ /**
162
+ * Generate complete manual workflow for generic adapter
163
+ */
164
+ async generateManualWorkflow() {
165
+ const skills = await this.extractSkills();
166
+ const agents = await this.extractAgents();
167
+ const commands = await this.extractCommands();
168
+ let doc = '# SpecWeave Manual Workflow Guide\n\n';
169
+ doc += '_For use with ANY AI tool (ChatGPT, Claude web, Gemini, etc.)_\n\n';
170
+ doc += '---\n\n';
171
+ doc += '## What is SpecWeave?\n\n';
172
+ doc += 'SpecWeave is a spec-driven development framework where specifications are the source of truth.\n';
173
+ doc += 'This manual shows you how to use SpecWeave WITHOUT specialized tools (works with ANY AI).\n\n';
174
+ doc += '## Available Capabilities\n\n';
175
+ doc += 'While you can\'t auto-activate these like Claude Code, you can reference them:\n\n';
176
+ doc += '### Skills\n\n';
177
+ for (const skill of skills.slice(0, 10)) { // Top 10 skills
178
+ doc += `- **${skill.name}**: ${skill.description}\n`;
179
+ }
180
+ doc += `\n_...and ${skills.length - 10} more in \`.claude/skills/\`_\n\n`;
181
+ doc += '### Roles\n\n';
182
+ for (const agent of agents) {
183
+ doc += `- **${agent.role}**: ${agent.description}\n`;
184
+ }
185
+ doc += '\n';
186
+ doc += '## Step-by-Step: Creating a Feature\n\n';
187
+ doc += '### Step 1: Create Increment Folder\n\n';
188
+ doc += '```bash\n';
189
+ doc += 'mkdir -p .specweave/increments/0001-feature-name\n';
190
+ doc += '```\n\n';
191
+ doc += '### Step 2: Create spec.md (Act as Product Manager)\n\n';
192
+ doc += '_Copy this template to your AI and ask it to fill it out:_\n\n';
193
+ doc += '```markdown\n';
194
+ doc += '---\n';
195
+ doc += 'increment: 0001-feature-name\n';
196
+ doc += 'title: "Feature Title"\n';
197
+ doc += 'priority: P1\n';
198
+ doc += 'status: planned\n';
199
+ doc += '---\n\n';
200
+ doc += '# Increment 0001: Feature Name\n\n';
201
+ doc += '## Overview\n';
202
+ doc += '[Problem and solution]\n\n';
203
+ doc += '## User Stories\n';
204
+ doc += '[User stories with acceptance criteria]\n';
205
+ doc += '```\n\n';
206
+ doc += '### Step 3: Create plan.md (Act as Architect)\n\n';
207
+ doc += '_Copy this template to your AI:_\n\n';
208
+ doc += '```markdown\n';
209
+ doc += '# Technical Plan: Feature Name\n\n';
210
+ doc += '## Architecture\n';
211
+ doc += '[Component design]\n\n';
212
+ doc += '## Data Model\n';
213
+ doc += '[Database schema]\n';
214
+ doc += '```\n\n';
215
+ doc += '### Step 4: Create tasks.md\n\n';
216
+ doc += '```markdown\n';
217
+ doc += '# Implementation Tasks\n\n';
218
+ doc += '- [ ] T001: Task 1\n';
219
+ doc += '- [ ] T002: Task 2\n';
220
+ doc += '```\n\n';
221
+ doc += '### Step 5: Create context-manifest.yaml\n\n';
222
+ doc += '```yaml\n';
223
+ doc += 'spec_sections:\n';
224
+ doc += ' - .specweave/docs/internal/strategy/relevant-spec.md\n';
225
+ doc += 'documentation:\n';
226
+ doc += ' - .specweave/docs/internal/architecture/relevant-design.md\n';
227
+ doc += '```\n\n';
228
+ doc += '## Complete Workflow Reference\n\n';
229
+ doc += 'For detailed guidance, see SPECWEAVE.md in the project root.\n\n';
230
+ return doc;
231
+ }
232
+ /**
233
+ * Extract YAML frontmatter from markdown content
234
+ */
235
+ extractYAMLFrontmatter(content) {
236
+ const match = content.match(/^---\n([\s\S]*?)\n---/);
237
+ if (!match)
238
+ return null;
239
+ try {
240
+ return YAML.parse(match[1]);
241
+ }
242
+ catch (error) {
243
+ return null;
244
+ }
245
+ }
246
+ }
247
+ //# sourceMappingURL=doc-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-generator.js","sourceRoot":"","sources":["../../../src/adapters/doc-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Gemini CLI Adapter
3
+ *
4
+ * Semi-automation adapter for Google Gemini CLI.
5
+ * Uses universal AGENTS.md file for instructions.
6
+ *
7
+ * Gemini CLI features:
8
+ * - Open-source AI agent (Apache 2.0)
9
+ * - 1M token context window
10
+ * - ReAct loop with built-in tools
11
+ * - MCP (Model Context Protocol) support
12
+ * - Agent mode for multi-file tasks
13
+ */
14
+ import { AdapterBase } from '../adapter-base.js';
15
+ import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
16
+ export declare class GeminiAdapter extends AdapterBase {
17
+ name: string;
18
+ description: string;
19
+ automationLevel: "semi";
20
+ /**
21
+ * Detect if Gemini CLI is available
22
+ *
23
+ * Checks for:
24
+ * - gemini command in PATH
25
+ * - .gemini/ directory exists
26
+ * - AGENTS.md file exists (previously configured)
27
+ */
28
+ detect(): Promise<boolean>;
29
+ /**
30
+ * Get files to install for Gemini adapter
31
+ */
32
+ getFiles(): AdapterFile[];
33
+ /**
34
+ * Install Gemini adapter
35
+ */
36
+ install(options: AdapterOptions): Promise<void>;
37
+ /**
38
+ * Generate AGENTS.md file
39
+ */
40
+ private generateAgentsMd;
41
+ /**
42
+ * Post-installation instructions
43
+ */
44
+ postInstall(options: AdapterOptions): Promise<void>;
45
+ /**
46
+ * Get usage instructions for Gemini adapter
47
+ */
48
+ getInstructions(): string;
49
+ }
50
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/gemini/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtE,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAAwE;IACnF,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAQhC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAezB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAoL1B"}
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Gemini CLI Adapter
3
+ *
4
+ * Semi-automation adapter for Google Gemini CLI.
5
+ * Uses universal AGENTS.md file for instructions.
6
+ *
7
+ * Gemini CLI features:
8
+ * - Open-source AI agent (Apache 2.0)
9
+ * - 1M token context window
10
+ * - ReAct loop with built-in tools
11
+ * - MCP (Model Context Protocol) support
12
+ * - Agent mode for multi-file tasks
13
+ */
14
+ import * as path from 'path';
15
+ import fs from 'fs-extra';
16
+ import { AdapterBase } from '../adapter-base.js';
17
+ import { AgentsMdGenerator } from '../agents-md-generator.js';
18
+ import { getDirname } from '../../utils/esm-helpers.js';
19
+ const __dirname = getDirname(import.meta.url);
20
+ export class GeminiAdapter extends AdapterBase {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.name = 'gemini';
24
+ this.description = 'Gemini CLI adapter - Semi-automation with AGENTS.md and agent mode';
25
+ this.automationLevel = 'semi';
26
+ }
27
+ /**
28
+ * Detect if Gemini CLI is available
29
+ *
30
+ * Checks for:
31
+ * - gemini command in PATH
32
+ * - .gemini/ directory exists
33
+ * - AGENTS.md file exists (previously configured)
34
+ */
35
+ async detect() {
36
+ const hasGeminiCLI = await this.commandExists('gemini');
37
+ const hasGeminiDir = await this.fileExists('.gemini');
38
+ const hasAgentsMd = await this.fileExists('AGENTS.md');
39
+ return hasGeminiCLI || hasGeminiDir || hasAgentsMd;
40
+ }
41
+ /**
42
+ * Get files to install for Gemini adapter
43
+ */
44
+ getFiles() {
45
+ return [
46
+ {
47
+ sourcePath: 'AGENTS.md',
48
+ targetPath: 'AGENTS.md',
49
+ description: 'Universal SpecWeave instructions (works with all AI tools)'
50
+ },
51
+ {
52
+ sourcePath: 'README.md',
53
+ targetPath: '.gemini/README.md',
54
+ description: 'Gemini adapter documentation'
55
+ }
56
+ ];
57
+ }
58
+ /**
59
+ * Install Gemini adapter
60
+ */
61
+ async install(options) {
62
+ console.log('\n📦 Installing Gemini CLI Adapter (Semi-Automation)\n');
63
+ // Ensure .gemini directory exists
64
+ const geminiDir = path.join(options.projectPath, '.gemini');
65
+ await fs.ensureDir(geminiDir);
66
+ // Generate AGENTS.md
67
+ const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
68
+ await this.generateAgentsMd(agentsMdPath, options);
69
+ // Copy README
70
+ const readmePath = path.join(__dirname, 'README.md');
71
+ if (await fs.pathExists(readmePath)) {
72
+ await fs.copy(readmePath, path.join(geminiDir, 'README.md'));
73
+ }
74
+ console.log('\n✨ Gemini adapter installed!');
75
+ console.log('\n📋 Files created:');
76
+ console.log(' - AGENTS.md (universal instructions)');
77
+ console.log(' - .gemini/README.md (adapter documentation)');
78
+ }
79
+ /**
80
+ * Generate AGENTS.md file
81
+ */
82
+ async generateAgentsMd(targetPath, options) {
83
+ const generator = new AgentsMdGenerator(path.join(__dirname, '../../skills'), path.join(__dirname, '../../agents'), path.join(__dirname, '../../commands'));
84
+ const content = await generator.generate({
85
+ projectName: options.projectName,
86
+ projectPath: options.projectPath
87
+ });
88
+ await fs.writeFile(targetPath, content);
89
+ console.log(' ✅ AGENTS.md - Universal SpecWeave instructions');
90
+ }
91
+ /**
92
+ * Post-installation instructions
93
+ */
94
+ async postInstall(options) {
95
+ console.log(this.getInstructions());
96
+ }
97
+ /**
98
+ * Get usage instructions for Gemini adapter
99
+ */
100
+ getInstructions() {
101
+ return `
102
+ ================================================================
103
+ Gemini CLI Adapter - Semi-Automation
104
+ ================================================================
105
+
106
+ Your project is now configured for Gemini CLI with SEMI-automation!
107
+
108
+ WHAT THIS PROVIDES:
109
+
110
+ - AGENTS.md (Universal Instructions)
111
+ - Works with Gemini CLI AND other tools
112
+ - Auto-generated from actual skills/agents
113
+ - SpecWeave structure and workflows
114
+ - 1M token context window support
115
+
116
+ - Agent Mode Integration
117
+ - Multi-file task handling
118
+ - ReAct loop with built-in tools
119
+ - MCP support for extensibility
120
+
121
+ QUICK START:
122
+
123
+ 1. Install Gemini CLI (if not already installed):
124
+
125
+ npm install -g @google-cloud/gemini-cli
126
+
127
+ 2. Authenticate:
128
+
129
+ gemini auth
130
+
131
+ 3. Create your first feature:
132
+
133
+ gemini "Read AGENTS.md and create increment for user authentication"
134
+
135
+ Gemini will:
136
+ - Read AGENTS.md for SpecWeave context
137
+ - Adopt PM role: Create spec.md (WHAT/WHY)
138
+ - Adopt Architect role: Create plan.md (HOW)
139
+ - Create tasks.md
140
+ - Use agent mode for multi-file operations
141
+
142
+ 4. Continue development:
143
+
144
+ gemini "Implement task T001 from increment 0001"
145
+ gemini "Run tests for increment 0001"
146
+ gemini "Review and fix any issues"
147
+
148
+ HOW TO USE:
149
+
150
+ Gemini CLI reads AGENTS.md automatically when you reference it:
151
+
152
+ \`\`\`bash
153
+ # Explicit reference (recommended):
154
+ gemini "Read AGENTS.md and [your request]"
155
+
156
+ # Natural language:
157
+ gemini "Create a new feature following SpecWeave structure"
158
+
159
+ # With context:
160
+ gemini "Following the PM role in AGENTS.md, create requirements for payments"
161
+ \`\`\`
162
+
163
+ CONTEXT LOADING (70%+ Token Savings):
164
+
165
+ CRITICAL: Tell Gemini to read context-manifest.yaml first!
166
+
167
+ \`\`\`bash
168
+ gemini "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
169
+ \`\`\`
170
+
171
+ **Why this matters**:
172
+ - Gemini has 1M token context window
173
+ - But loading everything wastes tokens
174
+ - Context manifests = precise, efficient loading
175
+
176
+ FEATURES:
177
+
178
+ ✅ 1M Token Context Window
179
+ - Can handle large specifications
180
+ - Read entire codebase if needed
181
+
182
+ ✅ Agent Mode
183
+ - Multi-file task completion
184
+ - Automatic planning and execution
185
+ - Interactive approval before changes
186
+
187
+ ✅ Built-in Tools
188
+ - File operations
189
+ - Shell commands
190
+ - Google Search grounding
191
+ - Web fetching
192
+
193
+ ✅ MCP Support
194
+ - Extend with custom integrations
195
+ - Local or remote MCP servers
196
+
197
+ ✅ Free Tier
198
+ - Gemini 2.5 Pro included
199
+ - 60 requests/minute
200
+ - 1,000 requests/day
201
+
202
+ EXAMPLE WORKFLOWS:
203
+
204
+ 1. **Create Feature**:
205
+ \`\`\`bash
206
+ gemini "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure: spec.md (PM role), plan.md (Architect role), tasks.md"
207
+ \`\`\`
208
+
209
+ 2. **Implement Task**:
210
+ \`\`\`bash
211
+ gemini "Read increment 0002, implement task T001 (Setup Stripe SDK)"
212
+ \`\`\`
213
+
214
+ 3. **Fix Bug**:
215
+ \`\`\`bash
216
+ gemini "Read AGENTS.md and increment 0001. Fix authentication bug in login endpoint. Update tests."
217
+ \`\`\`
218
+
219
+ 4. **Review Code**:
220
+ \`\`\`bash
221
+ gemini "Adopt Tech Lead role from AGENTS.md. Review code in src/auth/ and provide feedback"
222
+ \`\`\`
223
+
224
+ TIPS & TRICKS:
225
+
226
+ 1. **Always Reference AGENTS.md**
227
+ - Ensures Gemini understands SpecWeave structure
228
+ - Provides role definitions (PM, Architect, etc.)
229
+
230
+ 2. **Use Agent Mode**
231
+ - For complex, multi-file tasks
232
+ - Gemini proposes plan before execution
233
+ - You approve changes
234
+
235
+ 3. **Leverage 1M Context Window**
236
+ - Can load large specs
237
+ - But still use context manifests for efficiency
238
+
239
+ 4. **MCP Integration**
240
+ - Connect to your tools (JIRA, GitHub, etc.)
241
+ - See: https://modelcontextprotocol.io/
242
+
243
+ 5. **Check Gemini Documentation**
244
+ - \`gemini --help\`
245
+ - https://developers.google.com/gemini-code-assist/docs/gemini-cli
246
+
247
+ COMPARISON:
248
+
249
+ | Feature | Claude Code | Gemini CLI |
250
+ |---------|-------------|------------|
251
+ | **Automation** | Full | Semi |
252
+ | **Skills** | Native | Via AGENTS.md |
253
+ | **Agents** | Native | Via AGENTS.md |
254
+ | **Context Window** | 200k | 1M (5x larger!) |
255
+ | **Cost** | Paid | Free tier available |
256
+ | **Open Source** | No | Yes (Apache 2.0) |
257
+
258
+ LIMITATIONS:
259
+
260
+ - No native skills/agents (manual role adoption via AGENTS.md)
261
+ - No hooks (can't auto-update docs on events)
262
+ - Requires explicit instruction referencing
263
+ - CLI-only (no IDE integration yet)
264
+
265
+ But still VERY powerful with 1M context and agent mode!
266
+
267
+ DOCUMENTATION:
268
+
269
+ - AGENTS.md: Universal SpecWeave instructions (READ THIS!)
270
+ - SPECWEAVE.md: Complete framework documentation
271
+ - .gemini/README.md: Gemini adapter guide
272
+ - https://developers.google.com/gemini-code-assist/docs/gemini-cli
273
+
274
+ You're ready to build with SpecWeave on Gemini CLI!
275
+
276
+ Pro tip: Leverage the 1M token context window for large specifications,
277
+ but always use context manifests for efficiency!
278
+ `;
279
+ }
280
+ }
281
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/adapters/gemini/adapter.ts"],"names":[],"mappings":"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"}