RailsGptLoader is a Ruby gem that helps you generate a text representation of your Git repository, including only the necessary files for GPT-based analysis or processing. It helps you create a text version of your repository, which can be used as input for language models like OpenAI's GPT.
This gem was inspired by Michael Poon's gpt-repository-loader.
To install RailsGptLoader and add it to your application's Gemfile, execute:
gem 'rails_gpt_loader'And then execute:
$ bundle installOr install it yourself as:
$ gem install rails_gpt_loaderTo use Rails GPT Loader, navigate to your Rails application directory and run the following command:
$ bundle exec rails_gpt_loader /path/to/git/repositoryThis command will create an output.txt file in the current directory, containing the relevant code from your Rails app.
By default, Rails GPT Loader will ignore any files listed in your .gitignore file (and files not checked into your git repository), empty or blank files, and a small list of files to ignore by default.
By default, the output file will be named output.txt and will be located in the current directory. You can customize the output file path and other options when initializing the loader:
-o: Optional: specify the output file path. Example:-o path/to/output_file.txt-p: Optional: specify a preamble file to prepend to the output file. Example:-p path/to/preamble.txt
You can also customize the included and excluded files using a .gptconfig.yml configuration file placed in the root directory of your Rails application. The configuration file should contain a dictionary with keys specifying which categories of files to include (e.g., backend, tests, views, configuration, lib, stylesheets, javascript) and values set to true or false. You can also specify additional files to exclude or include using exclude_files and include_files keys with lists of file patterns.
Here is an example of a .gptconfig.yml file:
include: tests: false views: false configuration: false backend: true lib: false stylesheets: false javascript: false exclude_files: - "db/seeds.rb" - "vendor/**/*" include_files: - "lib/tasks/*.rake"This configuration file will only include backend files and will exclude db/seeds.rb and all files in the vendor directory. It will also include all .rake files located in lib/tasks.
exclude_files will have precedence over include_files.
After checking out the repo, run bin/setup to install dependencies. You can run tests using the bundle exec rake test command.
Bug reports and pull requests are welcome on Github at https://github.com/travisp/rails_gpt_loader.
The gem is available as open source under the terms of the MIT License.