Skip to content

albeorla/gitingest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📋 gitingest

Local CLI tool that concatenates all non-gitignored text files in a repository into a single output, ready for pasting into LLMs.

Inspired by gitingest.com.

Install

Add bin/ to your PATH:

export PATH="$HOME/dev/ideas/gitingest/bin:$PATH"

Usage

gitingest                              # current dir, copies to clipboard
gitingest ~/projects/myapp             # specific repo
gitingest -i "*.py" -i "*.ts"         # only include matching files
gitingest -e "*.test.*" -e "docs/*"   # exclude patterns
gitingest -E .json -E .lock           # exclude by extension
gitingest -F config.yaml              # exclude specific filename at any depth
gitingest -m 100k                     # override size filter (default: 50k)
gitingest -o output.txt               # write to file instead of clipboard
gitingest --stdout                    # print to stdout
gitingest -s                          # show file count and size stats
gitingest --show-defaults             # list default exclusions
gitingest --no-defaults               # include lock files, .DS_Store, etc.

Output

Produces a single text blob with:

  1. Header -- repo name, branch, commit, timestamp
  2. Directory tree -- ASCII tree of included files
  3. File contents -- each file wrapped in === separators

By default, output is copied to the clipboard (pbcopy on macOS) and saved to a temp file.

Defaults

  • Max file size: 50 KB (override with -m)
  • Binary files are skipped
  • Lock files, .DS_Store, minified JS/CSS, and sourcemaps are excluded (disable with --no-defaults)
  • .gitignore rules are respected

About

Local CLI tool that concatenates repo text files into clipboard-ready LLM context

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages