wiggum-cli 0.11.26 → 0.12.1

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 (476) hide show
  1. package/README.md +2 -1
  2. package/dist/ai/agents/codebase-analyst.d.ts +0 -1
  3. package/dist/ai/agents/codebase-analyst.js +0 -1
  4. package/dist/ai/agents/codebase-analyzer.d.ts +0 -1
  5. package/dist/ai/agents/codebase-analyzer.js +0 -1
  6. package/dist/ai/agents/context-enricher.d.ts +0 -1
  7. package/dist/ai/agents/context-enricher.js +0 -1
  8. package/dist/ai/agents/evaluator-optimizer.d.ts +0 -1
  9. package/dist/ai/agents/evaluator-optimizer.js +0 -1
  10. package/dist/ai/agents/index.d.ts +0 -1
  11. package/dist/ai/agents/index.js +0 -1
  12. package/dist/ai/agents/mcp-detector.d.ts +0 -1
  13. package/dist/ai/agents/mcp-detector.js +0 -1
  14. package/dist/ai/agents/orchestrator.d.ts +0 -1
  15. package/dist/ai/agents/orchestrator.js +0 -1
  16. package/dist/ai/agents/planning-orchestrator.d.ts +0 -1
  17. package/dist/ai/agents/planning-orchestrator.js +0 -1
  18. package/dist/ai/agents/stack-researcher.d.ts +0 -1
  19. package/dist/ai/agents/stack-researcher.js +0 -1
  20. package/dist/ai/agents/stack-utils.d.ts +0 -1
  21. package/dist/ai/agents/stack-utils.js +0 -1
  22. package/dist/ai/agents/synthesis-agent.d.ts +0 -1
  23. package/dist/ai/agents/synthesis-agent.js +0 -1
  24. package/dist/ai/agents/tech-researcher.d.ts +0 -1
  25. package/dist/ai/agents/tech-researcher.js +0 -1
  26. package/dist/ai/agents/types.d.ts +0 -1
  27. package/dist/ai/agents/types.js +0 -1
  28. package/dist/ai/conversation/conversation-manager.d.ts +0 -1
  29. package/dist/ai/conversation/conversation-manager.js +0 -1
  30. package/dist/ai/conversation/index.d.ts +0 -1
  31. package/dist/ai/conversation/index.js +0 -1
  32. package/dist/ai/conversation/interview-tools.d.ts +0 -1
  33. package/dist/ai/conversation/interview-tools.js +0 -1
  34. package/dist/ai/conversation/spec-generator.d.ts +0 -1
  35. package/dist/ai/conversation/spec-generator.js +0 -1
  36. package/dist/ai/conversation/url-fetcher.d.ts +0 -1
  37. package/dist/ai/conversation/url-fetcher.js +0 -1
  38. package/dist/ai/enhancer.d.ts +0 -1
  39. package/dist/ai/enhancer.js +0 -1
  40. package/dist/ai/index.d.ts +0 -1
  41. package/dist/ai/index.js +0 -1
  42. package/dist/ai/prompts.d.ts +0 -1
  43. package/dist/ai/prompts.js +0 -1
  44. package/dist/ai/providers.d.ts +0 -1
  45. package/dist/ai/providers.js +0 -1
  46. package/dist/ai/tools/context7.d.ts +0 -1
  47. package/dist/ai/tools/context7.js +0 -1
  48. package/dist/ai/tools/index.d.ts +0 -1
  49. package/dist/ai/tools/index.js +0 -1
  50. package/dist/ai/tools/tavily.d.ts +0 -1
  51. package/dist/ai/tools/tavily.js +0 -1
  52. package/dist/ai/tools.d.ts +0 -1
  53. package/dist/ai/tools.js +0 -1
  54. package/dist/commands/config.d.ts +0 -1
  55. package/dist/commands/config.js +0 -1
  56. package/dist/commands/init.d.ts +0 -1
  57. package/dist/commands/init.js +0 -1
  58. package/dist/commands/monitor.d.ts +0 -1
  59. package/dist/commands/monitor.js +3 -2
  60. package/dist/commands/new.d.ts +0 -1
  61. package/dist/commands/new.js +0 -1
  62. package/dist/commands/run.d.ts +1 -1
  63. package/dist/commands/run.js +8 -1
  64. package/dist/context/convert.d.ts +0 -1
  65. package/dist/context/convert.js +0 -1
  66. package/dist/context/index.d.ts +0 -1
  67. package/dist/context/index.js +0 -1
  68. package/dist/context/storage.d.ts +0 -1
  69. package/dist/context/storage.js +0 -1
  70. package/dist/context/types.d.ts +0 -1
  71. package/dist/context/types.js +0 -1
  72. package/dist/generator/config.d.ts +0 -1
  73. package/dist/generator/config.js +0 -1
  74. package/dist/generator/index.d.ts +0 -1
  75. package/dist/generator/index.js +0 -1
  76. package/dist/generator/templates.d.ts +0 -1
  77. package/dist/generator/templates.js +0 -1
  78. package/dist/generator/writer.d.ts +0 -1
  79. package/dist/generator/writer.js +0 -1
  80. package/dist/index.d.ts +0 -1
  81. package/dist/index.js +0 -1
  82. package/dist/repl/command-parser.d.ts +0 -1
  83. package/dist/repl/command-parser.js +0 -1
  84. package/dist/repl/index.d.ts +0 -1
  85. package/dist/repl/index.js +0 -1
  86. package/dist/repl/session-state.d.ts +0 -1
  87. package/dist/repl/session-state.js +0 -1
  88. package/dist/scanner/detectors/core/framework.d.ts +0 -1
  89. package/dist/scanner/detectors/core/framework.js +0 -1
  90. package/dist/scanner/detectors/core/packageManager.d.ts +0 -1
  91. package/dist/scanner/detectors/core/packageManager.js +0 -1
  92. package/dist/scanner/detectors/core/styling.d.ts +0 -1
  93. package/dist/scanner/detectors/core/styling.js +0 -1
  94. package/dist/scanner/detectors/core/testing.d.ts +0 -1
  95. package/dist/scanner/detectors/core/testing.js +0 -1
  96. package/dist/scanner/detectors/data/api.d.ts +0 -1
  97. package/dist/scanner/detectors/data/api.js +0 -1
  98. package/dist/scanner/detectors/data/database.d.ts +0 -1
  99. package/dist/scanner/detectors/data/database.js +0 -1
  100. package/dist/scanner/detectors/data/orm.d.ts +0 -1
  101. package/dist/scanner/detectors/data/orm.js +0 -1
  102. package/dist/scanner/detectors/frontend/formHandling.d.ts +0 -1
  103. package/dist/scanner/detectors/frontend/formHandling.js +0 -1
  104. package/dist/scanner/detectors/frontend/stateManagement.d.ts +0 -1
  105. package/dist/scanner/detectors/frontend/stateManagement.js +0 -1
  106. package/dist/scanner/detectors/frontend/uiComponents.d.ts +0 -1
  107. package/dist/scanner/detectors/frontend/uiComponents.js +0 -1
  108. package/dist/scanner/detectors/infra/deployment.d.ts +0 -1
  109. package/dist/scanner/detectors/infra/deployment.js +0 -1
  110. package/dist/scanner/detectors/infra/monorepo.d.ts +0 -1
  111. package/dist/scanner/detectors/infra/monorepo.js +0 -1
  112. package/dist/scanner/detectors/mcp/mcpProject.d.ts +0 -1
  113. package/dist/scanner/detectors/mcp/mcpProject.js +0 -1
  114. package/dist/scanner/detectors/mcp/mcpServers.d.ts +0 -1
  115. package/dist/scanner/detectors/mcp/mcpServers.js +0 -1
  116. package/dist/scanner/detectors/services/analytics.d.ts +0 -1
  117. package/dist/scanner/detectors/services/analytics.js +0 -1
  118. package/dist/scanner/detectors/services/auth.d.ts +0 -1
  119. package/dist/scanner/detectors/services/auth.js +0 -1
  120. package/dist/scanner/detectors/services/email.d.ts +0 -1
  121. package/dist/scanner/detectors/services/email.js +0 -1
  122. package/dist/scanner/detectors/services/payments.d.ts +0 -1
  123. package/dist/scanner/detectors/services/payments.js +0 -1
  124. package/dist/scanner/detectors/utils.d.ts +0 -1
  125. package/dist/scanner/detectors/utils.js +0 -1
  126. package/dist/scanner/index.d.ts +0 -1
  127. package/dist/scanner/index.js +0 -1
  128. package/dist/scanner/registry.d.ts +0 -1
  129. package/dist/scanner/registry.js +0 -1
  130. package/dist/scanner/types.d.ts +0 -1
  131. package/dist/scanner/types.js +0 -1
  132. package/dist/templates/config/ralph.config.cjs.tmpl +1 -0
  133. package/dist/templates/prompts/PROMPT_review_manual.md.tmpl +96 -0
  134. package/dist/templates/root/README.md.tmpl +7 -6
  135. package/dist/templates/scripts/feature-loop.sh.tmpl +34 -5
  136. package/dist/templates/scripts/ralph-monitor.sh.tmpl +3 -1
  137. package/dist/tui/app.d.ts +0 -1
  138. package/dist/tui/app.js +3 -1
  139. package/dist/tui/components/ActionOutput.d.ts +0 -1
  140. package/dist/tui/components/ActionOutput.js +0 -1
  141. package/dist/tui/components/ChatInput.d.ts +0 -1
  142. package/dist/tui/components/ChatInput.js +0 -1
  143. package/dist/tui/components/CommandDropdown.d.ts +0 -1
  144. package/dist/tui/components/CommandDropdown.js +0 -1
  145. package/dist/tui/components/Confirm.d.ts +0 -1
  146. package/dist/tui/components/Confirm.js +0 -1
  147. package/dist/tui/components/ErrorCard.d.ts +0 -1
  148. package/dist/tui/components/ErrorCard.js +0 -1
  149. package/dist/tui/components/FooterStatusBar.d.ts +0 -1
  150. package/dist/tui/components/FooterStatusBar.js +0 -1
  151. package/dist/tui/components/MessageList.d.ts +0 -1
  152. package/dist/tui/components/MessageList.js +0 -1
  153. package/dist/tui/components/MultiSelect.d.ts +0 -1
  154. package/dist/tui/components/MultiSelect.js +0 -1
  155. package/dist/tui/components/PasswordInput.d.ts +0 -1
  156. package/dist/tui/components/PasswordInput.js +0 -1
  157. package/dist/tui/components/PhaseHeader.d.ts +0 -1
  158. package/dist/tui/components/PhaseHeader.js +0 -1
  159. package/dist/tui/components/Select.d.ts +0 -1
  160. package/dist/tui/components/Select.js +0 -1
  161. package/dist/tui/components/StatusLine.d.ts +0 -1
  162. package/dist/tui/components/StatusLine.js +0 -1
  163. package/dist/tui/components/StreamingText.d.ts +0 -1
  164. package/dist/tui/components/StreamingText.js +0 -1
  165. package/dist/tui/components/ToolCallCard.d.ts +0 -1
  166. package/dist/tui/components/ToolCallCard.js +0 -1
  167. package/dist/tui/components/WiggumBanner.d.ts +0 -1
  168. package/dist/tui/components/WiggumBanner.js +1 -3
  169. package/dist/tui/components/WorkingIndicator.d.ts +0 -1
  170. package/dist/tui/components/WorkingIndicator.js +0 -1
  171. package/dist/tui/components/index.d.ts +0 -1
  172. package/dist/tui/components/index.js +0 -1
  173. package/dist/tui/hooks/index.d.ts +0 -1
  174. package/dist/tui/hooks/index.js +0 -1
  175. package/dist/tui/hooks/useCommandHistory.d.ts +0 -1
  176. package/dist/tui/hooks/useCommandHistory.js +0 -1
  177. package/dist/tui/hooks/useInit.d.ts +0 -1
  178. package/dist/tui/hooks/useInit.js +0 -1
  179. package/dist/tui/hooks/useSpecGenerator.d.ts +0 -1
  180. package/dist/tui/hooks/useSpecGenerator.js +0 -1
  181. package/dist/tui/hooks/useSync.d.ts +0 -1
  182. package/dist/tui/hooks/useSync.js +0 -1
  183. package/dist/tui/index.d.ts +0 -1
  184. package/dist/tui/index.js +0 -1
  185. package/dist/tui/orchestration/index.d.ts +0 -1
  186. package/dist/tui/orchestration/index.js +0 -1
  187. package/dist/tui/orchestration/interview-orchestrator.d.ts +0 -1
  188. package/dist/tui/orchestration/interview-orchestrator.js +0 -1
  189. package/dist/tui/screens/InitScreen.d.ts +0 -1
  190. package/dist/tui/screens/InitScreen.js +0 -1
  191. package/dist/tui/screens/InterviewScreen.d.ts +0 -1
  192. package/dist/tui/screens/InterviewScreen.js +0 -1
  193. package/dist/tui/screens/MainShell.d.ts +0 -1
  194. package/dist/tui/screens/MainShell.js +0 -1
  195. package/dist/tui/screens/RunScreen.d.ts +0 -1
  196. package/dist/tui/screens/RunScreen.js +8 -1
  197. package/dist/tui/screens/WelcomeScreen.d.ts +0 -1
  198. package/dist/tui/screens/WelcomeScreen.js +0 -1
  199. package/dist/tui/screens/index.d.ts +0 -1
  200. package/dist/tui/screens/index.js +0 -1
  201. package/dist/tui/theme.d.ts +0 -1
  202. package/dist/tui/theme.js +0 -1
  203. package/dist/tui/types/interview.d.ts +0 -1
  204. package/dist/tui/types/interview.js +0 -1
  205. package/dist/tui/utils/input-utils.d.ts +0 -1
  206. package/dist/tui/utils/input-utils.js +0 -1
  207. package/dist/tui/utils/loop-status.d.ts +0 -1
  208. package/dist/tui/utils/loop-status.js +3 -2
  209. package/dist/utils/colors.d.ts +0 -1
  210. package/dist/utils/colors.js +0 -1
  211. package/dist/utils/config.d.ts +1 -1
  212. package/dist/utils/config.js +2 -1
  213. package/dist/utils/env.d.ts +0 -1
  214. package/dist/utils/env.js +0 -1
  215. package/dist/utils/header.d.ts +0 -1
  216. package/dist/utils/header.js +0 -1
  217. package/dist/utils/json-repair.d.ts +0 -1
  218. package/dist/utils/json-repair.js +0 -1
  219. package/dist/utils/logger.d.ts +0 -1
  220. package/dist/utils/logger.js +0 -1
  221. package/dist/utils/spinner.d.ts +0 -1
  222. package/dist/utils/spinner.js +0 -1
  223. package/dist/utils/tracing.d.ts +0 -1
  224. package/dist/utils/tracing.js +0 -1
  225. package/dist/utils/tui.d.ts +0 -1
  226. package/dist/utils/tui.js +0 -1
  227. package/dist/utils/update-check.d.ts +0 -1
  228. package/dist/utils/update-check.js +0 -1
  229. package/package.json +5 -5
  230. package/src/templates/config/ralph.config.cjs.tmpl +1 -0
  231. package/src/templates/prompts/PROMPT_review_manual.md.tmpl +96 -0
  232. package/src/templates/root/README.md.tmpl +7 -6
  233. package/src/templates/scripts/feature-loop.sh.tmpl +34 -5
  234. package/src/templates/scripts/ralph-monitor.sh.tmpl +3 -1
  235. package/CONTRIBUTING.md +0 -162
  236. package/dist/ai/agents/codebase-analyst.d.ts.map +0 -1
  237. package/dist/ai/agents/codebase-analyst.js.map +0 -1
  238. package/dist/ai/agents/codebase-analyzer.d.ts.map +0 -1
  239. package/dist/ai/agents/codebase-analyzer.js.map +0 -1
  240. package/dist/ai/agents/context-enricher.d.ts.map +0 -1
  241. package/dist/ai/agents/context-enricher.js.map +0 -1
  242. package/dist/ai/agents/evaluator-optimizer.d.ts.map +0 -1
  243. package/dist/ai/agents/evaluator-optimizer.js.map +0 -1
  244. package/dist/ai/agents/index.d.ts.map +0 -1
  245. package/dist/ai/agents/index.js.map +0 -1
  246. package/dist/ai/agents/mcp-detector.d.ts.map +0 -1
  247. package/dist/ai/agents/mcp-detector.js.map +0 -1
  248. package/dist/ai/agents/orchestrator.d.ts.map +0 -1
  249. package/dist/ai/agents/orchestrator.js.map +0 -1
  250. package/dist/ai/agents/planning-orchestrator.d.ts.map +0 -1
  251. package/dist/ai/agents/planning-orchestrator.js.map +0 -1
  252. package/dist/ai/agents/stack-researcher.d.ts.map +0 -1
  253. package/dist/ai/agents/stack-researcher.js.map +0 -1
  254. package/dist/ai/agents/stack-utils.d.ts.map +0 -1
  255. package/dist/ai/agents/stack-utils.js.map +0 -1
  256. package/dist/ai/agents/synthesis-agent.d.ts.map +0 -1
  257. package/dist/ai/agents/synthesis-agent.js.map +0 -1
  258. package/dist/ai/agents/tech-researcher.d.ts.map +0 -1
  259. package/dist/ai/agents/tech-researcher.js.map +0 -1
  260. package/dist/ai/agents/types.d.ts.map +0 -1
  261. package/dist/ai/agents/types.js.map +0 -1
  262. package/dist/ai/conversation/conversation-manager.d.ts.map +0 -1
  263. package/dist/ai/conversation/conversation-manager.js.map +0 -1
  264. package/dist/ai/conversation/index.d.ts.map +0 -1
  265. package/dist/ai/conversation/index.js.map +0 -1
  266. package/dist/ai/conversation/interview-tools.d.ts.map +0 -1
  267. package/dist/ai/conversation/interview-tools.js.map +0 -1
  268. package/dist/ai/conversation/spec-generator.d.ts.map +0 -1
  269. package/dist/ai/conversation/spec-generator.js.map +0 -1
  270. package/dist/ai/conversation/url-fetcher.d.ts.map +0 -1
  271. package/dist/ai/conversation/url-fetcher.js.map +0 -1
  272. package/dist/ai/enhancer.d.ts.map +0 -1
  273. package/dist/ai/enhancer.js.map +0 -1
  274. package/dist/ai/index.d.ts.map +0 -1
  275. package/dist/ai/index.js.map +0 -1
  276. package/dist/ai/prompts.d.ts.map +0 -1
  277. package/dist/ai/prompts.js.map +0 -1
  278. package/dist/ai/providers.d.ts.map +0 -1
  279. package/dist/ai/providers.js.map +0 -1
  280. package/dist/ai/tools/context7.d.ts.map +0 -1
  281. package/dist/ai/tools/context7.js.map +0 -1
  282. package/dist/ai/tools/index.d.ts.map +0 -1
  283. package/dist/ai/tools/index.js.map +0 -1
  284. package/dist/ai/tools/tavily.d.ts.map +0 -1
  285. package/dist/ai/tools/tavily.js.map +0 -1
  286. package/dist/ai/tools.d.ts.map +0 -1
  287. package/dist/ai/tools.js.map +0 -1
  288. package/dist/cli.d.ts +0 -6
  289. package/dist/cli.d.ts.map +0 -1
  290. package/dist/cli.js +0 -212
  291. package/dist/cli.js.map +0 -1
  292. package/dist/commands/config.d.ts.map +0 -1
  293. package/dist/commands/config.js.map +0 -1
  294. package/dist/commands/init.d.ts.map +0 -1
  295. package/dist/commands/init.js.map +0 -1
  296. package/dist/commands/monitor.d.ts.map +0 -1
  297. package/dist/commands/monitor.js.map +0 -1
  298. package/dist/commands/new.d.ts.map +0 -1
  299. package/dist/commands/new.js.map +0 -1
  300. package/dist/commands/run.d.ts.map +0 -1
  301. package/dist/commands/run.js.map +0 -1
  302. package/dist/context/convert.d.ts.map +0 -1
  303. package/dist/context/convert.js.map +0 -1
  304. package/dist/context/index.d.ts.map +0 -1
  305. package/dist/context/index.js.map +0 -1
  306. package/dist/context/storage.d.ts.map +0 -1
  307. package/dist/context/storage.js.map +0 -1
  308. package/dist/context/types.d.ts.map +0 -1
  309. package/dist/context/types.js.map +0 -1
  310. package/dist/generator/config.d.ts.map +0 -1
  311. package/dist/generator/config.js.map +0 -1
  312. package/dist/generator/index.d.ts.map +0 -1
  313. package/dist/generator/index.js.map +0 -1
  314. package/dist/generator/templates.d.ts.map +0 -1
  315. package/dist/generator/templates.js.map +0 -1
  316. package/dist/generator/writer.d.ts.map +0 -1
  317. package/dist/generator/writer.js.map +0 -1
  318. package/dist/index.d.ts.map +0 -1
  319. package/dist/index.js.map +0 -1
  320. package/dist/repl/command-parser.d.ts.map +0 -1
  321. package/dist/repl/command-parser.js.map +0 -1
  322. package/dist/repl/index.d.ts.map +0 -1
  323. package/dist/repl/index.js.map +0 -1
  324. package/dist/repl/repl-loop.d.ts +0 -32
  325. package/dist/repl/repl-loop.d.ts.map +0 -1
  326. package/dist/repl/repl-loop.js +0 -309
  327. package/dist/repl/repl-loop.js.map +0 -1
  328. package/dist/repl/session-state.d.ts.map +0 -1
  329. package/dist/repl/session-state.js.map +0 -1
  330. package/dist/scanner/detectors/core/framework.d.ts.map +0 -1
  331. package/dist/scanner/detectors/core/framework.js.map +0 -1
  332. package/dist/scanner/detectors/core/packageManager.d.ts.map +0 -1
  333. package/dist/scanner/detectors/core/packageManager.js.map +0 -1
  334. package/dist/scanner/detectors/core/styling.d.ts.map +0 -1
  335. package/dist/scanner/detectors/core/styling.js.map +0 -1
  336. package/dist/scanner/detectors/core/testing.d.ts.map +0 -1
  337. package/dist/scanner/detectors/core/testing.js.map +0 -1
  338. package/dist/scanner/detectors/data/api.d.ts.map +0 -1
  339. package/dist/scanner/detectors/data/api.js.map +0 -1
  340. package/dist/scanner/detectors/data/database.d.ts.map +0 -1
  341. package/dist/scanner/detectors/data/database.js.map +0 -1
  342. package/dist/scanner/detectors/data/orm.d.ts.map +0 -1
  343. package/dist/scanner/detectors/data/orm.js.map +0 -1
  344. package/dist/scanner/detectors/frontend/formHandling.d.ts.map +0 -1
  345. package/dist/scanner/detectors/frontend/formHandling.js.map +0 -1
  346. package/dist/scanner/detectors/frontend/stateManagement.d.ts.map +0 -1
  347. package/dist/scanner/detectors/frontend/stateManagement.js.map +0 -1
  348. package/dist/scanner/detectors/frontend/uiComponents.d.ts.map +0 -1
  349. package/dist/scanner/detectors/frontend/uiComponents.js.map +0 -1
  350. package/dist/scanner/detectors/infra/deployment.d.ts.map +0 -1
  351. package/dist/scanner/detectors/infra/deployment.js.map +0 -1
  352. package/dist/scanner/detectors/infra/monorepo.d.ts.map +0 -1
  353. package/dist/scanner/detectors/infra/monorepo.js.map +0 -1
  354. package/dist/scanner/detectors/mcp/mcpProject.d.ts.map +0 -1
  355. package/dist/scanner/detectors/mcp/mcpProject.js.map +0 -1
  356. package/dist/scanner/detectors/mcp/mcpServers.d.ts.map +0 -1
  357. package/dist/scanner/detectors/mcp/mcpServers.js.map +0 -1
  358. package/dist/scanner/detectors/services/analytics.d.ts.map +0 -1
  359. package/dist/scanner/detectors/services/analytics.js.map +0 -1
  360. package/dist/scanner/detectors/services/auth.d.ts.map +0 -1
  361. package/dist/scanner/detectors/services/auth.js.map +0 -1
  362. package/dist/scanner/detectors/services/email.d.ts.map +0 -1
  363. package/dist/scanner/detectors/services/email.js.map +0 -1
  364. package/dist/scanner/detectors/services/payments.d.ts.map +0 -1
  365. package/dist/scanner/detectors/services/payments.js.map +0 -1
  366. package/dist/scanner/detectors/utils.d.ts.map +0 -1
  367. package/dist/scanner/detectors/utils.js.map +0 -1
  368. package/dist/scanner/index.d.ts.map +0 -1
  369. package/dist/scanner/index.js.map +0 -1
  370. package/dist/scanner/registry.d.ts.map +0 -1
  371. package/dist/scanner/registry.js.map +0 -1
  372. package/dist/scanner/types.d.ts.map +0 -1
  373. package/dist/scanner/types.js.map +0 -1
  374. package/dist/templates/config/ralph.config.js.tmpl +0 -38
  375. package/dist/tui/app.d.ts.map +0 -1
  376. package/dist/tui/app.js.map +0 -1
  377. package/dist/tui/components/ActionOutput.d.ts.map +0 -1
  378. package/dist/tui/components/ActionOutput.js.map +0 -1
  379. package/dist/tui/components/ChatInput.d.ts.map +0 -1
  380. package/dist/tui/components/ChatInput.js.map +0 -1
  381. package/dist/tui/components/CommandDropdown.d.ts.map +0 -1
  382. package/dist/tui/components/CommandDropdown.js.map +0 -1
  383. package/dist/tui/components/Confirm.d.ts.map +0 -1
  384. package/dist/tui/components/Confirm.js.map +0 -1
  385. package/dist/tui/components/ErrorCard.d.ts.map +0 -1
  386. package/dist/tui/components/ErrorCard.js.map +0 -1
  387. package/dist/tui/components/FooterStatusBar.d.ts.map +0 -1
  388. package/dist/tui/components/FooterStatusBar.js.map +0 -1
  389. package/dist/tui/components/MessageList.d.ts.map +0 -1
  390. package/dist/tui/components/MessageList.js.map +0 -1
  391. package/dist/tui/components/MultiSelect.d.ts.map +0 -1
  392. package/dist/tui/components/MultiSelect.js.map +0 -1
  393. package/dist/tui/components/PasswordInput.d.ts.map +0 -1
  394. package/dist/tui/components/PasswordInput.js.map +0 -1
  395. package/dist/tui/components/PhaseHeader.d.ts.map +0 -1
  396. package/dist/tui/components/PhaseHeader.js.map +0 -1
  397. package/dist/tui/components/Select.d.ts.map +0 -1
  398. package/dist/tui/components/Select.js.map +0 -1
  399. package/dist/tui/components/StatusLine.d.ts.map +0 -1
  400. package/dist/tui/components/StatusLine.js.map +0 -1
  401. package/dist/tui/components/StreamingText.d.ts.map +0 -1
  402. package/dist/tui/components/StreamingText.js.map +0 -1
  403. package/dist/tui/components/ToolCallCard.d.ts.map +0 -1
  404. package/dist/tui/components/ToolCallCard.js.map +0 -1
  405. package/dist/tui/components/WiggumBanner.d.ts.map +0 -1
  406. package/dist/tui/components/WiggumBanner.js.map +0 -1
  407. package/dist/tui/components/WorkingIndicator.d.ts.map +0 -1
  408. package/dist/tui/components/WorkingIndicator.js.map +0 -1
  409. package/dist/tui/components/index.d.ts.map +0 -1
  410. package/dist/tui/components/index.js.map +0 -1
  411. package/dist/tui/demo.d.ts +0 -8
  412. package/dist/tui/demo.d.ts.map +0 -1
  413. package/dist/tui/demo.js +0 -69
  414. package/dist/tui/demo.js.map +0 -1
  415. package/dist/tui/hooks/index.d.ts.map +0 -1
  416. package/dist/tui/hooks/index.js.map +0 -1
  417. package/dist/tui/hooks/useCommandHistory.d.ts.map +0 -1
  418. package/dist/tui/hooks/useCommandHistory.js.map +0 -1
  419. package/dist/tui/hooks/useInit.d.ts.map +0 -1
  420. package/dist/tui/hooks/useInit.js.map +0 -1
  421. package/dist/tui/hooks/useSpecGenerator.d.ts.map +0 -1
  422. package/dist/tui/hooks/useSpecGenerator.js.map +0 -1
  423. package/dist/tui/hooks/useSync.d.ts.map +0 -1
  424. package/dist/tui/hooks/useSync.js.map +0 -1
  425. package/dist/tui/index.d.ts.map +0 -1
  426. package/dist/tui/index.js.map +0 -1
  427. package/dist/tui/orchestration/index.d.ts.map +0 -1
  428. package/dist/tui/orchestration/index.js.map +0 -1
  429. package/dist/tui/orchestration/interview-orchestrator.d.ts.map +0 -1
  430. package/dist/tui/orchestration/interview-orchestrator.js.map +0 -1
  431. package/dist/tui/screens/InitScreen.d.ts.map +0 -1
  432. package/dist/tui/screens/InitScreen.js.map +0 -1
  433. package/dist/tui/screens/InterviewScreen.d.ts.map +0 -1
  434. package/dist/tui/screens/InterviewScreen.js.map +0 -1
  435. package/dist/tui/screens/MainShell.d.ts.map +0 -1
  436. package/dist/tui/screens/MainShell.js.map +0 -1
  437. package/dist/tui/screens/RunScreen.d.ts.map +0 -1
  438. package/dist/tui/screens/RunScreen.js.map +0 -1
  439. package/dist/tui/screens/WelcomeScreen.d.ts.map +0 -1
  440. package/dist/tui/screens/WelcomeScreen.js.map +0 -1
  441. package/dist/tui/screens/index.d.ts.map +0 -1
  442. package/dist/tui/screens/index.js.map +0 -1
  443. package/dist/tui/theme.d.ts.map +0 -1
  444. package/dist/tui/theme.js.map +0 -1
  445. package/dist/tui/types/interview.d.ts.map +0 -1
  446. package/dist/tui/types/interview.js.map +0 -1
  447. package/dist/tui/utils/input-utils.d.ts.map +0 -1
  448. package/dist/tui/utils/input-utils.js.map +0 -1
  449. package/dist/tui/utils/loop-status.d.ts.map +0 -1
  450. package/dist/tui/utils/loop-status.js.map +0 -1
  451. package/dist/utils/colors.d.ts.map +0 -1
  452. package/dist/utils/colors.js.map +0 -1
  453. package/dist/utils/config.d.ts.map +0 -1
  454. package/dist/utils/config.js.map +0 -1
  455. package/dist/utils/env.d.ts.map +0 -1
  456. package/dist/utils/env.js.map +0 -1
  457. package/dist/utils/header.d.ts.map +0 -1
  458. package/dist/utils/header.js.map +0 -1
  459. package/dist/utils/json-repair.d.ts.map +0 -1
  460. package/dist/utils/json-repair.js.map +0 -1
  461. package/dist/utils/logger.d.ts.map +0 -1
  462. package/dist/utils/logger.js.map +0 -1
  463. package/dist/utils/repl-prompts.d.ts +0 -59
  464. package/dist/utils/repl-prompts.d.ts.map +0 -1
  465. package/dist/utils/repl-prompts.js +0 -314
  466. package/dist/utils/repl-prompts.js.map +0 -1
  467. package/dist/utils/spinner.d.ts.map +0 -1
  468. package/dist/utils/spinner.js.map +0 -1
  469. package/dist/utils/tracing.d.ts.map +0 -1
  470. package/dist/utils/tracing.js.map +0 -1
  471. package/dist/utils/tui.d.ts.map +0 -1
  472. package/dist/utils/tui.js.map +0 -1
  473. package/dist/utils/update-check.d.ts.map +0 -1
  474. package/dist/utils/update-check.js.map +0 -1
  475. /package/dist/templates/prompts/{PROMPT_review.md.tmpl → PROMPT_review_auto.md.tmpl} +0 -0
  476. /package/src/templates/prompts/{PROMPT_review.md.tmpl → PROMPT_review_auto.md.tmpl} +0 -0
package/README.md CHANGED
@@ -162,7 +162,8 @@ $ wiggum
162
162
  │ ├── PROMPT_feature.md # Feature planning
163
163
  │ ├── PROMPT_e2e.md # E2E testing
164
164
  │ ├── PROMPT_verify.md # Verification
165
- └── PROMPT_review.md # PR review
165
+ ├── PROMPT_review_manual.md # PR review (manual - stop at PR)
166
+ │ └── PROMPT_review_auto.md # PR review (auto - review + merge)
166
167
  ├── guides/
167
168
  │ ├── AGENTS.md # Agent instructions (CLAUDE.md)
168
169
  │ ├── FRONTEND.md # Frontend patterns
@@ -11,4 +11,3 @@ import type { CodebaseAnalysis, CodebaseAnalystInput } from './types.js';
11
11
  * Run the Codebase Analyst agent
12
12
  */
13
13
  export declare function runCodebaseAnalyst(model: LanguageModel, modelId: string, input: CodebaseAnalystInput, verbose?: boolean): Promise<CodebaseAnalysis | null>;
14
- //# sourceMappingURL=codebase-analyst.d.ts.map
@@ -146,4 +146,3 @@ function parseCodebaseAnalysis(text, steps, verbose) {
146
146
  }
147
147
  return parsed;
148
148
  }
149
- //# sourceMappingURL=codebase-analyst.js.map
@@ -21,4 +21,3 @@ export declare function runCodebaseAnalyzer(model: LanguageModel, modelId: strin
21
21
  * Exported for testing
22
22
  */
23
23
  export declare function deriveEntryPointsFromPackageJson(projectRoot: string): string[];
24
- //# sourceMappingURL=codebase-analyzer.d.ts.map
@@ -461,4 +461,3 @@ function getDefaultMultiAgentAnalysis(scanResult) {
461
461
  mcpServers: convertToLegacyMcpRecommendations(mcpServers),
462
462
  };
463
463
  }
464
- //# sourceMappingURL=codebase-analyzer.js.map
@@ -22,4 +22,3 @@ export declare const SCRIPT_MAPPINGS: Record<string, string[]>;
22
22
  * Exported for testing
23
23
  */
24
24
  export declare function deriveCommandsFromScripts(projectRoot: string): Record<string, string>;
25
- //# sourceMappingURL=context-enricher.d.ts.map
@@ -299,4 +299,3 @@ function getDefaultEnrichedContext(input) {
299
299
  projectType,
300
300
  };
301
301
  }
302
- //# sourceMappingURL=context-enricher.js.map
@@ -14,4 +14,3 @@ import type { MultiAgentAnalysis } from './types.js';
14
14
  * Run the Evaluator-Optimizer QA loop
15
15
  */
16
16
  export declare function runEvaluatorOptimizer(model: LanguageModel, modelId: string, result: MultiAgentAnalysis, scanResult: ScanResult, maxIterations?: number, verbose?: boolean): Promise<MultiAgentAnalysis>;
17
- //# sourceMappingURL=evaluator-optimizer.d.ts.map
@@ -299,4 +299,3 @@ Provide improved guidelines and any additional entry points or MCP servers.`;
299
299
  return result;
300
300
  }
301
301
  }
302
- //# sourceMappingURL=evaluator-optimizer.js.map
@@ -37,4 +37,3 @@ import type { MultiAgentAnalysis, AgentOptions } from './types.js';
37
37
  * - Failure points: Many → Few
38
38
  */
39
39
  export declare function runMultiAgentAnalysis(model: LanguageModel, modelId: string, scanResult: ScanResult, options?: AgentOptions): Promise<MultiAgentAnalysis | null>;
40
- //# sourceMappingURL=index.d.ts.map
@@ -112,4 +112,3 @@ function getDefaultMultiAgentAnalysis(scanResult) {
112
112
  mcpServers: convertToLegacyMcpRecommendations(mcpServers),
113
113
  };
114
114
  }
115
- //# sourceMappingURL=index.js.map
@@ -32,4 +32,3 @@ export declare function convertToLegacyMcpRecommendations(ralphMcp: RalphMcpServ
32
32
  essential: string[];
33
33
  recommended: string[];
34
34
  };
35
- //# sourceMappingURL=mcp-detector.d.ts.map
@@ -213,4 +213,3 @@ function addIfNotExists(arr, item) {
213
213
  arr.push(item);
214
214
  }
215
215
  }
216
- //# sourceMappingURL=mcp-detector.js.map
@@ -15,4 +15,3 @@ export declare function runOrchestrator(model: LanguageModel, modelId: string, i
15
15
  * Merge all agent results into a final MultiAgentAnalysis
16
16
  */
17
17
  export declare function mergeAgentResults(codebaseAnalysis: CodebaseAnalysis, stackResearch: StackResearch, mcpServers: McpRecommendations): MultiAgentAnalysis;
18
- //# sourceMappingURL=orchestrator.d.ts.map
@@ -181,4 +181,3 @@ export function mergeAgentResults(codebaseAnalysis, stackResearch, mcpServers) {
181
181
  mcpServers,
182
182
  };
183
183
  }
184
- //# sourceMappingURL=orchestrator.js.map
@@ -13,4 +13,3 @@ import type { AnalysisPlan } from './types.js';
13
13
  * Run the Planning Orchestrator to create an analysis plan
14
14
  */
15
15
  export declare function runPlanningOrchestrator(model: LanguageModel, modelId: string, scanResult: ScanResult, verbose?: boolean): Promise<AnalysisPlan>;
16
- //# sourceMappingURL=planning-orchestrator.d.ts.map
@@ -134,4 +134,3 @@ function getDefaultPlan(scanResult) {
134
134
  estimatedComplexity: 'medium',
135
135
  };
136
136
  }
137
- //# sourceMappingURL=planning-orchestrator.js.map
@@ -15,4 +15,3 @@ export declare function runStackResearcher(model: LanguageModel, modelId: string
15
15
  tavilyApiKey?: string;
16
16
  context7ApiKey?: string;
17
17
  }, verbose?: boolean): Promise<StackResearch | null>;
18
- //# sourceMappingURL=stack-researcher.d.ts.map
@@ -288,4 +288,3 @@ function getDefaultStackResearch(researchMode) {
288
288
  researchMode,
289
289
  };
290
290
  }
291
- //# sourceMappingURL=stack-researcher.js.map
@@ -8,4 +8,3 @@ import type { DetectedStack } from '../../scanner/types.js';
8
8
  * Returns a human-readable project type string
9
9
  */
10
10
  export declare function detectProjectType(stack: DetectedStack | undefined): string;
11
- //# sourceMappingURL=stack-utils.d.ts.map
@@ -24,4 +24,3 @@ export function detectProjectType(stack) {
24
24
  }
25
25
  return 'Unknown';
26
26
  }
27
- //# sourceMappingURL=stack-utils.js.map
@@ -12,4 +12,3 @@ import type { SynthesisInput, MultiAgentAnalysis } from './types.js';
12
12
  * Run the Synthesis Agent to merge results and generate guidelines
13
13
  */
14
14
  export declare function runSynthesisAgent(model: LanguageModel, modelId: string, input: SynthesisInput, verbose?: boolean): Promise<MultiAgentAnalysis>;
15
- //# sourceMappingURL=synthesis-agent.d.ts.map
@@ -231,4 +231,3 @@ function getDefaultGuidelines(input) {
231
231
  guidelines.push('Use TypeScript strict mode');
232
232
  return guidelines.slice(0, 7);
233
233
  }
234
- //# sourceMappingURL=synthesis-agent.js.map
@@ -28,4 +28,3 @@ export declare function runTechResearcher(model: LanguageModel, modelId: string,
28
28
  * Run multiple Tech Researchers in parallel for a list of technologies
29
29
  */
30
30
  export declare function runTechResearchPool(model: LanguageModel, modelId: string, technologies: string[], options: AgentOptions, verbose?: boolean): Promise<TechResearchResult[]>;
31
- //# sourceMappingURL=tech-researcher.d.ts.map
@@ -297,4 +297,3 @@ function getDefaultTechResearch(technology, researchMode) {
297
297
  researchMode,
298
298
  };
299
299
  }
300
- //# sourceMappingURL=tech-researcher.js.map
@@ -298,4 +298,3 @@ export interface SynthesisInput {
298
298
  /** The detected stack from scanner */
299
299
  stack: DetectedStack;
300
300
  }
301
- //# sourceMappingURL=types.d.ts.map
@@ -9,4 +9,3 @@
9
9
  * Phase 4: Evaluator-Optimizer (QA loop)
10
10
  */
11
11
  export {};
12
- //# sourceMappingURL=types.js.map
@@ -122,4 +122,3 @@ export declare class ConversationManager {
122
122
  */
123
123
  addToHistory(message: ConversationMessage): void;
124
124
  }
125
- //# sourceMappingURL=conversation-manager.d.ts.map
@@ -220,4 +220,3 @@ Be concise but thorough. Focus on understanding the user's needs before proposin
220
220
  this.messages.push(message);
221
221
  }
222
222
  }
223
- //# sourceMappingURL=conversation-manager.js.map
@@ -6,4 +6,3 @@ export { ConversationManager, type ConversationMessage, type ConversationContext
6
6
  export { SpecGenerator, type SpecGeneratorOptions, type SessionContext, } from './spec-generator.js';
7
7
  export { createInterviewTools, type InterviewTools, } from './interview-tools.js';
8
8
  export { fetchContent, fetchMultipleSources, isUrl, type FetchedContent, } from './url-fetcher.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -6,4 +6,3 @@ export { ConversationManager, } from './conversation-manager.js';
6
6
  export { SpecGenerator, } from './spec-generator.js';
7
7
  export { createInterviewTools, } from './interview-tools.js';
8
8
  export { fetchContent, fetchMultipleSources, isUrl, } from './url-fetcher.js';
9
- //# sourceMappingURL=index.js.map
@@ -88,4 +88,3 @@ export declare function createInterviewTools(projectRoot: string): {
88
88
  * Export tool types for TypeScript
89
89
  */
90
90
  export type InterviewTools = ReturnType<typeof createInterviewTools>;
91
- //# sourceMappingURL=interview-tools.d.ts.map
@@ -279,4 +279,3 @@ Returns names and types (file/directory).`,
279
279
  }),
280
280
  };
281
281
  }
282
- //# sourceMappingURL=interview-tools.js.map
@@ -106,4 +106,3 @@ export declare class SpecGenerator {
106
106
  getPhase(): GeneratorPhase;
107
107
  }
108
108
  export {};
109
- //# sourceMappingURL=spec-generator.d.ts.map
@@ -525,4 +525,3 @@ Today's date is ${new Date().toISOString().split('T')[0]}.`;
525
525
  return this.phase;
526
526
  }
527
527
  }
528
- //# sourceMappingURL=spec-generator.js.map
@@ -23,4 +23,3 @@ export declare function fetchContent(input: string, projectRoot: string): Promis
23
23
  * Fetch multiple sources in parallel
24
24
  */
25
25
  export declare function fetchMultipleSources(inputs: string[], projectRoot: string): Promise<FetchedContent[]>;
26
- //# sourceMappingURL=url-fetcher.d.ts.map
@@ -142,4 +142,3 @@ export async function fetchContent(input, projectRoot) {
142
142
  export async function fetchMultipleSources(inputs, projectRoot) {
143
143
  return Promise.all(inputs.map(input => fetchContent(input, projectRoot)));
144
144
  }
145
- //# sourceMappingURL=url-fetcher.js.map
@@ -185,4 +185,3 @@ export declare function enhanceWithAI(scanResult: ScanResult, options?: Enhancer
185
185
  * Format AI analysis result for display
186
186
  */
187
187
  export declare function formatAIAnalysis(analysis: AIAnalysisResult): string;
188
- //# sourceMappingURL=enhancer.d.ts.map
@@ -434,4 +434,3 @@ export function formatAIAnalysis(analysis) {
434
434
  }
435
435
  return lines.join('\n');
436
436
  }
437
- //# sourceMappingURL=enhancer.js.map
@@ -8,4 +8,3 @@ export { createExplorationTools, RIPGREP_SKILL, } from './tools.js';
8
8
  export { createTavilySearchTool, canUseTavily, createContext7Tools, canUseContext7, } from './tools/index.js';
9
9
  export { runMultiAgentAnalysis, runPlanningOrchestrator, runContextEnricher, runTechResearcher, runTechResearchPool, runSynthesisAgent, detectRalphMcpServers, convertToLegacyMcpRecommendations, runEvaluatorOptimizer, type AnalysisPlan, type EnrichedContext, type TechResearchResult, type RalphMcpServers, type EvaluationResult, type CodebaseAnalysis, type StackResearch, type McpRecommendations, type MultiAgentAnalysis, type AgentCapabilities, type AgentOptions, type ToolCallCallback, type ToolCallEvent, runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, } from './agents/index.js';
10
10
  export { type ProjectContext, type DetectedCommands, type McpRecommendations as McpRecommendationsLegacy, type E2ETools, type TokenUsage, type AIAnalysisResult, type EnhancedScanResult, type EnhancerOptions, AIEnhancer, enhanceWithAI, formatAIAnalysis, } from './enhancer.js';
11
- //# sourceMappingURL=index.d.ts.map
package/dist/ai/index.js CHANGED
@@ -26,4 +26,3 @@ runEvaluatorOptimizer,
26
26
  runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, } from './agents/index.js';
27
27
  // AI enhancer
28
28
  export { AIEnhancer, enhanceWithAI, formatAIAnalysis, } from './enhancer.js';
29
- //# sourceMappingURL=index.js.map
@@ -27,4 +27,3 @@ export declare function createValidationPrompt(scanResult: ScanResult): string;
27
27
  * Prompt for generating stack-specific recommendations
28
28
  */
29
29
  export declare function createRecommendationsPrompt(scanResult: ScanResult): string;
30
- //# sourceMappingURL=prompts.d.ts.map
@@ -291,4 +291,3 @@ Provide recommendations in JSON format:
291
291
 
292
292
  Focus on practical, actionable recommendations.`;
293
293
  }
294
- //# sourceMappingURL=prompts.js.map
@@ -91,4 +91,3 @@ export declare function getContext7Key(): string | undefined;
91
91
  * Get the status of all optional services
92
92
  */
93
93
  export declare function getOptionalServicesStatus(): Record<OptionalService, boolean>;
94
- //# sourceMappingURL=providers.d.ts.map
@@ -214,4 +214,3 @@ export function getOptionalServicesStatus() {
214
214
  braintrust: !!process.env[OPTIONAL_SERVICE_ENV_VARS.braintrust],
215
215
  };
216
216
  }
217
- //# sourceMappingURL=providers.js.map
@@ -25,4 +25,3 @@ export declare function createContext7Tools(apiKey: string): {
25
25
  * Check if Context7 can be used
26
26
  */
27
27
  export declare function canUseContext7(apiKey?: string): boolean;
28
- //# sourceMappingURL=context7.d.ts.map
@@ -24,4 +24,3 @@ export function createContext7Tools(apiKey) {
24
24
  export function canUseContext7(apiKey) {
25
25
  return !!apiKey && apiKey.length > 0;
26
26
  }
27
- //# sourceMappingURL=context7.js.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  export { createTavilySearchTool, canUseTavily, type TavilySearchResult, } from './tavily.js';
6
6
  export { createContext7Tools, canUseContext7, } from './context7.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@
4
4
  */
5
5
  export { createTavilySearchTool, canUseTavily, } from './tavily.js';
6
6
  export { createContext7Tools, canUseContext7, } from './context7.js';
7
- //# sourceMappingURL=index.js.map
@@ -25,4 +25,3 @@ export declare function createTavilySearchTool(apiKey: string): import("ai").Too
25
25
  * Create a function that checks if Tavily search can be performed
26
26
  */
27
27
  export declare function canUseTavily(apiKey?: string): boolean;
28
- //# sourceMappingURL=tavily.d.ts.map
@@ -77,4 +77,3 @@ USAGE TIPS:
77
77
  export function canUseTavily(apiKey) {
78
78
  return !!apiKey && apiKey.length > 0;
79
79
  }
80
- //# sourceMappingURL=tavily.js.map
@@ -44,4 +44,3 @@ export declare function createExplorationTools(projectRoot: string): {
44
44
  * Ripgrep skill reference for the AI agent
45
45
  */
46
46
  export declare const RIPGREP_SKILL = "\n## ripgrep Code Search Skill\n\n### Essential Patterns\n\n**Find definitions:**\n- Python functions: pattern=\"^def \\w+\\(\", fileType=\"py\"\n- JS/TS functions: pattern=\"^(export )?(function|const) \\w+\", fileType=\"ts\"\n- Classes: pattern=\"^class \\w+\", fileType=\"py\"\n\n**Find symbol usage (CRITICAL: use word boundaries):**\n- Exact word: pattern=\"\\bSymbolName\\b\"\n- Literal string: pattern=\"exact.string\", literal=true\n\n**Find imports:**\n- ES imports: pattern=\"^import.*from\", fileType=\"ts\"\n- CommonJS: pattern=\"require\\(\", fileType=\"js\"\n\n**File type options:**\n- py (Python)\n- js (JavaScript)\n- ts (TypeScript)\n- rust (Rust)\n- go (Go)\n\n**Performance tips:**\n1. Always use fileType when possible\n2. Use literal=true for exact strings\n3. Use \\b for word boundaries (prevents partial matches)\n4. Keep maxResults reasonable\n\n**Word boundaries are critical:**\n- WITHOUT: pattern=\"log\" matches \"logger\", \"blogger\", \"catalog\"\n- WITH: pattern=\"\\blog\\b\" matches only \"log\"\n";
47
- //# sourceMappingURL=tools.d.ts.map
package/dist/ai/tools.js CHANGED
@@ -261,4 +261,3 @@ export const RIPGREP_SKILL = `
261
261
  - WITHOUT: pattern="log" matches "logger", "blogger", "catalog"
262
262
  - WITH: pattern="\\blog\\b" matches only "log"
263
263
  `;
264
- //# sourceMappingURL=tools.js.map
@@ -7,4 +7,3 @@ import type { SessionState } from '../repl/session-state.js';
7
7
  * Handle the /config command
8
8
  */
9
9
  export declare function handleConfigCommand(args: string[], state: SessionState): Promise<SessionState>;
10
- //# sourceMappingURL=config.d.ts.map
@@ -134,4 +134,3 @@ export async function handleConfigCommand(args, state) {
134
134
  }
135
135
  return state;
136
136
  }
137
- //# sourceMappingURL=config.js.map
@@ -20,4 +20,3 @@ export interface InitResult {
20
20
  scanResult: ScanResult;
21
21
  config: RalphConfig | null;
22
22
  }
23
- //# sourceMappingURL=init.d.ts.map
@@ -5,4 +5,3 @@
5
5
  * This file provides type exports for backward compatibility.
6
6
  */
7
7
  export {};
8
- //# sourceMappingURL=init.js.map
@@ -14,4 +14,3 @@ export interface MonitorOptions {
14
14
  * Launch the monitoring dashboard for a feature
15
15
  */
16
16
  export declare function monitorCommand(feature: string, options?: MonitorOptions): Promise<void>;
17
- //# sourceMappingURL=monitor.d.ts.map
@@ -53,7 +53,9 @@ function detectPhase(feature) {
53
53
  return 'E2E Testing';
54
54
  if (isProcessRunning('PROMPT_verify.md'))
55
55
  return 'Verification';
56
- if (isProcessRunning('PROMPT_review.md'))
56
+ if (isProcessRunning('PROMPT_review_manual.md'))
57
+ return 'PR Review';
58
+ if (isProcessRunning('PROMPT_review_auto.md'))
57
59
  return 'PR Review';
58
60
  if (isProcessRunning('PROMPT.md'))
59
61
  return 'Implementation';
@@ -339,4 +341,3 @@ export async function monitorCommand(feature, options = {}) {
339
341
  process.on('SIGTERM', cleanup);
340
342
  });
341
343
  }
342
- //# sourceMappingURL=monitor.js.map
@@ -36,4 +36,3 @@ export declare function getPackageTemplateDir(): string;
36
36
  * Process template variables
37
37
  */
38
38
  export declare function processTemplate(template: string, feature: string): string;
39
- //# sourceMappingURL=new.d.ts.map
@@ -123,4 +123,3 @@ export function processTemplate(template, feature) {
123
123
  .replace(/\{\{date\}\}/g, date)
124
124
  .replace(/YYYY-MM-DD/g, date);
125
125
  }
126
- //# sourceMappingURL=new.js.map
@@ -8,9 +8,9 @@ export interface RunOptions {
8
8
  model?: string;
9
9
  maxIterations?: number;
10
10
  maxE2eAttempts?: number;
11
+ reviewMode?: 'manual' | 'auto';
11
12
  }
12
13
  /**
13
14
  * Run the feature development loop for a specific feature
14
15
  */
15
16
  export declare function runCommand(feature: string, options?: RunOptions): Promise<void>;
16
- //# sourceMappingURL=run.d.ts.map
@@ -111,6 +111,13 @@ export async function runCommand(feature, options = {}) {
111
111
  if (options.model) {
112
112
  args.push('--model', options.model);
113
113
  }
114
+ // Resolve and validate reviewMode
115
+ const reviewMode = options.reviewMode ?? config.loop.reviewMode ?? 'manual';
116
+ if (reviewMode !== 'manual' && reviewMode !== 'auto') {
117
+ logger.error(`Invalid reviewMode '${reviewMode}'. Allowed values are 'manual' or 'auto'.`);
118
+ process.exit(1);
119
+ }
120
+ args.push('--review-mode', reviewMode);
114
121
  // Display configuration
115
122
  console.log(pc.cyan('--- Run Configuration ---'));
116
123
  console.log(` Feature: ${pc.bold(feature)}`);
@@ -118,6 +125,7 @@ export async function runCommand(feature, options = {}) {
118
125
  console.log(` Max Iterations: ${maxIterations}`);
119
126
  console.log(` Max E2E Attempts: ${maxE2eAttempts}`);
120
127
  console.log(` Model: ${options.model || config.loop.defaultModel}`);
128
+ console.log(` Review Mode: ${reviewMode}`);
121
129
  console.log(` Worktree: ${options.worktree ? 'enabled' : 'disabled'}`);
122
130
  console.log(` Resume: ${options.resume ? 'enabled' : 'disabled'}`);
123
131
  console.log('');
@@ -172,4 +180,3 @@ export async function runCommand(feature, options = {}) {
172
180
  }
173
181
  });
174
182
  }
175
- //# sourceMappingURL=run.js.map
@@ -26,4 +26,3 @@ export declare function getGitMetadata(projectRoot: string): Promise<{
26
26
  gitCommitHash?: string;
27
27
  gitBranch?: string;
28
28
  }>;
29
- //# sourceMappingURL=convert.d.ts.map
@@ -120,4 +120,3 @@ export async function getGitMetadata(projectRoot) {
120
120
  }
121
121
  return { gitCommitHash, gitBranch };
122
122
  }
123
- //# sourceMappingURL=convert.js.map
@@ -1,4 +1,3 @@
1
1
  export type { PersistedContext, PersistedScanResult, PersistedAIAnalysis, } from './types.js';
2
2
  export { saveContext, loadContext, getContextAge, CONTEXT_VERSION, } from './storage.js';
3
3
  export { toPersistedScanResult, toPersistedAIAnalysis, toScanResultFromPersisted, getGitMetadata, } from './convert.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export { saveContext, loadContext, getContextAge, CONTEXT_VERSION, } from './storage.js';
2
2
  export { toPersistedScanResult, toPersistedAIAnalysis, toScanResultFromPersisted, getGitMetadata, } from './convert.js';
3
- //# sourceMappingURL=index.js.map
@@ -25,4 +25,3 @@ export declare function getContextAge(context: PersistedContext): {
25
25
  ms: number;
26
26
  human: string;
27
27
  };
28
- //# sourceMappingURL=storage.d.ts.map
@@ -97,4 +97,3 @@ export function getContextAge(context) {
97
97
  }
98
98
  return { ms, human };
99
99
  }
100
- //# sourceMappingURL=storage.js.map
@@ -47,4 +47,3 @@ export interface PersistedContext {
47
47
  scanResult: PersistedScanResult;
48
48
  aiAnalysis: PersistedAIAnalysis;
49
49
  }
50
- //# sourceMappingURL=types.d.ts.map
@@ -3,4 +3,3 @@
3
3
  * Schema for the .ralph/.context.json file
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=types.js.map
@@ -56,4 +56,3 @@ export declare function generateConfigFile(config: RalphConfig): string;
56
56
  * Generate ralph.config.cjs from scan result
57
57
  */
58
58
  export declare function generateConfigFileFromScan(scanResult: ScanResult, customVars?: Record<string, string>): string;
59
- //# sourceMappingURL=config.d.ts.map
@@ -69,4 +69,3 @@ export function generateConfigFileFromScan(scanResult, customVars = {}) {
69
69
  const config = generateConfig(scanResult, customVars);
70
70
  return generateConfigFile(config);
71
71
  }
72
- //# sourceMappingURL=config.js.map
@@ -61,4 +61,3 @@ export declare function generateRalph(scanResult: ScanResult, options?: Generato
61
61
  * Format generation result for display
62
62
  */
63
63
  export declare function formatGenerationResult(result: GenerationResult): string;
64
- //# sourceMappingURL=index.d.ts.map
@@ -144,4 +144,3 @@ export function formatGenerationResult(result) {
144
144
  }
145
145
  return lines.join('\n');
146
146
  }
147
- //# sourceMappingURL=index.js.map
@@ -75,4 +75,3 @@ export declare function discoverTemplates(templatesDir: string): Promise<Templat
75
75
  * Process all templates and return their contents
76
76
  */
77
77
  export declare function processAllTemplates(templatesDir: string, variables: TemplateVariables): Promise<Map<string, string>>;
78
- //# sourceMappingURL=templates.d.ts.map
@@ -377,4 +377,3 @@ export async function processAllTemplates(templatesDir, variables) {
377
377
  }
378
378
  return processed;
379
379
  }
380
- //# sourceMappingURL=templates.js.map
@@ -90,4 +90,3 @@ export declare function mapTemplateOutputPaths(templateOutputs: Map<string, stri
90
90
  * Format write summary for display
91
91
  */
92
92
  export declare function formatWriteSummary(summary: WriteSummary): string;
93
- //# sourceMappingURL=writer.d.ts.map
@@ -282,4 +282,3 @@ export function formatWriteSummary(summary) {
282
282
  }
283
283
  return lines.join('\n');
284
284
  }
285
- //# sourceMappingURL=writer.js.map
package/dist/index.d.ts CHANGED
@@ -10,4 +10,3 @@ export type { DetectionResult, DetectedStack, ScanResult, ScannerOptions, } from
10
10
  export { Generator, generateRalph, formatGenerationResult, extractVariables, generateConfig, generateConfigFile, } from './generator/index.js';
11
11
  export type { GeneratorOptions, GenerationResult, TemplateVariables, RalphConfig, WriteOptions, WriteSummary, } from './generator/index.js';
12
12
  export { renderApp, type RenderAppOptions, type AppScreen } from './tui/app.js';
13
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -154,4 +154,3 @@ export { Scanner, scanProject, formatScanResult } from './scanner/index.js';
154
154
  export { Generator, generateRalph, formatGenerationResult, extractVariables, generateConfig, generateConfigFile, } from './generator/index.js';
155
155
  // Export TUI components for programmatic use
156
156
  export { renderApp } from './tui/app.js';
157
- //# sourceMappingURL=index.js.map
@@ -91,4 +91,3 @@ export declare function parseInput(input: string): ParsedInput;
91
91
  * Format help text for all commands
92
92
  */
93
93
  export declare function formatHelpText(): string;
94
- //# sourceMappingURL=command-parser.d.ts.map
@@ -119,4 +119,3 @@ export function formatHelpText() {
119
119
  lines.push('Or just type naturally to chat with the AI.');
120
120
  return lines.join('\n');
121
121
  }
122
- //# sourceMappingURL=command-parser.js.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  export { type SessionState, createSessionState, updateSessionState, } from './session-state.js';
7
7
  export { type SlashCommand, type ParsedInput, type InputType, type ReplCommandName, parseInput, parseSlashCommand, isSlashCommand, resolveCommandAlias, formatHelpText, REPL_COMMANDS, } from './command-parser.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -5,4 +5,3 @@
5
5
  */
6
6
  export { createSessionState, updateSessionState, } from './session-state.js';
7
7
  export { parseInput, parseSlashCommand, isSlashCommand, resolveCommandAlias, formatHelpText, REPL_COMMANDS, } from './command-parser.js';
8
- //# sourceMappingURL=index.js.map
@@ -34,4 +34,3 @@ export declare function createSessionState(projectRoot: string, provider: AIProv
34
34
  * Update session state immutably
35
35
  */
36
36
  export declare function updateSessionState(state: SessionState, updates: Partial<SessionState>): SessionState;
37
- //# sourceMappingURL=session-state.d.ts.map
@@ -23,4 +23,3 @@ export function createSessionState(projectRoot, provider, model, scanResult, con
23
23
  export function updateSessionState(state, updates) {
24
24
  return { ...state, ...updates };
25
25
  }
26
- //# sourceMappingURL=session-state.js.map
@@ -8,4 +8,3 @@ import type { Detector } from '../../types.js';
8
8
  */
9
9
  export declare const frameworkDetector: Detector;
10
10
  export default frameworkDetector;
11
- //# sourceMappingURL=framework.d.ts.map
@@ -272,4 +272,3 @@ export const frameworkDetector = {
272
272
  },
273
273
  };
274
274
  export default frameworkDetector;
275
- //# sourceMappingURL=framework.js.map