rubyn 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +251 -0
  4. data/Rakefile +12 -0
  5. data/exe/rubyn +5 -0
  6. data/lib/generators/rubyn/install_generator.rb +16 -0
  7. data/lib/rubyn/cli.rb +85 -0
  8. data/lib/rubyn/client/api_client.rb +172 -0
  9. data/lib/rubyn/commands/agent.rb +191 -0
  10. data/lib/rubyn/commands/base.rb +60 -0
  11. data/lib/rubyn/commands/config.rb +51 -0
  12. data/lib/rubyn/commands/dashboard.rb +85 -0
  13. data/lib/rubyn/commands/index.rb +101 -0
  14. data/lib/rubyn/commands/init.rb +166 -0
  15. data/lib/rubyn/commands/refactor.rb +175 -0
  16. data/lib/rubyn/commands/review.rb +61 -0
  17. data/lib/rubyn/commands/spec.rb +72 -0
  18. data/lib/rubyn/commands/usage.rb +56 -0
  19. data/lib/rubyn/config/credentials.rb +39 -0
  20. data/lib/rubyn/config/project_config.rb +42 -0
  21. data/lib/rubyn/config/settings.rb +53 -0
  22. data/lib/rubyn/context/codebase_indexer.rb +195 -0
  23. data/lib/rubyn/context/context_builder.rb +36 -0
  24. data/lib/rubyn/context/file_resolver.rb +235 -0
  25. data/lib/rubyn/context/project_scanner.rb +132 -0
  26. data/lib/rubyn/engine/app/assets/images/rubyn/RubynLogo.png +0 -0
  27. data/lib/rubyn/engine/app/assets/javascripts/rubyn/application.js +579 -0
  28. data/lib/rubyn/engine/app/assets/stylesheets/rubyn/application.css +1073 -0
  29. data/lib/rubyn/engine/app/controllers/rubyn/agent_controller.rb +26 -0
  30. data/lib/rubyn/engine/app/controllers/rubyn/application_controller.rb +44 -0
  31. data/lib/rubyn/engine/app/controllers/rubyn/dashboard_controller.rb +19 -0
  32. data/lib/rubyn/engine/app/controllers/rubyn/feedback_controller.rb +17 -0
  33. data/lib/rubyn/engine/app/controllers/rubyn/files_controller.rb +54 -0
  34. data/lib/rubyn/engine/app/controllers/rubyn/refactor_controller.rb +56 -0
  35. data/lib/rubyn/engine/app/controllers/rubyn/reviews_controller.rb +32 -0
  36. data/lib/rubyn/engine/app/controllers/rubyn/settings_controller.rb +17 -0
  37. data/lib/rubyn/engine/app/controllers/rubyn/specs_controller.rb +33 -0
  38. data/lib/rubyn/engine/app/views/layouts/rubyn/application.html.erb +63 -0
  39. data/lib/rubyn/engine/app/views/rubyn/agent/show.html.erb +22 -0
  40. data/lib/rubyn/engine/app/views/rubyn/dashboard/index.html.erb +120 -0
  41. data/lib/rubyn/engine/app/views/rubyn/files/index.html.erb +45 -0
  42. data/lib/rubyn/engine/app/views/rubyn/refactor/show.html.erb +28 -0
  43. data/lib/rubyn/engine/app/views/rubyn/reviews/show.html.erb +28 -0
  44. data/lib/rubyn/engine/app/views/rubyn/settings/show.html.erb +42 -0
  45. data/lib/rubyn/engine/app/views/rubyn/specs/show.html.erb +28 -0
  46. data/lib/rubyn/engine/config/routes.rb +13 -0
  47. data/lib/rubyn/engine/engine.rb +18 -0
  48. data/lib/rubyn/output/diff_renderer.rb +106 -0
  49. data/lib/rubyn/output/formatter.rb +123 -0
  50. data/lib/rubyn/output/spinner.rb +26 -0
  51. data/lib/rubyn/tools/base_tool.rb +74 -0
  52. data/lib/rubyn/tools/bundle_add.rb +77 -0
  53. data/lib/rubyn/tools/create_file.rb +32 -0
  54. data/lib/rubyn/tools/delete_file.rb +29 -0
  55. data/lib/rubyn/tools/executor.rb +68 -0
  56. data/lib/rubyn/tools/find_files.rb +33 -0
  57. data/lib/rubyn/tools/find_references.rb +72 -0
  58. data/lib/rubyn/tools/git_commit.rb +65 -0
  59. data/lib/rubyn/tools/git_create_branch.rb +58 -0
  60. data/lib/rubyn/tools/git_diff.rb +42 -0
  61. data/lib/rubyn/tools/git_log.rb +43 -0
  62. data/lib/rubyn/tools/git_status.rb +26 -0
  63. data/lib/rubyn/tools/list_directory.rb +82 -0
  64. data/lib/rubyn/tools/move_file.rb +35 -0
  65. data/lib/rubyn/tools/patch_file.rb +47 -0
  66. data/lib/rubyn/tools/rails_generate.rb +40 -0
  67. data/lib/rubyn/tools/rails_migrate.rb +55 -0
  68. data/lib/rubyn/tools/rails_routes.rb +35 -0
  69. data/lib/rubyn/tools/read_file.rb +45 -0
  70. data/lib/rubyn/tools/registry.rb +28 -0
  71. data/lib/rubyn/tools/run_command.rb +48 -0
  72. data/lib/rubyn/tools/run_tests.rb +52 -0
  73. data/lib/rubyn/tools/search_files.rb +82 -0
  74. data/lib/rubyn/tools/write_file.rb +30 -0
  75. data/lib/rubyn/version.rb +5 -0
  76. data/lib/rubyn/version_checker.rb +74 -0
  77. data/lib/rubyn.rb +95 -0
  78. data/sig/rubyn.rbs +4 -0
  79. metadata +379 -0
metadata ADDED
@@ -0,0 +1,379 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubyn
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - matthewsuttles
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: faraday
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '1.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '3.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: faraday-multipart
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: pastel
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0.8'
53
+ - - "<"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0.8'
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '1.0'
66
+ - !ruby/object:Gem::Dependency
67
+ name: rouge
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '3.0'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '5.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - - "<"
84
+ - !ruby/object:Gem::Version
85
+ version: '5.0'
86
+ - !ruby/object:Gem::Dependency
87
+ name: sinatra
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '3.0'
93
+ - - "<"
94
+ - !ruby/object:Gem::Version
95
+ version: '5.0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '3.0'
103
+ - - "<"
104
+ - !ruby/object:Gem::Version
105
+ version: '5.0'
106
+ - !ruby/object:Gem::Dependency
107
+ name: thor
108
+ requirement: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '1.0'
113
+ - - "<"
114
+ - !ruby/object:Gem::Version
115
+ version: '2.0'
116
+ type: :runtime
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '1.0'
123
+ - - "<"
124
+ - !ruby/object:Gem::Version
125
+ version: '2.0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: tty-prompt
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0.23'
133
+ - - "<"
134
+ - !ruby/object:Gem::Version
135
+ version: '1.0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0.23'
143
+ - - "<"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.0'
146
+ - !ruby/object:Gem::Dependency
147
+ name: tty-spinner
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0.9'
153
+ - - "<"
154
+ - !ruby/object:Gem::Version
155
+ version: '1.0'
156
+ type: :runtime
157
+ prerelease: false
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0.9'
163
+ - - "<"
164
+ - !ruby/object:Gem::Version
165
+ version: '1.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: dotenv
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '2.0'
173
+ - - "<"
174
+ - !ruby/object:Gem::Version
175
+ version: '4.0'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '2.0'
183
+ - - "<"
184
+ - !ruby/object:Gem::Version
185
+ version: '4.0'
186
+ - !ruby/object:Gem::Dependency
187
+ name: rails
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '6.0'
193
+ - - "<"
194
+ - !ruby/object:Gem::Version
195
+ version: '9.0'
196
+ type: :development
197
+ prerelease: false
198
+ version_requirements: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '6.0'
203
+ - - "<"
204
+ - !ruby/object:Gem::Version
205
+ version: '9.0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: rspec-rails
208
+ requirement: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '5.0'
213
+ - - "<"
214
+ - !ruby/object:Gem::Version
215
+ version: '8.0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '5.0'
223
+ - - "<"
224
+ - !ruby/object:Gem::Version
225
+ version: '8.0'
226
+ - !ruby/object:Gem::Dependency
227
+ name: simplecov
228
+ requirement: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - "~>"
231
+ - !ruby/object:Gem::Version
232
+ version: '0.22'
233
+ type: :development
234
+ prerelease: false
235
+ version_requirements: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '0.22'
240
+ - !ruby/object:Gem::Dependency
241
+ name: vcr
242
+ requirement: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - "~>"
245
+ - !ruby/object:Gem::Version
246
+ version: '6.0'
247
+ type: :development
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - "~>"
252
+ - !ruby/object:Gem::Version
253
+ version: '6.0'
254
+ - !ruby/object:Gem::Dependency
255
+ name: webmock
256
+ requirement: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - "~>"
259
+ - !ruby/object:Gem::Version
260
+ version: '3.0'
261
+ type: :development
262
+ prerelease: false
263
+ version_requirements: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - "~>"
266
+ - !ruby/object:Gem::Version
267
+ version: '3.0'
268
+ description: AI-powered CLI and mountable Rails engine for refactoring, spec generation,
269
+ code review, and conversational coding assistance.
270
+ email:
271
+ - matthewsuttles13@yahoo.com
272
+ executables:
273
+ - rubyn
274
+ extensions: []
275
+ extra_rdoc_files: []
276
+ files:
277
+ - LICENSE
278
+ - README.md
279
+ - Rakefile
280
+ - exe/rubyn
281
+ - lib/generators/rubyn/install_generator.rb
282
+ - lib/rubyn.rb
283
+ - lib/rubyn/cli.rb
284
+ - lib/rubyn/client/api_client.rb
285
+ - lib/rubyn/commands/agent.rb
286
+ - lib/rubyn/commands/base.rb
287
+ - lib/rubyn/commands/config.rb
288
+ - lib/rubyn/commands/dashboard.rb
289
+ - lib/rubyn/commands/index.rb
290
+ - lib/rubyn/commands/init.rb
291
+ - lib/rubyn/commands/refactor.rb
292
+ - lib/rubyn/commands/review.rb
293
+ - lib/rubyn/commands/spec.rb
294
+ - lib/rubyn/commands/usage.rb
295
+ - lib/rubyn/config/credentials.rb
296
+ - lib/rubyn/config/project_config.rb
297
+ - lib/rubyn/config/settings.rb
298
+ - lib/rubyn/context/codebase_indexer.rb
299
+ - lib/rubyn/context/context_builder.rb
300
+ - lib/rubyn/context/file_resolver.rb
301
+ - lib/rubyn/context/project_scanner.rb
302
+ - lib/rubyn/engine/app/assets/images/rubyn/RubynLogo.png
303
+ - lib/rubyn/engine/app/assets/javascripts/rubyn/application.js
304
+ - lib/rubyn/engine/app/assets/stylesheets/rubyn/application.css
305
+ - lib/rubyn/engine/app/controllers/rubyn/agent_controller.rb
306
+ - lib/rubyn/engine/app/controllers/rubyn/application_controller.rb
307
+ - lib/rubyn/engine/app/controllers/rubyn/dashboard_controller.rb
308
+ - lib/rubyn/engine/app/controllers/rubyn/feedback_controller.rb
309
+ - lib/rubyn/engine/app/controllers/rubyn/files_controller.rb
310
+ - lib/rubyn/engine/app/controllers/rubyn/refactor_controller.rb
311
+ - lib/rubyn/engine/app/controllers/rubyn/reviews_controller.rb
312
+ - lib/rubyn/engine/app/controllers/rubyn/settings_controller.rb
313
+ - lib/rubyn/engine/app/controllers/rubyn/specs_controller.rb
314
+ - lib/rubyn/engine/app/views/layouts/rubyn/application.html.erb
315
+ - lib/rubyn/engine/app/views/rubyn/agent/show.html.erb
316
+ - lib/rubyn/engine/app/views/rubyn/dashboard/index.html.erb
317
+ - lib/rubyn/engine/app/views/rubyn/files/index.html.erb
318
+ - lib/rubyn/engine/app/views/rubyn/refactor/show.html.erb
319
+ - lib/rubyn/engine/app/views/rubyn/reviews/show.html.erb
320
+ - lib/rubyn/engine/app/views/rubyn/settings/show.html.erb
321
+ - lib/rubyn/engine/app/views/rubyn/specs/show.html.erb
322
+ - lib/rubyn/engine/config/routes.rb
323
+ - lib/rubyn/engine/engine.rb
324
+ - lib/rubyn/output/diff_renderer.rb
325
+ - lib/rubyn/output/formatter.rb
326
+ - lib/rubyn/output/spinner.rb
327
+ - lib/rubyn/tools/base_tool.rb
328
+ - lib/rubyn/tools/bundle_add.rb
329
+ - lib/rubyn/tools/create_file.rb
330
+ - lib/rubyn/tools/delete_file.rb
331
+ - lib/rubyn/tools/executor.rb
332
+ - lib/rubyn/tools/find_files.rb
333
+ - lib/rubyn/tools/find_references.rb
334
+ - lib/rubyn/tools/git_commit.rb
335
+ - lib/rubyn/tools/git_create_branch.rb
336
+ - lib/rubyn/tools/git_diff.rb
337
+ - lib/rubyn/tools/git_log.rb
338
+ - lib/rubyn/tools/git_status.rb
339
+ - lib/rubyn/tools/list_directory.rb
340
+ - lib/rubyn/tools/move_file.rb
341
+ - lib/rubyn/tools/patch_file.rb
342
+ - lib/rubyn/tools/rails_generate.rb
343
+ - lib/rubyn/tools/rails_migrate.rb
344
+ - lib/rubyn/tools/rails_routes.rb
345
+ - lib/rubyn/tools/read_file.rb
346
+ - lib/rubyn/tools/registry.rb
347
+ - lib/rubyn/tools/run_command.rb
348
+ - lib/rubyn/tools/run_tests.rb
349
+ - lib/rubyn/tools/search_files.rb
350
+ - lib/rubyn/tools/write_file.rb
351
+ - lib/rubyn/version.rb
352
+ - lib/rubyn/version_checker.rb
353
+ - sig/rubyn.rbs
354
+ homepage: https://rubyn.dev
355
+ licenses:
356
+ - MIT
357
+ metadata:
358
+ homepage_uri: https://rubyn.dev
359
+ source_code_uri: https://github.com/rubyn-dev/rubyn
360
+ changelog_uri: https://github.com/rubyn-dev/rubyn/blob/main/CHANGELOG.md
361
+ rubygems_mfa_required: 'true'
362
+ rdoc_options: []
363
+ require_paths:
364
+ - lib
365
+ required_ruby_version: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - ">="
368
+ - !ruby/object:Gem::Version
369
+ version: '2.7'
370
+ required_rubygems_version: !ruby/object:Gem::Requirement
371
+ requirements:
372
+ - - ">="
373
+ - !ruby/object:Gem::Version
374
+ version: '0'
375
+ requirements: []
376
+ rubygems_version: 3.6.9
377
+ specification_version: 4
378
+ summary: Your Ruby & Rails Companion
379
+ test_files: []