2.8 KiB
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!