-
yek
A fast Rust based tool to serialize text-based files in a repository or directory for LLM consumption
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
i guess I shouldn’t be surprised that many of us have approached this in different ways. it’s neat to see already multiple replies of the sort In going to make too, which is to share the approach I’ve been taking, which is to concatenate or to “summarize” the code, with particular attention on dependency resolution.
https://github.com/scottvr/chimeracat
It took the shape that it has because it started as a tool to concatenate a library i had been working on into a single ipynb file so that I didn’t need to install the library on the remote colab, thus the dependency graph was born (as was the ascii graph plotter ‘phart’ that it uses) and then as I realized this could be useful to share code with an LLM, started adding the summarization capabilities, and in some sort of meta-recursive-irony, worked with Claude to do so. :-)
I’ve put a collection of ancillary tools I use to aid in the pairing with LLM process up at https://github.com/scottvr/LLMental
-
LLMental
LLMental: "elemental"ˌe-lə-ˈmen-tᵊl - tools developed to make pair-programming with LLMs more productive that have grown to be generally useful. (phart, fplit, maxify, crumb.py, retree, chimeracat)
i guess I shouldn’t be surprised that many of us have approached this in different ways. it’s neat to see already multiple replies of the sort In going to make too, which is to share the approach I’ve been taking, which is to concatenate or to “summarize” the code, with particular attention on dependency resolution.
https://github.com/scottvr/chimeracat
It took the shape that it has because it started as a tool to concatenate a library i had been working on into a single ipynb file so that I didn’t need to install the library on the remote colab, thus the dependency graph was born (as was the ascii graph plotter ‘phart’ that it uses) and then as I realized this could be useful to share code with an LLM, started adding the summarization capabilities, and in some sort of meta-recursive-irony, worked with Claude to do so. :-)
I’ve put a collection of ancillary tools I use to aid in the pairing with LLM process up at https://github.com/scottvr/LLMental
-
Added some benchmarking to show how fast it is:
Here is a benchmark comparing it to [Repomix](https://github.com/jxnl/repomix) serializing the [Next.js](https://github.com/vercel/next.js) project:
-
dropnread
A web-based tool that helps prepare source code for Large Language Models (LLMs) by combining multiple files into a single text file. Perfect for when you need to share your codebase with AI models like GPT-4, Claude, or Gemini.
You can do this all in the browser: https://dropnread.io/
-
I have to add https://github.com/simonw/files-to-prompt as a marker guid.
I think "the part of it" is key here. For packaging a codebase, I'll select a collection of files using rg/fzf and then concatenate them into a markdown document, # headers for paths ```filetype ``` for the contents.
The selection of the files is key to let the LLM focus on what is important for the immediate task. I'll also give it the full file list and have the LLM request files as needed.
-
retree
Reverse Tree Utility (technically, it *inverts* what /usr/bin/tree does, it doesn't "undo" it.)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Adding my take to the mix, which has been working well for me: https://github.com/ClaireGSB/project-context.
It outputs both a file tree of your repo, a list of the dependancies, and a select list of files you want to include in your prompt for the LLM, in a single xml file.
-
gitingest
Replace 'hub' with 'ingest' in any github url to get a prompt-friendly extract of a codebase
-
i wrote something similar https://github.com/dwrtz/sink
it has some nice features:
- follows .gitignore patterns
- optional file watcher to regenerate the snapshot when files are changed
- supports glob patterns for filter/exclude
- can report token usage
- can use a config yaml file if you have complicated filter/exclude patterns
i find myself using it all the time now. it's great with claude projects
-