🟠 | Preloads and concatenate files from a specified directory to build a prompt for your LLM
Find a file
2023-12-29 14:57:11 +01:00
prompts Update 2023-12-29 14:57:11 +01:00
src Update 2023-12-29 14:57:11 +01:00
.gitignore Initial import 2023-12-29 14:13:20 +01:00
Makefile Update 2023-12-29 14:57:11 +01:00
README.md Update 2023-12-29 14:57:11 +01:00
shard.yml Initial import 2023-12-29 14:13:20 +01:00

Code-Preloader for ChatGPT

Welcome to Code-Preloader, a tool designed to enhance the efficiency of ChatGPT by preloading all files within a specified root directory and concatenating them into a single file. This tool is particularly useful for preparing smaller codebases for processing by ChatGPT, as it allows for the inclusion of customized prompts through header and footer files.

Features

  • Preload and concatenate files from a given directory.
  • Customizable header and footer prompts for ChatGPT.
  • Simple command-line interface for easy operation.

Limitations

Note: Code-Preloader is only suitable for smaller codebas. ChatGPT may not perform as expected with large code repositories.

Installation

To get started with Code-Preloader, ensure that you have Crystal language installed on your system. Follow these steps to install:

git clone https://github.com/your-repository/code-preloader.git
cd code-preloader
shards install
shards build

Usage

Run Code-Preloader with the following command-line options:

Usage: code-preloader [options] ROOT_DIR

Options:
  -c, --config=CONFIG_FILE              Load parameters from CONFIG_FILE (not implemented yet)
  -i, --ignore=IGNORE_FILE              Ignore file or directory path
  -o, --output=OUTPUT_FILE              Write output to OUTPUT_FILE (default to stdout)
  --header-prompt=HEADER_PROMPT_FILE     Load header prompt from PROMPT_FILE
  --footer-prompt=FOOTER_PROMPT_FILE    Load footer prompt from PROMPT_FILE
  --version                             Show version
  -v, --verbose                         Enable verbose mode
  -h, --help                            Show this help

Examples

To preload all files in the src directory and output to result.txt, while ignoring the git the bin directory, and the result file itself:

./bin/code-preloader -o result.txt -i .git -i result.txt -i bin/ src

To preload all files in the src directory and output to clipboard, prepending and appending prompts, while ignoring the git the bin directory, and the result file itself:

./bin/code-preloader \
    -o result.txt \
    -i .git -i bin/ -i result.txt -i prompts \
    --header-prompt prompts/header-context.txt \
    --footer-prompt prompts/footer-write-readme.txt \
    src \
    | xclip -selection clipboard -i

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Troubleshooting and Support

If you encounter any issues or need support, please open an issue in the project's GitHub issue tracker. We strive to be responsive and helpful.

License

Distributed under the LGPL-3.0-or-later License. See LICENSE file for more information.

Acknowledgments

  • Special thanks to all contributors and users of this project!