ralph.rb 1.2.435535439

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 (60) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/gem-push.yml +47 -0
  3. data/.gitignore +79 -0
  4. data/.rubocop.yml +6018 -0
  5. data/.ruby-version +1 -0
  6. data/AGENTS.md +113 -0
  7. data/Gemfile +11 -0
  8. data/LICENSE +21 -0
  9. data/README.md +656 -0
  10. data/bin/rubocop +8 -0
  11. data/bin/test +5 -0
  12. data/exe/ralph +8 -0
  13. data/lib/ralph/agents/base.rb +132 -0
  14. data/lib/ralph/agents/claude_code.rb +24 -0
  15. data/lib/ralph/agents/codex.rb +25 -0
  16. data/lib/ralph/agents/open_code.rb +30 -0
  17. data/lib/ralph/agents.rb +24 -0
  18. data/lib/ralph/cli.rb +222 -0
  19. data/lib/ralph/config.rb +40 -0
  20. data/lib/ralph/git/file_snapshot.rb +60 -0
  21. data/lib/ralph/helpers.rb +76 -0
  22. data/lib/ralph/iteration.rb +220 -0
  23. data/lib/ralph/loop.rb +196 -0
  24. data/lib/ralph/output/active_loop_error.rb +13 -0
  25. data/lib/ralph/output/banner.rb +29 -0
  26. data/lib/ralph/output/completion_deferred.rb +12 -0
  27. data/lib/ralph/output/completion_detected.rb +17 -0
  28. data/lib/ralph/output/config_summary.rb +31 -0
  29. data/lib/ralph/output/context_consumed.rb +11 -0
  30. data/lib/ralph/output/iteration.rb +45 -0
  31. data/lib/ralph/output/max_iterations_reached.rb +16 -0
  32. data/lib/ralph/output/no_plugin_warning.rb +14 -0
  33. data/lib/ralph/output/nonzero_exit_warning.rb +11 -0
  34. data/lib/ralph/output/plugin_error.rb +12 -0
  35. data/lib/ralph/output/status.rb +176 -0
  36. data/lib/ralph/output/struggle_warning.rb +18 -0
  37. data/lib/ralph/output/task_completion.rb +12 -0
  38. data/lib/ralph/output/tasks_file_created.rb +11 -0
  39. data/lib/ralph/prompt_template.rb +183 -0
  40. data/lib/ralph/storage/context.rb +58 -0
  41. data/lib/ralph/storage/history.rb +117 -0
  42. data/lib/ralph/storage/state.rb +178 -0
  43. data/lib/ralph/storage/tasks.rb +244 -0
  44. data/lib/ralph/threads/heartbeat.rb +44 -0
  45. data/lib/ralph/threads/stream_reader.rb +50 -0
  46. data/lib/ralph/version.rb +5 -0
  47. data/lib/ralph.rb +67 -0
  48. data/original/bin/ralph.js +13 -0
  49. data/original/ralph.ts +1706 -0
  50. data/ralph.gemspec +35 -0
  51. data/ralph2.gemspec +35 -0
  52. data/screenshot.webp +0 -0
  53. data/specs/README.md +46 -0
  54. data/specs/agents.md +172 -0
  55. data/specs/cli.md +223 -0
  56. data/specs/iteration.md +173 -0
  57. data/specs/output.md +104 -0
  58. data/specs/storage/local-data-structure.md +246 -0
  59. data/specs/tasks.md +295 -0
  60. metadata +150 -0
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ralph.rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.435535439
5
+ platform: ruby
6
+ authors:
7
+ - Nathan Kidd
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2026-02-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.21'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.21'
55
+ description: |
56
+ Ralph Wiggum Loop - Iterative AI development with AI agents.
57
+ An autonomous agentic loop that drives Claude Code, Codex, and OpenCode.
58
+ email:
59
+ - nathankidd@hey.com
60
+ executables:
61
+ - ralph
62
+ extensions: []
63
+ extra_rdoc_files: []
64
+ files:
65
+ - ".github/workflows/gem-push.yml"
66
+ - ".gitignore"
67
+ - ".rubocop.yml"
68
+ - ".ruby-version"
69
+ - AGENTS.md
70
+ - Gemfile
71
+ - LICENSE
72
+ - README.md
73
+ - bin/rubocop
74
+ - bin/test
75
+ - exe/ralph
76
+ - lib/ralph.rb
77
+ - lib/ralph/agents.rb
78
+ - lib/ralph/agents/base.rb
79
+ - lib/ralph/agents/claude_code.rb
80
+ - lib/ralph/agents/codex.rb
81
+ - lib/ralph/agents/open_code.rb
82
+ - lib/ralph/cli.rb
83
+ - lib/ralph/config.rb
84
+ - lib/ralph/git/file_snapshot.rb
85
+ - lib/ralph/helpers.rb
86
+ - lib/ralph/iteration.rb
87
+ - lib/ralph/loop.rb
88
+ - lib/ralph/output/active_loop_error.rb
89
+ - lib/ralph/output/banner.rb
90
+ - lib/ralph/output/completion_deferred.rb
91
+ - lib/ralph/output/completion_detected.rb
92
+ - lib/ralph/output/config_summary.rb
93
+ - lib/ralph/output/context_consumed.rb
94
+ - lib/ralph/output/iteration.rb
95
+ - lib/ralph/output/max_iterations_reached.rb
96
+ - lib/ralph/output/no_plugin_warning.rb
97
+ - lib/ralph/output/nonzero_exit_warning.rb
98
+ - lib/ralph/output/plugin_error.rb
99
+ - lib/ralph/output/status.rb
100
+ - lib/ralph/output/struggle_warning.rb
101
+ - lib/ralph/output/task_completion.rb
102
+ - lib/ralph/output/tasks_file_created.rb
103
+ - lib/ralph/prompt_template.rb
104
+ - lib/ralph/storage/context.rb
105
+ - lib/ralph/storage/history.rb
106
+ - lib/ralph/storage/state.rb
107
+ - lib/ralph/storage/tasks.rb
108
+ - lib/ralph/threads/heartbeat.rb
109
+ - lib/ralph/threads/stream_reader.rb
110
+ - lib/ralph/version.rb
111
+ - original/bin/ralph.js
112
+ - original/ralph.ts
113
+ - ralph.gemspec
114
+ - ralph2.gemspec
115
+ - screenshot.webp
116
+ - specs/README.md
117
+ - specs/agents.md
118
+ - specs/cli.md
119
+ - specs/iteration.md
120
+ - specs/output.md
121
+ - specs/storage/local-data-structure.md
122
+ - specs/tasks.md
123
+ homepage: https://github.com/n-at-han-k/ralph.rb
124
+ licenses:
125
+ - MIT
126
+ metadata:
127
+ homepage_uri: https://github.com/n-at-han-k/ralph.rb
128
+ source_code_uri: https://github.com/n-at-han-k/ralph.rb
129
+ documentation_uri: https://github.com/n-at-han-k/ralph.rb
130
+ rubygems_mfa_required: 'true'
131
+ post_install_message:
132
+ rdoc_options: []
133
+ require_paths:
134
+ - lib
135
+ required_ruby_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '3.3'
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ requirements: []
146
+ rubygems_version: 3.5.22
147
+ signing_key:
148
+ specification_version: 4
149
+ summary: Autonomous agentic loop for Claude Code, Codex & OpenCode
150
+ test_files: []