| Crates.io | gitmelt |
| lib.rs | gitmelt |
| version | 0.5.3 |
| created_at | 2026-01-10 02:39:08.388444+00 |
| updated_at | 2026-01-20 17:34:41.143367+00 |
| description | a tool to turn repository into single file text digest to conveniently feed into LLM |
| homepage | |
| repository | https://github.com/qustrolabe/gitmelt |
| max_upload_size | |
| id | 2033333 |
| size | 58,900 |
A powerful CLI tool for generating single-file digests of repositories, perfect for feeding context to LLMs. Inspired by gitingest.
cargo install gitmelt
git clone https://github.com/qustrolabe/gitmelt.git
cd gitmelt
cargo build --release
cargo install --path .
gitmelt -i '*.{rs,toml}'
Generates a digest.txt file containing all .rs and .toml files in the current directory and subdirectories.
gitmelt -i '*.py' -e 'test_*' --preset markdown --output my_digest.md
Creates a Markdown-formatted digest excluding test files.
gitmelt https://github.com/user/repo.git --branch main -i '*.js' --stdout
Processes a remote repository in temp folder and outputs to stdout.
Concatenates file contents into a single digest file
Usage: gitmelt [OPTIONS] [INPUT]
Arguments:
[INPUT] Path to traverse or Git URL [default: .]
Options:
--branch <BRANCH> Git branch to clone (if input is a git URL)
-i, --include <INCLUDE> Include patterns (glob)
-e, --exclude <EXCLUDE> Exclude patterns (glob)
-o, --output <OUTPUT> Output file path (default: digest.txt in current directory)
--stdout Print output to stdout instead of file
-v, --verbose Verbose logging (info level). Default is error only
--preset <PRESET> Output preset [default: default] [possible values: default, markdown, xml]
--prologue <PROLOGUE> Prologue mode (tree, list, off) [default: list] [possible values: list, tree, off]
--dry Dry run (only token estimation)
--no-tokens Disable token counting
-t, --timing Show detailed timing information
-h, --help Print help