completion-kit 0.1.0.rc1

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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +192 -0
  4. data/Rakefile +12 -0
  5. data/app/assets/config/completion_kit_manifest.js +1 -0
  6. data/app/assets/config/manifest.js +3 -0
  7. data/app/assets/images/completion_kit/logo.svg +6 -0
  8. data/app/assets/javascripts/completion_kit/evaluation_steps_controller.js +25 -0
  9. data/app/assets/stylesheets/completion_kit/application.css +2214 -0
  10. data/app/controllers/completion_kit/api/v1/base_controller.rb +29 -0
  11. data/app/controllers/completion_kit/api/v1/criteria_controller.rb +62 -0
  12. data/app/controllers/completion_kit/api/v1/datasets_controller.rb +51 -0
  13. data/app/controllers/completion_kit/api/v1/metrics_controller.rb +51 -0
  14. data/app/controllers/completion_kit/api/v1/prompts_controller.rb +64 -0
  15. data/app/controllers/completion_kit/api/v1/provider_credentials_controller.rb +51 -0
  16. data/app/controllers/completion_kit/api/v1/responses_controller.rb +32 -0
  17. data/app/controllers/completion_kit/api/v1/runs_controller.rb +71 -0
  18. data/app/controllers/completion_kit/api_reference_controller.rb +9 -0
  19. data/app/controllers/completion_kit/application_controller.rb +31 -0
  20. data/app/controllers/completion_kit/criteria_controller.rb +67 -0
  21. data/app/controllers/completion_kit/datasets_controller.rb +53 -0
  22. data/app/controllers/completion_kit/mcp_controller.rb +57 -0
  23. data/app/controllers/completion_kit/metrics_controller.rb +52 -0
  24. data/app/controllers/completion_kit/prompts_controller.rb +69 -0
  25. data/app/controllers/completion_kit/provider_credentials_controller.rb +63 -0
  26. data/app/controllers/completion_kit/responses_controller.rb +44 -0
  27. data/app/controllers/completion_kit/runs_controller.rb +131 -0
  28. data/app/helpers/completion_kit/application_helper.rb +193 -0
  29. data/app/jobs/completion_kit/application_job.rb +4 -0
  30. data/app/jobs/completion_kit/generate_job.rb +12 -0
  31. data/app/jobs/completion_kit/judge_job.rb +12 -0
  32. data/app/jobs/completion_kit/model_discovery_job.rb +29 -0
  33. data/app/mailers/completion_kit/application_mailer.rb +6 -0
  34. data/app/models/completion_kit/application_record.rb +5 -0
  35. data/app/models/completion_kit/criteria.rb +22 -0
  36. data/app/models/completion_kit/criteria_membership.rb +20 -0
  37. data/app/models/completion_kit/dataset.rb +24 -0
  38. data/app/models/completion_kit/metric.rb +97 -0
  39. data/app/models/completion_kit/model.rb +13 -0
  40. data/app/models/completion_kit/prompt.rb +99 -0
  41. data/app/models/completion_kit/provider_credential.rb +114 -0
  42. data/app/models/completion_kit/response.rb +30 -0
  43. data/app/models/completion_kit/review.rb +28 -0
  44. data/app/models/completion_kit/run.rb +253 -0
  45. data/app/models/completion_kit/run_metric.rb +6 -0
  46. data/app/models/completion_kit/suggestion.rb +8 -0
  47. data/app/services/completion_kit/anthropic_client.rb +86 -0
  48. data/app/services/completion_kit/api_config.rb +80 -0
  49. data/app/services/completion_kit/csv_processor.rb +65 -0
  50. data/app/services/completion_kit/judge_service.rb +87 -0
  51. data/app/services/completion_kit/llm_client.rb +45 -0
  52. data/app/services/completion_kit/mcp_dispatcher.rb +53 -0
  53. data/app/services/completion_kit/mcp_tools/criteria.rb +106 -0
  54. data/app/services/completion_kit/mcp_tools/datasets.rb +90 -0
  55. data/app/services/completion_kit/mcp_tools/metrics.rb +98 -0
  56. data/app/services/completion_kit/mcp_tools/prompts.rb +112 -0
  57. data/app/services/completion_kit/mcp_tools/provider_credentials.rb +97 -0
  58. data/app/services/completion_kit/mcp_tools/responses.rb +45 -0
  59. data/app/services/completion_kit/mcp_tools/runs.rb +130 -0
  60. data/app/services/completion_kit/model_discovery_service.rb +223 -0
  61. data/app/services/completion_kit/ollama_client.rb +80 -0
  62. data/app/services/completion_kit/open_ai_client.rb +71 -0
  63. data/app/services/completion_kit/open_router_client.rb +69 -0
  64. data/app/services/completion_kit/prompt_improvement_service.rb +81 -0
  65. data/app/views/completion_kit/api_reference/_example.html.erb +6 -0
  66. data/app/views/completion_kit/api_reference/index.html.erb +308 -0
  67. data/app/views/completion_kit/criteria/_form.html.erb +46 -0
  68. data/app/views/completion_kit/criteria/edit.html.erb +14 -0
  69. data/app/views/completion_kit/criteria/index.html.erb +37 -0
  70. data/app/views/completion_kit/criteria/new.html.erb +13 -0
  71. data/app/views/completion_kit/criteria/show.html.erb +37 -0
  72. data/app/views/completion_kit/datasets/_form.html.erb +29 -0
  73. data/app/views/completion_kit/datasets/edit.html.erb +13 -0
  74. data/app/views/completion_kit/datasets/index.html.erb +38 -0
  75. data/app/views/completion_kit/datasets/new.html.erb +12 -0
  76. data/app/views/completion_kit/datasets/show.html.erb +45 -0
  77. data/app/views/completion_kit/metrics/_form.html.erb +72 -0
  78. data/app/views/completion_kit/metrics/edit.html.erb +13 -0
  79. data/app/views/completion_kit/metrics/index.html.erb +34 -0
  80. data/app/views/completion_kit/metrics/new.html.erb +12 -0
  81. data/app/views/completion_kit/metrics/show.html.erb +49 -0
  82. data/app/views/completion_kit/prompts/_form.html.erb +52 -0
  83. data/app/views/completion_kit/prompts/edit.html.erb +13 -0
  84. data/app/views/completion_kit/prompts/index.html.erb +46 -0
  85. data/app/views/completion_kit/prompts/new.html.erb +12 -0
  86. data/app/views/completion_kit/prompts/show.html.erb +156 -0
  87. data/app/views/completion_kit/provider_credentials/_discovery_status.html.erb +30 -0
  88. data/app/views/completion_kit/provider_credentials/_form.html.erb +71 -0
  89. data/app/views/completion_kit/provider_credentials/edit.html.erb +12 -0
  90. data/app/views/completion_kit/provider_credentials/index.html.erb +41 -0
  91. data/app/views/completion_kit/provider_credentials/new.html.erb +12 -0
  92. data/app/views/completion_kit/responses/show.html.erb +87 -0
  93. data/app/views/completion_kit/runs/_actions.html.erb +14 -0
  94. data/app/views/completion_kit/runs/_form.html.erb +159 -0
  95. data/app/views/completion_kit/runs/_progress.html.erb +18 -0
  96. data/app/views/completion_kit/runs/_response_row.html.erb +13 -0
  97. data/app/views/completion_kit/runs/_sort_toolbar.html.erb +8 -0
  98. data/app/views/completion_kit/runs/_status_header.html.erb +15 -0
  99. data/app/views/completion_kit/runs/edit.html.erb +14 -0
  100. data/app/views/completion_kit/runs/index.html.erb +43 -0
  101. data/app/views/completion_kit/runs/new.html.erb +12 -0
  102. data/app/views/completion_kit/runs/show.html.erb +79 -0
  103. data/app/views/completion_kit/runs/suggestion.html.erb +47 -0
  104. data/app/views/layouts/completion_kit/application.html.erb +77 -0
  105. data/config/routes.rb +55 -0
  106. data/db/migrate/20260311000001_create_completion_kit_tables.rb +87 -0
  107. data/db/migrate/20260326000001_rename_criteria_to_instruction_on_metrics_and_reviews.rb +6 -0
  108. data/db/migrate/20260327000001_add_progress_to_runs.rb +6 -0
  109. data/db/migrate/20260327100001_replace_criteria_with_direct_metrics_on_runs.rb +12 -0
  110. data/db/migrate/20260328000001_add_error_message_to_runs.rb +5 -0
  111. data/db/migrate/20260329000001_create_completion_kit_models.rb +20 -0
  112. data/db/migrate/20260401170001_add_discovery_columns_to_completion_kit_provider_credentials.rb +7 -0
  113. data/db/migrate/20260403000001_add_temperature_to_completion_kit_runs.rb +5 -0
  114. data/db/migrate/20260403000002_create_completion_kit_suggestions.rb +13 -0
  115. data/db/migrate/20260403000003_add_applied_at_to_completion_kit_suggestions.rb +5 -0
  116. data/lib/completion-kit.rb +1 -0
  117. data/lib/completion_kit/engine.rb +35 -0
  118. data/lib/completion_kit/version.rb +3 -0
  119. data/lib/completion_kit.rb +55 -0
  120. data/lib/generators/completion_kit/install_generator.rb +21 -0
  121. data/lib/generators/completion_kit/templates/README +20 -0
  122. data/lib/generators/completion_kit/templates/initializer.rb +43 -0
  123. metadata +361 -0
metadata ADDED
@@ -0,0 +1,361 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: completion-kit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.rc1
5
+ platform: ruby
6
+ authors:
7
+ - Damien Bastin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-04-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 7.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 9.0.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 7.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 9.0.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: csv
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.2'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: faraday
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.7'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.7'
61
+ - !ruby/object:Gem::Dependency
62
+ name: faraday-retry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: sassc-rails
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.1'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.1'
89
+ - !ruby/object:Gem::Dependency
90
+ name: bootstrap
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '5.2'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '5.2'
103
+ - !ruby/object:Gem::Dependency
104
+ name: jquery-rails
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '4.5'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '4.5'
117
+ - !ruby/object:Gem::Dependency
118
+ name: turbo-rails
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '1.5'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '1.5'
131
+ - !ruby/object:Gem::Dependency
132
+ name: heroicons-rails
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.2'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1.2'
145
+ - !ruby/object:Gem::Dependency
146
+ name: sqlite3
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '2.9'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '2.9'
159
+ - !ruby/object:Gem::Dependency
160
+ name: rspec-rails
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '6.0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '6.0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: factory_bot_rails
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '6.2'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '6.2'
187
+ - !ruby/object:Gem::Dependency
188
+ name: simplecov
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '0.22'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0.22'
201
+ description: 'CompletionKit is a mountable Rails engine for rigorous prompt testing:
202
+ run prompts against datasets, score outputs with an LLM-as-judge against custom
203
+ metrics and rubrics, track versions, and iterate with AI-assisted improvement suggestions.
204
+ Every resource is accessible through a bearer-token REST API and a built-in Model
205
+ Context Protocol server, so you can drive it from a browser, from HTTP clients,
206
+ or directly from agents like Claude Code.'
207
+ email:
208
+ - damien@homemade.software
209
+ executables: []
210
+ extensions: []
211
+ extra_rdoc_files: []
212
+ files:
213
+ - MIT-LICENSE
214
+ - README.md
215
+ - Rakefile
216
+ - app/assets/config/completion_kit_manifest.js
217
+ - app/assets/config/manifest.js
218
+ - app/assets/images/completion_kit/logo.svg
219
+ - app/assets/javascripts/completion_kit/evaluation_steps_controller.js
220
+ - app/assets/stylesheets/completion_kit/application.css
221
+ - app/controllers/completion_kit/api/v1/base_controller.rb
222
+ - app/controllers/completion_kit/api/v1/criteria_controller.rb
223
+ - app/controllers/completion_kit/api/v1/datasets_controller.rb
224
+ - app/controllers/completion_kit/api/v1/metrics_controller.rb
225
+ - app/controllers/completion_kit/api/v1/prompts_controller.rb
226
+ - app/controllers/completion_kit/api/v1/provider_credentials_controller.rb
227
+ - app/controllers/completion_kit/api/v1/responses_controller.rb
228
+ - app/controllers/completion_kit/api/v1/runs_controller.rb
229
+ - app/controllers/completion_kit/api_reference_controller.rb
230
+ - app/controllers/completion_kit/application_controller.rb
231
+ - app/controllers/completion_kit/criteria_controller.rb
232
+ - app/controllers/completion_kit/datasets_controller.rb
233
+ - app/controllers/completion_kit/mcp_controller.rb
234
+ - app/controllers/completion_kit/metrics_controller.rb
235
+ - app/controllers/completion_kit/prompts_controller.rb
236
+ - app/controllers/completion_kit/provider_credentials_controller.rb
237
+ - app/controllers/completion_kit/responses_controller.rb
238
+ - app/controllers/completion_kit/runs_controller.rb
239
+ - app/helpers/completion_kit/application_helper.rb
240
+ - app/jobs/completion_kit/application_job.rb
241
+ - app/jobs/completion_kit/generate_job.rb
242
+ - app/jobs/completion_kit/judge_job.rb
243
+ - app/jobs/completion_kit/model_discovery_job.rb
244
+ - app/mailers/completion_kit/application_mailer.rb
245
+ - app/models/completion_kit/application_record.rb
246
+ - app/models/completion_kit/criteria.rb
247
+ - app/models/completion_kit/criteria_membership.rb
248
+ - app/models/completion_kit/dataset.rb
249
+ - app/models/completion_kit/metric.rb
250
+ - app/models/completion_kit/model.rb
251
+ - app/models/completion_kit/prompt.rb
252
+ - app/models/completion_kit/provider_credential.rb
253
+ - app/models/completion_kit/response.rb
254
+ - app/models/completion_kit/review.rb
255
+ - app/models/completion_kit/run.rb
256
+ - app/models/completion_kit/run_metric.rb
257
+ - app/models/completion_kit/suggestion.rb
258
+ - app/services/completion_kit/anthropic_client.rb
259
+ - app/services/completion_kit/api_config.rb
260
+ - app/services/completion_kit/csv_processor.rb
261
+ - app/services/completion_kit/judge_service.rb
262
+ - app/services/completion_kit/llm_client.rb
263
+ - app/services/completion_kit/mcp_dispatcher.rb
264
+ - app/services/completion_kit/mcp_tools/criteria.rb
265
+ - app/services/completion_kit/mcp_tools/datasets.rb
266
+ - app/services/completion_kit/mcp_tools/metrics.rb
267
+ - app/services/completion_kit/mcp_tools/prompts.rb
268
+ - app/services/completion_kit/mcp_tools/provider_credentials.rb
269
+ - app/services/completion_kit/mcp_tools/responses.rb
270
+ - app/services/completion_kit/mcp_tools/runs.rb
271
+ - app/services/completion_kit/model_discovery_service.rb
272
+ - app/services/completion_kit/ollama_client.rb
273
+ - app/services/completion_kit/open_ai_client.rb
274
+ - app/services/completion_kit/open_router_client.rb
275
+ - app/services/completion_kit/prompt_improvement_service.rb
276
+ - app/views/completion_kit/api_reference/_example.html.erb
277
+ - app/views/completion_kit/api_reference/index.html.erb
278
+ - app/views/completion_kit/criteria/_form.html.erb
279
+ - app/views/completion_kit/criteria/edit.html.erb
280
+ - app/views/completion_kit/criteria/index.html.erb
281
+ - app/views/completion_kit/criteria/new.html.erb
282
+ - app/views/completion_kit/criteria/show.html.erb
283
+ - app/views/completion_kit/datasets/_form.html.erb
284
+ - app/views/completion_kit/datasets/edit.html.erb
285
+ - app/views/completion_kit/datasets/index.html.erb
286
+ - app/views/completion_kit/datasets/new.html.erb
287
+ - app/views/completion_kit/datasets/show.html.erb
288
+ - app/views/completion_kit/metrics/_form.html.erb
289
+ - app/views/completion_kit/metrics/edit.html.erb
290
+ - app/views/completion_kit/metrics/index.html.erb
291
+ - app/views/completion_kit/metrics/new.html.erb
292
+ - app/views/completion_kit/metrics/show.html.erb
293
+ - app/views/completion_kit/prompts/_form.html.erb
294
+ - app/views/completion_kit/prompts/edit.html.erb
295
+ - app/views/completion_kit/prompts/index.html.erb
296
+ - app/views/completion_kit/prompts/new.html.erb
297
+ - app/views/completion_kit/prompts/show.html.erb
298
+ - app/views/completion_kit/provider_credentials/_discovery_status.html.erb
299
+ - app/views/completion_kit/provider_credentials/_form.html.erb
300
+ - app/views/completion_kit/provider_credentials/edit.html.erb
301
+ - app/views/completion_kit/provider_credentials/index.html.erb
302
+ - app/views/completion_kit/provider_credentials/new.html.erb
303
+ - app/views/completion_kit/responses/show.html.erb
304
+ - app/views/completion_kit/runs/_actions.html.erb
305
+ - app/views/completion_kit/runs/_form.html.erb
306
+ - app/views/completion_kit/runs/_progress.html.erb
307
+ - app/views/completion_kit/runs/_response_row.html.erb
308
+ - app/views/completion_kit/runs/_sort_toolbar.html.erb
309
+ - app/views/completion_kit/runs/_status_header.html.erb
310
+ - app/views/completion_kit/runs/edit.html.erb
311
+ - app/views/completion_kit/runs/index.html.erb
312
+ - app/views/completion_kit/runs/new.html.erb
313
+ - app/views/completion_kit/runs/show.html.erb
314
+ - app/views/completion_kit/runs/suggestion.html.erb
315
+ - app/views/layouts/completion_kit/application.html.erb
316
+ - config/routes.rb
317
+ - db/migrate/20260311000001_create_completion_kit_tables.rb
318
+ - db/migrate/20260326000001_rename_criteria_to_instruction_on_metrics_and_reviews.rb
319
+ - db/migrate/20260327000001_add_progress_to_runs.rb
320
+ - db/migrate/20260327100001_replace_criteria_with_direct_metrics_on_runs.rb
321
+ - db/migrate/20260328000001_add_error_message_to_runs.rb
322
+ - db/migrate/20260329000001_create_completion_kit_models.rb
323
+ - db/migrate/20260401170001_add_discovery_columns_to_completion_kit_provider_credentials.rb
324
+ - db/migrate/20260403000001_add_temperature_to_completion_kit_runs.rb
325
+ - db/migrate/20260403000002_create_completion_kit_suggestions.rb
326
+ - db/migrate/20260403000003_add_applied_at_to_completion_kit_suggestions.rb
327
+ - lib/completion-kit.rb
328
+ - lib/completion_kit.rb
329
+ - lib/completion_kit/engine.rb
330
+ - lib/completion_kit/version.rb
331
+ - lib/generators/completion_kit/install_generator.rb
332
+ - lib/generators/completion_kit/templates/README
333
+ - lib/generators/completion_kit/templates/initializer.rb
334
+ homepage: https://github.com/homemade-software-inc/completion-kit
335
+ licenses:
336
+ - MIT
337
+ metadata:
338
+ homepage_uri: https://github.com/homemade-software-inc/completion-kit
339
+ source_code_uri: https://github.com/homemade-software-inc/completion-kit
340
+ changelog_uri: https://github.com/homemade-software-inc/completion-kit/blob/main/CHANGELOG.md
341
+ post_install_message:
342
+ rdoc_options: []
343
+ require_paths:
344
+ - lib
345
+ required_ruby_version: !ruby/object:Gem::Requirement
346
+ requirements:
347
+ - - ">="
348
+ - !ruby/object:Gem::Version
349
+ version: 3.1.0
350
+ required_rubygems_version: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ requirements: []
356
+ rubygems_version: 3.5.16
357
+ signing_key:
358
+ specification_version: 4
359
+ summary: Rails engine for testing, scoring, and improving GenAI prompts against real
360
+ data — with a web UI, REST API, and built-in MCP server.
361
+ test_files: []