@ginkoai/cli 1.0.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 (711) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +230 -0
  3. package/dist/adapters/ai-adapter.d.ts +25 -0
  4. package/dist/adapters/ai-adapter.d.ts.map +1 -0
  5. package/dist/adapters/ai-adapter.js +21 -0
  6. package/dist/adapters/ai-adapter.js.map +1 -0
  7. package/dist/adapters/ai-completion.d.ts +35 -0
  8. package/dist/adapters/ai-completion.d.ts.map +1 -0
  9. package/dist/adapters/ai-completion.js +118 -0
  10. package/dist/adapters/ai-completion.js.map +1 -0
  11. package/dist/adapters/base.d.ts +64 -0
  12. package/dist/adapters/base.d.ts.map +1 -0
  13. package/dist/adapters/base.js +48 -0
  14. package/dist/adapters/base.js.map +1 -0
  15. package/dist/adapters/claude-adapter.d.ts +18 -0
  16. package/dist/adapters/claude-adapter.d.ts.map +1 -0
  17. package/dist/adapters/claude-adapter.js +73 -0
  18. package/dist/adapters/claude-adapter.js.map +1 -0
  19. package/dist/adapters/claude.d.ts +20 -0
  20. package/dist/adapters/claude.d.ts.map +1 -0
  21. package/dist/adapters/claude.js +91 -0
  22. package/dist/adapters/claude.js.map +1 -0
  23. package/dist/adapters/copilot-adapter.d.ts +16 -0
  24. package/dist/adapters/copilot-adapter.d.ts.map +1 -0
  25. package/dist/adapters/copilot-adapter.js +288 -0
  26. package/dist/adapters/copilot-adapter.js.map +1 -0
  27. package/dist/adapters/cursor-adapter.d.ts +22 -0
  28. package/dist/adapters/cursor-adapter.d.ts.map +1 -0
  29. package/dist/adapters/cursor-adapter.js +108 -0
  30. package/dist/adapters/cursor-adapter.js.map +1 -0
  31. package/dist/adapters/detector.d.ts +29 -0
  32. package/dist/adapters/detector.d.ts.map +1 -0
  33. package/dist/adapters/detector.js +132 -0
  34. package/dist/adapters/detector.js.map +1 -0
  35. package/dist/adapters/generic-adapter.d.ts +18 -0
  36. package/dist/adapters/generic-adapter.d.ts.map +1 -0
  37. package/dist/adapters/generic-adapter.js +37 -0
  38. package/dist/adapters/generic-adapter.js.map +1 -0
  39. package/dist/adapters/gpt4.d.ts +20 -0
  40. package/dist/adapters/gpt4.d.ts.map +1 -0
  41. package/dist/adapters/gpt4.js +114 -0
  42. package/dist/adapters/gpt4.js.map +1 -0
  43. package/dist/adapters/grok-adapter.d.ts +18 -0
  44. package/dist/adapters/grok-adapter.d.ts.map +1 -0
  45. package/dist/adapters/grok-adapter.js +94 -0
  46. package/dist/adapters/grok-adapter.js.map +1 -0
  47. package/dist/adapters/index.d.ts +18 -0
  48. package/dist/adapters/index.d.ts.map +1 -0
  49. package/dist/adapters/index.js +71 -0
  50. package/dist/adapters/index.js.map +1 -0
  51. package/dist/adapters/openai-adapter.d.ts +18 -0
  52. package/dist/adapters/openai-adapter.d.ts.map +1 -0
  53. package/dist/adapters/openai-adapter.js +97 -0
  54. package/dist/adapters/openai-adapter.js.map +1 -0
  55. package/dist/adapters/universal.d.ts +20 -0
  56. package/dist/adapters/universal.d.ts.map +1 -0
  57. package/dist/adapters/universal.js +80 -0
  58. package/dist/adapters/universal.js.map +1 -0
  59. package/dist/analysis/deep-analyzer.d.ts +61 -0
  60. package/dist/analysis/deep-analyzer.d.ts.map +1 -0
  61. package/dist/analysis/deep-analyzer.js +349 -0
  62. package/dist/analysis/deep-analyzer.js.map +1 -0
  63. package/dist/analysis/project-analyzer.d.ts +25 -0
  64. package/dist/analysis/project-analyzer.d.ts.map +1 -0
  65. package/dist/analysis/project-analyzer.js +244 -0
  66. package/dist/analysis/project-analyzer.js.map +1 -0
  67. package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts +82 -0
  68. package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -0
  69. package/dist/commands/architecture/architecture-pipeline-enhanced.js +649 -0
  70. package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -0
  71. package/dist/commands/architecture/architecture-pipeline.d.ts +105 -0
  72. package/dist/commands/architecture/architecture-pipeline.d.ts.map +1 -0
  73. package/dist/commands/architecture/architecture-pipeline.js +510 -0
  74. package/dist/commands/architecture/architecture-pipeline.js.map +1 -0
  75. package/dist/commands/architecture/architecture-reflection.d.ts +67 -0
  76. package/dist/commands/architecture/architecture-reflection.d.ts.map +1 -0
  77. package/dist/commands/architecture/architecture-reflection.js +508 -0
  78. package/dist/commands/architecture/architecture-reflection.js.map +1 -0
  79. package/dist/commands/architecture/index.d.ts +21 -0
  80. package/dist/commands/architecture/index.d.ts.map +1 -0
  81. package/dist/commands/architecture/index.js +41 -0
  82. package/dist/commands/architecture/index.js.map +1 -0
  83. package/dist/commands/architecture.d.ts +20 -0
  84. package/dist/commands/architecture.d.ts.map +1 -0
  85. package/dist/commands/architecture.js +223 -0
  86. package/dist/commands/architecture.js.map +1 -0
  87. package/dist/commands/backlog/ai-enhanced.d.ts +83 -0
  88. package/dist/commands/backlog/ai-enhanced.d.ts.map +1 -0
  89. package/dist/commands/backlog/ai-enhanced.js +462 -0
  90. package/dist/commands/backlog/ai-enhanced.js.map +1 -0
  91. package/dist/commands/backlog/ai-prompt.d.ts +21 -0
  92. package/dist/commands/backlog/ai-prompt.d.ts.map +1 -0
  93. package/dist/commands/backlog/ai-prompt.js +373 -0
  94. package/dist/commands/backlog/ai-prompt.js.map +1 -0
  95. package/dist/commands/backlog/ai-template.d.ts +21 -0
  96. package/dist/commands/backlog/ai-template.d.ts.map +1 -0
  97. package/dist/commands/backlog/ai-template.js +374 -0
  98. package/dist/commands/backlog/ai-template.js.map +1 -0
  99. package/dist/commands/backlog/ai.d.ts +21 -0
  100. package/dist/commands/backlog/ai.d.ts.map +1 -0
  101. package/dist/commands/backlog/ai.js +76 -0
  102. package/dist/commands/backlog/ai.js.map +1 -0
  103. package/dist/commands/backlog/backlog-pipeline.d.ts +103 -0
  104. package/dist/commands/backlog/backlog-pipeline.d.ts.map +1 -0
  105. package/dist/commands/backlog/backlog-pipeline.js +538 -0
  106. package/dist/commands/backlog/backlog-pipeline.js.map +1 -0
  107. package/dist/commands/backlog/backlog-reflection.d.ts +48 -0
  108. package/dist/commands/backlog/backlog-reflection.d.ts.map +1 -0
  109. package/dist/commands/backlog/backlog-reflection.js +231 -0
  110. package/dist/commands/backlog/backlog-reflection.js.map +1 -0
  111. package/dist/commands/backlog/base.d.ts +95 -0
  112. package/dist/commands/backlog/base.d.ts.map +1 -0
  113. package/dist/commands/backlog/base.js +291 -0
  114. package/dist/commands/backlog/base.js.map +1 -0
  115. package/dist/commands/backlog/complete.d.ts +20 -0
  116. package/dist/commands/backlog/complete.d.ts.map +1 -0
  117. package/dist/commands/backlog/complete.js +83 -0
  118. package/dist/commands/backlog/complete.js.map +1 -0
  119. package/dist/commands/backlog/context-gatherer.d.ts +76 -0
  120. package/dist/commands/backlog/context-gatherer.d.ts.map +1 -0
  121. package/dist/commands/backlog/context-gatherer.js +216 -0
  122. package/dist/commands/backlog/context-gatherer.js.map +1 -0
  123. package/dist/commands/backlog/create.d.ts +25 -0
  124. package/dist/commands/backlog/create.d.ts.map +1 -0
  125. package/dist/commands/backlog/create.js +131 -0
  126. package/dist/commands/backlog/create.js.map +1 -0
  127. package/dist/commands/backlog/index.d.ts +17 -0
  128. package/dist/commands/backlog/index.d.ts.map +1 -0
  129. package/dist/commands/backlog/index.js +177 -0
  130. package/dist/commands/backlog/index.js.map +1 -0
  131. package/dist/commands/backlog/list.d.ts +25 -0
  132. package/dist/commands/backlog/list.d.ts.map +1 -0
  133. package/dist/commands/backlog/list.js +136 -0
  134. package/dist/commands/backlog/list.js.map +1 -0
  135. package/dist/commands/backlog/quick-query.d.ts +16 -0
  136. package/dist/commands/backlog/quick-query.d.ts.map +1 -0
  137. package/dist/commands/backlog/quick-query.js +126 -0
  138. package/dist/commands/backlog/quick-query.js.map +1 -0
  139. package/dist/commands/backlog/show.d.ts +20 -0
  140. package/dist/commands/backlog/show.d.ts.map +1 -0
  141. package/dist/commands/backlog/show.js +95 -0
  142. package/dist/commands/backlog/show.js.map +1 -0
  143. package/dist/commands/backlog/update.d.ts +25 -0
  144. package/dist/commands/backlog/update.d.ts.map +1 -0
  145. package/dist/commands/backlog/update.js +113 -0
  146. package/dist/commands/backlog/update.js.map +1 -0
  147. package/dist/commands/bug/bug-context-gatherer.d.ts +58 -0
  148. package/dist/commands/bug/bug-context-gatherer.d.ts.map +1 -0
  149. package/dist/commands/bug/bug-context-gatherer.js +228 -0
  150. package/dist/commands/bug/bug-context-gatherer.js.map +1 -0
  151. package/dist/commands/bug/bug-reflection.d.ts +70 -0
  152. package/dist/commands/bug/bug-reflection.d.ts.map +1 -0
  153. package/dist/commands/bug/bug-reflection.js +343 -0
  154. package/dist/commands/bug/bug-reflection.js.map +1 -0
  155. package/dist/commands/capture/capture-reflection.d.ts +139 -0
  156. package/dist/commands/capture/capture-reflection.d.ts.map +1 -0
  157. package/dist/commands/capture/capture-reflection.js +583 -0
  158. package/dist/commands/capture/capture-reflection.js.map +1 -0
  159. package/dist/commands/capture.d.ts +22 -0
  160. package/dist/commands/capture.d.ts.map +1 -0
  161. package/dist/commands/capture.js +301 -0
  162. package/dist/commands/capture.js.map +1 -0
  163. package/dist/commands/changelog/changelog-reflection.d.ts +65 -0
  164. package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -0
  165. package/dist/commands/changelog/changelog-reflection.js +252 -0
  166. package/dist/commands/changelog/changelog-reflection.js.map +1 -0
  167. package/dist/commands/compact.d.ts +15 -0
  168. package/dist/commands/compact.d.ts.map +1 -0
  169. package/dist/commands/compact.js +113 -0
  170. package/dist/commands/compact.js.map +1 -0
  171. package/dist/commands/config.d.ts +10 -0
  172. package/dist/commands/config.d.ts.map +1 -0
  173. package/dist/commands/config.js +85 -0
  174. package/dist/commands/config.js.map +1 -0
  175. package/dist/commands/context-new.d.ts +18 -0
  176. package/dist/commands/context-new.d.ts.map +1 -0
  177. package/dist/commands/context-new.js +265 -0
  178. package/dist/commands/context-new.js.map +1 -0
  179. package/dist/commands/context.d.ts +16 -0
  180. package/dist/commands/context.d.ts.map +1 -0
  181. package/dist/commands/context.js +82 -0
  182. package/dist/commands/context.js.map +1 -0
  183. package/dist/commands/documentation/documentation-pipeline.d.ts +130 -0
  184. package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -0
  185. package/dist/commands/documentation/documentation-pipeline.js +716 -0
  186. package/dist/commands/documentation/documentation-pipeline.js.map +1 -0
  187. package/dist/commands/documentation/documentation-reflection.d.ts +54 -0
  188. package/dist/commands/documentation/documentation-reflection.d.ts.map +1 -0
  189. package/dist/commands/documentation/documentation-reflection.js +338 -0
  190. package/dist/commands/documentation/documentation-reflection.js.map +1 -0
  191. package/dist/commands/explore/explore-reflection-pipeline.d.ts +117 -0
  192. package/dist/commands/explore/explore-reflection-pipeline.d.ts.map +1 -0
  193. package/dist/commands/explore/explore-reflection-pipeline.js +503 -0
  194. package/dist/commands/explore/explore-reflection-pipeline.js.map +1 -0
  195. package/dist/commands/explore/index.d.ts +29 -0
  196. package/dist/commands/explore/index.d.ts.map +1 -0
  197. package/dist/commands/explore/index.js +30 -0
  198. package/dist/commands/explore/index.js.map +1 -0
  199. package/dist/commands/explore.d.ts +20 -0
  200. package/dist/commands/explore.d.ts.map +1 -0
  201. package/dist/commands/explore.js +224 -0
  202. package/dist/commands/explore.js.map +1 -0
  203. package/dist/commands/git/git-context-gatherer.d.ts +101 -0
  204. package/dist/commands/git/git-context-gatherer.d.ts.map +1 -0
  205. package/dist/commands/git/git-context-gatherer.js +284 -0
  206. package/dist/commands/git/git-context-gatherer.js.map +1 -0
  207. package/dist/commands/git/git-pipeline.d.ts +75 -0
  208. package/dist/commands/git/git-pipeline.d.ts.map +1 -0
  209. package/dist/commands/git/git-pipeline.js +530 -0
  210. package/dist/commands/git/git-pipeline.js.map +1 -0
  211. package/dist/commands/git/git-reflection.d.ts +50 -0
  212. package/dist/commands/git/git-reflection.d.ts.map +1 -0
  213. package/dist/commands/git/git-reflection.js +193 -0
  214. package/dist/commands/git/git-reflection.js.map +1 -0
  215. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +106 -0
  216. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +1 -0
  217. package/dist/commands/handoff/handoff-reflection-pipeline.js +534 -0
  218. package/dist/commands/handoff/handoff-reflection-pipeline.js.map +1 -0
  219. package/dist/commands/handoff/handoff-save.d.ts +16 -0
  220. package/dist/commands/handoff/handoff-save.d.ts.map +1 -0
  221. package/dist/commands/handoff/handoff-save.js +72 -0
  222. package/dist/commands/handoff/handoff-save.js.map +1 -0
  223. package/dist/commands/handoff/index.d.ts +19 -0
  224. package/dist/commands/handoff/index.d.ts.map +1 -0
  225. package/dist/commands/handoff/index.js +55 -0
  226. package/dist/commands/handoff/index.js.map +1 -0
  227. package/dist/commands/handoff-ai-orig.d.ts +27 -0
  228. package/dist/commands/handoff-ai-orig.d.ts.map +1 -0
  229. package/dist/commands/handoff-ai-orig.js +405 -0
  230. package/dist/commands/handoff-ai-orig.js.map +1 -0
  231. package/dist/commands/handoff-ai.d.ts +27 -0
  232. package/dist/commands/handoff-ai.d.ts.map +1 -0
  233. package/dist/commands/handoff-ai.js +405 -0
  234. package/dist/commands/handoff-ai.js.map +1 -0
  235. package/dist/commands/handoff-enhanced-orig.d.ts +25 -0
  236. package/dist/commands/handoff-enhanced-orig.d.ts.map +1 -0
  237. package/dist/commands/handoff-enhanced-orig.js +349 -0
  238. package/dist/commands/handoff-enhanced-orig.js.map +1 -0
  239. package/dist/commands/handoff-enhanced.d.ts +25 -0
  240. package/dist/commands/handoff-enhanced.d.ts.map +1 -0
  241. package/dist/commands/handoff-enhanced.js +349 -0
  242. package/dist/commands/handoff-enhanced.js.map +1 -0
  243. package/dist/commands/handoff-orig.d.ts +10 -0
  244. package/dist/commands/handoff-orig.d.ts.map +1 -0
  245. package/dist/commands/handoff-orig.js +167 -0
  246. package/dist/commands/handoff-orig.js.map +1 -0
  247. package/dist/commands/handoff.d.ts +10 -0
  248. package/dist/commands/handoff.d.ts.map +1 -0
  249. package/dist/commands/handoff.js +167 -0
  250. package/dist/commands/handoff.js.map +1 -0
  251. package/dist/commands/init-copilot.d.ts +6 -0
  252. package/dist/commands/init-copilot.d.ts.map +1 -0
  253. package/dist/commands/init-copilot.js +151 -0
  254. package/dist/commands/init-copilot.js.map +1 -0
  255. package/dist/commands/init-cursor.d.ts +5 -0
  256. package/dist/commands/init-cursor.d.ts.map +1 -0
  257. package/dist/commands/init-cursor.js +95 -0
  258. package/dist/commands/init-cursor.js.map +1 -0
  259. package/dist/commands/init-enhanced.d.ts +20 -0
  260. package/dist/commands/init-enhanced.d.ts.map +1 -0
  261. package/dist/commands/init-enhanced.js +430 -0
  262. package/dist/commands/init-enhanced.js.map +1 -0
  263. package/dist/commands/init.d.ts +16 -0
  264. package/dist/commands/init.d.ts.map +1 -0
  265. package/dist/commands/init.js +213 -0
  266. package/dist/commands/init.js.map +1 -0
  267. package/dist/commands/magic-prompt.d.ts +20 -0
  268. package/dist/commands/magic-prompt.d.ts.map +1 -0
  269. package/dist/commands/magic-prompt.js +166 -0
  270. package/dist/commands/magic-prompt.js.map +1 -0
  271. package/dist/commands/magic-simple.d.ts +20 -0
  272. package/dist/commands/magic-simple.d.ts.map +1 -0
  273. package/dist/commands/magic-simple.js +32 -0
  274. package/dist/commands/magic-simple.js.map +1 -0
  275. package/dist/commands/magic.d.ts +20 -0
  276. package/dist/commands/magic.d.ts.map +1 -0
  277. package/dist/commands/magic.js +144 -0
  278. package/dist/commands/magic.js.map +1 -0
  279. package/dist/commands/plan/plan-reflection-pipeline.d.ts +126 -0
  280. package/dist/commands/plan/plan-reflection-pipeline.d.ts.map +1 -0
  281. package/dist/commands/plan/plan-reflection-pipeline.js +554 -0
  282. package/dist/commands/plan/plan-reflection-pipeline.js.map +1 -0
  283. package/dist/commands/plan.d.ts +20 -0
  284. package/dist/commands/plan.d.ts.map +1 -0
  285. package/dist/commands/plan.js +253 -0
  286. package/dist/commands/plan.js.map +1 -0
  287. package/dist/commands/prd/index.d.ts +21 -0
  288. package/dist/commands/prd/index.d.ts.map +1 -0
  289. package/dist/commands/prd/index.js +41 -0
  290. package/dist/commands/prd/index.js.map +1 -0
  291. package/dist/commands/prd/prd-pipeline-enhanced.d.ts +82 -0
  292. package/dist/commands/prd/prd-pipeline-enhanced.d.ts.map +1 -0
  293. package/dist/commands/prd/prd-pipeline-enhanced.js +565 -0
  294. package/dist/commands/prd/prd-pipeline-enhanced.js.map +1 -0
  295. package/dist/commands/prd/prd-pipeline.d.ts +106 -0
  296. package/dist/commands/prd/prd-pipeline.d.ts.map +1 -0
  297. package/dist/commands/prd/prd-pipeline.js +491 -0
  298. package/dist/commands/prd/prd-pipeline.js.map +1 -0
  299. package/dist/commands/prd/prd-reflection-enhanced.d.ts +63 -0
  300. package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +1 -0
  301. package/dist/commands/prd/prd-reflection-enhanced.js +310 -0
  302. package/dist/commands/prd/prd-reflection-enhanced.js.map +1 -0
  303. package/dist/commands/prd/prd-reflection.d.ts +59 -0
  304. package/dist/commands/prd/prd-reflection.d.ts.map +1 -0
  305. package/dist/commands/prd/prd-reflection.js +548 -0
  306. package/dist/commands/prd/prd-reflection.js.map +1 -0
  307. package/dist/commands/reflect.d.ts +24 -0
  308. package/dist/commands/reflect.d.ts.map +1 -0
  309. package/dist/commands/reflect.js +135 -0
  310. package/dist/commands/reflect.js.map +1 -0
  311. package/dist/commands/ship/ship-reflection.d.ts +164 -0
  312. package/dist/commands/ship/ship-reflection.d.ts.map +1 -0
  313. package/dist/commands/ship/ship-reflection.js +732 -0
  314. package/dist/commands/ship/ship-reflection.js.map +1 -0
  315. package/dist/commands/ship-ai.d.ts +28 -0
  316. package/dist/commands/ship-ai.d.ts.map +1 -0
  317. package/dist/commands/ship-ai.js +318 -0
  318. package/dist/commands/ship-ai.js.map +1 -0
  319. package/dist/commands/ship.d.ts +17 -0
  320. package/dist/commands/ship.d.ts.map +1 -0
  321. package/dist/commands/ship.js +175 -0
  322. package/dist/commands/ship.js.map +1 -0
  323. package/dist/commands/sprint/index.d.ts +21 -0
  324. package/dist/commands/sprint/index.d.ts.map +1 -0
  325. package/dist/commands/sprint/index.js +39 -0
  326. package/dist/commands/sprint/index.js.map +1 -0
  327. package/dist/commands/sprint/sprint-pipeline-enhanced.d.ts +142 -0
  328. package/dist/commands/sprint/sprint-pipeline-enhanced.d.ts.map +1 -0
  329. package/dist/commands/sprint/sprint-pipeline-enhanced.js +822 -0
  330. package/dist/commands/sprint/sprint-pipeline-enhanced.js.map +1 -0
  331. package/dist/commands/sprint/sprint-pipeline.d.ts +72 -0
  332. package/dist/commands/sprint/sprint-pipeline.d.ts.map +1 -0
  333. package/dist/commands/sprint/sprint-pipeline.js +363 -0
  334. package/dist/commands/sprint/sprint-pipeline.js.map +1 -0
  335. package/dist/commands/start/index.d.ts +19 -0
  336. package/dist/commands/start/index.d.ts.map +1 -0
  337. package/dist/commands/start/index.js +41 -0
  338. package/dist/commands/start/index.js.map +1 -0
  339. package/dist/commands/start/start-reflection-pipeline.d.ts +99 -0
  340. package/dist/commands/start/start-reflection-pipeline.d.ts.map +1 -0
  341. package/dist/commands/start/start-reflection-pipeline.js +458 -0
  342. package/dist/commands/start/start-reflection-pipeline.js.map +1 -0
  343. package/dist/commands/start/start-reflection.d.ts +89 -0
  344. package/dist/commands/start/start-reflection.d.ts.map +1 -0
  345. package/dist/commands/start/start-reflection.js +572 -0
  346. package/dist/commands/start/start-reflection.js.map +1 -0
  347. package/dist/commands/start/start-with-synthesis.d.ts +20 -0
  348. package/dist/commands/start/start-with-synthesis.d.ts.map +1 -0
  349. package/dist/commands/start/start-with-synthesis.js +134 -0
  350. package/dist/commands/start/start-with-synthesis.js.map +1 -0
  351. package/dist/commands/start-enhanced-orig.d.ts +19 -0
  352. package/dist/commands/start-enhanced-orig.d.ts.map +1 -0
  353. package/dist/commands/start-enhanced-orig.js +434 -0
  354. package/dist/commands/start-enhanced-orig.js.map +1 -0
  355. package/dist/commands/start-enhanced.d.ts +19 -0
  356. package/dist/commands/start-enhanced.d.ts.map +1 -0
  357. package/dist/commands/start-enhanced.js +434 -0
  358. package/dist/commands/start-enhanced.js.map +1 -0
  359. package/dist/commands/start-orig.d.ts +10 -0
  360. package/dist/commands/start-orig.d.ts.map +1 -0
  361. package/dist/commands/start-orig.js +119 -0
  362. package/dist/commands/start-orig.js.map +1 -0
  363. package/dist/commands/start.d.ts +10 -0
  364. package/dist/commands/start.d.ts.map +1 -0
  365. package/dist/commands/start.js +119 -0
  366. package/dist/commands/start.js.map +1 -0
  367. package/dist/commands/status.d.ts +11 -0
  368. package/dist/commands/status.d.ts.map +1 -0
  369. package/dist/commands/status.js +119 -0
  370. package/dist/commands/status.js.map +1 -0
  371. package/dist/commands/testing/index.d.ts +21 -0
  372. package/dist/commands/testing/index.d.ts.map +1 -0
  373. package/dist/commands/testing/index.js +41 -0
  374. package/dist/commands/testing/index.js.map +1 -0
  375. package/dist/commands/testing/testing-pipeline-enhanced.d.ts +94 -0
  376. package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -0
  377. package/dist/commands/testing/testing-pipeline-enhanced.js +760 -0
  378. package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -0
  379. package/dist/commands/testing/testing-pipeline.d.ts +77 -0
  380. package/dist/commands/testing/testing-pipeline.d.ts.map +1 -0
  381. package/dist/commands/testing/testing-pipeline.js +479 -0
  382. package/dist/commands/testing/testing-pipeline.js.map +1 -0
  383. package/dist/commands/uninstall-copilot.d.ts +5 -0
  384. package/dist/commands/uninstall-copilot.d.ts.map +1 -0
  385. package/dist/commands/uninstall-copilot.js +143 -0
  386. package/dist/commands/uninstall-copilot.js.map +1 -0
  387. package/dist/commands/uninstall-cursor.d.ts +6 -0
  388. package/dist/commands/uninstall-cursor.d.ts.map +1 -0
  389. package/dist/commands/uninstall-cursor.js +124 -0
  390. package/dist/commands/uninstall-cursor.js.map +1 -0
  391. package/dist/commands/vibecheck-ai.d.ts +25 -0
  392. package/dist/commands/vibecheck-ai.d.ts.map +1 -0
  393. package/dist/commands/vibecheck-ai.js +260 -0
  394. package/dist/commands/vibecheck-ai.js.map +1 -0
  395. package/dist/commands/vibecheck-aware.d.ts +19 -0
  396. package/dist/commands/vibecheck-aware.d.ts.map +1 -0
  397. package/dist/commands/vibecheck-aware.js +350 -0
  398. package/dist/commands/vibecheck-aware.js.map +1 -0
  399. package/dist/commands/vibecheck-final.d.ts +22 -0
  400. package/dist/commands/vibecheck-final.d.ts.map +1 -0
  401. package/dist/commands/vibecheck-final.js +132 -0
  402. package/dist/commands/vibecheck-final.js.map +1 -0
  403. package/dist/commands/vibecheck-natural.d.ts +18 -0
  404. package/dist/commands/vibecheck-natural.d.ts.map +1 -0
  405. package/dist/commands/vibecheck-natural.js +105 -0
  406. package/dist/commands/vibecheck-natural.js.map +1 -0
  407. package/dist/commands/vibecheck-simple.d.ts +20 -0
  408. package/dist/commands/vibecheck-simple.d.ts.map +1 -0
  409. package/dist/commands/vibecheck-simple.js +136 -0
  410. package/dist/commands/vibecheck-simple.js.map +1 -0
  411. package/dist/commands/vibecheck.d.ts +10 -0
  412. package/dist/commands/vibecheck.d.ts.map +1 -0
  413. package/dist/commands/vibecheck.js +95 -0
  414. package/dist/commands/vibecheck.js.map +1 -0
  415. package/dist/core/adapters/path-adapter.d.ts +144 -0
  416. package/dist/core/adapters/path-adapter.d.ts.map +1 -0
  417. package/dist/core/adapters/path-adapter.js +245 -0
  418. package/dist/core/adapters/path-adapter.js.map +1 -0
  419. package/dist/core/command-shortcuts.d.ts +62 -0
  420. package/dist/core/command-shortcuts.d.ts.map +1 -0
  421. package/dist/core/command-shortcuts.js +124 -0
  422. package/dist/core/command-shortcuts.js.map +1 -0
  423. package/dist/core/config/config-aware-reflection.d.ts +37 -0
  424. package/dist/core/config/config-aware-reflection.d.ts.map +1 -0
  425. package/dist/core/config/config-aware-reflection.js +97 -0
  426. package/dist/core/config/config-aware-reflection.js.map +1 -0
  427. package/dist/core/config/config-loader.d.ts +154 -0
  428. package/dist/core/config/config-loader.d.ts.map +1 -0
  429. package/dist/core/config/config-loader.js +424 -0
  430. package/dist/core/config/config-loader.js.map +1 -0
  431. package/dist/core/config/config-migrator.d.ts +150 -0
  432. package/dist/core/config/config-migrator.d.ts.map +1 -0
  433. package/dist/core/config/config-migrator.js +423 -0
  434. package/dist/core/config/config-migrator.js.map +1 -0
  435. package/dist/core/config/config-schema.d.ts +276 -0
  436. package/dist/core/config/config-schema.d.ts.map +1 -0
  437. package/dist/core/config/config-schema.js +277 -0
  438. package/dist/core/config/config-schema.js.map +1 -0
  439. package/dist/core/config/index.d.ts +260 -0
  440. package/dist/core/config/index.d.ts.map +1 -0
  441. package/dist/core/config/index.js +283 -0
  442. package/dist/core/config/index.js.map +1 -0
  443. package/dist/core/config/interactive-config.d.ts +76 -0
  444. package/dist/core/config/interactive-config.d.ts.map +1 -0
  445. package/dist/core/config/interactive-config.js +315 -0
  446. package/dist/core/config/interactive-config.js.map +1 -0
  447. package/dist/core/config/path-config.d.ts +121 -0
  448. package/dist/core/config/path-config.d.ts.map +1 -0
  449. package/dist/core/config/path-config.js +210 -0
  450. package/dist/core/config/path-config.js.map +1 -0
  451. package/dist/core/config/path-resolver.d.ts +151 -0
  452. package/dist/core/config/path-resolver.d.ts.map +1 -0
  453. package/dist/core/config/path-resolver.js +343 -0
  454. package/dist/core/config/path-resolver.js.map +1 -0
  455. package/dist/core/config/project-detector.d.ts +58 -0
  456. package/dist/core/config/project-detector.d.ts.map +1 -0
  457. package/dist/core/config/project-detector.js +310 -0
  458. package/dist/core/config/project-detector.js.map +1 -0
  459. package/dist/core/config-backup/config-aware-reflection.d.ts +37 -0
  460. package/dist/core/config-backup/config-aware-reflection.d.ts.map +1 -0
  461. package/dist/core/config-backup/config-aware-reflection.js +97 -0
  462. package/dist/core/config-backup/config-aware-reflection.js.map +1 -0
  463. package/dist/core/config-backup/config-loader.d.ts +71 -0
  464. package/dist/core/config-backup/config-loader.d.ts.map +1 -0
  465. package/dist/core/config-backup/config-loader.js +288 -0
  466. package/dist/core/config-backup/config-loader.js.map +1 -0
  467. package/dist/core/config-backup/interactive-config.d.ts +76 -0
  468. package/dist/core/config-backup/interactive-config.d.ts.map +1 -0
  469. package/dist/core/config-backup/interactive-config.js +315 -0
  470. package/dist/core/config-backup/interactive-config.js.map +1 -0
  471. package/dist/core/config-backup/path-config.d.ts +121 -0
  472. package/dist/core/config-backup/path-config.d.ts.map +1 -0
  473. package/dist/core/config-backup/path-config.js +210 -0
  474. package/dist/core/config-backup/path-config.js.map +1 -0
  475. package/dist/core/config-backup/project-detector.d.ts +58 -0
  476. package/dist/core/config-backup/project-detector.d.ts.map +1 -0
  477. package/dist/core/config-backup/project-detector.js +310 -0
  478. package/dist/core/config-backup/project-detector.js.map +1 -0
  479. package/dist/core/documents/document-manager.d.ts +97 -0
  480. package/dist/core/documents/document-manager.d.ts.map +1 -0
  481. package/dist/core/documents/document-manager.js +441 -0
  482. package/dist/core/documents/document-manager.js.map +1 -0
  483. package/dist/core/documents/document-migrator.d.ts +138 -0
  484. package/dist/core/documents/document-migrator.d.ts.map +1 -0
  485. package/dist/core/documents/document-migrator.js +349 -0
  486. package/dist/core/documents/document-migrator.js.map +1 -0
  487. package/dist/core/documents/document-namer.d.ts +111 -0
  488. package/dist/core/documents/document-namer.d.ts.map +1 -0
  489. package/dist/core/documents/document-namer.js +225 -0
  490. package/dist/core/documents/document-namer.js.map +1 -0
  491. package/dist/core/documents/examples.d.ts +74 -0
  492. package/dist/core/documents/examples.d.ts.map +1 -0
  493. package/dist/core/documents/examples.js +273 -0
  494. package/dist/core/documents/examples.js.map +1 -0
  495. package/dist/core/documents/file-system.d.ts +93 -0
  496. package/dist/core/documents/file-system.d.ts.map +1 -0
  497. package/dist/core/documents/file-system.js +432 -0
  498. package/dist/core/documents/file-system.js.map +1 -0
  499. package/dist/core/documents/index.d.ts +97 -0
  500. package/dist/core/documents/index.d.ts.map +1 -0
  501. package/dist/core/documents/index.js +119 -0
  502. package/dist/core/documents/index.js.map +1 -0
  503. package/dist/core/documents/markdown-processor.d.ts +84 -0
  504. package/dist/core/documents/markdown-processor.d.ts.map +1 -0
  505. package/dist/core/documents/markdown-processor.js +302 -0
  506. package/dist/core/documents/markdown-processor.js.map +1 -0
  507. package/dist/core/documents/sequence-manager.d.ts +107 -0
  508. package/dist/core/documents/sequence-manager.d.ts.map +1 -0
  509. package/dist/core/documents/sequence-manager.js +246 -0
  510. package/dist/core/documents/sequence-manager.js.map +1 -0
  511. package/dist/core/documents/template-engine.d.ts +101 -0
  512. package/dist/core/documents/template-engine.d.ts.map +1 -0
  513. package/dist/core/documents/template-engine.js +440 -0
  514. package/dist/core/documents/template-engine.js.map +1 -0
  515. package/dist/core/handoff-quality.d.ts +164 -0
  516. package/dist/core/handoff-quality.d.ts.map +1 -0
  517. package/dist/core/handoff-quality.js +590 -0
  518. package/dist/core/handoff-quality.js.map +1 -0
  519. package/dist/core/platform/hook-adapter.d.ts +109 -0
  520. package/dist/core/platform/hook-adapter.d.ts.map +1 -0
  521. package/dist/core/platform/hook-adapter.js +527 -0
  522. package/dist/core/platform/hook-adapter.js.map +1 -0
  523. package/dist/core/platform/hook-migration.d.ts +73 -0
  524. package/dist/core/platform/hook-migration.d.ts.map +1 -0
  525. package/dist/core/platform/hook-migration.js +339 -0
  526. package/dist/core/platform/hook-migration.js.map +1 -0
  527. package/dist/core/platform/hook-migrator.d.ts +49 -0
  528. package/dist/core/platform/hook-migrator.d.ts.map +1 -0
  529. package/dist/core/platform/hook-migrator.js +305 -0
  530. package/dist/core/platform/hook-migrator.js.map +1 -0
  531. package/dist/core/platform/hook-templates.d.ts +60 -0
  532. package/dist/core/platform/hook-templates.d.ts.map +1 -0
  533. package/dist/core/platform/hook-templates.js +352 -0
  534. package/dist/core/platform/hook-templates.js.map +1 -0
  535. package/dist/core/platform/index.d.ts +82 -0
  536. package/dist/core/platform/index.d.ts.map +1 -0
  537. package/dist/core/platform/index.js +173 -0
  538. package/dist/core/platform/index.js.map +1 -0
  539. package/dist/core/platform/path-normalizer.d.ts +117 -0
  540. package/dist/core/platform/path-normalizer.d.ts.map +1 -0
  541. package/dist/core/platform/path-normalizer.js +333 -0
  542. package/dist/core/platform/path-normalizer.js.map +1 -0
  543. package/dist/core/platform/path-resolver.d.ts +120 -0
  544. package/dist/core/platform/path-resolver.d.ts.map +1 -0
  545. package/dist/core/platform/path-resolver.js +339 -0
  546. package/dist/core/platform/path-resolver.js.map +1 -0
  547. package/dist/core/platform/platform-adapter.d.ts +101 -0
  548. package/dist/core/platform/platform-adapter.d.ts.map +1 -0
  549. package/dist/core/platform/platform-adapter.js +243 -0
  550. package/dist/core/platform/platform-adapter.js.map +1 -0
  551. package/dist/core/platform/platform-detector.d.ts +122 -0
  552. package/dist/core/platform/platform-detector.d.ts.map +1 -0
  553. package/dist/core/platform/platform-detector.js +318 -0
  554. package/dist/core/platform/platform-detector.js.map +1 -0
  555. package/dist/core/platform/platform-templates.d.ts +62 -0
  556. package/dist/core/platform/platform-templates.d.ts.map +1 -0
  557. package/dist/core/platform/platform-templates.js +364 -0
  558. package/dist/core/platform/platform-templates.js.map +1 -0
  559. package/dist/core/platform/types.d.ts +54 -0
  560. package/dist/core/platform/types.d.ts.map +1 -0
  561. package/dist/core/platform/types.js +12 -0
  562. package/dist/core/platform/types.js.map +1 -0
  563. package/dist/core/polyglot-example.d.ts +115 -0
  564. package/dist/core/polyglot-example.d.ts.map +1 -0
  565. package/dist/core/polyglot-example.js +341 -0
  566. package/dist/core/polyglot-example.js.map +1 -0
  567. package/dist/core/pressure-monitor.d.ts +76 -0
  568. package/dist/core/pressure-monitor.d.ts.map +1 -0
  569. package/dist/core/pressure-monitor.js +156 -0
  570. package/dist/core/pressure-monitor.js.map +1 -0
  571. package/dist/core/reflection-pattern.d.ts +99 -0
  572. package/dist/core/reflection-pattern.d.ts.map +1 -0
  573. package/dist/core/reflection-pattern.js +294 -0
  574. package/dist/core/reflection-pattern.js.map +1 -0
  575. package/dist/core/session-log-manager.d.ts +83 -0
  576. package/dist/core/session-log-manager.d.ts.map +1 -0
  577. package/dist/core/session-log-manager.js +288 -0
  578. package/dist/core/session-log-manager.js.map +1 -0
  579. package/dist/core/simple-pipeline-base.d.ts +130 -0
  580. package/dist/core/simple-pipeline-base.d.ts.map +1 -0
  581. package/dist/core/simple-pipeline-base.js +240 -0
  582. package/dist/core/simple-pipeline-base.js.map +1 -0
  583. package/dist/core/simple-pipeline.d.ts +70 -0
  584. package/dist/core/simple-pipeline.d.ts.map +1 -0
  585. package/dist/core/simple-pipeline.js +241 -0
  586. package/dist/core/simple-pipeline.js.map +1 -0
  587. package/dist/core/utils/paths.d.ts +50 -0
  588. package/dist/core/utils/paths.d.ts.map +1 -0
  589. package/dist/core/utils/paths.js +75 -0
  590. package/dist/core/utils/paths.js.map +1 -0
  591. package/dist/core/validators/command-argument-validator.d.ts +102 -0
  592. package/dist/core/validators/command-argument-validator.d.ts.map +1 -0
  593. package/dist/core/validators/command-argument-validator.js +377 -0
  594. package/dist/core/validators/command-argument-validator.js.map +1 -0
  595. package/dist/core/validators/config-validator.d.ts +111 -0
  596. package/dist/core/validators/config-validator.d.ts.map +1 -0
  597. package/dist/core/validators/config-validator.js +433 -0
  598. package/dist/core/validators/config-validator.js.map +1 -0
  599. package/dist/core/validators/environment-validator.d.ts +138 -0
  600. package/dist/core/validators/environment-validator.d.ts.map +1 -0
  601. package/dist/core/validators/environment-validator.js +516 -0
  602. package/dist/core/validators/environment-validator.js.map +1 -0
  603. package/dist/core/validators/git-validator.d.ts +100 -0
  604. package/dist/core/validators/git-validator.d.ts.map +1 -0
  605. package/dist/core/validators/git-validator.js +288 -0
  606. package/dist/core/validators/git-validator.js.map +1 -0
  607. package/dist/core/validators/git-validator.test.d.ts +12 -0
  608. package/dist/core/validators/git-validator.test.d.ts.map +1 -0
  609. package/dist/core/validators/git-validator.test.js +40 -0
  610. package/dist/core/validators/git-validator.test.js.map +1 -0
  611. package/dist/core/validators/index.d.ts +90 -0
  612. package/dist/core/validators/index.d.ts.map +1 -0
  613. package/dist/core/validators/index.js +166 -0
  614. package/dist/core/validators/index.js.map +1 -0
  615. package/dist/core/validators/input-validator.d.ts +117 -0
  616. package/dist/core/validators/input-validator.d.ts.map +1 -0
  617. package/dist/core/validators/input-validator.js +368 -0
  618. package/dist/core/validators/input-validator.js.map +1 -0
  619. package/dist/core/validators/temp_index.d.ts +56 -0
  620. package/dist/core/validators/temp_index.d.ts.map +1 -0
  621. package/dist/core/validators/temp_index.js +94 -0
  622. package/dist/core/validators/temp_index.js.map +1 -0
  623. package/dist/core/validators/validation-error-handler.d.ts +107 -0
  624. package/dist/core/validators/validation-error-handler.d.ts.map +1 -0
  625. package/dist/core/validators/validation-error-handler.js +379 -0
  626. package/dist/core/validators/validation-error-handler.js.map +1 -0
  627. package/dist/core/validators/validation-orchestrator.d.ts +128 -0
  628. package/dist/core/validators/validation-orchestrator.d.ts.map +1 -0
  629. package/dist/core/validators/validation-orchestrator.js +301 -0
  630. package/dist/core/validators/validation-orchestrator.js.map +1 -0
  631. package/dist/index.d.ts +11 -0
  632. package/dist/index.d.ts.map +1 -0
  633. package/dist/index.js +316 -0
  634. package/dist/index.js.map +1 -0
  635. package/dist/services/active-context-manager.d.ts +118 -0
  636. package/dist/services/active-context-manager.d.ts.map +1 -0
  637. package/dist/services/active-context-manager.js +435 -0
  638. package/dist/services/active-context-manager.js.map +1 -0
  639. package/dist/services/ai-service.d.ts +71 -0
  640. package/dist/services/ai-service.d.ts.map +1 -0
  641. package/dist/services/ai-service.js +329 -0
  642. package/dist/services/ai-service.js.map +1 -0
  643. package/dist/services/context-search.d.ts +98 -0
  644. package/dist/services/context-search.d.ts.map +1 -0
  645. package/dist/services/context-search.js +289 -0
  646. package/dist/services/context-search.js.map +1 -0
  647. package/dist/services/insight-extractor.d.ts +69 -0
  648. package/dist/services/insight-extractor.d.ts.map +1 -0
  649. package/dist/services/insight-extractor.js +343 -0
  650. package/dist/services/insight-extractor.js.map +1 -0
  651. package/dist/services/insight-quality-controller.d.ts +167 -0
  652. package/dist/services/insight-quality-controller.d.ts.map +1 -0
  653. package/dist/services/insight-quality-controller.js +543 -0
  654. package/dist/services/insight-quality-controller.js.map +1 -0
  655. package/dist/services/module-generator.d.ts +108 -0
  656. package/dist/services/module-generator.d.ts.map +1 -0
  657. package/dist/services/module-generator.js +561 -0
  658. package/dist/services/module-generator.js.map +1 -0
  659. package/dist/services/statusline-tracker.d.ts +139 -0
  660. package/dist/services/statusline-tracker.d.ts.map +1 -0
  661. package/dist/services/statusline-tracker.js +360 -0
  662. package/dist/services/statusline-tracker.js.map +1 -0
  663. package/dist/templates/ai-instructions-template.d.ts +39 -0
  664. package/dist/templates/ai-instructions-template.d.ts.map +1 -0
  665. package/dist/templates/ai-instructions-template.js +222 -0
  666. package/dist/templates/ai-instructions-template.js.map +1 -0
  667. package/dist/types/config.d.ts +128 -0
  668. package/dist/types/config.d.ts.map +1 -0
  669. package/dist/types/config.js +49 -0
  670. package/dist/types/config.js.map +1 -0
  671. package/dist/types/documents.d.ts +87 -0
  672. package/dist/types/documents.d.ts.map +1 -0
  673. package/dist/types/documents.js +12 -0
  674. package/dist/types/documents.js.map +1 -0
  675. package/dist/types/session-log.d.ts +83 -0
  676. package/dist/types/session-log.d.ts.map +1 -0
  677. package/dist/types/session-log.js +12 -0
  678. package/dist/types/session-log.js.map +1 -0
  679. package/dist/types/session.d.ts +257 -0
  680. package/dist/types/session.d.ts.map +1 -0
  681. package/dist/types/session.js +12 -0
  682. package/dist/types/session.js.map +1 -0
  683. package/dist/utils/ai-templates.d.ts +98 -0
  684. package/dist/utils/ai-templates.d.ts.map +1 -0
  685. package/dist/utils/ai-templates.js +179 -0
  686. package/dist/utils/ai-templates.js.map +1 -0
  687. package/dist/utils/ginko-root.d.ts +51 -0
  688. package/dist/utils/ginko-root.d.ts.map +1 -0
  689. package/dist/utils/ginko-root.js +96 -0
  690. package/dist/utils/ginko-root.js.map +1 -0
  691. package/dist/utils/helpers.d.ts +19 -0
  692. package/dist/utils/helpers.d.ts.map +1 -0
  693. package/dist/utils/helpers.js +107 -0
  694. package/dist/utils/helpers.js.map +1 -0
  695. package/dist/utils/progressive-learning.d.ts +42 -0
  696. package/dist/utils/progressive-learning.d.ts.map +1 -0
  697. package/dist/utils/progressive-learning.js +248 -0
  698. package/dist/utils/progressive-learning.js.map +1 -0
  699. package/dist/utils/session-collector.d.ts +81 -0
  700. package/dist/utils/session-collector.d.ts.map +1 -0
  701. package/dist/utils/session-collector.js +387 -0
  702. package/dist/utils/session-collector.js.map +1 -0
  703. package/dist/utils/session-logger.d.ts +125 -0
  704. package/dist/utils/session-logger.d.ts.map +1 -0
  705. package/dist/utils/session-logger.js +359 -0
  706. package/dist/utils/session-logger.js.map +1 -0
  707. package/dist/utils/session-synthesizer.d.ts +36 -0
  708. package/dist/utils/session-synthesizer.d.ts.map +1 -0
  709. package/dist/utils/session-synthesizer.js +239 -0
  710. package/dist/utils/session-synthesizer.js.map +1 -0
  711. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic.js","sourceRoot":"","sources":["../../src/commands/magic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @fileType: command
3
+ * @status: current
4
+ * @updated: 2025-10-01
5
+ * @tags: [plan, reflection, pipeline, builder, sprint]
6
+ * @related: [../../core/simple-pipeline-base.ts, ../handoff/handoff-reflection-pipeline.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: [simple-pipeline-base, simple-git, fs-extra]
10
+ */
11
+ import { SimplePipelineBase } from '../../core/simple-pipeline-base.js';
12
+ /**
13
+ * Plan Quality Definition
14
+ */
15
+ export interface PlanQualityTemplate {
16
+ requiredSections: string[];
17
+ contextToConsider: string[];
18
+ rulesAndConstraints: string[];
19
+ }
20
+ /**
21
+ * Plan Context
22
+ */
23
+ export interface PlanContext {
24
+ feature: string;
25
+ sprintDays: number;
26
+ adrReference?: string;
27
+ planId: string;
28
+ timestamp: string;
29
+ phases: Array<{
30
+ name: string;
31
+ duration: string;
32
+ }>;
33
+ recentCommits?: any[];
34
+ currentBranch?: string;
35
+ adrContent?: string;
36
+ }
37
+ /**
38
+ * Plan pipeline using Simple Builder Pattern
39
+ * Refactored from plan.ts standalone command to use SimplePipelineBase
40
+ * Implements ADR-013 for consistent pipeline architecture
41
+ */
42
+ export declare class PlanReflectionPipeline extends SimplePipelineBase {
43
+ private git;
44
+ private ginkoDir;
45
+ private projectRoot;
46
+ private feature;
47
+ private options;
48
+ constructor(feature: string, options?: any);
49
+ /**
50
+ * Initialize pipeline dependencies
51
+ */
52
+ initialize(): Promise<this>;
53
+ /**
54
+ * Load plan-specific quality template
55
+ */
56
+ loadTemplate(): this;
57
+ /**
58
+ * Gather comprehensive context for planning
59
+ */
60
+ gatherContext(): Promise<this>;
61
+ /**
62
+ * Generate the planning prompt for AI
63
+ */
64
+ generatePrompt(): this;
65
+ /**
66
+ * Build the plan framework content
67
+ */
68
+ private buildPlanFramework;
69
+ /**
70
+ * Build the planning instructions for AI
71
+ */
72
+ private buildPlanInstructions;
73
+ /**
74
+ * Validate the generated output
75
+ */
76
+ validateOutput(): this;
77
+ /**
78
+ * Display the plan output
79
+ */
80
+ display(): Promise<this>;
81
+ /**
82
+ * Custom validation for plan pipeline
83
+ */
84
+ protected customValidate(): void;
85
+ /**
86
+ * Custom recovery logic
87
+ */
88
+ protected customRecover(): void;
89
+ /**
90
+ * Custom execution logic
91
+ */
92
+ protected customExecute(): Promise<void>;
93
+ /**
94
+ * Generate phases based on sprint duration
95
+ */
96
+ private generatePhases;
97
+ /**
98
+ * Find ADR reference from feature description
99
+ */
100
+ private findADRReference;
101
+ /**
102
+ * Get ADR content for context
103
+ */
104
+ private getADRContent;
105
+ /**
106
+ * Main build method using fluent interface
107
+ */
108
+ build(): Promise<string>;
109
+ }
110
+ /**
111
+ * Store sprint plan to filesystem
112
+ */
113
+ export declare function storeSprintPlan(planId: string, content: string, verbose?: boolean): Promise<void>;
114
+ /**
115
+ * Adapter for CLI command usage
116
+ * Maintains backward compatibility with existing command structure
117
+ */
118
+ export declare class PlanReflectionCommand {
119
+ private pipeline;
120
+ /**
121
+ * Execute the plan command
122
+ */
123
+ execute(feature: string | undefined, options?: any): Promise<void>;
124
+ }
125
+ export default PlanReflectionCommand;
126
+ //# sourceMappingURL=plan-reflection-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-reflection-pipeline.d.ts","sourceRoot":"","sources":["../../../src/commands/plan/plan-reflection-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAmB,MAAM,oCAAoC,CAAC;AAOzF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ;IAO9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;IACH,YAAY,IAAI,IAAI;IAwCpB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDpC;;OAEG;IACH,cAAc,IAAI,IAAI;IAuBtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8E1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;OAEG;IACH,cAAc,IAAI,IAAI;IA+CtB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAkBhC;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAkB/B;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9C;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;YACW,aAAa;IAa3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CAiC/B;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD9G;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA4B7E;AAGD,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,554 @@
1
+ /**
2
+ * @fileType: command
3
+ * @status: current
4
+ * @updated: 2025-10-01
5
+ * @tags: [plan, reflection, pipeline, builder, sprint]
6
+ * @related: [../../core/simple-pipeline-base.ts, ../handoff/handoff-reflection-pipeline.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: [simple-pipeline-base, simple-git, fs-extra]
10
+ */
11
+ import { SimplePipelineBase } from '../../core/simple-pipeline-base.js';
12
+ import simpleGit from 'simple-git';
13
+ import fs from 'fs-extra';
14
+ import path from 'path';
15
+ import chalk from 'chalk';
16
+ import { getGinkoDir } from '../../utils/helpers.js';
17
+ /**
18
+ * Plan pipeline using Simple Builder Pattern
19
+ * Refactored from plan.ts standalone command to use SimplePipelineBase
20
+ * Implements ADR-013 for consistent pipeline architecture
21
+ */
22
+ export class PlanReflectionPipeline extends SimplePipelineBase {
23
+ git;
24
+ ginkoDir = '';
25
+ projectRoot = '';
26
+ feature = '';
27
+ options = {};
28
+ constructor(feature, options = {}) {
29
+ super(`Generate sprint plan for: ${feature}`);
30
+ this.feature = feature;
31
+ this.options = options;
32
+ this.withDomain('plan');
33
+ }
34
+ /**
35
+ * Initialize pipeline dependencies
36
+ */
37
+ async initialize() {
38
+ this.git = simpleGit();
39
+ this.ginkoDir = await getGinkoDir();
40
+ this.projectRoot = path.dirname(this.ginkoDir);
41
+ if (this.options.verbose) {
42
+ console.log(chalk.cyan('📋 Initializing plan pipeline...'));
43
+ }
44
+ return this;
45
+ }
46
+ /**
47
+ * Load plan-specific quality template
48
+ */
49
+ loadTemplate() {
50
+ const template = {
51
+ requiredSections: [
52
+ 'overview',
53
+ 'success_criteria',
54
+ 'implementation_phases',
55
+ 'dependencies',
56
+ 'testing_strategy',
57
+ 'rollback_plan',
58
+ 'daily_standup_topics'
59
+ ],
60
+ contextToConsider: [
61
+ 'feature_description',
62
+ 'adr_reference',
63
+ 'sprint_duration',
64
+ 'git_history',
65
+ 'existing_architecture',
66
+ 'team_velocity',
67
+ 'technical_constraints'
68
+ ],
69
+ rulesAndConstraints: [
70
+ 'Break work into clear, measurable phases',
71
+ 'Each task should be 0.5-4 hours (larger = break down further)',
72
+ 'Include specific acceptance criteria',
73
+ 'Consider team capacity and dependencies',
74
+ 'Build in time for code review and testing (~20% overhead)',
75
+ 'Front-load risky or blocking work',
76
+ 'Back-load polish and nice-to-haves',
77
+ 'Reference ADRs for architectural alignment',
78
+ 'Include daily checkpoints for progress assessment'
79
+ ]
80
+ };
81
+ this.withTemplate(template);
82
+ if (this.options.verbose) {
83
+ console.log(chalk.gray(' ✓ Template loaded'));
84
+ }
85
+ return this;
86
+ }
87
+ /**
88
+ * Gather comprehensive context for planning
89
+ */
90
+ async gatherContext() {
91
+ if (this.options.verbose) {
92
+ console.log(chalk.cyan('🔍 Gathering context...'));
93
+ }
94
+ const planId = `plan-${Date.now()}`;
95
+ const sprintDays = this.options.days || 5;
96
+ // Try to detect if this references an ADR
97
+ const adrReference = await this.findADRReference(this.feature);
98
+ // Get ADR content if reference found
99
+ let adrContent;
100
+ if (adrReference) {
101
+ adrContent = await this.getADRContent(adrReference);
102
+ }
103
+ // Get git state for context
104
+ const recentCommits = await this.git.log({ maxCount: 10 }).catch(() => ({ all: [] }));
105
+ const branch = await this.git.branchLocal().catch(() => ({ current: 'main' }));
106
+ // Generate phases based on sprint duration
107
+ const phases = this.generatePhases(sprintDays);
108
+ const context = {
109
+ feature: this.feature,
110
+ sprintDays,
111
+ adrReference,
112
+ planId,
113
+ timestamp: new Date().toISOString(),
114
+ phases,
115
+ recentCommits: recentCommits.all,
116
+ currentBranch: branch.current,
117
+ adrContent
118
+ };
119
+ // Store temp context for phase 2
120
+ const tempPath = path.join(this.ginkoDir, '.temp', `${planId}.json`);
121
+ await fs.ensureDir(path.dirname(tempPath));
122
+ await fs.writeJson(tempPath, {
123
+ feature: this.feature,
124
+ sprintDays,
125
+ adrReference,
126
+ planId,
127
+ timestamp: new Date().toISOString()
128
+ });
129
+ this.withContext(context);
130
+ if (this.options.verbose) {
131
+ console.log(chalk.gray(' ✓ Context gathered'));
132
+ }
133
+ return this;
134
+ }
135
+ /**
136
+ * Generate the planning prompt for AI
137
+ */
138
+ generatePrompt() {
139
+ if (this.options.verbose) {
140
+ console.log(chalk.cyan('📝 Generating planning prompt...'));
141
+ }
142
+ const context = this.ctx.context;
143
+ const date = new Date().toISOString().split('T')[0];
144
+ // Build the plan framework
145
+ const framework = this.buildPlanFramework(context, date);
146
+ // Build the instructions for AI
147
+ const instructions = this.buildPlanInstructions(context);
148
+ this.ctx.content = framework + '\n' + instructions;
149
+ this.adjustConfidence(0.9); // High confidence after successful generation
150
+ if (this.options.verbose) {
151
+ console.log(chalk.gray(' ✓ Prompt generated'));
152
+ }
153
+ return this;
154
+ }
155
+ /**
156
+ * Build the plan framework content
157
+ */
158
+ buildPlanFramework(context, date) {
159
+ const sections = [];
160
+ sections.push(`# Sprint Plan: ${context.feature}`);
161
+ sections.push('');
162
+ sections.push(`## Overview`);
163
+ sections.push(`**Start Date**: ${date}`);
164
+ sections.push(`**Duration**: ${context.sprintDays} days`);
165
+ sections.push(`**ADR Reference**: ${context.adrReference || chalk.yellow('[AI: Link to relevant ADR if applicable]')}`);
166
+ if (context.adrContent) {
167
+ sections.push('');
168
+ sections.push(`### ADR Context`);
169
+ sections.push(chalk.dim('```'));
170
+ sections.push(chalk.dim(context.adrContent.substring(0, 500) + '...'));
171
+ sections.push(chalk.dim('```'));
172
+ }
173
+ sections.push('');
174
+ sections.push(`## Success Criteria`);
175
+ sections.push(chalk.yellow('[AI: What specific, measurable outcomes define success?]'));
176
+ sections.push(`- [ ] ${chalk.yellow('[AI: Acceptance criterion 1]')}`);
177
+ sections.push(`- [ ] ${chalk.yellow('[AI: Acceptance criterion 2]')}`);
178
+ sections.push(`- [ ] ${chalk.yellow('[AI: Acceptance criterion 3]')}`);
179
+ sections.push('');
180
+ sections.push(`## Implementation Phases`);
181
+ sections.push('');
182
+ context.phases.forEach((phase, i) => {
183
+ sections.push(`### ${phase.name}`);
184
+ sections.push(`**Duration**: ${phase.duration}`);
185
+ sections.push(`**Goal**: ${chalk.yellow(`[AI: What will be accomplished in ${phase.name}?]`)}`);
186
+ sections.push('');
187
+ sections.push(`**Tasks**:`);
188
+ sections.push(chalk.yellow('[AI: List specific, actionable tasks]'));
189
+ sections.push(`- [ ] ${chalk.yellow('[AI: Task with ~time estimate]')}`);
190
+ sections.push(`- [ ] ${chalk.yellow('[AI: Task with ~time estimate]')}`);
191
+ sections.push(`- [ ] ${chalk.yellow('[AI: Task with ~time estimate]')}`);
192
+ sections.push('');
193
+ sections.push(`**Deliverables**:`);
194
+ sections.push(chalk.yellow('[AI: What tangible outputs will exist after this phase?]'));
195
+ sections.push('');
196
+ sections.push(`**Risk Factors**:`);
197
+ sections.push(chalk.yellow('[AI: What could block or delay this phase?]'));
198
+ sections.push('');
199
+ });
200
+ sections.push(`## Dependencies`);
201
+ sections.push(chalk.yellow('[AI: What needs to be in place before starting?]'));
202
+ sections.push(`- ${chalk.yellow('[AI: External dependencies]')}`);
203
+ sections.push(`- ${chalk.yellow('[AI: Team dependencies]')}`);
204
+ sections.push(`- ${chalk.yellow('[AI: Technical prerequisites]')}`);
205
+ sections.push('');
206
+ sections.push(`## Testing Strategy`);
207
+ sections.push(chalk.yellow('[AI: How will we verify each phase?]'));
208
+ sections.push(`- **Unit Tests**: ${chalk.yellow('[AI: What will be unit tested?]')}`);
209
+ sections.push(`- **Integration Tests**: ${chalk.yellow('[AI: What integration points need testing?]')}`);
210
+ sections.push(`- **Manual Testing**: ${chalk.yellow('[AI: What requires manual verification?]')}`);
211
+ sections.push('');
212
+ sections.push(`## Rollback Plan`);
213
+ sections.push(chalk.yellow('[AI: If something goes wrong, how do we revert?]'));
214
+ sections.push('');
215
+ sections.push(`## Daily Standup Topics`);
216
+ Array.from({ length: context.sprintDays }, (_, i) => {
217
+ sections.push('');
218
+ sections.push(`**Day ${i + 1}**:`);
219
+ sections.push(`- Focus: ${chalk.yellow(`[AI: Main focus for day ${i + 1}]`)}`);
220
+ sections.push(`- Check: ${chalk.yellow(`[AI: What should be done by end of day ${i + 1}?]`)}`);
221
+ sections.push(`- Risk: ${chalk.yellow(`[AI: What could block day ${i + 2}?]`)}`);
222
+ });
223
+ return sections.join('\n');
224
+ }
225
+ /**
226
+ * Build the planning instructions for AI
227
+ */
228
+ buildPlanInstructions(context) {
229
+ return chalk.magenta(`
230
+ Sprint Planning Instructions:
231
+
232
+ This is PLANNING MODE - we're creating a concrete implementation roadmap.
233
+ Be realistic about velocity and include buffer time.
234
+
235
+ 1. Break down the work into clear, measurable phases
236
+ 2. Each task should be 0.5-4 hours (larger = break down further)
237
+ 3. Include specific acceptance criteria
238
+ 4. Consider team capacity and dependencies
239
+ 5. Build in time for code review and testing
240
+ 6. Account for meetings and context switching (~20% overhead)
241
+
242
+ Guidelines:
243
+ - ${context.sprintDays} days = ~${context.sprintDays * 6} hours of focused coding time
244
+ - Include daily checkpoints for progress assessment
245
+ - Front-load risky or blocking work
246
+ - Back-load polish and nice-to-haves
247
+
248
+ After planning is complete, store the sprint plan:
249
+
250
+ ginko plan --store --id=${context.planId} --content="[complete sprint plan]"
251
+
252
+ The plan will be stored in: docs/SPRINTS/SPRINT-${new Date().toISOString().split('T')[0]}-[feature].md
253
+
254
+ This plan will guide daily standups and progress tracking.`);
255
+ }
256
+ /**
257
+ * Validate the generated output
258
+ */
259
+ validateOutput() {
260
+ if (!this.ctx.content) {
261
+ this.addError('No plan content generated');
262
+ this.adjustConfidence(0.5);
263
+ return this;
264
+ }
265
+ const content = this.ctx.content;
266
+ const context = this.ctx.context;
267
+ // Check for required sections
268
+ const requiredPatterns = [
269
+ { name: 'Overview', pattern: /## Overview/i },
270
+ { name: 'Success Criteria', pattern: /## Success Criteria/i },
271
+ { name: 'Implementation Phases', pattern: /## Implementation Phases/i },
272
+ { name: 'Dependencies', pattern: /## Dependencies/i },
273
+ { name: 'Testing Strategy', pattern: /## Testing Strategy/i },
274
+ { name: 'Rollback Plan', pattern: /## Rollback Plan/i },
275
+ { name: 'Daily Standup Topics', pattern: /## Daily Standup Topics/i }
276
+ ];
277
+ const missing = [];
278
+ for (const section of requiredPatterns) {
279
+ if (!section.pattern.test(content)) {
280
+ missing.push(section.name);
281
+ }
282
+ }
283
+ if (missing.length > 0) {
284
+ this.addError(`Missing required sections: ${missing.join(', ')}`);
285
+ this.adjustConfidence(0.7);
286
+ }
287
+ // Check for phases
288
+ const phaseCount = (content.match(/### Phase \d+:/g) || []).length;
289
+ if (phaseCount === 0) {
290
+ this.addError('No implementation phases found');
291
+ this.adjustConfidence(0.6);
292
+ }
293
+ if (this.options.verbose) {
294
+ console.log(chalk.gray(' ✓ Output validated'));
295
+ }
296
+ return this;
297
+ }
298
+ /**
299
+ * Display the plan output
300
+ */
301
+ async display() {
302
+ if (!this.ctx.content) {
303
+ this.addError('No content to display');
304
+ return this;
305
+ }
306
+ const context = this.ctx.context;
307
+ // Output plan framework (to stdout to avoid stderr)
308
+ process.stdout.write(chalk.magenta('\n📋 Sprint Planning Mode') + '\n');
309
+ process.stdout.write(chalk.dim('─'.repeat(60)) + '\n');
310
+ process.stdout.write(this.ctx.content + '\n');
311
+ process.stdout.write(chalk.dim('─'.repeat(60)) + '\n');
312
+ // Ensure stdout is flushed before continuing
313
+ await new Promise(resolve => process.stdout.write('', resolve));
314
+ return this;
315
+ }
316
+ /**
317
+ * Custom validation for plan pipeline
318
+ */
319
+ customValidate() {
320
+ if (!this.ctx.template) {
321
+ this.addError('Template required for plan');
322
+ this.adjustConfidence(0.7);
323
+ }
324
+ if (!this.feature || this.feature.trim() === '') {
325
+ this.addError('Feature description is required');
326
+ this.adjustConfidence(0.5);
327
+ }
328
+ const context = this.ctx.context;
329
+ if (!context?.sprintDays || context.sprintDays < 1) {
330
+ this.addError('Invalid sprint duration');
331
+ this.adjustConfidence(0.6);
332
+ }
333
+ }
334
+ /**
335
+ * Custom recovery logic
336
+ */
337
+ customRecover() {
338
+ // If no context, create a basic one
339
+ if (!this.ctx.context) {
340
+ const planId = `plan-${Date.now()}`;
341
+ const sprintDays = this.options.days || 5;
342
+ this.ctx.context = {
343
+ feature: this.feature,
344
+ sprintDays,
345
+ planId,
346
+ timestamp: new Date().toISOString(),
347
+ phases: this.generatePhases(sprintDays)
348
+ };
349
+ this.removeError('No context available');
350
+ this.adjustConfidence(1.1); // Slight boost after recovery
351
+ }
352
+ }
353
+ /**
354
+ * Custom execution logic
355
+ */
356
+ async customExecute() {
357
+ // Ensure we have content
358
+ if (!this.ctx.content) {
359
+ this.generatePrompt();
360
+ }
361
+ }
362
+ /**
363
+ * Generate phases based on sprint duration
364
+ */
365
+ generatePhases(days) {
366
+ if (days <= 2) {
367
+ return [
368
+ { name: 'Phase 1: Implementation', duration: '1 day' },
369
+ { name: 'Phase 2: Testing & Polish', duration: '1 day' }
370
+ ];
371
+ }
372
+ else if (days <= 5) {
373
+ return [
374
+ { name: 'Phase 1: Foundation', duration: `${Math.floor(days * 0.3)} day(s)` },
375
+ { name: 'Phase 2: Core Implementation', duration: `${Math.floor(days * 0.4)} day(s)` },
376
+ { name: 'Phase 3: Testing & Refinement', duration: `${Math.ceil(days * 0.3)} day(s)` }
377
+ ];
378
+ }
379
+ else {
380
+ return [
381
+ { name: 'Phase 1: Architecture & Setup', duration: `${Math.floor(days * 0.2)} day(s)` },
382
+ { name: 'Phase 2: Core Features', duration: `${Math.floor(days * 0.3)} day(s)` },
383
+ { name: 'Phase 3: Integration', duration: `${Math.floor(days * 0.2)} day(s)` },
384
+ { name: 'Phase 4: Testing & Documentation', duration: `${Math.floor(days * 0.2)} day(s)` },
385
+ { name: 'Phase 5: Polish & Deploy', duration: `${Math.ceil(days * 0.1)} day(s)` }
386
+ ];
387
+ }
388
+ }
389
+ /**
390
+ * Find ADR reference from feature description
391
+ */
392
+ async findADRReference(feature) {
393
+ // Check if feature mentions an ADR
394
+ const adrMatch = feature.match(/ADR-(\d+)/i);
395
+ if (adrMatch) {
396
+ return adrMatch[0].toUpperCase();
397
+ }
398
+ // Check if feature matches recent ADR titles
399
+ const adrDir = path.join(this.projectRoot, 'docs', 'reference', 'architecture');
400
+ if (await fs.pathExists(adrDir)) {
401
+ const files = await fs.readdir(adrDir);
402
+ const recentADRs = files
403
+ .filter(f => f.startsWith('ADR-'))
404
+ .sort()
405
+ .reverse()
406
+ .slice(0, 5); // Check last 5 ADRs
407
+ for (const adrFile of recentADRs) {
408
+ const content = await fs.readFile(path.join(adrDir, adrFile), 'utf8');
409
+ const titleMatch = content.match(/^#\s+ADR-\d+:\s+(.+)$/m);
410
+ if (titleMatch) {
411
+ const title = titleMatch[1].toLowerCase();
412
+ if (feature.toLowerCase().includes(title) || title.includes(feature.toLowerCase())) {
413
+ return adrFile.match(/ADR-\d+/)[0];
414
+ }
415
+ }
416
+ }
417
+ }
418
+ return undefined;
419
+ }
420
+ /**
421
+ * Get ADR content for context
422
+ */
423
+ async getADRContent(adrReference) {
424
+ const adrDir = path.join(this.projectRoot, 'docs', 'reference', 'architecture');
425
+ const adrFiles = await fs.readdir(adrDir).catch(() => []);
426
+ const adrFile = adrFiles.find(f => f.includes(adrReference));
427
+ if (adrFile) {
428
+ const content = await fs.readFile(path.join(adrDir, adrFile), 'utf8');
429
+ return content;
430
+ }
431
+ return undefined;
432
+ }
433
+ /**
434
+ * Main build method using fluent interface
435
+ */
436
+ async build() {
437
+ try {
438
+ if (this.options.verbose) {
439
+ console.log(chalk.bold.cyan('\n🚀 Building plan with Simple Pipeline Pattern\n'));
440
+ }
441
+ await this
442
+ .initialize()
443
+ .then(p => p.loadTemplate())
444
+ .then(p => p.gatherContext())
445
+ .then(p => {
446
+ p.generatePrompt();
447
+ p.validateOutput();
448
+ return p;
449
+ })
450
+ .then(p => p.validate())
451
+ .then(p => {
452
+ p.recover();
453
+ return p;
454
+ })
455
+ .then(p => p.display())
456
+ .then(p => p.execute());
457
+ if (this.options.verbose) {
458
+ console.log(chalk.bold.green('\n✨ Plan pipeline completed successfully!\n'));
459
+ }
460
+ return this.ctx.content || '';
461
+ }
462
+ catch (error) {
463
+ console.error(chalk.red(`\n❌ Pipeline failed: ${error}`));
464
+ throw error;
465
+ }
466
+ }
467
+ }
468
+ /**
469
+ * Store sprint plan to filesystem
470
+ */
471
+ export async function storeSprintPlan(planId, content, verbose = false) {
472
+ const ginkoDir = await getGinkoDir();
473
+ const projectRoot = path.dirname(ginkoDir);
474
+ // Extract title from content
475
+ const titleMatch = content.match(/^#\s+Sprint Plan:\s+(.+)$/m);
476
+ const title = titleMatch ? titleMatch[1] : 'Untitled Sprint';
477
+ const date = new Date().toISOString().split('T')[0];
478
+ const filename = `SPRINT-${date}-${title.toLowerCase().replace(/[^a-z0-9]+/g, '-')}.md`;
479
+ // Store sprint plan
480
+ const sprintDir = path.join(projectRoot, 'docs', 'SPRINTS');
481
+ await fs.ensureDir(sprintDir);
482
+ const sprintPath = path.join(sprintDir, filename);
483
+ await fs.writeFile(sprintPath, content);
484
+ // Also update current sprint symlink
485
+ const currentPath = path.join(sprintDir, 'CURRENT-SPRINT.md');
486
+ if (await fs.pathExists(currentPath)) {
487
+ await fs.remove(currentPath);
488
+ }
489
+ // Create symlink to current sprint
490
+ await fs.symlink(sprintPath, currentPath).catch(() => {
491
+ // If symlink fails (Windows), copy instead
492
+ fs.copyFile(sprintPath, currentPath);
493
+ });
494
+ if (verbose) {
495
+ console.log(chalk.green(`✅ Sprint plan created: ${path.relative(projectRoot, sprintPath)}`));
496
+ console.log(chalk.dim(` Current sprint: ${path.relative(projectRoot, currentPath)}`));
497
+ }
498
+ else {
499
+ console.log('done');
500
+ }
501
+ // Provide phase transition options
502
+ if (verbose) {
503
+ console.log();
504
+ console.log(chalk.dim('─'.repeat(60)));
505
+ console.log(chalk.bold('Planning phase complete. Next steps:'));
506
+ console.log();
507
+ console.log(chalk.cyan(' ginko start') + chalk.dim(' - Begin implementation'));
508
+ console.log(chalk.cyan(' ginko capture') + chalk.dim(' - Document implementation decisions'));
509
+ console.log(chalk.cyan(' ginko ship') + chalk.dim(' - Commit and push your work'));
510
+ console.log();
511
+ console.log(chalk.dim('Note: Sprint plan is now active and ready for execution.'));
512
+ }
513
+ // Clean up temp file
514
+ const tempPath = path.join(ginkoDir, '.temp', `${planId}.json`);
515
+ await fs.remove(tempPath).catch(() => { });
516
+ }
517
+ /**
518
+ * Adapter for CLI command usage
519
+ * Maintains backward compatibility with existing command structure
520
+ */
521
+ export class PlanReflectionCommand {
522
+ pipeline = null;
523
+ /**
524
+ * Execute the plan command
525
+ */
526
+ async execute(feature, options = {}) {
527
+ try {
528
+ // Phase 2: Store AI-generated sprint plan
529
+ if (options.store && options.id) {
530
+ await storeSprintPlan(options.id, options.content || '', options.verbose);
531
+ return;
532
+ }
533
+ // Phase 1 requires feature/ADR reference
534
+ if (!feature) {
535
+ process.stdout.write(chalk.red('error: feature or ADR reference required') + '\n');
536
+ process.stdout.write(chalk.dim('usage: ginko plan "implement ADR-023" --days 5') + '\n');
537
+ process.exit(1);
538
+ }
539
+ // Create and execute pipeline
540
+ this.pipeline = new PlanReflectionPipeline(feature, options);
541
+ await this.pipeline.build();
542
+ // Exit with code 0 to avoid stderr interpretation
543
+ // The AI prompt is expected behavior, not an error
544
+ process.exit(0);
545
+ }
546
+ catch (error) {
547
+ process.stdout.write(chalk.red('error: ') + (error instanceof Error ? error.message : String(error)) + '\n');
548
+ process.exit(1);
549
+ }
550
+ }
551
+ }
552
+ // Export for CLI use
553
+ export default PlanReflectionCommand;
554
+ //# sourceMappingURL=plan-reflection-pipeline.js.map