ralph-starter 0.0.1 → 0.1.1-beta.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 (382) hide show
  1. package/README.md +707 -17
  2. package/dist/auth/browser.d.ts +10 -0
  3. package/dist/auth/browser.d.ts.map +1 -0
  4. package/dist/auth/browser.js +56 -0
  5. package/dist/auth/browser.js.map +1 -0
  6. package/dist/auth/index.d.ts +5 -0
  7. package/dist/auth/index.d.ts.map +1 -0
  8. package/dist/auth/index.js +5 -0
  9. package/dist/auth/index.js.map +1 -0
  10. package/dist/auth/oauth-server.d.ts +20 -0
  11. package/dist/auth/oauth-server.d.ts.map +1 -0
  12. package/dist/auth/oauth-server.js +168 -0
  13. package/dist/auth/oauth-server.js.map +1 -0
  14. package/dist/auth/pkce.d.ts +46 -0
  15. package/dist/auth/pkce.d.ts.map +1 -0
  16. package/dist/auth/pkce.js +57 -0
  17. package/dist/auth/pkce.js.map +1 -0
  18. package/dist/auth/providers/base.d.ts +52 -0
  19. package/dist/auth/providers/base.d.ts.map +1 -0
  20. package/dist/auth/providers/base.js +70 -0
  21. package/dist/auth/providers/base.js.map +1 -0
  22. package/dist/auth/providers/index.d.ts +23 -0
  23. package/dist/auth/providers/index.d.ts.map +1 -0
  24. package/dist/auth/providers/index.js +39 -0
  25. package/dist/auth/providers/index.js.map +1 -0
  26. package/dist/auth/providers/linear.d.ts +37 -0
  27. package/dist/auth/providers/linear.d.ts.map +1 -0
  28. package/dist/auth/providers/linear.js +46 -0
  29. package/dist/auth/providers/linear.js.map +1 -0
  30. package/dist/auth/providers/notion.d.ts +36 -0
  31. package/dist/auth/providers/notion.d.ts.map +1 -0
  32. package/dist/auth/providers/notion.js +75 -0
  33. package/dist/auth/providers/notion.js.map +1 -0
  34. package/dist/auth/providers/todoist.d.ts +29 -0
  35. package/dist/auth/providers/todoist.d.ts.map +1 -0
  36. package/dist/auth/providers/todoist.js +40 -0
  37. package/dist/auth/providers/todoist.js.map +1 -0
  38. package/dist/automation/git.d.ts +15 -0
  39. package/dist/automation/git.d.ts.map +1 -0
  40. package/dist/automation/git.js +73 -0
  41. package/dist/automation/git.js.map +1 -0
  42. package/dist/cli.d.ts +3 -0
  43. package/dist/cli.d.ts.map +1 -0
  44. package/dist/cli.js +192 -19
  45. package/dist/cli.js.map +1 -0
  46. package/dist/commands/auth.d.ts +14 -0
  47. package/dist/commands/auth.d.ts.map +1 -0
  48. package/dist/commands/auth.js +243 -0
  49. package/dist/commands/auth.js.map +1 -0
  50. package/dist/commands/check.d.ts +12 -0
  51. package/dist/commands/check.d.ts.map +1 -0
  52. package/dist/commands/check.js +124 -0
  53. package/dist/commands/check.js.map +1 -0
  54. package/dist/commands/config.d.ts +13 -0
  55. package/dist/commands/config.d.ts.map +1 -0
  56. package/dist/commands/config.js +374 -0
  57. package/dist/commands/config.js.map +1 -0
  58. package/dist/commands/init.d.ts +31 -0
  59. package/dist/commands/init.d.ts.map +1 -0
  60. package/dist/commands/init.js +353 -0
  61. package/dist/commands/init.js.map +1 -0
  62. package/dist/commands/integrations.d.ts +17 -0
  63. package/dist/commands/integrations.d.ts.map +1 -0
  64. package/dist/commands/integrations.js +193 -0
  65. package/dist/commands/integrations.js.map +1 -0
  66. package/dist/commands/plan.d.ts +5 -0
  67. package/dist/commands/plan.d.ts.map +1 -0
  68. package/dist/commands/plan.js +80 -0
  69. package/dist/commands/plan.js.map +1 -0
  70. package/dist/commands/run.d.ts +26 -0
  71. package/dist/commands/run.d.ts.map +1 -0
  72. package/dist/commands/run.js +351 -0
  73. package/dist/commands/run.js.map +1 -0
  74. package/dist/commands/scaffold.d.ts +9 -0
  75. package/dist/commands/scaffold.d.ts.map +1 -0
  76. package/dist/commands/scaffold.js +128 -0
  77. package/dist/commands/scaffold.js.map +1 -0
  78. package/dist/commands/setup.d.ts +12 -0
  79. package/dist/commands/setup.d.ts.map +1 -0
  80. package/dist/commands/setup.js +27 -0
  81. package/dist/commands/setup.js.map +1 -0
  82. package/dist/commands/skill.d.ts +6 -0
  83. package/dist/commands/skill.d.ts.map +1 -0
  84. package/dist/commands/skill.js +151 -0
  85. package/dist/commands/skill.js.map +1 -0
  86. package/dist/commands/source.d.ts +17 -0
  87. package/dist/commands/source.d.ts.map +1 -0
  88. package/dist/commands/source.js +173 -0
  89. package/dist/commands/source.js.map +1 -0
  90. package/dist/config/manager.d.ts +70 -0
  91. package/dist/config/manager.d.ts.map +1 -0
  92. package/dist/config/manager.js +227 -0
  93. package/dist/config/manager.js.map +1 -0
  94. package/dist/index.d.ts +26 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +27 -2
  97. package/dist/index.js.map +1 -0
  98. package/dist/integrations/_template/auth.d.ts +29 -0
  99. package/dist/integrations/_template/auth.d.ts.map +1 -0
  100. package/dist/integrations/_template/auth.js +42 -0
  101. package/dist/integrations/_template/auth.js.map +1 -0
  102. package/dist/integrations/_template/index.d.ts +8 -0
  103. package/dist/integrations/_template/index.d.ts.map +1 -0
  104. package/dist/integrations/_template/index.js +8 -0
  105. package/dist/integrations/_template/index.js.map +1 -0
  106. package/dist/integrations/_template/source.d.ts +34 -0
  107. package/dist/integrations/_template/source.d.ts.map +1 -0
  108. package/dist/integrations/_template/source.js +124 -0
  109. package/dist/integrations/_template/source.js.map +1 -0
  110. package/dist/integrations/base.d.ts +158 -0
  111. package/dist/integrations/base.d.ts.map +1 -0
  112. package/dist/integrations/base.js +109 -0
  113. package/dist/integrations/base.js.map +1 -0
  114. package/dist/integrations/github/index.d.ts +8 -0
  115. package/dist/integrations/github/index.d.ts.map +1 -0
  116. package/dist/integrations/github/index.js +8 -0
  117. package/dist/integrations/github/index.js.map +1 -0
  118. package/dist/integrations/github/source.d.ts +26 -0
  119. package/dist/integrations/github/source.d.ts.map +1 -0
  120. package/dist/integrations/github/source.js +190 -0
  121. package/dist/integrations/github/source.js.map +1 -0
  122. package/dist/integrations/index.d.ts +37 -0
  123. package/dist/integrations/index.d.ts.map +1 -0
  124. package/dist/integrations/index.js +71 -0
  125. package/dist/integrations/index.js.map +1 -0
  126. package/dist/integrations/linear/auth.d.ts +37 -0
  127. package/dist/integrations/linear/auth.d.ts.map +1 -0
  128. package/dist/integrations/linear/auth.js +45 -0
  129. package/dist/integrations/linear/auth.js.map +1 -0
  130. package/dist/integrations/linear/index.d.ts +9 -0
  131. package/dist/integrations/linear/index.d.ts.map +1 -0
  132. package/dist/integrations/linear/index.js +9 -0
  133. package/dist/integrations/linear/index.js.map +1 -0
  134. package/dist/integrations/linear/source.d.ts +26 -0
  135. package/dist/integrations/linear/source.d.ts.map +1 -0
  136. package/dist/integrations/linear/source.js +248 -0
  137. package/dist/integrations/linear/source.js.map +1 -0
  138. package/dist/integrations/notion/index.d.ts +8 -0
  139. package/dist/integrations/notion/index.d.ts.map +1 -0
  140. package/dist/integrations/notion/index.js +8 -0
  141. package/dist/integrations/notion/index.js.map +1 -0
  142. package/dist/integrations/notion/source.d.ts +53 -0
  143. package/dist/integrations/notion/source.d.ts.map +1 -0
  144. package/dist/integrations/notion/source.js +463 -0
  145. package/dist/integrations/notion/source.js.map +1 -0
  146. package/dist/llm/api.d.ts +29 -0
  147. package/dist/llm/api.d.ts.map +1 -0
  148. package/dist/llm/api.js +152 -0
  149. package/dist/llm/api.js.map +1 -0
  150. package/dist/llm/index.d.ts +7 -0
  151. package/dist/llm/index.d.ts.map +1 -0
  152. package/dist/llm/index.js +7 -0
  153. package/dist/llm/index.js.map +1 -0
  154. package/dist/llm/providers.d.ts +24 -0
  155. package/dist/llm/providers.d.ts.map +1 -0
  156. package/dist/llm/providers.js +51 -0
  157. package/dist/llm/providers.js.map +1 -0
  158. package/dist/loop/__tests__/agents.test.d.ts +2 -0
  159. package/dist/loop/__tests__/agents.test.d.ts.map +1 -0
  160. package/dist/loop/__tests__/agents.test.js +183 -0
  161. package/dist/loop/__tests__/agents.test.js.map +1 -0
  162. package/dist/loop/__tests__/circuit-breaker.test.d.ts +2 -0
  163. package/dist/loop/__tests__/circuit-breaker.test.d.ts.map +1 -0
  164. package/dist/loop/__tests__/circuit-breaker.test.js +161 -0
  165. package/dist/loop/__tests__/circuit-breaker.test.js.map +1 -0
  166. package/dist/loop/__tests__/cost-tracker.test.d.ts +2 -0
  167. package/dist/loop/__tests__/cost-tracker.test.d.ts.map +1 -0
  168. package/dist/loop/__tests__/cost-tracker.test.js +200 -0
  169. package/dist/loop/__tests__/cost-tracker.test.js.map +1 -0
  170. package/dist/loop/__tests__/rate-limiter.test.d.ts +2 -0
  171. package/dist/loop/__tests__/rate-limiter.test.d.ts.map +1 -0
  172. package/dist/loop/__tests__/rate-limiter.test.js +198 -0
  173. package/dist/loop/__tests__/rate-limiter.test.js.map +1 -0
  174. package/dist/loop/__tests__/validation.test.d.ts +2 -0
  175. package/dist/loop/__tests__/validation.test.d.ts.map +1 -0
  176. package/dist/loop/__tests__/validation.test.js +234 -0
  177. package/dist/loop/__tests__/validation.test.js.map +1 -0
  178. package/dist/loop/agents.d.ts +26 -0
  179. package/dist/loop/agents.d.ts.map +1 -0
  180. package/dist/loop/agents.js +188 -0
  181. package/dist/loop/agents.js.map +1 -0
  182. package/dist/loop/circuit-breaker.d.ts +61 -0
  183. package/dist/loop/circuit-breaker.d.ts.map +1 -0
  184. package/dist/loop/circuit-breaker.js +143 -0
  185. package/dist/loop/circuit-breaker.js.map +1 -0
  186. package/dist/loop/cost-tracker.d.ts +90 -0
  187. package/dist/loop/cost-tracker.d.ts.map +1 -0
  188. package/dist/loop/cost-tracker.js +229 -0
  189. package/dist/loop/cost-tracker.js.map +1 -0
  190. package/dist/loop/estimator.d.ts +20 -0
  191. package/dist/loop/estimator.d.ts.map +1 -0
  192. package/dist/loop/estimator.js +123 -0
  193. package/dist/loop/estimator.js.map +1 -0
  194. package/dist/loop/executor.d.ts +44 -0
  195. package/dist/loop/executor.d.ts.map +1 -0
  196. package/dist/loop/executor.js +646 -0
  197. package/dist/loop/executor.js.map +1 -0
  198. package/dist/loop/progress.d.ts +34 -0
  199. package/dist/loop/progress.d.ts.map +1 -0
  200. package/dist/loop/progress.js +186 -0
  201. package/dist/loop/progress.js.map +1 -0
  202. package/dist/loop/rate-limiter.d.ts +71 -0
  203. package/dist/loop/rate-limiter.d.ts.map +1 -0
  204. package/dist/loop/rate-limiter.js +151 -0
  205. package/dist/loop/rate-limiter.js.map +1 -0
  206. package/dist/loop/semantic-analyzer.d.ts +33 -0
  207. package/dist/loop/semantic-analyzer.d.ts.map +1 -0
  208. package/dist/loop/semantic-analyzer.js +153 -0
  209. package/dist/loop/semantic-analyzer.js.map +1 -0
  210. package/dist/loop/skills.d.ts +29 -0
  211. package/dist/loop/skills.d.ts.map +1 -0
  212. package/dist/loop/skills.js +174 -0
  213. package/dist/loop/skills.js.map +1 -0
  214. package/dist/loop/step-detector.d.ts +17 -0
  215. package/dist/loop/step-detector.d.ts.map +1 -0
  216. package/dist/loop/step-detector.js +280 -0
  217. package/dist/loop/step-detector.js.map +1 -0
  218. package/dist/loop/task-counter.d.ts +41 -0
  219. package/dist/loop/task-counter.d.ts.map +1 -0
  220. package/dist/loop/task-counter.js +99 -0
  221. package/dist/loop/task-counter.js.map +1 -0
  222. package/dist/loop/validation.d.ts +28 -0
  223. package/dist/loop/validation.d.ts.map +1 -0
  224. package/dist/loop/validation.js +138 -0
  225. package/dist/loop/validation.js.map +1 -0
  226. package/dist/mcp/core/init.d.ts +15 -0
  227. package/dist/mcp/core/init.d.ts.map +1 -0
  228. package/dist/mcp/core/init.js +272 -0
  229. package/dist/mcp/core/init.js.map +1 -0
  230. package/dist/mcp/core/plan.d.ts +15 -0
  231. package/dist/mcp/core/plan.d.ts.map +1 -0
  232. package/dist/mcp/core/plan.js +90 -0
  233. package/dist/mcp/core/plan.js.map +1 -0
  234. package/dist/mcp/core/run.d.ts +26 -0
  235. package/dist/mcp/core/run.d.ts.map +1 -0
  236. package/dist/mcp/core/run.js +114 -0
  237. package/dist/mcp/core/run.js.map +1 -0
  238. package/dist/mcp/prompts.d.ts +10 -0
  239. package/dist/mcp/prompts.d.ts.map +1 -0
  240. package/dist/mcp/prompts.js +163 -0
  241. package/dist/mcp/prompts.js.map +1 -0
  242. package/dist/mcp/resources.d.ts +16 -0
  243. package/dist/mcp/resources.d.ts.map +1 -0
  244. package/dist/mcp/resources.js +114 -0
  245. package/dist/mcp/resources.js.map +1 -0
  246. package/dist/mcp/server.d.ts +10 -0
  247. package/dist/mcp/server.d.ts.map +1 -0
  248. package/dist/mcp/server.js +73 -0
  249. package/dist/mcp/server.js.map +1 -0
  250. package/dist/mcp/tools.d.ts +15 -0
  251. package/dist/mcp/tools.d.ts.map +1 -0
  252. package/dist/mcp/tools.js +316 -0
  253. package/dist/mcp/tools.js.map +1 -0
  254. package/dist/presets/index.d.ts +36 -0
  255. package/dist/presets/index.d.ts.map +1 -0
  256. package/dist/presets/index.js +236 -0
  257. package/dist/presets/index.js.map +1 -0
  258. package/dist/setup/agent-detector.d.ts +57 -0
  259. package/dist/setup/agent-detector.d.ts.map +1 -0
  260. package/dist/setup/agent-detector.js +170 -0
  261. package/dist/setup/agent-detector.js.map +1 -0
  262. package/dist/setup/index.d.ts +7 -0
  263. package/dist/setup/index.d.ts.map +1 -0
  264. package/dist/setup/index.js +7 -0
  265. package/dist/setup/index.js.map +1 -0
  266. package/dist/setup/llm-tester.d.ts +33 -0
  267. package/dist/setup/llm-tester.d.ts.map +1 -0
  268. package/dist/setup/llm-tester.js +105 -0
  269. package/dist/setup/llm-tester.js.map +1 -0
  270. package/dist/setup/wizard.d.ts +19 -0
  271. package/dist/setup/wizard.d.ts.map +1 -0
  272. package/dist/setup/wizard.js +313 -0
  273. package/dist/setup/wizard.js.map +1 -0
  274. package/dist/sources/__tests__/file.test.d.ts +2 -0
  275. package/dist/sources/__tests__/file.test.d.ts.map +1 -0
  276. package/dist/sources/__tests__/file.test.js +126 -0
  277. package/dist/sources/__tests__/file.test.js.map +1 -0
  278. package/dist/sources/__tests__/github.test.d.ts +2 -0
  279. package/dist/sources/__tests__/github.test.d.ts.map +1 -0
  280. package/dist/sources/__tests__/github.test.js +157 -0
  281. package/dist/sources/__tests__/github.test.js.map +1 -0
  282. package/dist/sources/base.d.ts +72 -0
  283. package/dist/sources/base.d.ts.map +1 -0
  284. package/dist/sources/base.js +127 -0
  285. package/dist/sources/base.js.map +1 -0
  286. package/dist/sources/builtin/file.d.ts +21 -0
  287. package/dist/sources/builtin/file.d.ts.map +1 -0
  288. package/dist/sources/builtin/file.js +129 -0
  289. package/dist/sources/builtin/file.js.map +1 -0
  290. package/dist/sources/builtin/github-scraper.d.ts +65 -0
  291. package/dist/sources/builtin/github-scraper.d.ts.map +1 -0
  292. package/dist/sources/builtin/github-scraper.js +324 -0
  293. package/dist/sources/builtin/github-scraper.js.map +1 -0
  294. package/dist/sources/builtin/pdf.d.ts +24 -0
  295. package/dist/sources/builtin/pdf.d.ts.map +1 -0
  296. package/dist/sources/builtin/pdf.js +174 -0
  297. package/dist/sources/builtin/pdf.js.map +1 -0
  298. package/dist/sources/builtin/url.d.ts +47 -0
  299. package/dist/sources/builtin/url.d.ts.map +1 -0
  300. package/dist/sources/builtin/url.js +429 -0
  301. package/dist/sources/builtin/url.js.map +1 -0
  302. package/dist/sources/config.d.ts +72 -0
  303. package/dist/sources/config.d.ts.map +1 -0
  304. package/dist/sources/config.js +215 -0
  305. package/dist/sources/config.js.map +1 -0
  306. package/dist/sources/index.d.ts +47 -0
  307. package/dist/sources/index.d.ts.map +1 -0
  308. package/dist/sources/index.js +210 -0
  309. package/dist/sources/index.js.map +1 -0
  310. package/dist/sources/integrations/github.d.ts +24 -0
  311. package/dist/sources/integrations/github.d.ts.map +1 -0
  312. package/dist/sources/integrations/github.js +193 -0
  313. package/dist/sources/integrations/github.js.map +1 -0
  314. package/dist/sources/integrations/linear.d.ts +18 -0
  315. package/dist/sources/integrations/linear.d.ts.map +1 -0
  316. package/dist/sources/integrations/linear.js +197 -0
  317. package/dist/sources/integrations/linear.js.map +1 -0
  318. package/dist/sources/integrations/notion.d.ts +39 -0
  319. package/dist/sources/integrations/notion.d.ts.map +1 -0
  320. package/dist/sources/integrations/notion.js +343 -0
  321. package/dist/sources/integrations/notion.js.map +1 -0
  322. package/dist/sources/integrations/todoist.d.ts +18 -0
  323. package/dist/sources/integrations/todoist.d.ts.map +1 -0
  324. package/dist/sources/integrations/todoist.js +154 -0
  325. package/dist/sources/integrations/todoist.js.map +1 -0
  326. package/dist/sources/types.d.ts +106 -0
  327. package/dist/sources/types.d.ts.map +1 -0
  328. package/dist/sources/types.js +9 -0
  329. package/dist/sources/types.js.map +1 -0
  330. package/dist/ui/index.d.ts +3 -0
  331. package/dist/ui/index.d.ts.map +1 -0
  332. package/dist/ui/index.js +3 -0
  333. package/dist/ui/index.js.map +1 -0
  334. package/dist/ui/progress-renderer.d.ts +54 -0
  335. package/dist/ui/progress-renderer.d.ts.map +1 -0
  336. package/dist/ui/progress-renderer.js +118 -0
  337. package/dist/ui/progress-renderer.js.map +1 -0
  338. package/dist/ui/shimmer.d.ts +16 -0
  339. package/dist/ui/shimmer.d.ts.map +1 -0
  340. package/dist/ui/shimmer.js +31 -0
  341. package/dist/ui/shimmer.js.map +1 -0
  342. package/dist/wizard/ascii-art.d.ts +93 -0
  343. package/dist/wizard/ascii-art.d.ts.map +1 -0
  344. package/dist/wizard/ascii-art.js +378 -0
  345. package/dist/wizard/ascii-art.js.map +1 -0
  346. package/dist/wizard/idea-prompts.d.ts +18 -0
  347. package/dist/wizard/idea-prompts.d.ts.map +1 -0
  348. package/dist/wizard/idea-prompts.js +154 -0
  349. package/dist/wizard/idea-prompts.js.map +1 -0
  350. package/dist/wizard/idea-ui.d.ts +34 -0
  351. package/dist/wizard/idea-ui.d.ts.map +1 -0
  352. package/dist/wizard/idea-ui.js +225 -0
  353. package/dist/wizard/idea-ui.js.map +1 -0
  354. package/dist/wizard/ideas.d.ts +27 -0
  355. package/dist/wizard/ideas.d.ts.map +1 -0
  356. package/dist/wizard/ideas.js +511 -0
  357. package/dist/wizard/ideas.js.map +1 -0
  358. package/dist/wizard/index.d.ts +11 -0
  359. package/dist/wizard/index.d.ts.map +1 -0
  360. package/dist/wizard/index.js +472 -0
  361. package/dist/wizard/index.js.map +1 -0
  362. package/dist/wizard/llm.d.ts +14 -0
  363. package/dist/wizard/llm.d.ts.map +1 -0
  364. package/dist/wizard/llm.js +420 -0
  365. package/dist/wizard/llm.js.map +1 -0
  366. package/dist/wizard/prompts.d.ts +75 -0
  367. package/dist/wizard/prompts.d.ts.map +1 -0
  368. package/dist/wizard/prompts.js +455 -0
  369. package/dist/wizard/prompts.js.map +1 -0
  370. package/dist/wizard/spec-generator.d.ts +14 -0
  371. package/dist/wizard/spec-generator.d.ts.map +1 -0
  372. package/dist/wizard/spec-generator.js +200 -0
  373. package/dist/wizard/spec-generator.js.map +1 -0
  374. package/dist/wizard/types.d.ts +53 -0
  375. package/dist/wizard/types.d.ts.map +1 -0
  376. package/dist/wizard/types.js +10 -0
  377. package/dist/wizard/types.js.map +1 -0
  378. package/dist/wizard/ui.d.ts +57 -0
  379. package/dist/wizard/ui.d.ts.map +1 -0
  380. package/dist/wizard/ui.js +211 -0
  381. package/dist/wizard/ui.js.map +1 -0
  382. package/package.json +67 -8
package/README.md CHANGED
@@ -1,6 +1,130 @@
1
- # ralph-starter
1
+ <p align="center">
2
+ <img src="ralph.png" alt="Ralph Wiggum" />
3
+ </p>
2
4
 
3
- > AI-powered project scaffolder for Claude Code autonomous loops. From idea to running loop in one conversation.
5
+ <h3 align="center">
6
+ <strong>Connect your tools. Run AI coding loops. Ship faster.</strong>
7
+ </h3>
8
+
9
+ <p align="center">
10
+ <em>Pull specs from GitHub, Linear, Notion, and more — then let AI build it autonomously.</em>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="#integrations">Integrations</a> •
15
+ <a href="#quick-start">Quick Start</a> •
16
+ <a href="#features">Features</a> •
17
+ <a href="https://ralphstarter.ai">Docs</a> •
18
+ <a href="ROADMAP.md">Roadmap</a>
19
+ </p>
20
+
21
+ ---
22
+
23
+ ## Why ralph-starter?
24
+
25
+ Most AI coding tools work in isolation. You describe a task, AI builds it, done.
26
+
27
+ **ralph-starter** is different. It **connects to your existing workflow** — pulling specs from GitHub issues, Linear tickets, Notion docs, or any URL — then runs autonomous AI loops until the task is complete.
28
+
29
+ ```bash
30
+ # Build from a GitHub issue
31
+ ralph-starter run --from github --project myorg/myrepo --label "ready"
32
+
33
+ # Build from a Linear ticket
34
+ ralph-starter run --from linear --project "Mobile App" --label "sprint-1"
35
+
36
+ # Build from a Notion spec
37
+ ralph-starter run --from notion --project "https://notion.so/Product-Spec-abc123"
38
+
39
+ # Or just describe what you want
40
+ ralph-starter run "build a todo app with React" --commit
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Integrations
46
+
47
+ ralph-starter integrates with your favorite tools out of the box:
48
+
49
+ | Integration | Auth Method | What It Fetches |
50
+ |-------------|-------------|-----------------|
51
+ | **GitHub** | `gh` CLI (recommended) or API token | Issues, PRs, files |
52
+ | **Linear** | `linear` CLI or API key | Issues by team/project |
53
+ | **Notion** | None (public) or API token (private) | Pages, databases |
54
+ | **URLs** | None | Any public markdown/HTML |
55
+ | **Files** | None | Local markdown, PDF |
56
+
57
+ ```bash
58
+ # Check available integrations
59
+ ralph-starter integrations list
60
+
61
+ # Test connectivity
62
+ ralph-starter integrations test github
63
+ ralph-starter integrations test linear
64
+
65
+ # Preview data before running
66
+ ralph-starter integrations fetch github owner/repo
67
+ ```
68
+
69
+ > **Want more integrations?** Check the [Roadmap](ROADMAP.md) for upcoming integrations like Figma, Jira, GitLab, and more. PRs welcome!
70
+
71
+ ---
72
+
73
+ ## Table of Contents
74
+
75
+ - [Why ralph-starter?](#why-ralph-starter)
76
+ - [Integrations](#integrations)
77
+ - [Quick Start](#quick-start)
78
+ - [Features](#features)
79
+ - [Ralph Playbook Workflow](#ralph-playbook-workflow)
80
+ - [Commands](#commands)
81
+ - [Options](#options-for-run)
82
+ - [Configuration](#api-key-configuration)
83
+ - [Contributing](#contributing)
84
+
85
+ ---
86
+
87
+ ## Summary
88
+
89
+ **ralph-starter** is a production-ready CLI for running autonomous AI coding loops using the [Ralph Wiggum technique](https://ghuntley.com/ralph/). It makes autonomous coding accessible to everyone.
90
+
91
+ ### Key Features
92
+
93
+ | Feature | Description |
94
+ |---------|-------------|
95
+ | 🔗 **Integrations** | Pull specs from GitHub, Linear, Notion, URLs, files |
96
+ | 🔄 **Multi-Agent Support** | Works with Claude Code, Cursor, Codex, OpenCode |
97
+ | 🧙 **Interactive Wizard** | Guided project creation with AI-refined specifications |
98
+ | 🎯 **16+ Workflow Presets** | Pre-configured modes: feature, tdd, debug, review, and more |
99
+ | 🔌 **Circuit Breaker** | Auto-stops stuck loops after repeated failures |
100
+ | 💰 **Cost Tracking** | Estimates token usage and cost per iteration |
101
+ | 🔧 **Git Automation** | Auto-commit, push, and PR creation |
102
+ | ✅ **Backpressure Validation** | Run tests/lint/build after each iteration |
103
+ | 🖥️ **MCP Server** | Use from Claude Desktop or any MCP client |
104
+
105
+ ### Quick Example
106
+
107
+ ```bash
108
+ # Simple task
109
+ ralph-starter run "build a todo app" --commit --validate
110
+
111
+ # With preset
112
+ ralph-starter run --preset tdd-red-green "add user authentication"
113
+
114
+ # With safety controls
115
+ ralph-starter run --rate-limit 50 --circuit-breaker-failures 3 "build X"
116
+
117
+ # Interactive wizard
118
+ ralph-starter
119
+ ```
120
+
121
+ ---
122
+
123
+ ## What is Ralph Wiggum?
124
+
125
+ Ralph Wiggum is a technique for running AI coding agents in autonomous loops until tasks are completed. Instead of prompting back and forth, you give the AI a task and let it iterate until done.
126
+
127
+ **ralph-starter** makes this dead simple - for developers and non-developers alike.
4
128
 
5
129
  ## Installation
6
130
 
@@ -10,25 +134,591 @@ npm install -g ralph-starter
10
134
  npx ralph-starter
11
135
  ```
12
136
 
13
- ## Features (Coming Soon)
137
+ ## Quick Start
138
+
139
+ ### For Everyone (Non-Developers Welcome!)
140
+
141
+ Just run `ralph-starter` with no arguments to launch the interactive wizard:
142
+
143
+ ```bash
144
+ ralph-starter
145
+ ```
146
+
147
+ The wizard will:
148
+ 1. Ask if you have a project idea (or help you brainstorm one)
149
+ 2. Refine your idea with AI
150
+ 3. Let you customize the tech stack
151
+ 4. Build your project automatically
152
+
153
+ ### Don't Know What to Build?
154
+
155
+ ```bash
156
+ ralph-starter ideas
157
+ ```
158
+
159
+ This launches **Idea Mode** - a brainstorming session to help you discover project ideas:
160
+ - **Brainstorm with AI** - Get creative suggestions
161
+ - **See trending ideas** - Based on 2025-2026 tech trends
162
+ - **Based on my skills** - Personalized to technologies you know
163
+ - **Solve a problem** - Help fix something that frustrates you
164
+
165
+ ### For Developers
166
+
167
+ ```bash
168
+ # Run a single task
169
+ ralph-starter run "build a todo app with React"
170
+
171
+ # With git automation
172
+ ralph-starter run "add user authentication" --commit --pr
173
+
174
+ # With validation (backpressure)
175
+ ralph-starter run "refactor auth" --commit --validate
176
+
177
+ # Fetch specs from external sources
178
+ ralph-starter run --from https://example.com/spec.md
179
+ ralph-starter run --from github --project myorg/myrepo --label "ready"
180
+ ralph-starter run --from linear --project "Mobile App"
181
+ ```
182
+
183
+ ### Working with Existing Projects
184
+
185
+ ralph-starter automatically detects existing projects when you run the wizard:
186
+
187
+ **Ralph Playbook Project** (has AGENTS.md, IMPLEMENTATION_PLAN.md, etc.):
188
+ ```bash
189
+ cd my-ralph-project
190
+ ralph-starter
191
+ ```
192
+ The wizard will detect the Ralph Playbook files and let you:
193
+ - Continue working (run the build loop)
194
+ - Regenerate the implementation plan
195
+ - Add new specs
196
+
197
+ **Language Project** (has package.json, pyproject.toml, Cargo.toml, go.mod):
198
+ ```bash
199
+ cd my-existing-app
200
+ ralph-starter
201
+ ```
202
+ The wizard will detect the project type and let you:
203
+ - Add features to the existing project
204
+ - Create a new project in a subfolder
205
+
206
+ This makes ralph-starter compatible with other Ralph Wiggum tools like [ralph-cli](https://github.com/yemyat/ralph-cli), [ralph-tui](https://github.com/subsy/ralph-tui), [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode), and more.
207
+
208
+ ## Features
209
+
210
+ ### Interactive Wizard
211
+ Launch with `ralph-starter` (no args) for a guided experience:
212
+ - Describe your idea in plain English
213
+ - AI refines and suggests features
214
+ - Choose your tech stack
215
+ - Auto-runs init → plan → build
216
+
217
+ ### Idea Mode
218
+ For users who don't know what to build yet:
219
+ ```bash
220
+ ralph-starter ideas
221
+ ```
222
+
223
+ ### Integrations & Input Sources
224
+
225
+ ralph-starter's superpower is **pulling specs from anywhere** — then building autonomously.
226
+
227
+ ```bash
228
+ # From GitHub issues
229
+ ralph-starter run --from github --project owner/repo --label "ready"
230
+
231
+ # From Linear tickets
232
+ ralph-starter run --from linear --project "Mobile App"
233
+
234
+ # From Notion pages (public pages work without auth!)
235
+ ralph-starter run --from notion --project "https://notion.so/My-Spec-abc123"
236
+
237
+ # From URLs
238
+ ralph-starter run --from https://example.com/spec.md
239
+
240
+ # From local files
241
+ ralph-starter run --from ./specs/feature.md
242
+ ```
243
+
244
+ #### Quick Setup
245
+
246
+ | Integration | Setup Command | Notes |
247
+ |-------------|---------------|-------|
248
+ | **GitHub** | `gh auth login` | Uses GitHub CLI (no API key needed) |
249
+ | **Linear** | `linear auth login` or `ralph-starter config set linear.apiKey <key>` | CLI or API key |
250
+ | **Notion** | None for public pages | Private pages need token |
251
+
252
+ #### Managing Integrations
253
+
254
+ ```bash
255
+ # List all integrations with status
256
+ ralph-starter integrations list
257
+
258
+ # Test connectivity
259
+ ralph-starter integrations test github
260
+ ralph-starter integrations test linear
261
+
262
+ # Get help for specific integration
263
+ ralph-starter integrations help notion
264
+
265
+ # Preview data before running
266
+ ralph-starter integrations fetch github owner/repo --limit 5
267
+ ```
268
+
269
+ > See the full [Integrations Guide](https://ralphstarter.ai/docs/integrations) for detailed setup instructions.
270
+
271
+ ### MCP Server
272
+ Use ralph-starter from Claude Desktop or any MCP client:
273
+
274
+ ```bash
275
+ ralph-starter mcp
276
+ ```
277
+
278
+ Add to Claude Desktop config:
279
+ ```json
280
+ {
281
+ "mcpServers": {
282
+ "ralph-starter": {
283
+ "command": "ralph-starter",
284
+ "args": ["mcp"]
285
+ }
286
+ }
287
+ }
288
+ ```
289
+
290
+ **Available MCP Tools:**
291
+ - `ralph_init` - Initialize Ralph Playbook
292
+ - `ralph_plan` - Create implementation plan
293
+ - `ralph_run` - Execute coding loop
294
+ - `ralph_status` - Check progress
295
+ - `ralph_validate` - Run tests/lint/build
296
+
297
+ ### Multi-Agent Support
298
+ Works with your favorite coding agents:
299
+ - **Claude Code** (recommended)
300
+ - **Cursor**
301
+ - **Codex**
302
+ - **OpenCode**
303
+
304
+ ### Git Automation
305
+ ```bash
306
+ ralph-starter run "your task" --commit # Auto-commit after tasks
307
+ ralph-starter run "your task" --push # Push to remote
308
+ ralph-starter run "your task" --pr # Create PR when done
309
+ ```
310
+
311
+ ### Backpressure Validation
312
+ ```bash
313
+ ralph-starter run "your task" --validate # Run tests/lint/build after each iteration
314
+ ```
315
+
316
+ The `--validate` flag runs test, lint, and build commands (from AGENTS.md or package.json) after each iteration. If validation fails, the agent gets feedback to fix the issues.
317
+
318
+ ### Workflow Presets
319
+
320
+ Pre-configured settings for common development scenarios:
321
+
322
+ ```bash
323
+ # List all 16+ presets
324
+ ralph-starter presets
325
+
326
+ # Use a preset
327
+ ralph-starter run --preset feature "build login"
328
+ ralph-starter run --preset tdd-red-green "add tests"
329
+ ralph-starter run --preset debug "fix the bug"
330
+ ralph-starter run --preset refactor "clean up auth module"
331
+ ralph-starter run --preset pr-review "review changes"
332
+ ```
333
+
334
+ **Available Presets:**
335
+ | Category | Presets |
336
+ |----------|---------|
337
+ | Development | `feature`, `feature-minimal`, `tdd-red-green`, `spec-driven`, `refactor` |
338
+ | Debugging | `debug`, `incident-response`, `code-archaeology` |
339
+ | Review | `review`, `pr-review`, `adversarial-review` |
340
+ | Documentation | `docs`, `documentation-first` |
341
+ | Specialized | `api-design`, `migration-safety`, `performance-optimization`, `scientific-method`, `research`, `gap-analysis` |
342
+
343
+ ### Circuit Breaker
344
+
345
+ Automatically stops loops that are stuck:
346
+
347
+ ```bash
348
+ # Stop after 3 consecutive failures (default)
349
+ ralph-starter run "build X" --validate
350
+
351
+ # Custom thresholds
352
+ ralph-starter run "build X" --circuit-breaker-failures 2 --circuit-breaker-errors 3
353
+ ```
354
+
355
+ The circuit breaker monitors:
356
+ - **Consecutive failures**: Stops after N validation failures in a row
357
+ - **Same error count**: Stops if the same error repeats N times
358
+
359
+ ### Progress Tracking
360
+
361
+ Writes iteration logs to `activity.md`:
362
+
363
+ ```bash
364
+ # Enabled by default
365
+ ralph-starter run "build X"
366
+
367
+ # Disable if not needed
368
+ ralph-starter run "build X" --no-track-progress
369
+ ```
370
+
371
+ Each iteration records:
372
+ - Timestamp and duration
373
+ - Status (completed, failed, blocked)
374
+ - Validation results
375
+ - Commit info
376
+
377
+ ### File-Based Completion
378
+
379
+ The loop automatically checks for completion signals:
380
+ - `RALPH_COMPLETE` file in project root
381
+ - `.ralph-done` marker file
382
+ - All tasks marked `[x]` in `IMPLEMENTATION_PLAN.md`
383
+
384
+ ### Rate Limiting
385
+
386
+ Control API call frequency to manage costs:
387
+
388
+ ```bash
389
+ # Limit to 50 calls per hour
390
+ ralph-starter run --rate-limit 50 "build X"
391
+ ```
392
+
393
+ ### Cost Tracking
394
+
395
+ Track estimated token usage and costs during loops:
396
+
397
+ ```bash
398
+ # Cost tracking is enabled by default
399
+ ralph-starter run "build X"
400
+
401
+ # Disable cost tracking
402
+ ralph-starter run "build X" --no-track-cost
403
+ ```
404
+
405
+ Cost tracking provides:
406
+ - **Per-iteration cost** displayed during the loop
407
+ - **Running total** of tokens and cost
408
+ - **Cost summary** at the end of the loop
409
+ - **Cost logged** in `activity.md` for each iteration
410
+ - **Projected cost** for remaining iterations (after 3+ iterations)
411
+
412
+ Supported models for cost estimation:
413
+ - Claude 3 Opus ($15/$75 per 1M tokens)
414
+ - Claude 3.5 Sonnet ($3/$15 per 1M tokens)
415
+ - Claude 3.5 Haiku ($0.25/$1.25 per 1M tokens)
416
+ - GPT-4 ($30/$60 per 1M tokens)
417
+ - GPT-4 Turbo ($10/$30 per 1M tokens)
418
+
419
+ ## Ralph Playbook Workflow
420
+
421
+ ralph-starter follows the [Ralph Playbook](https://claytonfarr.github.io/ralph-playbook/) methodology:
422
+
423
+ ```bash
424
+ # 1. Initialize Ralph Playbook files
425
+ ralph-starter init
426
+
427
+ # 2. Write specs in specs/ folder
428
+
429
+ # 3. Create implementation plan
430
+ ralph-starter plan
431
+
432
+ # 4. Execute the plan
433
+ ralph-starter run --commit --validate
434
+ ```
435
+
436
+ This creates:
437
+ - `AGENTS.md` - Agent instructions and validation commands
438
+ - `PROMPT_plan.md` - Planning prompt template
439
+ - `PROMPT_build.md` - Building prompt template
440
+ - `IMPLEMENTATION_PLAN.md` - Prioritized task list
441
+ - `specs/` - Specification files
442
+
443
+ ## Commands
444
+
445
+ | Command | Description |
446
+ |---------|-------------|
447
+ | `ralph-starter` | Launch interactive wizard |
448
+ | `ralph-starter run [task]` | Run an autonomous coding loop |
449
+ | `ralph-starter integrations <action>` | Manage integrations (list, help, test, fetch) |
450
+ | `ralph-starter plan` | Create implementation plan from specs |
451
+ | `ralph-starter init` | Initialize Ralph Playbook in a project |
452
+ | `ralph-starter ideas` | Brainstorm project ideas |
453
+ | `ralph-starter presets` | List available workflow presets |
454
+ | `ralph-starter mcp` | Start as MCP server |
455
+ | `ralph-starter config <action>` | Manage credentials |
456
+ | `ralph-starter source <action>` | Manage input sources (legacy) |
457
+ | `ralph-starter skill add <repo>` | Install agent skills |
458
+
459
+ ## Options for `run`
460
+
461
+ ### Core Options
462
+
463
+ | Flag | Description |
464
+ |------|-------------|
465
+ | `--auto` | Skip permission prompts |
466
+ | `--commit` | Auto-commit after tasks |
467
+ | `--push` | Push commits to remote |
468
+ | `--pr` | Create pull request |
469
+ | `--validate` | Run tests/lint/build (backpressure) |
470
+ | `--agent <name>` | Specify agent to use |
471
+ | `--max-iterations <n>` | Max loop iterations (default: 50) |
472
+
473
+ ### Workflow Presets
474
+
475
+ | Flag | Description |
476
+ |------|-------------|
477
+ | `--preset <name>` | Use a workflow preset (feature, tdd-red-green, debug, etc.) |
478
+
479
+ ```bash
480
+ # List all available presets
481
+ ralph-starter presets
482
+
483
+ # Use a preset
484
+ ralph-starter run --preset feature "build login page"
485
+ ralph-starter run --preset tdd-red-green "add user validation"
486
+ ralph-starter run --preset debug "fix the auth bug"
487
+ ```
488
+
489
+ ### Exit Detection
490
+
491
+ | Flag | Description |
492
+ |------|-------------|
493
+ | `--completion-promise <string>` | Custom string to detect task completion |
494
+ | `--require-exit-signal` | Require explicit `EXIT_SIGNAL: true` for completion |
495
+
496
+ ```bash
497
+ # Stop when agent outputs "FEATURE_DONE"
498
+ ralph-starter run --completion-promise "FEATURE_DONE" "build X"
499
+
500
+ # Require explicit exit signal
501
+ ralph-starter run --require-exit-signal "build Y"
502
+ ```
503
+
504
+ ### Safety Controls
505
+
506
+ | Flag | Description |
507
+ |------|-------------|
508
+ | `--rate-limit <n>` | Max API calls per hour (default: unlimited) |
509
+ | `--circuit-breaker-failures <n>` | Max consecutive failures before stopping (default: 3) |
510
+ | `--circuit-breaker-errors <n>` | Max same error occurrences before stopping (default: 5) |
511
+ | `--track-progress` | Write progress to activity.md (default: true) |
512
+ | `--no-track-progress` | Disable progress tracking |
513
+ | `--track-cost` | Track token usage and estimated cost (default: true) |
514
+ | `--no-track-cost` | Disable cost tracking |
515
+
516
+ ```bash
517
+ # Limit to 50 API calls per hour
518
+ ralph-starter run --rate-limit 50 "build X"
519
+
520
+ # Stop after 2 consecutive failures
521
+ ralph-starter run --circuit-breaker-failures 2 "build Y"
522
+ ```
523
+
524
+ ### Source Options
525
+
526
+ | Flag | Description |
527
+ |------|-------------|
528
+ | `--from <source>` | Fetch spec from source |
529
+ | `--project <name>` | Project filter for sources |
530
+ | `--label <name>` | Label filter for sources |
531
+ | `--status <status>` | Status filter for sources |
532
+ | `--limit <n>` | Max items from source |
533
+ | `--prd <file>` | Read tasks from markdown |
534
+
535
+ ## Config Commands
536
+
537
+ ```bash
538
+ # Set credentials
539
+ ralph-starter config set linear.apiKey <key>
540
+ ralph-starter config set notion.token <token>
541
+ ralph-starter config set github.token <token>
542
+
543
+ # View config
544
+ ralph-starter config list
545
+ ralph-starter config get linear.apiKey
546
+
547
+ # Remove
548
+ ralph-starter config delete linear.apiKey
549
+ ```
550
+
551
+ ## Integration Commands
552
+
553
+ ```bash
554
+ # List all integrations with auth status
555
+ ralph-starter integrations list
556
+
557
+ # Get help for a specific integration
558
+ ralph-starter integrations help github
559
+ ralph-starter integrations help linear
560
+ ralph-starter integrations help notion
561
+
562
+ # Test connectivity
563
+ ralph-starter integrations test github
564
+ ralph-starter integrations test linear
565
+
566
+ # Fetch and preview data
567
+ ralph-starter integrations fetch github owner/repo
568
+ ralph-starter integrations fetch linear "Mobile App" --limit 10
569
+ ralph-starter integrations fetch notion "https://notion.so/Page-abc123"
570
+ ```
571
+
572
+ ## Source Commands (Legacy)
573
+
574
+ ```bash
575
+ # List available sources
576
+ ralph-starter source list
577
+
578
+ # Get help for a source
579
+ ralph-starter source help github
580
+
581
+ # Test source connectivity
582
+ ralph-starter source test linear
583
+
584
+ # Preview items from source
585
+ ralph-starter source preview github --project owner/repo
586
+ ```
587
+
588
+ ## Example: Build a SaaS Dashboard
589
+
590
+ ```bash
591
+ mkdir my-saas && cd my-saas
592
+ git init
593
+
594
+ ralph-starter run "Create a SaaS dashboard with:
595
+ - User authentication (email/password)
596
+ - Stripe subscription billing
597
+ - Dashboard with usage metrics
598
+ - Dark mode support" --commit --pr --validate
599
+
600
+ # Watch the magic happen...
601
+ # 🔄 Loop 1: Setting up Next.js project...
602
+ # ✓ Validation passed
603
+ # ✓ Committed: chore: initialize Next.js with TypeScript
604
+ # 🔄 Loop 2: Adding authentication...
605
+ # ✓ Validation passed
606
+ # ✓ Committed: feat(auth): add NextAuth with email provider
607
+ # ...
608
+ # ✓ Created PR #1: "Build SaaS dashboard"
609
+ ```
610
+
611
+ ## Testing ralph-starter
612
+
613
+ ### Quick Test (No API Keys)
614
+
615
+ You can test ralph-starter with public URLs - no API keys required:
616
+
617
+ ```bash
618
+ # Test with a public GitHub gist or raw markdown
619
+ ralph-starter run --from https://raw.githubusercontent.com/rubenmarcus/ralph-starter/main/README.md
620
+
621
+ # Test with GitHub issues (requires gh CLI login)
622
+ gh auth login
623
+ ralph-starter run --from github --project rubenmarcus/ralph-starter --label "enhancement"
624
+ ```
625
+
626
+ ### Testing the Wizard
627
+
628
+ ```bash
629
+ # Launch the interactive wizard
630
+ ralph-starter
631
+
632
+ # Or test idea mode
633
+ ralph-starter ideas
634
+ ```
635
+
636
+ ### Testing with Your Own Specs
637
+
638
+ ```bash
639
+ # Create a simple spec file
640
+ echo "Build a simple counter app with React" > my-spec.md
641
+
642
+ # Run with local file
643
+ ralph-starter run --from ./my-spec.md
644
+ ```
645
+
646
+ ### Verifying Source Connectivity
647
+
648
+ Before using an integration, verify it's working:
649
+
650
+ ```bash
651
+ # Check what integrations are available
652
+ ralph-starter integrations list
653
+
654
+ # Test each integration
655
+ ralph-starter integrations test github
656
+ ralph-starter integrations test linear
657
+ ralph-starter integrations test notion
658
+
659
+ # Preview items (dry run)
660
+ ralph-starter integrations fetch linear "My Project" --limit 3
661
+ ```
662
+
663
+ ## API Key Configuration
664
+
665
+ ### Option 1: Environment Variables (Recommended for Developers)
666
+
667
+ Set environment variables in your shell profile or `.env` file:
668
+
669
+ ```bash
670
+ # Add to ~/.bashrc, ~/.zshrc, or .env file
671
+ export LINEAR_API_KEY=lin_api_xxxxx
672
+ export NOTION_API_KEY=secret_xxxxx
673
+ export GITHUB_TOKEN=ghp_xxxxx
674
+ ```
675
+
676
+ Environment variables take precedence over the config file.
677
+
678
+ ### Option 2: Config Command
679
+
680
+ Use the CLI to store credentials:
681
+
682
+ ```bash
683
+ ralph-starter config set linear.apiKey lin_api_xxxxx
684
+ ralph-starter config set notion.token secret_xxxxx
685
+ ralph-starter config set github.token ghp_xxxxx
686
+ ```
687
+
688
+ Credentials are stored in `~/.ralph-starter/sources.json`.
689
+
690
+ ### Environment Variable Reference
691
+
692
+ | Source | Environment Variable | Config Key |
693
+ |--------|---------------------|------------|
694
+ | Linear | `LINEAR_API_KEY` | `linear.apiKey` |
695
+ | Notion | `NOTION_API_KEY` | `notion.token` |
696
+ | GitHub | `GITHUB_TOKEN` | `github.token` |
697
+
698
+ ### Managing Config
699
+
700
+ ```bash
701
+ ralph-starter config list # View all config
702
+ ralph-starter config get linear # View specific source
703
+ ralph-starter config delete linear.apiKey # Remove a key
704
+ ```
705
+
706
+ ## Requirements
707
+
708
+ - Node.js 18+
709
+ - At least one coding agent installed (Claude Code, Cursor, etc.)
710
+ - Git (for automation features)
711
+ - GitHub CLI `gh` (for PR creation and GitHub source)
712
+
713
+ ## Documentation
14
714
 
15
- - **`ralph-starter init`** - AI chat to define your project, suggests tech stack, generates all Ralph files
16
- - **`ralph-starter new --template <name>`** - Create from templates (nextjs-saas, fastapi-ml, etc.)
17
- - **`ralph-starter skill add <name>`** - Install skills from marketplace
18
- - **`ralph-starter run [--docker]`** - Execute Claude Code loop with beautiful TUI
19
- - **`ralph-starter docs init`** - Setup Docusaurus/VitePress documentation
20
- - **`ralph-starter feature "<name>"`** - Create feature branch + spec + auto-PR
715
+ Full documentation available at: https://ralphstarter.ai
21
716
 
22
- ## What Makes This Different
717
+ ## Contributing
23
718
 
24
- Unlike other Claude Code loop tools, ralph-starter provides:
719
+ Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
25
720
 
26
- 1. **AI-assisted ideation** - Help figure out WHAT to build through conversation
27
- 2. **Zero-to-loop experience** - Chat → specs → running loop in minutes
28
- 3. **Template gallery** - Pre-built starters for common project types
29
- 4. **Skill marketplace** - Discover and install community skills
30
- 5. **Auto-documentation** - Generate Docusaurus/VitePress docs
31
- 6. **Docker execution** - Sandboxed, safe autonomous coding
721
+ For creating custom integrations, agents, or using the programmatic API, see the [Developer Extension Guide](https://ralphstarter.ai/docs/guides/extending-ralph-starter).
32
722
 
33
723
  ## License
34
724